@techextensor/tab-core-utility 2.2.134 → 2.2.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm2022/index.mjs CHANGED
@@ -13,6 +13,7 @@ export * from './lib/tab-core-utility/app/crud/tab-workflow.service';
13
13
  export * from './lib/tab-core-utility/app/crud/tab-blueprint.service';
14
14
  export * from './lib/tab-core-utility/app/crud/tab-release.service';
15
15
  // App / enum
16
+ export * from './lib/tab-core-utility/app/enums/common.enum';
16
17
  export * from './lib/tab-core-utility/app/enums/controllers.enum';
17
18
  export * from './lib/tab-core-utility/app/enums/dsq.enum';
18
19
  export * from './lib/tab-core-utility/app/enums/permission.enum';
@@ -68,4 +69,4 @@ export * from './lib/tab-core-utility/core/util/auth.utils';
68
69
  export * from './lib/tab-core-utility/store/orginfo.store';
69
70
  // export * from './lib/tab-core-utility/store/schema.store'
70
71
  export * from './lib/tab-core-utility/store/auth.store';
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxhQUFhO0FBQ2IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGFBQWE7QUFDYixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsZ0JBQWdCO0FBQ2hCLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkRBQTZELENBQUM7QUFFNUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsc0ZBQXNGO0FBRXRGLG1CQUFtQjtBQUNuQixjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxlQUFlO0FBQ2YsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw2REFBNkQsQ0FBQztBQUU1RSxjQUFjO0FBQ2QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsT0FBTztBQUNQLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsaURBQWlELENBQUM7QUFFaEUsT0FBTztBQUNQLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHNFQUFzRSxDQUFDO0FBRXJGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxxREFBcUQsQ0FBQztBQUVwRSxjQUFjLDZDQUE2QyxDQUFDO0FBRzVELFFBQVE7QUFFUixjQUFjLDRDQUE0QyxDQUFBO0FBQzFELDREQUE0RDtBQUM1RCxjQUFjLHlDQUF5QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQXBwIC8gY29uc3RhbnRzXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9lcnJvci1tZXNzYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xuXG4vLyBBcHAgLyBjcnVkXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1nZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1mb3JtaW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1pbnNlcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1kZWxldGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi11cGRhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi13b3JrZmxvdy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXJlbGVhc2Uuc2VydmljZSc7XG5cbi8vIEFwcCAvIGVudW1cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2VudW1zL2NvbnRyb2xsZXJzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvZHNxLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvcGVybWlzc2lvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2VudW1zL3F1ZXJ5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvd29ya2Zsb3cuZW51bSc7XG5cbi8vIEFwcCAvIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL2FwcC5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3VzZXItcGVyc29uYWxpemF0aW9uLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vd2hlcmUtY2xhdXNlLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vdGVtcGxhdGUuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2Zvcm1zLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vZ3JpZC1jb2x1bW4tZGF0YS5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9tZWRpYS11cGxvYWQuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9wbHVnaW4uaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9zY3JlZW4uaGVscGVycyc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9mdHAtbWVkaWEtdXBsb2FkLmhlbHBlcnMnO1xuXG4vLyBBcHAgLyBpbnRlcmZhY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2F1dGguaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvY29tbW9uLWFwaS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy91c2VyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL29yZ0luZm8uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvc2NoZW1hLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2dyaWQuaW50ZXJmYWNlJztcblxuLy8gQXBwIC8gbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBpLXF1ZXJ5LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9jb21tb24uY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xuXG4vLyBBcHAgLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvZmlsdGVyLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvZm9ybS1idWlsZGVyLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvanNvbi51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL29wZXJhdG9ycy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy90YWItYXBwLnV0aWwnO1xuXG4vLyBBdXRoXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9pZGItc3RvcmFnZS5zZXJ2aWNlJztcblxuLy8gQ29yZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL2Vycm9yLWhhbmRsZXIvZXJyb3ItaGFuZGxlci1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9lcnJvci1oYW5kbGVyL2Vycm9yLWhhbmRsZXIuc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL2Vycm9yLWhhbmRsZXIvbW9kZWxzL2Vycm9yLWhhbmRsZXIuc3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvaHR0cC1jbGllbnQvYXBpLXVybC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvdXRpbC9hdXRoLnV0aWxzJztcblxuXG4vLyBzdG9yZVxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L3N0b3JlL29yZ2luZm8uc3RvcmUnXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L3N0b3JlL3NjaGVtYS5zdG9yZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvc3RvcmUvYXV0aC5zdG9yZSdcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxhQUFhO0FBQ2IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGFBQWE7QUFDYixjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxnQkFBZ0I7QUFDaEIsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUU1RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxzRkFBc0Y7QUFFdEYsbUJBQW1CO0FBQ25CLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGVBQWU7QUFDZixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZEQUE2RCxDQUFDO0FBRTVFLGNBQWM7QUFDZCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxPQUFPO0FBQ1AsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxPQUFPO0FBQ1AsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsc0VBQXNFLENBQUM7QUFFckYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGNBQWMsNkNBQTZDLENBQUM7QUFHNUQsUUFBUTtBQUVSLGNBQWMsNENBQTRDLENBQUE7QUFDMUQsNERBQTREO0FBQzVELGNBQWMseUNBQXlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBcHAgLyBjb25zdGFudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY29uc3RhbnRzL2Vycm9yLW1lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9zdG9yYWdlLWNvbnN0YW50cyc7XG5cbi8vIEFwcCAvIGNydWRcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWZvcm1pby5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWluc2VydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWRlbGV0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXVwZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXdvcmtmbG93LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItYmx1ZXByaW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItcmVsZWFzZS5zZXJ2aWNlJztcblxuLy8gQXBwIC8gZW51bVxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29udHJvbGxlcnMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9kc3EuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvcXVlcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy93b3JrZmxvdy5lbnVtJztcblxuLy8gQXBwIC8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vdXNlci1wZXJzb25hbGl6YXRpb24uaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi93aGVyZS1jbGF1c2UuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi90ZW1wbGF0ZS5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vZm9ybXMuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9ncmlkLWNvbHVtbi1kYXRhLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vZ3JpZC5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL21lZGlhLXVwbG9hZC5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL3BsdWdpbi5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL3NjcmVlbi5oZWxwZXJzJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2Z0cC1tZWRpYS11cGxvYWQuaGVscGVycyc7XG5cbi8vIEFwcCAvIGludGVyZmFjZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvb3JnSW5mby5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9zY2hlbWEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xuXG4vLyBBcHAgLyBtb2RlbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2FwcC1vYmplY3QuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2NvbW1vbi5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XG5cbi8vIEFwcCAvIHV0aWxzXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9maWx0ZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9mb3JtLWJ1aWxkZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9qc29uLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvb3BlcmF0b3JzLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvcmVxLXJlcy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbCc7XG5cbi8vIEF1dGhcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL2lkYi1zdG9yYWdlLnNlcnZpY2UnO1xuXG4vLyBDb3JlXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvZXJyb3ItaGFuZGxlci9lcnJvci1oYW5kbGVyLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL2Vycm9yLWhhbmRsZXIvZXJyb3ItaGFuZGxlci5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvZXJyb3ItaGFuZGxlci9tb2RlbHMvZXJyb3ItaGFuZGxlci5zdGF0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9odHRwLWNsaWVudC9hcGktdXJsLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS91dGlsL2F1dGgudXRpbHMnO1xuXG5cbi8vIHN0b3JlXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvc3RvcmUvb3JnaW5mby5zdG9yZSdcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvc3RvcmUvc2NoZW1hLnN0b3JlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9zdG9yZS9hdXRoLnN0b3JlJ1xuIl19
@@ -59,6 +59,7 @@ export const API = {
59
59
  downloadReportFile: 'report/DownloadReportFile',
60
60
  sendReport: 'report/SendReport',
61
61
  GetReleaseJSONDifference: 'Release/GetReleaseJSONDifference',
62
- GetDataDifference: 'Release/GetDataDifference'
62
+ GetDataDifference: 'Release/GetDataDifference',
63
+ RegisterTenant: 'Tenant/RegisterTenant'
63
64
  };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLFVBQVU7SUFDbEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixrQkFBa0IsRUFBRSxnQkFBZ0I7SUFDcEMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsVUFBVSxFQUFFLGFBQWE7SUFDekIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsY0FBYyxFQUFFLDBCQUEwQjtJQUMxQyxpQkFBaUIsRUFBRSw2QkFBNkI7SUFDaEQsZ0JBQWdCLEVBQUUsMEJBQTBCO0lBQzVDLHFCQUFxQixFQUFFLDJDQUEyQztJQUNsRSx5Q0FBeUM7SUFDekMsa0JBQWtCLEVBQUUsZ0NBQWdDO0lBQ3BELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0MsYUFBYSxFQUFHLDJCQUEyQjtJQUMzQyxZQUFZLEVBQUcscUJBQXFCO0lBQ3BDLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxrQkFBa0IsRUFBRywyQkFBMkI7SUFDaEQsVUFBVSxFQUFHLG1CQUFtQjtJQUNoQyx3QkFBd0IsRUFBQyxrQ0FBa0M7SUFDM0QsaUJBQWlCLEVBQUMsMkJBQTJCO0NBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVBJID0ge1xyXG4gIGFwcGxpY2F0aW9uSWRlbnRpZmllcjogJzAyZFBsR1hDS0NQeScsIC8vcGhvZW5peFxyXG4gIGFwcGxpY2F0aW9uSWRlbnRpZmllckZvclBNUzogJ3FxbVh3ZUdCMURiRycsIC8vIHBtc1xyXG4gIC8vIGVuZHBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxOjg0NDEvYXBpL3YxLycsXHJcbiAgLy8gd29ya2Zsb3dFbmRQb2ludDogJ2h0dHA6Ly8xOTIuMTY4LjEwLjE4MS8nLFxyXG4gIG5vdnVCYWNrZW5kVXJsOiAnaHR0cHM6Ly9ub3Z1YXBpLnRlY2hleHRlbnNvci5jb20nLFxyXG4gIG5vdnVTb2NrZXRVcmw6ICdodHRwczovL25vdnV3cy50ZWNoZXh0ZW5zb3IuY29tJyxcclxuXHJcbiAgaW5zZXJ0OiAnQ1JVRC9JbnNlcnQnLFxyXG4gIHVwZGF0ZTogJ0NSVUQvVXBkYXRlJyxcclxuICBkZWxldGU6ICdDUlVEL0RlbGV0ZScsXHJcbiAgc2VsZWN0OiAnQ1JVRC9TZWxlY3QnLFxyXG4gIGdldERTUTogJ0NSVUQvRFNRJyxcclxuICBnZXRTY3JlZW46ICdMYXlvdXQvR2V0U2NyZWVuJyxcclxuICBnZXRMaXN0RnJvbURzcTogJ0xpc3QvR2V0P2RhdGFTb3VyY2VRdWVyeUlkPScsXHJcbiAgYnVpbGRBcHA6ICdBcHBsaWNhdGlvbi9CdWlsZEFwcCcsXHJcbiAgZ2V0U2NoZW1hOiAnQXBwbGljYXRpb24vR2V0U2NoZW1hRmlsZScsXHJcbiAgbG9naW46ICdpZGVudGl0eS9sb2dpbicsXHJcbiAgcGx1Z2luVXBsb2FkOiAnUGx1Z2lucy9VcGxvYWQnLFxyXG4gIGdldEZpbGU6ICdQbHVnaW5zL0dldEZpbGVCeUlkJyxcclxuICBnZXRBbGxQbHVnaW5CeVR5cGU6ICdQbHVnaW5zL0dldEFsbCcsXHJcbiAgdGVtcGxhdGVQYXJzZTogJ1RlbXBsYXRlL1BhcnNlJyxcclxuICBwdWJsaXNoQXBwOiAnQXBwbGljYXRpb24vUHVibGlzaEFwcCcsXHJcbiAgZ2V0cmVjb3JkOiAnR2V0UmVjb3JkJyxcclxuICByYXdTUUw6ICdDUlVEL1Jhd1NRTD9xdWVyeT0nLFxyXG4gIGZpbGVVcGxvYWQ6ICdGaWxlL1VwbG9hZCcsXHJcbiAgbXVsdGlwbGVGaWxlVXBsb2FkOiAnRmlsZS9VcGxvYWRGaWxlJyxcclxuICBkZWxldGVGaWxlOiAnRmlsZS9EZWxldGVGaWxlJyxcclxuICBnZXRNZWRpYUZpbGU6ICdGaWxlL0dldEZpbGUnLFxyXG4gIGdldEhpc3Rvcnk6ICdHZXRIaXN0b3J5JyxcclxuICBjaGFuZ2VQYXNzd29yZDogJ2lkZW50aXR5L0NoYW5nZVBhc3N3b3JkJyxcclxuICByZXN0cGFzc3dvcmQ6ICdpZGVudGl0eS9SZXNldFBhc3N3b3JkJyxcclxuICBnZXRJbWFnZTogJ0ZpbGUvR2V0SW1hZ2UnLFxyXG4gIHBtamF5SW1wb3J0OiAnSW1wb3J0RGF0YScsXHJcbiAgZ2V0U2NyZWVuRGF0YTogJ0Zvcm1JTy9HZXRTY3JlZW5EYXRhJyxcclxuICBwcm9jZXNzUmVxdWVzdDogJ0Zvcm1JTy9Qcm9jZXNzUmVxdWVzdCcsXHJcbiAgZ2V0TmV4dFN0YXR1czogJ1RyYW5zaXRpb24vR2V0TmV4dFN0YXR1cycsXHJcbiAgdXBkYXRlU3RhdHVzOiAnVHJhbnNpdGlvbi9VcGRhdGVTdGF0dXMnLFxyXG4gIHJlZ2lzdGVyVXNlcjogJ2lkZW50aXR5L3JlZ2lzdGVyJyxcclxuICBnZXRVc2VyRGV0YWlsczogJ2lkZW50aXR5L0dldFVzZXJEZXRhaWxzJyxcclxuICBnZXRQZXJtaXNzaW9uOiAnQXBwbGljYXRpb24vR2V0UGVybWlzc2lvbicsXHJcbiAgdGVzdENvbm5lY3Rpb246ICdNZXRhRGF0YS9UZXN0Q29ubmVjdGlvbi8nLFxyXG4gIHBlcmZvcm1WYWxpZGF0aW9uOiAnTWV0YURhdGEvUGVyZm9ybVZhbGlkYXRpb24vJyxcclxuICBzZXRUYWJDb21wb25lbnRzOiAnVGVuYW50L1NldFRhYkNvbXBvbmVudHMvJyxcclxuICBCdWlsZEZvcm1JT0NvbXBvbmVudHM6ICdGb3JtSU8vQnVpbGRGb3JtSU9Db21wb25lbnRzP2FwcE9iamVjdElkPScsXHJcbiAgLy8gZmlsZU1hbmFnZXJVcGxvYWQ6J0ZpbGVNYW5hZ2VyL1VwbG9hZCdcclxuICByZWdpc3RlckFwcE9iamVjdHM6ICdBcHBsaWNhdGlvbi9SZWdpc3RlckFwcE9iamVjdHMnLFxyXG4gIGxhbmd1YWdlUmVzb3VyY2U6ICdSZXNvdXJjZXMvTGFuZ3VhZ2VSZXNvdXJjZScsXHJcbiAgcmVmcmVzaFRva2VuOiAnaWRlbnRpdHkvUmVmcmVzaCcsXHJcbiAgc2VhcmNoOiAnU2VhcmNoJyxcclxuICBjbG9uZURzcTogJ0FwcGxpY2F0aW9uL0Nsb25lRFNRJyxcclxuICBJbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljczpcclxuICAgICdFbGFzdGljU2VhcmNoL0luc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZW5lcmF0ZUh0dHBSZXF1ZXN0OiAnQ1JVRC9HZW5lcmF0ZUh0dHBSZXF1ZXN0JyxcclxuICBHZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzIDogJ0VsYXN0aWNTZWFyY2gvR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MgOiAnRWxhc3RpY1NlYXJjaC9HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0RGF0YUpzb25CeVR5cGU6ICdUZW5hbnQvR2V0RGF0YUpzb25CeVR5cGUnLFxyXG4gIFN5bmNBcHBGaWVsZHMgOiAnQXBwbGljYXRpb24vU3luY0FwcEZpZWxkcycsXHJcbiAgZXhwb3J0UmVwb3J0IDogJ3JlcG9ydC9FeHBvcnRSZXBvcnQnLFxyXG4gIFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhIDogJ0VsYXN0aWNTZWFyY2gvUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEnLFxyXG4gIGRvd25sb2FkUmVwb3J0RmlsZSA6ICdyZXBvcnQvRG93bmxvYWRSZXBvcnRGaWxlJyxcclxuICBzZW5kUmVwb3J0IDogJ3JlcG9ydC9TZW5kUmVwb3J0JyxcclxuICBHZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2U6J1JlbGVhc2UvR2V0UmVsZWFzZUpTT05EaWZmZXJlbmNlJyxcclxuICBHZXREYXRhRGlmZmVyZW5jZTonUmVsZWFzZS9HZXREYXRhRGlmZmVyZW5jZSdcclxufTtcclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLFVBQVU7SUFDbEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixrQkFBa0IsRUFBRSxnQkFBZ0I7SUFDcEMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsVUFBVSxFQUFFLGFBQWE7SUFDekIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsY0FBYyxFQUFFLDBCQUEwQjtJQUMxQyxpQkFBaUIsRUFBRSw2QkFBNkI7SUFDaEQsZ0JBQWdCLEVBQUUsMEJBQTBCO0lBQzVDLHFCQUFxQixFQUFFLDJDQUEyQztJQUNsRSx5Q0FBeUM7SUFDekMsa0JBQWtCLEVBQUUsZ0NBQWdDO0lBQ3BELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0MsYUFBYSxFQUFHLDJCQUEyQjtJQUMzQyxZQUFZLEVBQUcscUJBQXFCO0lBQ3BDLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxrQkFBa0IsRUFBRywyQkFBMkI7SUFDaEQsVUFBVSxFQUFHLG1CQUFtQjtJQUNoQyx3QkFBd0IsRUFBQyxrQ0FBa0M7SUFDM0QsaUJBQWlCLEVBQUMsMkJBQTJCO0lBQzdDLGNBQWMsRUFBRSx1QkFBdUI7Q0FDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBUEkgPSB7XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyOiAnMDJkUGxHWENLQ1B5JywgLy9waG9lbml4XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyRm9yUE1TOiAncXFtWHdlR0IxRGJHJywgLy8gcG1zXHJcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vMTkyLjE2OC4xMC4xODE6ODQ0MS9hcGkvdjEvJyxcclxuICAvLyB3b3JrZmxvd0VuZFBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxLycsXHJcbiAgbm92dUJhY2tlbmRVcmw6ICdodHRwczovL25vdnVhcGkudGVjaGV4dGVuc29yLmNvbScsXHJcbiAgbm92dVNvY2tldFVybDogJ2h0dHBzOi8vbm92dXdzLnRlY2hleHRlbnNvci5jb20nLFxyXG5cclxuICBpbnNlcnQ6ICdDUlVEL0luc2VydCcsXHJcbiAgdXBkYXRlOiAnQ1JVRC9VcGRhdGUnLFxyXG4gIGRlbGV0ZTogJ0NSVUQvRGVsZXRlJyxcclxuICBzZWxlY3Q6ICdDUlVEL1NlbGVjdCcsXHJcbiAgZ2V0RFNROiAnQ1JVRC9EU1EnLFxyXG4gIGdldFNjcmVlbjogJ0xheW91dC9HZXRTY3JlZW4nLFxyXG4gIGdldExpc3RGcm9tRHNxOiAnTGlzdC9HZXQ/ZGF0YVNvdXJjZVF1ZXJ5SWQ9JyxcclxuICBidWlsZEFwcDogJ0FwcGxpY2F0aW9uL0J1aWxkQXBwJyxcclxuICBnZXRTY2hlbWE6ICdBcHBsaWNhdGlvbi9HZXRTY2hlbWFGaWxlJyxcclxuICBsb2dpbjogJ2lkZW50aXR5L2xvZ2luJyxcclxuICBwbHVnaW5VcGxvYWQ6ICdQbHVnaW5zL1VwbG9hZCcsXHJcbiAgZ2V0RmlsZTogJ1BsdWdpbnMvR2V0RmlsZUJ5SWQnLFxyXG4gIGdldEFsbFBsdWdpbkJ5VHlwZTogJ1BsdWdpbnMvR2V0QWxsJyxcclxuICB0ZW1wbGF0ZVBhcnNlOiAnVGVtcGxhdGUvUGFyc2UnLFxyXG4gIHB1Ymxpc2hBcHA6ICdBcHBsaWNhdGlvbi9QdWJsaXNoQXBwJyxcclxuICBnZXRyZWNvcmQ6ICdHZXRSZWNvcmQnLFxyXG4gIHJhd1NRTDogJ0NSVUQvUmF3U1FMP3F1ZXJ5PScsXHJcbiAgZmlsZVVwbG9hZDogJ0ZpbGUvVXBsb2FkJyxcclxuICBtdWx0aXBsZUZpbGVVcGxvYWQ6ICdGaWxlL1VwbG9hZEZpbGUnLFxyXG4gIGRlbGV0ZUZpbGU6ICdGaWxlL0RlbGV0ZUZpbGUnLFxyXG4gIGdldE1lZGlhRmlsZTogJ0ZpbGUvR2V0RmlsZScsXHJcbiAgZ2V0SGlzdG9yeTogJ0dldEhpc3RvcnknLFxyXG4gIGNoYW5nZVBhc3N3b3JkOiAnaWRlbnRpdHkvQ2hhbmdlUGFzc3dvcmQnLFxyXG4gIHJlc3RwYXNzd29yZDogJ2lkZW50aXR5L1Jlc2V0UGFzc3dvcmQnLFxyXG4gIGdldEltYWdlOiAnRmlsZS9HZXRJbWFnZScsXHJcbiAgcG1qYXlJbXBvcnQ6ICdJbXBvcnREYXRhJyxcclxuICBnZXRTY3JlZW5EYXRhOiAnRm9ybUlPL0dldFNjcmVlbkRhdGEnLFxyXG4gIHByb2Nlc3NSZXF1ZXN0OiAnRm9ybUlPL1Byb2Nlc3NSZXF1ZXN0JyxcclxuICBnZXROZXh0U3RhdHVzOiAnVHJhbnNpdGlvbi9HZXROZXh0U3RhdHVzJyxcclxuICB1cGRhdGVTdGF0dXM6ICdUcmFuc2l0aW9uL1VwZGF0ZVN0YXR1cycsXHJcbiAgcmVnaXN0ZXJVc2VyOiAnaWRlbnRpdHkvcmVnaXN0ZXInLFxyXG4gIGdldFVzZXJEZXRhaWxzOiAnaWRlbnRpdHkvR2V0VXNlckRldGFpbHMnLFxyXG4gIGdldFBlcm1pc3Npb246ICdBcHBsaWNhdGlvbi9HZXRQZXJtaXNzaW9uJyxcclxuICB0ZXN0Q29ubmVjdGlvbjogJ01ldGFEYXRhL1Rlc3RDb25uZWN0aW9uLycsXHJcbiAgcGVyZm9ybVZhbGlkYXRpb246ICdNZXRhRGF0YS9QZXJmb3JtVmFsaWRhdGlvbi8nLFxyXG4gIHNldFRhYkNvbXBvbmVudHM6ICdUZW5hbnQvU2V0VGFiQ29tcG9uZW50cy8nLFxyXG4gIEJ1aWxkRm9ybUlPQ29tcG9uZW50czogJ0Zvcm1JTy9CdWlsZEZvcm1JT0NvbXBvbmVudHM/YXBwT2JqZWN0SWQ9JyxcclxuICAvLyBmaWxlTWFuYWdlclVwbG9hZDonRmlsZU1hbmFnZXIvVXBsb2FkJ1xyXG4gIHJlZ2lzdGVyQXBwT2JqZWN0czogJ0FwcGxpY2F0aW9uL1JlZ2lzdGVyQXBwT2JqZWN0cycsXHJcbiAgbGFuZ3VhZ2VSZXNvdXJjZTogJ1Jlc291cmNlcy9MYW5ndWFnZVJlc291cmNlJyxcclxuICByZWZyZXNoVG9rZW46ICdpZGVudGl0eS9SZWZyZXNoJyxcclxuICBzZWFyY2g6ICdTZWFyY2gnLFxyXG4gIGNsb25lRHNxOiAnQXBwbGljYXRpb24vQ2xvbmVEU1EnLFxyXG4gIEluc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzOlxyXG4gICAgJ0VsYXN0aWNTZWFyY2gvSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdlbmVyYXRlSHR0cFJlcXVlc3Q6ICdDUlVEL0dlbmVyYXRlSHR0cFJlcXVlc3QnLFxyXG4gIEdldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MgOiAnRWxhc3RpY1NlYXJjaC9HZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcyA6ICdFbGFzdGljU2VhcmNoL0dldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZXREYXRhSnNvbkJ5VHlwZTogJ1RlbmFudC9HZXREYXRhSnNvbkJ5VHlwZScsXHJcbiAgU3luY0FwcEZpZWxkcyA6ICdBcHBsaWNhdGlvbi9TeW5jQXBwRmllbGRzJyxcclxuICBleHBvcnRSZXBvcnQgOiAncmVwb3J0L0V4cG9ydFJlcG9ydCcsXHJcbiAgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEgOiAnRWxhc3RpY1NlYXJjaC9SZWZyZXNoR2xvYmFsU2VhcmNoRGF0YScsXHJcbiAgZG93bmxvYWRSZXBvcnRGaWxlIDogJ3JlcG9ydC9Eb3dubG9hZFJlcG9ydEZpbGUnLFxyXG4gIHNlbmRSZXBvcnQgOiAncmVwb3J0L1NlbmRSZXBvcnQnLFxyXG4gIEdldFJlbGVhc2VKU09ORGlmZmVyZW5jZTonUmVsZWFzZS9HZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2UnLFxyXG4gIEdldERhdGFEaWZmZXJlbmNlOidSZWxlYXNlL0dldERhdGFEaWZmZXJlbmNlJyxcclxuICBSZWdpc3RlclRlbmFudDogJ1RlbmFudC9SZWdpc3RlclRlbmFudCdcclxufTtcclxuIl19
@@ -1,12 +1,10 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { HttpHeaders } from '@angular/common/http';
3
2
  import { Injectable, inject } from '@angular/core';
4
3
  import { ApiService } from '../../core/http-client/api.service';
5
4
  import { DSQHelper } from '../helpers/common/dsq.helpers';
6
5
  import { getHeaders } from '../utils/req-res.util';
7
6
  import { API } from '../constants/api-constants';
8
7
  import { getAppObject } from '../utils/tab-app.util';
9
- import { Common } from '../constants/common';
10
8
  import { FilterValueType } from '../enums/dsq.enum';
11
9
  import { QueryType } from '../enums/query.enum';
12
10
  import { AppObjectsConstants, DataSourceQueriesConstants, } from '../constants/app-object-constants';
@@ -80,18 +78,6 @@ export class TabGetService {
80
78
  return this.apiService.post(`${API.changePassword}`, data, headers);
81
79
  }
82
80
  }
83
- /**
84
- * Reset Password
85
- * @param data - Data for resetting password
86
- * @returns Response from the API
87
- */
88
- resetPassword(data) {
89
- const headers = new HttpHeaders({
90
- 'Content-Type': 'application/json',
91
- applicationCode: Common.applicationCode,
92
- });
93
- return this.apiService.post(`${API.restpassword}`, data, headers);
94
- }
95
81
  /**
96
82
  * PMJAY Import
97
83
  * @param data - Data for PMJAY import
@@ -394,4 +380,4 @@ export class TabGetService {
394
380
  type: Injectable,
395
381
  args: [{ providedIn: 'root' }]
396
382
  }], null, null); })();
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUMzQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR2pDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQXViaEQ7SUFyYkM7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQVMsRUFBQyxPQUFZ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QUFVLENBQUMsSUFBSTtZQUN6QiwyREFBMkQ7WUFDM0QsR0FBRyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsRUFDekMsSUFBSTtZQUNKLDhCQUE4QjtZQUM5QixPQUFPLENBQ1IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsSUFBUztRQUMvQixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3pCLHFEQUFxRDtZQUNyRCxHQUFHLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxFQUNoQyxJQUFJO1lBQ0osOEJBQThCO1lBQzlCLE9BQU8sQ0FDUixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4RUF4YlUsYUFBYTt1RUFBYixhQUFhLFdBQWIsYUFBYSxtQkFEQSxNQUFNOztpRkFDbkIsYUFBYTtjQUR6QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0QXBwT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvdGFiLWFwcC51dGlsJztcclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnksaGVhZGVycz86YW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlclxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgY2hhbmdpbmcgcGFzc3dvcmRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBjaGFuZ2VQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuY2hhbmdlUGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgcmVzZXR0aW5nIHBhc3N3b3JkXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgcmVzZXRQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgIGFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5yZXN0cGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQTUpBWSBJbXBvcnRcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIFBNSkFZIGltcG9ydFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBtamF5SW1wb3J0KGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5wbWpheUltcG9ydH1gLCBkYXRhLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGEgc2VsZWN0IHF1ZXJ5IHdpdGggb3B0aW9uYWwgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHNlbGVjdCBxdWVyeSBkYXRhXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5XHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBzZWxlY3QgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0RXhlY3V0b3IoZGF0YTogQVBJU2VsZWN0UXVlcnksIHBhcmFtZXRlcnM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHBhcmFtZXRlcnMgJiYgT2JqZWN0LmtleXMocGFyYW1ldGVycykubGVuZ3RoKSB7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgPSBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljIHx8ICdbXSc7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyB8fCBbXTtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSA9IGRhdGEuV2hlcmVDbGF1c2UuU1FMUXVlcnkgfHwgJyc7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZXBsYWNlcyB2YWx1ZXMgZnJvbSBwYXJhbWV0ZXJzIGlmIG1hdGNoZWQgYW5kIGluIGZvcm1hdCBvZiB7e2tleX19LlxyXG4gICAgICAgKiBFeGFtcGxlOiBpZiBmaWx0ZXIuVmFsdWUgaXMgXCJ7e3VzZXJJZH19XCIgYW5kXHJcbiAgICAgICAqIHRoaXMuX3ZhbHVlLnBhcmFtZXRlcnMudXNlcklkIGlzIDEyMywgdGhlbiBmaWx0ZXIuVmFsdWUgd2lsbCBiZSByZXBsYWNlZCB3aXRoXHJcbiAgICAgICAqIFwiMTIzXCIuXHJcbiAgICAgICAqL1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBmaWx0ZXIuVmFsdWVUeXBlIGlzIDEgKGxpdGVyYWwpXHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZSAmJiBmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgL3t7KFtefV0rKX19L2csXHJcbiAgICAgICAgICAgIChtYXRjaDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyc1trZXldO1xyXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZiB2YWx1ZVR5cGUgPSAyIChQYXJhbWV0ZXJzKVxyXG4gICAgICAgIC8vIHRoZW4gd2UgbmVlZCB0byByZXBsYWNlIHRoZSB2YWx1ZSB3aXRoIHBhcmFtZXRlcnMgYW5kIGNoYW5nZSB0aGUgdmFsdWVUeXBlIHRvIDEgKExpdGVyYWwpXHJcbiAgICAgICAgZWxzZSBpZiAoZmlsdGVyLlZhbHVlVHlwZSA9PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgLyhbXn1dKykvZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWVUeXBlID0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgKGRhdGE/LldoZXJlQ2xhdXNlPy5GaWx0ZXJzIHx8IFtdKS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlVHlwZSA9PT0gRmlsdGVyVmFsdWVUeXBlLlBhcmFtZXRlciAmJlxyXG4gICAgICAgICAgcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlID0gcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGRhdGEsIFF1ZXJ5VHlwZS5TZWxlY3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgYnkgaXRzIElELCB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWxlY3RRdWVyeUlkIC0gVGhlIElEIG9mIHRoZSBzZWxlY3QgcXVlcnkgdG8gYmUgZXhlY3V0ZWQuXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb24uXHJcbiAgICogQHRocm93cyBBbiBlcnJvciBpZiB0aGUgQVBJIHJlc3BvbnNlIHN0YXR1cyBjb2RlIGlzIG5vdCAnMjAwJy5cclxuICAgKi9cclxuICBleGVjdXRlU2VsZWN0UXVlcnlCeUlkKHNlbGVjdFF1ZXJ5SWQ6IHN0cmluZywgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUkFXRFNRV2l0aE5hbWUoe1xyXG4gICAgICBBcHBPYmplY3ROYW1lOiBBcHBPYmplY3RzQ29uc3RhbnRzLlRBQkRfUXVlcmllcyxcclxuICAgICAgRFNRTmFtZTogRGF0YVNvdXJjZVF1ZXJpZXNDb25zdGFudHMuRGV0YWlsX1RBQkRfUXVlcmllcyxcclxuICAgICAgUmVxdG9rZW5zOiB7XHJcbiAgICAgICAgSUQ6IHNlbGVjdFF1ZXJ5SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5TdGF0dXNDb2RlID09PSAnMjAwJykge1xyXG4gICAgICAgICAgY29uc3QgQ29uZmlndXJhdGlvbiA9IEpTT04ucGFyc2UocmVzLlJlc3VsdFswXS5Db25maWd1cmF0aW9uIHx8ICd7fScpO1xyXG4gICAgICAgICAgaWYgKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2U/LkZpbHRlcnMpIHtcclxuICAgICAgICAgICAgQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZS5GaWx0ZXJzID0gdGhpcy5yZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2UuRmlsdGVycywgcGFyYW1ldGVycyB8fCB7fSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RFeGVjdXRvcihDb25maWd1cmF0aW9uLCBwYXJhbWV0ZXJzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKGZpbHRlcnM6IGFueVtdLCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlck5hbWUgPSBmaWx0ZXIuVmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5oYXNPd25Qcm9wZXJ0eShwYXJhbWV0ZXJOYW1lKSAmJiBwYXJhbWV0ZXJzW3BhcmFtZXRlck5hbWVdID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBSZW1vdmUgZmlsdGVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHBhcmFtZXRlcnMgfHwge30pLmxlbmd0aCA9PT0gMCAmJiBmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gUmVtb3ZlIGZpbHRlclxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gS2VlcCBmaWx0ZXJcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRUZXN0Q29ubmVjdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS50ZXN0Q29ubmVjdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRQZXJmb3JtVmFsaWRhdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS5wZXJmb3JtVmFsaWRhdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIGdpdmVuIHRlbmFudFxyXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uSWQgVGhlIElEIG9mIHRoZSBjb25uZWN0aW9uXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgc2V0VGFiQ29tcG9uZW50c0ZvclRlbmFudChjb25uZWN0aW9uSWQ6IHN0cmluZywgZGF0YT86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBzZXR0aW5nIHRhYiBjb21wb25lbnRzXHJcbiAgICAgICAgYCR7QVBJLnNldFRhYkNvbXBvbmVudHN9JHtjb25uZWN0aW9uSWR9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGZvcm0gY29uZmlndXJhdGlvbiBmb3IgYSBjb21tb24gZmlsdGVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHBsaWNhdGlvbiBvYmplY3QgSUQuXHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkgb3IgbnVsbCBpZiBoZWFkZXJzIGFyZSB1bmF2YWlsYWJsZS5cclxuICAgKi9cclxuICBnZXRCdWlsZEZvcm1JT0ZvckNvbW1vbkZpbHRlcihhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9Q29tbW9uRmlsdGVyYCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBmb3JtIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnVsayB1cGRhdGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcGxpY2F0aW9uIG9iamVjdCBJRC5cclxuICAgKiBAcGFyYW0gYXBwT2JqZWN0SWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSSBvciBudWxsIGlmIGhlYWRlcnMgYXJlIHVuYXZhaWxhYmxlLlxyXG4gICAqL1xyXG4gIGdldEJ1aWxkRm9ybUlPRm9yQnVsa1VwZGF0ZShhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9QnVsa1VwZGF0ZWAsXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogR2V0IFJlc291cmNlIExhbmd1YWdlIEJ5IExhbmd1YWdlIENvZGVcclxuICAvLyAgKiBAcGFyYW0gbGFuZ3VhZ2VDb2RlIC0gTGFuZ3VhZ2UgQ29kZVxyXG4gIC8vICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gIC8vICAqL1xyXG4gIC8vIGdldFJlc291cmNlTGFuZ3VhZ2VCeUxhbmd1YWdlQ29kZShsYW5ndWFnZUNvZGU6IG51bWJlcik6IGFueSB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gIC8vICAgICAgIGAke0FQSS5sYW5ndWFnZVJlc291cmNlfWAsXHJcbiAgLy8gICAgICAgeyBMYW5ndWFnZUNvZGU6IGxhbmd1YWdlQ29kZSB9LFxyXG4gIC8vICAgICAgIGhlYWRlcnNcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFNlYXJjaCBEYXRhXHJcbiAgICogQHBhcmFtIHNlYXJjaFF1ZXJ5IC0gU2VhcmNoIFF1ZXJ5IHN0cmluZ1xyXG4gICAqIEBwYXJhbSBsaW1pdCAtIExpbWl0IG9mIHNlYXJjaCByZXN1bHRzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoRGF0YShzZWFyY2hRdWVyeTogc3RyaW5nLCBsaW1pdDogbnVtYmVyLCBwYXJhbXM/OiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5zZWFyY2h9P3NlYXJjaFF1ZXJ5PSR7c2VhcmNoUXVlcnl9JmxpbWl0PSR7bGltaXR9YCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgU2NyZWVuIFBlcmZvcm1hbmNlIFN0YXRpc3RpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gaW5zZXJ0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgaW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VTdGF0aXN0aWNzKGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBpbnNlcnRpbmcgc2NyZWVuIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3NcclxuICAgICAgICBgJHtBUEkuSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3N9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IHdpdGggdGhlIHNwZWNpZmllZCBtZXRob2QsIFVSTCwgaGVhZGVycywgYW5kIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZnVsbFVybCAtVGhlIGZ1bGwgVVJMIG9mIHRoZSByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1ldGhvZCAtIFRoZSBIVFRQIG1ldGhvZCB0byBiZSB1c2VkICgnR0VUJywgJ1BPU1QnLCAnUFVUJywgJ0RFTEVURScpLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIC0gVGhlIGhlYWRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBib2R5IGNvbnRlbnQgZm9yIG1ldGhvZHMgbGlrZSBQT1NUIGFuZCBQVVQuXHJcbiAgICogQHJldHVybnMgVGhlIEFQSSByZXNwb25zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVIdHRwUmVxdWVzdChcclxuICAgIGZ1bGxVcmw6IGFueSxcclxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxyXG4gICAgaGVhZGVyczogYW55LFxyXG4gICAgYm9keTogYW55XHJcbiAgKTogYW55IHtcclxuICAgIGhlYWRlcnMgPSB7XHJcbiAgICAgIC4uLihoZWFkZXJzIHx8IHt9KSxcclxuICAgICAgJ1gtU2tpcC1JbnRlcmNlcHRvcic6ICd0cnVlJyxcclxuICAgICAgJ1gtU2tpcC1BdXRoJzogJ3RydWUnLFxyXG4gICAgICAnWC1UcmFjay1BUEktRGV0YWlscyc6ICd0cnVlJyxcclxuICAgIH07XHJcbiAgICBpZiAobWV0aG9kID09ICdHRVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QnlVcmwoZnVsbFVybCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ1BPU1QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJ5VXJsKGZ1bGxVcmwsIGJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdQVVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0QnlVcmwoZnVsbFVybCwgYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ0RFTEVURScpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGVCeVVybChmdWxsVXJsLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gSFRUUCBSZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gICAqIEBwYXJhbSBRdWVyeU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZ2VuZXJhdGVkIEhUVFAgcmVxdWVzdFxyXG4gICAqL1xyXG4gIGdlbmVyYXRlSHR0cFJlcXVlc3QoUXVlcnlOYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5HZW5lcmF0ZUh0dHBSZXF1ZXN0fT9kc3FOYW1lPSR7UXVlcnlOYW1lfWAsXHJcbiAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIFNldCB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSB0ZW5hbnRcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIEFQSSBlbmRwb2ludCBmb3IgcmV0cmlldmluZyB0aGUgZGV0YWlsZWQgYW5hbHl0aWNzIG9mIGEgc2NyZWVuJ3MgcGVyZm9ybWFuY2VcclxuICAgICAgICBgJHtBUEkuR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgc3VtbWFyeSBvZiBwZXJmb3JtYW5jZSBhbmFseXRpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIGluc2VydGluZyBzY3JlZW4gcGVyZm9ybWFuY2Ugc3RhdGlzdGljc1xyXG4gICAgICAgIGAke0FQSS5HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoZXMgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIHJlZnJlc2hpbmcgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YVxyXG4gICAgICAgIGAke0FQSS5SZWZyZXNoR2xvYmFsU2VhcmNoRGF0YX1gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiwwQkFBMEIsR0FDM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdqQyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0EwYWhEO0lBeGFDOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxJQUFTLEVBQUMsT0FBWTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FD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QUFFLEVBQ2hDLElBQUk7WUFDSiw4QkFBOEI7WUFDOUIsT0FBTyxDQUNSLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhFQTNhVSxhQUFhO3VFQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07O2lGQUNuQixhQUFhO2NBRHpCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEU1FIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVycyc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tICcuLi91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IGdldEFwcE9iamVjdCB9IGZyb20gJy4uL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnksaGVhZGVycz86YW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlclxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgY2hhbmdpbmcgcGFzc3dvcmRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBjaGFuZ2VQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuY2hhbmdlUGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQTUpBWSBJbXBvcnRcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIFBNSkFZIGltcG9ydFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBtamF5SW1wb3J0KGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5wbWpheUltcG9ydH1gLCBkYXRhLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGEgc2VsZWN0IHF1ZXJ5IHdpdGggb3B0aW9uYWwgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHNlbGVjdCBxdWVyeSBkYXRhXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5XHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBzZWxlY3QgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0RXhlY3V0b3IoZGF0YTogQVBJU2VsZWN0UXVlcnksIHBhcmFtZXRlcnM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHBhcmFtZXRlcnMgJiYgT2JqZWN0LmtleXMocGFyYW1ldGVycykubGVuZ3RoKSB7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgPSBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljIHx8ICdbXSc7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyB8fCBbXTtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSA9IGRhdGEuV2hlcmVDbGF1c2UuU1FMUXVlcnkgfHwgJyc7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZXBsYWNlcyB2YWx1ZXMgZnJvbSBwYXJhbWV0ZXJzIGlmIG1hdGNoZWQgYW5kIGluIGZvcm1hdCBvZiB7e2tleX19LlxyXG4gICAgICAgKiBFeGFtcGxlOiBpZiBmaWx0ZXIuVmFsdWUgaXMgXCJ7e3VzZXJJZH19XCIgYW5kXHJcbiAgICAgICAqIHRoaXMuX3ZhbHVlLnBhcmFtZXRlcnMudXNlcklkIGlzIDEyMywgdGhlbiBmaWx0ZXIuVmFsdWUgd2lsbCBiZSByZXBsYWNlZCB3aXRoXHJcbiAgICAgICAqIFwiMTIzXCIuXHJcbiAgICAgICAqL1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBmaWx0ZXIuVmFsdWVUeXBlIGlzIDEgKGxpdGVyYWwpXHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZSAmJiBmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgL3t7KFtefV0rKX19L2csXHJcbiAgICAgICAgICAgIChtYXRjaDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyc1trZXldO1xyXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZiB2YWx1ZVR5cGUgPSAyIChQYXJhbWV0ZXJzKVxyXG4gICAgICAgIC8vIHRoZW4gd2UgbmVlZCB0byByZXBsYWNlIHRoZSB2YWx1ZSB3aXRoIHBhcmFtZXRlcnMgYW5kIGNoYW5nZSB0aGUgdmFsdWVUeXBlIHRvIDEgKExpdGVyYWwpXHJcbiAgICAgICAgZWxzZSBpZiAoZmlsdGVyLlZhbHVlVHlwZSA9PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgLyhbXn1dKykvZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWVUeXBlID0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgKGRhdGE/LldoZXJlQ2xhdXNlPy5GaWx0ZXJzIHx8IFtdKS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlVHlwZSA9PT0gRmlsdGVyVmFsdWVUeXBlLlBhcmFtZXRlciAmJlxyXG4gICAgICAgICAgcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlID0gcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGRhdGEsIFF1ZXJ5VHlwZS5TZWxlY3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgYnkgaXRzIElELCB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWxlY3RRdWVyeUlkIC0gVGhlIElEIG9mIHRoZSBzZWxlY3QgcXVlcnkgdG8gYmUgZXhlY3V0ZWQuXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb24uXHJcbiAgICogQHRocm93cyBBbiBlcnJvciBpZiB0aGUgQVBJIHJlc3BvbnNlIHN0YXR1cyBjb2RlIGlzIG5vdCAnMjAwJy5cclxuICAgKi9cclxuICBleGVjdXRlU2VsZWN0UXVlcnlCeUlkKHNlbGVjdFF1ZXJ5SWQ6IHN0cmluZywgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUkFXRFNRV2l0aE5hbWUoe1xyXG4gICAgICBBcHBPYmplY3ROYW1lOiBBcHBPYmplY3RzQ29uc3RhbnRzLlRBQkRfUXVlcmllcyxcclxuICAgICAgRFNRTmFtZTogRGF0YVNvdXJjZVF1ZXJpZXNDb25zdGFudHMuRGV0YWlsX1RBQkRfUXVlcmllcyxcclxuICAgICAgUmVxdG9rZW5zOiB7XHJcbiAgICAgICAgSUQ6IHNlbGVjdFF1ZXJ5SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5TdGF0dXNDb2RlID09PSAnMjAwJykge1xyXG4gICAgICAgICAgY29uc3QgQ29uZmlndXJhdGlvbiA9IEpTT04ucGFyc2UocmVzLlJlc3VsdFswXS5Db25maWd1cmF0aW9uIHx8ICd7fScpO1xyXG4gICAgICAgICAgaWYgKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2U/LkZpbHRlcnMpIHtcclxuICAgICAgICAgICAgQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZS5GaWx0ZXJzID0gdGhpcy5yZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2UuRmlsdGVycywgcGFyYW1ldGVycyB8fCB7fSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RFeGVjdXRvcihDb25maWd1cmF0aW9uLCBwYXJhbWV0ZXJzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKGZpbHRlcnM6IGFueVtdLCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlck5hbWUgPSBmaWx0ZXIuVmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5oYXNPd25Qcm9wZXJ0eShwYXJhbWV0ZXJOYW1lKSAmJiBwYXJhbWV0ZXJzW3BhcmFtZXRlck5hbWVdID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBSZW1vdmUgZmlsdGVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHBhcmFtZXRlcnMgfHwge30pLmxlbmd0aCA9PT0gMCAmJiBmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gUmVtb3ZlIGZpbHRlclxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gS2VlcCBmaWx0ZXJcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRUZXN0Q29ubmVjdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS50ZXN0Q29ubmVjdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRQZXJmb3JtVmFsaWRhdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS5wZXJmb3JtVmFsaWRhdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIGdpdmVuIHRlbmFudFxyXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uSWQgVGhlIElEIG9mIHRoZSBjb25uZWN0aW9uXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgc2V0VGFiQ29tcG9uZW50c0ZvclRlbmFudChjb25uZWN0aW9uSWQ6IHN0cmluZywgZGF0YT86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBzZXR0aW5nIHRhYiBjb21wb25lbnRzXHJcbiAgICAgICAgYCR7QVBJLnNldFRhYkNvbXBvbmVudHN9JHtjb25uZWN0aW9uSWR9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGZvcm0gY29uZmlndXJhdGlvbiBmb3IgYSBjb21tb24gZmlsdGVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHBsaWNhdGlvbiBvYmplY3QgSUQuXHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkgb3IgbnVsbCBpZiBoZWFkZXJzIGFyZSB1bmF2YWlsYWJsZS5cclxuICAgKi9cclxuICBnZXRCdWlsZEZvcm1JT0ZvckNvbW1vbkZpbHRlcihhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9Q29tbW9uRmlsdGVyYCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBmb3JtIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnVsayB1cGRhdGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcGxpY2F0aW9uIG9iamVjdCBJRC5cclxuICAgKiBAcGFyYW0gYXBwT2JqZWN0SWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSSBvciBudWxsIGlmIGhlYWRlcnMgYXJlIHVuYXZhaWxhYmxlLlxyXG4gICAqL1xyXG4gIGdldEJ1aWxkRm9ybUlPRm9yQnVsa1VwZGF0ZShhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9QnVsa1VwZGF0ZWAsXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogR2V0IFJlc291cmNlIExhbmd1YWdlIEJ5IExhbmd1YWdlIENvZGVcclxuICAvLyAgKiBAcGFyYW0gbGFuZ3VhZ2VDb2RlIC0gTGFuZ3VhZ2UgQ29kZVxyXG4gIC8vICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gIC8vICAqL1xyXG4gIC8vIGdldFJlc291cmNlTGFuZ3VhZ2VCeUxhbmd1YWdlQ29kZShsYW5ndWFnZUNvZGU6IG51bWJlcik6IGFueSB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gIC8vICAgICAgIGAke0FQSS5sYW5ndWFnZVJlc291cmNlfWAsXHJcbiAgLy8gICAgICAgeyBMYW5ndWFnZUNvZGU6IGxhbmd1YWdlQ29kZSB9LFxyXG4gIC8vICAgICAgIGhlYWRlcnNcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFNlYXJjaCBEYXRhXHJcbiAgICogQHBhcmFtIHNlYXJjaFF1ZXJ5IC0gU2VhcmNoIFF1ZXJ5IHN0cmluZ1xyXG4gICAqIEBwYXJhbSBsaW1pdCAtIExpbWl0IG9mIHNlYXJjaCByZXN1bHRzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoRGF0YShzZWFyY2hRdWVyeTogc3RyaW5nLCBsaW1pdDogbnVtYmVyLCBwYXJhbXM/OiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5zZWFyY2h9P3NlYXJjaFF1ZXJ5PSR7c2VhcmNoUXVlcnl9JmxpbWl0PSR7bGltaXR9YCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgU2NyZWVuIFBlcmZvcm1hbmNlIFN0YXRpc3RpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gaW5zZXJ0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgaW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VTdGF0aXN0aWNzKGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBpbnNlcnRpbmcgc2NyZWVuIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3NcclxuICAgICAgICBgJHtBUEkuSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3N9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IHdpdGggdGhlIHNwZWNpZmllZCBtZXRob2QsIFVSTCwgaGVhZGVycywgYW5kIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZnVsbFVybCAtVGhlIGZ1bGwgVVJMIG9mIHRoZSByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1ldGhvZCAtIFRoZSBIVFRQIG1ldGhvZCB0byBiZSB1c2VkICgnR0VUJywgJ1BPU1QnLCAnUFVUJywgJ0RFTEVURScpLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIC0gVGhlIGhlYWRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBib2R5IGNvbnRlbnQgZm9yIG1ldGhvZHMgbGlrZSBQT1NUIGFuZCBQVVQuXHJcbiAgICogQHJldHVybnMgVGhlIEFQSSByZXNwb25zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVIdHRwUmVxdWVzdChcclxuICAgIGZ1bGxVcmw6IGFueSxcclxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxyXG4gICAgaGVhZGVyczogYW55LFxyXG4gICAgYm9keTogYW55XHJcbiAgKTogYW55IHtcclxuICAgIGhlYWRlcnMgPSB7XHJcbiAgICAgIC4uLihoZWFkZXJzIHx8IHt9KSxcclxuICAgICAgJ1gtU2tpcC1JbnRlcmNlcHRvcic6ICd0cnVlJyxcclxuICAgICAgJ1gtU2tpcC1BdXRoJzogJ3RydWUnLFxyXG4gICAgICAnWC1UcmFjay1BUEktRGV0YWlscyc6ICd0cnVlJyxcclxuICAgIH07XHJcbiAgICBpZiAobWV0aG9kID09ICdHRVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QnlVcmwoZnVsbFVybCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ1BPU1QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJ5VXJsKGZ1bGxVcmwsIGJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdQVVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0QnlVcmwoZnVsbFVybCwgYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ0RFTEVURScpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGVCeVVybChmdWxsVXJsLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gSFRUUCBSZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gICAqIEBwYXJhbSBRdWVyeU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZ2VuZXJhdGVkIEhUVFAgcmVxdWVzdFxyXG4gICAqL1xyXG4gIGdlbmVyYXRlSHR0cFJlcXVlc3QoUXVlcnlOYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5HZW5lcmF0ZUh0dHBSZXF1ZXN0fT9kc3FOYW1lPSR7UXVlcnlOYW1lfWAsXHJcbiAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIFNldCB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSB0ZW5hbnRcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIEFQSSBlbmRwb2ludCBmb3IgcmV0cmlldmluZyB0aGUgZGV0YWlsZWQgYW5hbHl0aWNzIG9mIGEgc2NyZWVuJ3MgcGVyZm9ybWFuY2VcclxuICAgICAgICBgJHtBUEkuR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgc3VtbWFyeSBvZiBwZXJmb3JtYW5jZSBhbmFseXRpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIGluc2VydGluZyBzY3JlZW4gcGVyZm9ybWFuY2Ugc3RhdGlzdGljc1xyXG4gICAgICAgIGAke0FQSS5HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoZXMgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIHJlZnJlc2hpbmcgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YVxyXG4gICAgICAgIGAke0FQSS5SZWZyZXNoR2xvYmFsU2VhcmNoRGF0YX1gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -69,7 +69,7 @@ export class MetadataHelper {
69
69
  * @returns The app object if found, or null if not found.
70
70
  */
71
71
  getAppObjectByIdOrName(nameOrId) {
72
- return this.getFromMapOrCreate(this.appObjectMap, nameOrId, Common.tabJson.AppObjects, obj => obj.ObjectName === nameOrId || obj.ID === nameOrId, obj => new AppObjectModel(obj));
72
+ return this.getFromMapOrCreate(this.appObjectMap, nameOrId, Common.tabJson.AppObjects, obj => obj.ObjectName === nameOrId || obj.ID?.toLowerCase() === nameOrId?.toLowerCase(), obj => new AppObjectModel(obj));
73
73
  }
74
74
  /**
75
75
  * Returns a list of app objects in the metadata.
@@ -79,7 +79,7 @@ export class MetadataHelper {
79
79
  */
80
80
  getAllAppObjects(filterFn) {
81
81
  // Initialize the list of app objects lazily.
82
- const list = this.lazyInitList(this.allAppObjects, val => (this.allAppObjects = val), Common.tabJson.AppObjects, this.appObjectMap, (obj) => [obj.ID, obj.ObjectName], obj => new AppObjectModel(obj));
82
+ const list = this.lazyInitList(this.allAppObjects, val => (this.allAppObjects = val), Common.tabJson.AppObjects, this.appObjectMap, (obj) => [obj.ID?.toLowerCase(), obj.ObjectName], obj => new AppObjectModel(obj));
83
83
  // If a filter function is given, apply it to the list of app objects.
84
84
  return filterFn ? list.filter(filterFn) : list;
85
85
  }
@@ -116,7 +116,7 @@ export class MetadataHelper {
116
116
  */
117
117
  getDataSourceQueryByIdOrName(nameOrId) {
118
118
  // Search for the data source query by ID, QueryName, or DisplayName
119
- return this.getAllDataSourceQueries().find(dsq => dsq?.ID === nameOrId || dsq?.QueryName === nameOrId || dsq?.DisplayName === nameOrId) || null;
119
+ return this.getAllDataSourceQueries().find(dsq => dsq?.ID?.toLowerCase() === nameOrId?.toLowerCase() || dsq?.QueryName === nameOrId || dsq?.DisplayName === nameOrId) || null;
120
120
  }
121
121
  /**
122
122
  * Retrieves an app screen by its ID, Name, or DisplayName.
@@ -126,7 +126,7 @@ export class MetadataHelper {
126
126
  * @returns {AppScreenModel | null} - The app screen model if found, otherwise null.
127
127
  */
128
128
  getAppScreenByIdOrName(nameOrId) {
129
- return this.getFromMapOrCreate(this.appScreenMap, nameOrId, Common.tabJson.AppScreens, screen => screen?.ID === nameOrId || screen?.Name === nameOrId, screen => new AppScreenModel(screen));
129
+ return this.getFromMapOrCreate(this.appScreenMap, nameOrId, Common.tabJson.AppScreens, screen => screen?.ID?.toLowerCase() === nameOrId?.toLowerCase() || screen?.Name === nameOrId, screen => new AppScreenModel(screen));
130
130
  }
131
131
  /**
132
132
  * Retrieves a list of all app screens.
@@ -137,7 +137,7 @@ export class MetadataHelper {
137
137
  */
138
138
  getAllAppScreens(filterFn) {
139
139
  // Initialize the list of app screens lazily.
140
- const list = this.lazyInitList(this.allAppScreens, val => (this.allAppScreens = val), Common.tabJson.AppScreens, this.appScreenMap, (s) => [s?.ID, s?.Name], s => new AppScreenModel(s));
140
+ const list = this.lazyInitList(this.allAppScreens, val => (this.allAppScreens = val), Common.tabJson.AppScreens, this.appScreenMap, (s) => [s?.ID?.toLowerCase(), s?.Name], s => new AppScreenModel(s));
141
141
  // If a filter function is given, apply it to the list of app screens.
142
142
  return filterFn ? list.filter(filterFn) : list;
143
143
  }
@@ -151,7 +151,7 @@ export class MetadataHelper {
151
151
  getOrgInfoByIdOrTenantCode(nameOrTenantCode) {
152
152
  return this.getFromMapOrCreate(this.orgInfoMap, nameOrTenantCode, Common.tabJson.OrgInfos,
153
153
  // Search for the organization info by ID or TenantCode
154
- org => org.ID === nameOrTenantCode || org.TenantCode === nameOrTenantCode,
154
+ org => org.ID?.toLowerCase() === nameOrTenantCode?.toLowerCase() || org.TenantCode === nameOrTenantCode,
155
155
  // Create a new OrgInfoModel if the organization info is found
156
156
  org => new OrgInfoModel(org));
157
157
  }
@@ -164,7 +164,7 @@ export class MetadataHelper {
164
164
  */
165
165
  getAllOrgInfos(filterFn) {
166
166
  // Initialize the list of organization info lazily.
167
- const list = this.lazyInitList(this.allOrgInfos, val => (this.allOrgInfos = val), Common.tabJson.OrgInfos, this.orgInfoMap, (org) => [org?.ID, org?.TenantCode], org => new OrgInfoModel(org));
167
+ const list = this.lazyInitList(this.allOrgInfos, val => (this.allOrgInfos = val), Common.tabJson.OrgInfos, this.orgInfoMap, (org) => [org?.ID?.toLowerCase(), org?.TenantCode], org => new OrgInfoModel(org));
168
168
  // If a filter function is given, apply it to the list of organization info.
169
169
  return filterFn ? list.filter(filterFn) : list;
170
170
  }
@@ -211,4 +211,4 @@ export class MetadataHelper {
211
211
  type: Injectable,
212
212
  args: [{ providedIn: 'root' }]
213
213
  }], null, null); })();
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1kYXRhLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFFOUMsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFFOUMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBQ3BELGdCQUFXLEdBQTBCLElBQUksQ0FBQztLQTZRbkQ7SUEzUUM7Ozs7Ozs7Ozs7T0FVRztJQUNLLGtCQUFrQixDQUN4QixHQUEwQixFQUMxQixHQUFXLEVBQ1gsVUFBZSxFQUNmLE9BQTZCLEVBQzdCLFlBQTRCO1FBRTVCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENB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QyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVELElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUN6RCw0REFBNEQ7WUFDNUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2pELG9EQUFvRDtZQUNwRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytFQXBSVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvY29tbW9uXCI7XG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbFwiO1xuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwLWZpZWxkLm1vZGVsXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IE1ldGFkYXRhRW50aXR5VHlwZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3NjaGVtYS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFwcFNjcmVlbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hcHAtc2NyZWVuLm1vZGVsXCI7XG5pbXBvcnQgeyBPcmdJbmZvTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL29yZ0luZm8ubW9kZWxcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YUhlbHBlciB7XG4gIHByaXZhdGUgYXBwT2JqZWN0TWFwID0gbmV3IE1hcDxzdHJpbmcsIEFwcE9iamVjdE1vZGVsIHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBhbGxBcHBPYmplY3RzOiBBcHBPYmplY3RNb2RlbFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBhcHBTY3JlZW5NYXAgPSBuZXcgTWFwPHN0cmluZywgQXBwU2NyZWVuTW9kZWwgfCBudWxsPigpO1xuICBwcml2YXRlIGFsbEFwcFNjcmVlbnM6IEFwcFNjcmVlbk1vZGVsW10gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9yZ0luZm9NYXAgPSBuZXcgTWFwPHN0cmluZywgT3JnSW5mb01vZGVsIHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBhbGxPcmdJbmZvczogT3JnSW5mb01vZGVsW10gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkgZnJvbSB0aGUgZ2l2ZW4gbWFwLlxuICAgKiBJZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAsIGFuZCB0aGUgc291cmNlIGxpc3QgY29udGFpbnMgYW4gaXRlbSB0aGF0IG1hdGNoZXNcbiAgICogdGhlIGdpdmVuIGNvbmRpdGlvbiwgaXQgY3JlYXRlcyBhIG5ldyBtb2RlbCB1c2luZyB0aGUgZ2l2ZW4gbW9kZWwgZmFjdG9yeSBhbmQgYWRkcyBpdCB0byB0aGUgbWFwLlxuICAgKiBAcGFyYW0gbWFwIFRoZSBtYXAgdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHNvdXJjZUxpc3QgVGhlIGxpc3Qgb2YgaXRlbXMgdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0gbWF0Y2hGbiBUaGUgY29uZGl0aW9uIHRvIG1hdGNoLlxuICAgKiBAcGFyYW0gbW9kZWxGYWN0b3J5IFRoZSBmYWN0b3J5IHRvIGNyZWF0ZSBhIG5ldyBtb2RlbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXksIG9yIG51bGwgaWYgbm8gbWF0Y2ggaXMgZm91bmQuXG4gICAqL1xuICBwcml2YXRlIGdldEZyb21NYXBPckNyZWF0ZTxUPihcbiAgICBtYXA6IE1hcDxzdHJpbmcsIFQgfCBudWxsPixcbiAgICBrZXk6IHN0cmluZyxcbiAgICBzb3VyY2VMaXN0OiBUW10sXG4gICAgbWF0Y2hGbjogKGl0ZW06IFQpID0+IGJvb2xlYW4sXG4gICAgbW9kZWxGYWN0b3J5OiAoaXRlbTogVCkgPT4gVFxuICApOiBUIHwgbnVsbCB7XG4gICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgIGlmIChtYXAuaGFzKGtleSkpIHJldHVybiBtYXAuZ2V0KGtleSkgfHwgbnVsbDtcblxuICAgIGNvbnN0IGl0ZW0gPSBzb3VyY2VMaXN0LmZpbmQobWF0Y2hGbik7XG4gICAgY29uc3QgbW9kZWwgPSBpdGVtID8gbW9kZWxGYWN0b3J5KGl0ZW0pIDogbnVsbDtcbiAgICBtYXAuc2V0KGtleSwgbW9kZWwpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXppbHkgaW5pdGlhbGl6ZXMgYSBsaXN0IG9mIG1vZGVscyBmcm9tIGEgc291cmNlIGxpc3QuXG4gICAqIEl0IGNyZWF0ZXMgYSBuZXcgbW9kZWwgZm9yIGVhY2ggaXRlbSBpbiB0aGUgc291cmNlIGxpc3QgYW5kIGFkZHMgaXQgdG8gdGhlIGdpdmVuIG1hcC5cbiAgICogSXQgYWxzbyBzZXRzIHRoZSBsaXN0IG9mIG1vZGVscyB0byB0aGUgZ2l2ZW4gc2V0dGVyLlxuICAgKiBAcGFyYW0gbGlzdFJlZiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBsaXN0IG9mIG1vZGVscy5cbiAgICogQHBhcmFtIHNldHRlciBUaGUgc2V0dGVyIHRvIHNldCB0aGUgbGlzdCBvZiBtb2RlbHMuXG4gICAqIEBwYXJhbSBzb3VyY2VMaXN0IFRoZSBzb3VyY2UgbGlzdCBvZiBpdGVtcy5cbiAgICogQHBhcmFtIG1hcCBUaGUgbWFwIHRvIHN0b3JlIHRoZSBtb2RlbHMuXG4gICAqIEBwYXJhbSBnZXRLZXlzIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgZm9yIHRoZSBnaXZlbiBpdGVtLlxuICAgKiBAcGFyYW0gbW9kZWxGYWN0b3J5IFRoZSBmYWN0b3J5IHRvIGNyZWF0ZSBhIG5ldyBtb2RlbCBmb3IgdGhlIGdpdmVuIGl0ZW0uXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIG1vZGVscy5cbiAgICovXG4gIHByaXZhdGUgbGF6eUluaXRMaXN0PFQsIE0+KFxuICAgIGxpc3RSZWY6IE1bXSB8IG51bGwsXG4gICAgc2V0dGVyOiAobGlzdDogTVtdKSA9PiB2b2lkLFxuICAgIHNvdXJjZUxpc3Q6IFRbXSxcbiAgICBtYXA6IE1hcDxzdHJpbmcsIE0gfCBudWxsPixcbiAgICBnZXRLZXlzOiAoaXRlbTogVCkgPT4gc3RyaW5nW10sXG4gICAgbW9kZWxGYWN0b3J5OiAoaXRlbTogVCkgPT4gTVxuICApOiBNW10ge1xuICAgIC8vIElmIHRoZSBsaXN0IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQsIHJldHVybiBpdC5cbiAgICBpZiAobGlzdFJlZikgcmV0dXJuIGxpc3RSZWY7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgbW9kZWwgZm9yIGVhY2ggaXRlbSBpbiB0aGUgc291cmNlIGxpc3QgYW5kIGFkZCBpdCB0byB0aGUgbWFwLlxuICAgIGNvbnN0IG1vZGVscyA9IHNvdXJjZUxpc3QubWFwKChpdGVtOiBUKSA9PiB7XG4gICAgICBjb25zdCBtb2RlbCA9IG1vZGVsRmFjdG9yeShpdGVtKTtcbiAgICAgIGdldEtleXMoaXRlbSkuZm9yRWFjaChrZXkgPT4gbWFwLnNldChrZXksIG1vZGVsKSk7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdGhlIGxpc3Qgb2YgbW9kZWxzIHRvIHRoZSBnaXZlbiBzZXR0ZXIuXG4gICAgc2V0dGVyKG1vZGVscyk7XG5cbiAgICAvLyBSZXR1cm4gdGhlIGxpc3Qgb2YgbW9kZWxzLlxuICAgIHJldHVybiBtb2RlbHM7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW4gYXBwIG9iamVjdCBpbiB0aGUgbWFwIGJ5IGl0cyBuYW1lIG9yIGlkLlxuICAgKiBJZiB0aGUgYXBwIG9iamVjdCBpcyBub3QgZm91bmQsIGl0IGNyZWF0ZXMgYSBuZXcgb25lIGFuZCBhZGRzIGl0IHRvIHRoZSBtYXAuXG4gICAqIEBwYXJhbSBuYW1lT3JJZCBUaGUgbmFtZSBvciBpZCBvZiB0aGUgYXBwIG9iamVjdCB0byBmaW5kLlxuICAgKiBAcmV0dXJucyBUaGUgYXBwIG9iamVjdCBpZiBmb3VuZCwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBnZXRBcHBPYmplY3RCeUlkT3JOYW1lKG5hbWVPcklkOiBzdHJpbmcpOiBBcHBPYmplY3RNb2RlbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21NYXBPckNyZWF0ZShcbiAgICAgIHRoaXMuYXBwT2JqZWN0TWFwLFxuICAgICAgbmFtZU9ySWQsXG4gICAgICBDb21tb24udGFiSnNvbi5BcHBPYmplY3RzLFxuICAgICAgb2JqID0+IG9iai5PYmplY3ROYW1lID09PSBuYW1lT3JJZCB8fCBvYmouSUQgPT09IG5hbWVPcklkLFxuICAgICAgb2JqID0+IG5ldyBBcHBPYmplY3RNb2RlbChvYmopXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhcHAgb2JqZWN0cyBpbiB0aGUgbWV0YWRhdGEuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIGVhY2ggYXBwIG9iamVjdC5cbiAgICogQHBhcmFtIGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGFwcCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyBUaGUgbGlzdCBvZiBhcHAgb2JqZWN0cy5cbiAgICovXG4gIGdldEFsbEFwcE9iamVjdHMoZmlsdGVyRm4/OiAob2JqOiBBcHBPYmplY3RNb2RlbCkgPT4gYm9vbGVhbik6IEFwcE9iamVjdE1vZGVsW10ge1xuICAgIC8vIEluaXRpYWxpemUgdGhlIGxpc3Qgb2YgYXBwIG9iamVjdHMgbGF6aWx5LlxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxhenlJbml0TGlzdChcbiAgICAgIHRoaXMuYWxsQXBwT2JqZWN0cyxcbiAgICAgIHZhbCA9PiAodGhpcy5hbGxBcHBPYmplY3RzID0gdmFsKSxcbiAgICAgIENvbW1vbi50YWJKc29uLkFwcE9iamVjdHMsXG4gICAgICB0aGlzLmFwcE9iamVjdE1hcCxcbiAgICAgIChvYmo6IGFueSkgPT4gW29iai5JRCwgb2JqLk9iamVjdE5hbWVdLFxuICAgICAgb2JqID0+IG5ldyBBcHBPYmplY3RNb2RlbChvYmopXG4gICAgKTtcblxuICAgIC8vIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBhcHBseSBpdCB0byB0aGUgbGlzdCBvZiBhcHAgb2JqZWN0cy5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBsaXN0LmZpbHRlcihmaWx0ZXJGbikgOiBsaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGZpZWxkcyBpbiB0aGUgbWV0YWRhdGEuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIGVhY2ggZmllbGQuXG4gICAqIEBwYXJhbSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIGZpZWxkcy5cbiAgICovXG4gIGdldEFsbEZpZWxkcyhmaWx0ZXJGbj86IChmaWVsZDogQXBwRmllbGRNb2RlbCkgPT4gYm9vbGVhbik6IEFwcEZpZWxkTW9kZWxbXSB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgZmllbGRzIGZyb20gYWxsIGFwcCBvYmplY3RzLlxuICAgIGNvbnN0IGFsbEZpZWxkcyA9IHRoaXMuZ2V0QWxsQXBwT2JqZWN0cygpLmZsYXRNYXAob2JqID0+IG9iai5maWVsZHMoKSk7XG5cbiAgICAvLyBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgYXBwbHkgaXQgdG8gdGhlIGxpc3Qgb2YgZmllbGRzLlxuICAgIHJldHVybiBmaWx0ZXJGbiA/IGFsbEZpZWxkcy5maWx0ZXIoZmlsdGVyRm4pIDogYWxsRmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGRhdGEgc291cmNlIHF1ZXJpZXMgaW4gdGhlIG1ldGFkYXRhLlxuICAgKiBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgaXQgaXMgYXBwbGllZCB0byBlYWNoIGRhdGEgc291cmNlIHF1ZXJ5LlxuICAgKiBAcGFyYW0gZmlsdGVyRm4gVGhlIGZpbHRlciBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICogQHJldHVybnMgVGhlIGxpc3Qgb2YgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICovXG4gIGdldEFsbERhdGFTb3VyY2VRdWVyaWVzKGZpbHRlckZuPzogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICAvLyBHZXQgYSBsaXN0IG9mIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGZyb20gYWxsIGFwcCBvYmplY3RzLlxuICAgIGNvbnN0IGFsbERTUXMgPSB0aGlzLmdldEFsbEFwcE9iamVjdHMoKS5mbGF0TWFwKG9iaiA9PiBvYmouZGF0YVNvdXJjZVF1ZXJpZXMoKSk7XG5cbiAgICAvLyBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgYXBwbHkgaXQgdG8gdGhlIGxpc3Qgb2YgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBhbGxEU1FzLmZpbHRlcihmaWx0ZXJGbikgOiBhbGxEU1FzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IGl0cyBJRCwgUXVlcnlOYW1lLCBvciBEaXNwbGF5TmFtZS5cbiAgICogU2VhcmNoZXMgdGhyb3VnaCBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9ySWQgLSBUaGUgSUQsIFF1ZXJ5TmFtZSwgb3IgRGlzcGxheU5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfCBudWxsfSAtIFRoZSBkYXRhIHNvdXJjZSBxdWVyeSBtb2RlbCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBnZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKG5hbWVPcklkOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IG51bGwge1xuICAgIC8vIFNlYXJjaCBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IElELCBRdWVyeU5hbWUsIG9yIERpc3BsYXlOYW1lXG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGF0YVNvdXJjZVF1ZXJpZXMoKS5maW5kKFxuICAgICAgZHNxID0+IGRzcT8uSUQgPT09IG5hbWVPcklkIHx8IGRzcT8uUXVlcnlOYW1lID09PSBuYW1lT3JJZCB8fCBkc3E/LkRpc3BsYXlOYW1lID09PSBuYW1lT3JJZFxuICAgICkgfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gYXBwIHNjcmVlbiBieSBpdHMgSUQsIE5hbWUsIG9yIERpc3BsYXlOYW1lLlxuICAgKiBTZWFyY2hlcyB0aHJvdWdoIGFsbCBhcHAgc2NyZWVucyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9ySWQgLSBUaGUgSUQsIE5hbWUsIG9yIERpc3BsYXlOYW1lIG9mIHRoZSBhcHAgc2NyZWVuIHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyB7QXBwU2NyZWVuTW9kZWwgfCBudWxsfSAtIFRoZSBhcHAgc2NyZWVuIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIGdldEFwcFNjcmVlbkJ5SWRPck5hbWUobmFtZU9ySWQ6IHN0cmluZyk6IEFwcFNjcmVlbk1vZGVsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RnJvbU1hcE9yQ3JlYXRlKFxuICAgICAgdGhpcy5hcHBTY3JlZW5NYXAsXG4gICAgICBuYW1lT3JJZCxcbiAgICAgIENvbW1vbi50YWJKc29uLkFwcFNjcmVlbnMsXG4gICAgICBzY3JlZW4gPT4gc2NyZWVuPy5JRCA9PT0gbmFtZU9ySWQgfHwgc2NyZWVuPy5OYW1lID09PSBuYW1lT3JJZCxcbiAgICAgIHNjcmVlbiA9PiBuZXcgQXBwU2NyZWVuTW9kZWwoc2NyZWVuKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgYXBwIHNjcmVlbnMuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zLlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBhcHAgc2NyZWVucy5cbiAgICogQHJldHVybnMge0FwcFNjcmVlbk1vZGVsW119IC0gVGhlIGxpc3Qgb2YgYXBwIHNjcmVlbnMuXG4gICAqL1xuICBnZXRBbGxBcHBTY3JlZW5zKGZpbHRlckZuPzogKHNjcmVlbjogQXBwU2NyZWVuTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBTY3JlZW5Nb2RlbFtdIHtcbiAgICAvLyBJbml0aWFsaXplIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zIGxhemlseS5cbiAgICBjb25zdCBsaXN0ID0gdGhpcy5sYXp5SW5pdExpc3QoXG4gICAgICB0aGlzLmFsbEFwcFNjcmVlbnMsXG4gICAgICB2YWwgPT4gKHRoaXMuYWxsQXBwU2NyZWVucyA9IHZhbCksXG4gICAgICBDb21tb24udGFiSnNvbi5BcHBTY3JlZW5zLFxuICAgICAgdGhpcy5hcHBTY3JlZW5NYXAsXG4gICAgICAoczogYW55KSA9PiBbcz8uSUQsIHM/Lk5hbWVdLFxuICAgICAgcyA9PiBuZXcgQXBwU2NyZWVuTW9kZWwocylcbiAgICApO1xuXG4gICAgLy8gSWYgYSBmaWx0ZXIgZnVuY3Rpb24gaXMgZ2l2ZW4sIGFwcGx5IGl0IHRvIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zLlxuICAgIHJldHVybiBmaWx0ZXJGbiA/IGxpc3QuZmlsdGVyKGZpbHRlckZuKSA6IGxpc3Q7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIG9yZ2FuaXphdGlvbiBpbmZvIGJ5IGl0cyBJRCBvciBUZW5hbnRDb2RlLlxuICAgKiBTZWFyY2hlcyB0aHJvdWdoIGFsbCBvcmdhbml6YXRpb24gaW5mbyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9yVGVuYW50Q29kZSAtIFRoZSBJRCBvciBUZW5hbnRDb2RlIG9mIHRoZSBvcmdhbml6YXRpb24gaW5mbyB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge09yZ0luZm9Nb2RlbCB8IG51bGx9IC0gVGhlIG9yZ2FuaXphdGlvbiBpbmZvIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIGdldE9yZ0luZm9CeUlkT3JUZW5hbnRDb2RlKG5hbWVPclRlbmFudENvZGU6IHN0cmluZyk6IE9yZ0luZm9Nb2RlbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21NYXBPckNyZWF0ZShcbiAgICAgIHRoaXMub3JnSW5mb01hcCxcbiAgICAgIG5hbWVPclRlbmFudENvZGUsXG4gICAgICBDb21tb24udGFiSnNvbi5PcmdJbmZvcyxcbiAgICAgIC8vIFNlYXJjaCBmb3IgdGhlIG9yZ2FuaXphdGlvbiBpbmZvIGJ5IElEIG9yIFRlbmFudENvZGVcbiAgICAgIG9yZyA9PiBvcmcuSUQgPT09IG5hbWVPclRlbmFudENvZGUgfHwgb3JnLlRlbmFudENvZGUgPT09IG5hbWVPclRlbmFudENvZGUsXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgT3JnSW5mb01vZGVsIGlmIHRoZSBvcmdhbml6YXRpb24gaW5mbyBpcyBmb3VuZFxuICAgICAgb3JnID0+IG5ldyBPcmdJbmZvTW9kZWwob3JnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgb3JnYW5pemF0aW9uIGluZm8uXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbiBpbmZvLlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBvcmdhbml6YXRpb24gaW5mby5cbiAgICogQHJldHVybnMge09yZ0luZm9Nb2RlbFtdfSAtIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbiBpbmZvLlxuICAgKi9cbiAgZ2V0QWxsT3JnSW5mb3MoZmlsdGVyRm4/OiAob3JnOiBPcmdJbmZvTW9kZWwpID0+IGJvb2xlYW4pOiBPcmdJbmZvTW9kZWxbXSB7XG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgbGlzdCBvZiBvcmdhbml6YXRpb24gaW5mbyBsYXppbHkuXG4gICAgY29uc3QgbGlzdCA9IHRoaXMubGF6eUluaXRMaXN0KFxuICAgICAgdGhpcy5hbGxPcmdJbmZvcyxcbiAgICAgIHZhbCA9PiAodGhpcy5hbGxPcmdJbmZvcyA9IHZhbCksXG4gICAgICBDb21tb24udGFiSnNvbi5PcmdJbmZvcyxcbiAgICAgIHRoaXMub3JnSW5mb01hcCxcbiAgICAgIChvcmc6IGFueSkgPT4gW29yZz8uSUQsIG9yZz8uVGVuYW50Q29kZV0sXG4gICAgICBvcmcgPT4gbmV3IE9yZ0luZm9Nb2RlbChvcmcpXG4gICAgKTtcblxuICAgIC8vIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBhcHBseSBpdCB0byB0aGUgbGlzdCBvZiBvcmdhbml6YXRpb24gaW5mby5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBsaXN0LmZpbHRlcihmaWx0ZXJGbikgOiBsaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgZ2xvYmFsIHNlYXJjaCBhY3Jvc3MgYWxsIG1ldGFkYXRhIGZvciBhIGdpdmVuIHNlYXJjaCB0ZXJtLlxuICAgKiBZb3UgY2FuIG5hcnJvdyB0aGUgc2VhcmNoIGJ5IHByb3ZpZGluZyBhIGxpc3Qgb2YgZW50aXR5IHR5cGVzIHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSAtIFRoZSBzZWFyY2ggdGVybSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge01ldGFkYXRhRW50aXR5VHlwZVtdfSBlbnRpdHlUeXBlcyAtIFRoZSBsaXN0IG9mIGVudGl0eSB0eXBlcyB0byBzZWFyY2ggd2l0aGluLiBJZiBvbWl0dGVkLCBhbGwgZW50aXR5IHR5cGVzIGFyZSBzZWFyY2hlZC5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueVtdPn0gLSBBIGRpY3Rpb25hcnkgd2l0aCByZXN1bHRzIGdyb3VwZWQgYnkgZW50aXR5IHR5cGUuXG4gICAqL1xuICBzZWFyY2hNZXRhZGF0YSh0ZXJtOiBzdHJpbmcsIGVudGl0eVR5cGVzPzogTWV0YWRhdGFFbnRpdHlUeXBlW10pOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbiBlbnRpdHkgdHlwZSBzaG91bGQgYmUgc2VhcmNoZWQuXG4gICAgICogQHBhcmFtIHtNZXRhZGF0YUVudGl0eVR5cGV9IHR5cGUgLSBUaGUgZW50aXR5IHR5cGUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB0aGUgZW50aXR5IHR5cGUgc2hvdWxkIGJlIHNlYXJjaGVkLlxuICAgICAqL1xuICAgIGNvbnN0IHNob3VsZFNlYXJjaCA9ICh0eXBlOiBNZXRhZGF0YUVudGl0eVR5cGUpID0+ICFlbnRpdHlUeXBlcyB8fCBlbnRpdHlUeXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmIChzaG91bGRTZWFyY2goTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9PQkpFQ1RTKSkge1xuICAgICAgLy8gU2VhcmNoIGZvciBhcHAgb2JqZWN0cyBieSBJRCwgT2JqZWN0TmFtZSwgRGlzcGxheU5hbWUsIG9yIFN5c3RlbURCVGFibGVOYW1lXG4gICAgICByZXN1bHRbTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9PQkpFQ1RTXSA9IHRoaXMuZ2V0QWxsQXBwT2JqZWN0cyhvYmogPT5cbiAgICAgICAgW29iaj8uSUQsIG9iaj8uT2JqZWN0TmFtZSwgb2JqPy5EaXNwbGF5TmFtZSwgb2JqPy5TeXN0ZW1EQlRhYmxlTmFtZV1cbiAgICAgICAgICAuc29tZSh2YWwgPT4gdmFsID09PSBzZWFyY2hUZXJtIHx8IHZhbD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFNlYXJjaChNZXRhZGF0YUVudGl0eVR5cGUuQVBQX0ZJRUxEUykpIHtcbiAgICAgIC8vIFNlYXJjaCBmb3IgYXBwIGZpZWxkcyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5BUFBfRklFTERTXSA9IHRoaXMuZ2V0QWxsRmllbGRzKGZpZWxkID0+IGZpZWxkLnNlYXJjaChzZWFyY2hUZXJtKSk7XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFNlYXJjaChNZXRhZGF0YUVudGl0eVR5cGUuREFUQV9TT1VSQ0VfUVVFUklFUykpIHtcbiAgICAgIC8vIFNlYXJjaCBmb3IgZGF0YSBzb3VyY2UgcXVlcmllcyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5EQVRBX1NPVVJDRV9RVUVSSUVTXSA9IHRoaXMuZ2V0QWxsRGF0YVNvdXJjZVF1ZXJpZXMoZHNxID0+IGRzcS5zZWFyY2goc2VhcmNoVGVybSkpO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRTZWFyY2goTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9TQ1JFRU5TKSkge1xuICAgICAgLy8gU2VhcmNoIGZvciBhcHAgc2NyZWVucyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5BUFBfU0NSRUVOU10gPSB0aGlzLmdldEFsbEFwcFNjcmVlbnMoc2NyZWVuID0+IHNjcmVlbi5zZWFyY2goc2VhcmNoVGVybSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1kYXRhLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFFOUMsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFFOUMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBQ3BELGdCQUFXLEdBQTBCLElBQUksQ0FBQztLQTZRbkQ7SUEzUUM7Ozs7Ozs7Ozs7T0FVRztJQUNLLGtCQUFrQixDQUN4QixHQUEwQixFQUMxQixHQUFXLEVBQ1gsVUFBZSxFQUNmLE9BQTZCLEVBQzdCLFlBQTRCO1FBRTVCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENB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QUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzlFLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxtREFBbUQ7WUFDbkQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVELElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUN6RCw0REFBNEQ7WUFDNUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2pELG9EQUFvRDtZQUNwRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytFQXBSVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvY29tbW9uXCI7XG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbFwiO1xuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwLWZpZWxkLm1vZGVsXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IE1ldGFkYXRhRW50aXR5VHlwZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3NjaGVtYS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFwcFNjcmVlbk1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hcHAtc2NyZWVuLm1vZGVsXCI7XG5pbXBvcnQgeyBPcmdJbmZvTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL29yZ0luZm8ubW9kZWxcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YUhlbHBlciB7XG4gIHByaXZhdGUgYXBwT2JqZWN0TWFwID0gbmV3IE1hcDxzdHJpbmcsIEFwcE9iamVjdE1vZGVsIHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBhbGxBcHBPYmplY3RzOiBBcHBPYmplY3RNb2RlbFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBhcHBTY3JlZW5NYXAgPSBuZXcgTWFwPHN0cmluZywgQXBwU2NyZWVuTW9kZWwgfCBudWxsPigpO1xuICBwcml2YXRlIGFsbEFwcFNjcmVlbnM6IEFwcFNjcmVlbk1vZGVsW10gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9yZ0luZm9NYXAgPSBuZXcgTWFwPHN0cmluZywgT3JnSW5mb01vZGVsIHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBhbGxPcmdJbmZvczogT3JnSW5mb01vZGVsW10gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkgZnJvbSB0aGUgZ2l2ZW4gbWFwLlxuICAgKiBJZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAsIGFuZCB0aGUgc291cmNlIGxpc3QgY29udGFpbnMgYW4gaXRlbSB0aGF0IG1hdGNoZXNcbiAgICogdGhlIGdpdmVuIGNvbmRpdGlvbiwgaXQgY3JlYXRlcyBhIG5ldyBtb2RlbCB1c2luZyB0aGUgZ2l2ZW4gbW9kZWwgZmFjdG9yeSBhbmQgYWRkcyBpdCB0byB0aGUgbWFwLlxuICAgKiBAcGFyYW0gbWFwIFRoZSBtYXAgdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHNvdXJjZUxpc3QgVGhlIGxpc3Qgb2YgaXRlbXMgdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0gbWF0Y2hGbiBUaGUgY29uZGl0aW9uIHRvIG1hdGNoLlxuICAgKiBAcGFyYW0gbW9kZWxGYWN0b3J5IFRoZSBmYWN0b3J5IHRvIGNyZWF0ZSBhIG5ldyBtb2RlbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXksIG9yIG51bGwgaWYgbm8gbWF0Y2ggaXMgZm91bmQuXG4gICAqL1xuICBwcml2YXRlIGdldEZyb21NYXBPckNyZWF0ZTxUPihcbiAgICBtYXA6IE1hcDxzdHJpbmcsIFQgfCBudWxsPixcbiAgICBrZXk6IHN0cmluZyxcbiAgICBzb3VyY2VMaXN0OiBUW10sXG4gICAgbWF0Y2hGbjogKGl0ZW06IFQpID0+IGJvb2xlYW4sXG4gICAgbW9kZWxGYWN0b3J5OiAoaXRlbTogVCkgPT4gVFxuICApOiBUIHwgbnVsbCB7XG4gICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgIGlmIChtYXAuaGFzKGtleSkpIHJldHVybiBtYXAuZ2V0KGtleSkgfHwgbnVsbDtcblxuICAgIGNvbnN0IGl0ZW0gPSBzb3VyY2VMaXN0LmZpbmQobWF0Y2hGbik7XG4gICAgY29uc3QgbW9kZWwgPSBpdGVtID8gbW9kZWxGYWN0b3J5KGl0ZW0pIDogbnVsbDtcbiAgICBtYXAuc2V0KGtleSwgbW9kZWwpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXppbHkgaW5pdGlhbGl6ZXMgYSBsaXN0IG9mIG1vZGVscyBmcm9tIGEgc291cmNlIGxpc3QuXG4gICAqIEl0IGNyZWF0ZXMgYSBuZXcgbW9kZWwgZm9yIGVhY2ggaXRlbSBpbiB0aGUgc291cmNlIGxpc3QgYW5kIGFkZHMgaXQgdG8gdGhlIGdpdmVuIG1hcC5cbiAgICogSXQgYWxzbyBzZXRzIHRoZSBsaXN0IG9mIG1vZGVscyB0byB0aGUgZ2l2ZW4gc2V0dGVyLlxuICAgKiBAcGFyYW0gbGlzdFJlZiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBsaXN0IG9mIG1vZGVscy5cbiAgICogQHBhcmFtIHNldHRlciBUaGUgc2V0dGVyIHRvIHNldCB0aGUgbGlzdCBvZiBtb2RlbHMuXG4gICAqIEBwYXJhbSBzb3VyY2VMaXN0IFRoZSBzb3VyY2UgbGlzdCBvZiBpdGVtcy5cbiAgICogQHBhcmFtIG1hcCBUaGUgbWFwIHRvIHN0b3JlIHRoZSBtb2RlbHMuXG4gICAqIEBwYXJhbSBnZXRLZXlzIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgZm9yIHRoZSBnaXZlbiBpdGVtLlxuICAgKiBAcGFyYW0gbW9kZWxGYWN0b3J5IFRoZSBmYWN0b3J5IHRvIGNyZWF0ZSBhIG5ldyBtb2RlbCBmb3IgdGhlIGdpdmVuIGl0ZW0uXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIG1vZGVscy5cbiAgICovXG4gIHByaXZhdGUgbGF6eUluaXRMaXN0PFQsIE0+KFxuICAgIGxpc3RSZWY6IE1bXSB8IG51bGwsXG4gICAgc2V0dGVyOiAobGlzdDogTVtdKSA9PiB2b2lkLFxuICAgIHNvdXJjZUxpc3Q6IFRbXSxcbiAgICBtYXA6IE1hcDxzdHJpbmcsIE0gfCBudWxsPixcbiAgICBnZXRLZXlzOiAoaXRlbTogVCkgPT4gc3RyaW5nW10sXG4gICAgbW9kZWxGYWN0b3J5OiAoaXRlbTogVCkgPT4gTVxuICApOiBNW10ge1xuICAgIC8vIElmIHRoZSBsaXN0IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQsIHJldHVybiBpdC5cbiAgICBpZiAobGlzdFJlZikgcmV0dXJuIGxpc3RSZWY7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgbW9kZWwgZm9yIGVhY2ggaXRlbSBpbiB0aGUgc291cmNlIGxpc3QgYW5kIGFkZCBpdCB0byB0aGUgbWFwLlxuICAgIGNvbnN0IG1vZGVscyA9IHNvdXJjZUxpc3QubWFwKChpdGVtOiBUKSA9PiB7XG4gICAgICBjb25zdCBtb2RlbCA9IG1vZGVsRmFjdG9yeShpdGVtKTtcbiAgICAgIGdldEtleXMoaXRlbSkuZm9yRWFjaChrZXkgPT4gbWFwLnNldChrZXksIG1vZGVsKSk7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdGhlIGxpc3Qgb2YgbW9kZWxzIHRvIHRoZSBnaXZlbiBzZXR0ZXIuXG4gICAgc2V0dGVyKG1vZGVscyk7XG5cbiAgICAvLyBSZXR1cm4gdGhlIGxpc3Qgb2YgbW9kZWxzLlxuICAgIHJldHVybiBtb2RlbHM7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW4gYXBwIG9iamVjdCBpbiB0aGUgbWFwIGJ5IGl0cyBuYW1lIG9yIGlkLlxuICAgKiBJZiB0aGUgYXBwIG9iamVjdCBpcyBub3QgZm91bmQsIGl0IGNyZWF0ZXMgYSBuZXcgb25lIGFuZCBhZGRzIGl0IHRvIHRoZSBtYXAuXG4gICAqIEBwYXJhbSBuYW1lT3JJZCBUaGUgbmFtZSBvciBpZCBvZiB0aGUgYXBwIG9iamVjdCB0byBmaW5kLlxuICAgKiBAcmV0dXJucyBUaGUgYXBwIG9iamVjdCBpZiBmb3VuZCwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBnZXRBcHBPYmplY3RCeUlkT3JOYW1lKG5hbWVPcklkOiBzdHJpbmcpOiBBcHBPYmplY3RNb2RlbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21NYXBPckNyZWF0ZShcbiAgICAgIHRoaXMuYXBwT2JqZWN0TWFwLFxuICAgICAgbmFtZU9ySWQsXG4gICAgICBDb21tb24udGFiSnNvbi5BcHBPYmplY3RzLFxuICAgICAgb2JqID0+IG9iai5PYmplY3ROYW1lID09PSBuYW1lT3JJZCB8fCBvYmouSUQ/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVPcklkPy50b0xvd2VyQ2FzZSgpLFxuICAgICAgb2JqID0+IG5ldyBBcHBPYmplY3RNb2RlbChvYmopXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhcHAgb2JqZWN0cyBpbiB0aGUgbWV0YWRhdGEuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIGVhY2ggYXBwIG9iamVjdC5cbiAgICogQHBhcmFtIGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGFwcCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyBUaGUgbGlzdCBvZiBhcHAgb2JqZWN0cy5cbiAgICovXG4gIGdldEFsbEFwcE9iamVjdHMoZmlsdGVyRm4/OiAob2JqOiBBcHBPYmplY3RNb2RlbCkgPT4gYm9vbGVhbik6IEFwcE9iamVjdE1vZGVsW10ge1xuICAgIC8vIEluaXRpYWxpemUgdGhlIGxpc3Qgb2YgYXBwIG9iamVjdHMgbGF6aWx5LlxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxhenlJbml0TGlzdChcbiAgICAgIHRoaXMuYWxsQXBwT2JqZWN0cyxcbiAgICAgIHZhbCA9PiAodGhpcy5hbGxBcHBPYmplY3RzID0gdmFsKSxcbiAgICAgIENvbW1vbi50YWJKc29uLkFwcE9iamVjdHMsXG4gICAgICB0aGlzLmFwcE9iamVjdE1hcCxcbiAgICAgIChvYmo6IGFueSkgPT4gW29iai5JRD8udG9Mb3dlckNhc2UoKSwgb2JqLk9iamVjdE5hbWVdLFxuICAgICAgb2JqID0+IG5ldyBBcHBPYmplY3RNb2RlbChvYmopXG4gICAgKTtcblxuICAgIC8vIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBhcHBseSBpdCB0byB0aGUgbGlzdCBvZiBhcHAgb2JqZWN0cy5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBsaXN0LmZpbHRlcihmaWx0ZXJGbikgOiBsaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGZpZWxkcyBpbiB0aGUgbWV0YWRhdGEuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIGVhY2ggZmllbGQuXG4gICAqIEBwYXJhbSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIGZpZWxkcy5cbiAgICovXG4gIGdldEFsbEZpZWxkcyhmaWx0ZXJGbj86IChmaWVsZDogQXBwRmllbGRNb2RlbCkgPT4gYm9vbGVhbik6IEFwcEZpZWxkTW9kZWxbXSB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgZmllbGRzIGZyb20gYWxsIGFwcCBvYmplY3RzLlxuICAgIGNvbnN0IGFsbEZpZWxkcyA9IHRoaXMuZ2V0QWxsQXBwT2JqZWN0cygpLmZsYXRNYXAob2JqID0+IG9iai5maWVsZHMoKSk7XG5cbiAgICAvLyBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgYXBwbHkgaXQgdG8gdGhlIGxpc3Qgb2YgZmllbGRzLlxuICAgIHJldHVybiBmaWx0ZXJGbiA/IGFsbEZpZWxkcy5maWx0ZXIoZmlsdGVyRm4pIDogYWxsRmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGRhdGEgc291cmNlIHF1ZXJpZXMgaW4gdGhlIG1ldGFkYXRhLlxuICAgKiBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgaXQgaXMgYXBwbGllZCB0byBlYWNoIGRhdGEgc291cmNlIHF1ZXJ5LlxuICAgKiBAcGFyYW0gZmlsdGVyRm4gVGhlIGZpbHRlciBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICogQHJldHVybnMgVGhlIGxpc3Qgb2YgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICovXG4gIGdldEFsbERhdGFTb3VyY2VRdWVyaWVzKGZpbHRlckZuPzogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICAvLyBHZXQgYSBsaXN0IG9mIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGZyb20gYWxsIGFwcCBvYmplY3RzLlxuICAgIGNvbnN0IGFsbERTUXMgPSB0aGlzLmdldEFsbEFwcE9iamVjdHMoKS5mbGF0TWFwKG9iaiA9PiBvYmouZGF0YVNvdXJjZVF1ZXJpZXMoKSk7XG5cbiAgICAvLyBJZiBhIGZpbHRlciBmdW5jdGlvbiBpcyBnaXZlbiwgYXBwbHkgaXQgdG8gdGhlIGxpc3Qgb2YgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBhbGxEU1FzLmZpbHRlcihmaWx0ZXJGbikgOiBhbGxEU1FzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IGl0cyBJRCwgUXVlcnlOYW1lLCBvciBEaXNwbGF5TmFtZS5cbiAgICogU2VhcmNoZXMgdGhyb3VnaCBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9ySWQgLSBUaGUgSUQsIFF1ZXJ5TmFtZSwgb3IgRGlzcGxheU5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfCBudWxsfSAtIFRoZSBkYXRhIHNvdXJjZSBxdWVyeSBtb2RlbCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBnZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKG5hbWVPcklkOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IG51bGwge1xuICAgIC8vIFNlYXJjaCBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IElELCBRdWVyeU5hbWUsIG9yIERpc3BsYXlOYW1lXG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGF0YVNvdXJjZVF1ZXJpZXMoKS5maW5kKFxuICAgICAgZHNxID0+IGRzcT8uSUQ/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVPcklkPy50b0xvd2VyQ2FzZSgpIHx8IGRzcT8uUXVlcnlOYW1lID09PSBuYW1lT3JJZCB8fCBkc3E/LkRpc3BsYXlOYW1lID09PSBuYW1lT3JJZFxuICAgICkgfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gYXBwIHNjcmVlbiBieSBpdHMgSUQsIE5hbWUsIG9yIERpc3BsYXlOYW1lLlxuICAgKiBTZWFyY2hlcyB0aHJvdWdoIGFsbCBhcHAgc2NyZWVucyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9ySWQgLSBUaGUgSUQsIE5hbWUsIG9yIERpc3BsYXlOYW1lIG9mIHRoZSBhcHAgc2NyZWVuIHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyB7QXBwU2NyZWVuTW9kZWwgfCBudWxsfSAtIFRoZSBhcHAgc2NyZWVuIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIGdldEFwcFNjcmVlbkJ5SWRPck5hbWUobmFtZU9ySWQ6IHN0cmluZyk6IEFwcFNjcmVlbk1vZGVsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RnJvbU1hcE9yQ3JlYXRlKFxuICAgICAgdGhpcy5hcHBTY3JlZW5NYXAsXG4gICAgICBuYW1lT3JJZCxcbiAgICAgIENvbW1vbi50YWJKc29uLkFwcFNjcmVlbnMsXG4gICAgICBzY3JlZW4gPT4gc2NyZWVuPy5JRD8udG9Mb3dlckNhc2UoKSA9PT0gbmFtZU9ySWQ/LnRvTG93ZXJDYXNlKCkgfHwgc2NyZWVuPy5OYW1lID09PSBuYW1lT3JJZCxcbiAgICAgIHNjcmVlbiA9PiBuZXcgQXBwU2NyZWVuTW9kZWwoc2NyZWVuKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgYXBwIHNjcmVlbnMuXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zLlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBhcHAgc2NyZWVucy5cbiAgICogQHJldHVybnMge0FwcFNjcmVlbk1vZGVsW119IC0gVGhlIGxpc3Qgb2YgYXBwIHNjcmVlbnMuXG4gICAqL1xuICBnZXRBbGxBcHBTY3JlZW5zKGZpbHRlckZuPzogKHNjcmVlbjogQXBwU2NyZWVuTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBTY3JlZW5Nb2RlbFtdIHtcbiAgICAvLyBJbml0aWFsaXplIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zIGxhemlseS5cbiAgICBjb25zdCBsaXN0ID0gdGhpcy5sYXp5SW5pdExpc3QoXG4gICAgICB0aGlzLmFsbEFwcFNjcmVlbnMsXG4gICAgICB2YWwgPT4gKHRoaXMuYWxsQXBwU2NyZWVucyA9IHZhbCksXG4gICAgICBDb21tb24udGFiSnNvbi5BcHBTY3JlZW5zLFxuICAgICAgdGhpcy5hcHBTY3JlZW5NYXAsXG4gICAgICAoczogYW55KSA9PiBbcz8uSUQ/LnRvTG93ZXJDYXNlKCksIHM/Lk5hbWVdLFxuICAgICAgcyA9PiBuZXcgQXBwU2NyZWVuTW9kZWwocylcbiAgICApO1xuXG4gICAgLy8gSWYgYSBmaWx0ZXIgZnVuY3Rpb24gaXMgZ2l2ZW4sIGFwcGx5IGl0IHRvIHRoZSBsaXN0IG9mIGFwcCBzY3JlZW5zLlxuICAgIHJldHVybiBmaWx0ZXJGbiA/IGxpc3QuZmlsdGVyKGZpbHRlckZuKSA6IGxpc3Q7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIG9yZ2FuaXphdGlvbiBpbmZvIGJ5IGl0cyBJRCBvciBUZW5hbnRDb2RlLlxuICAgKiBTZWFyY2hlcyB0aHJvdWdoIGFsbCBvcmdhbml6YXRpb24gaW5mbyBhbmQgcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2guXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZU9yVGVuYW50Q29kZSAtIFRoZSBJRCBvciBUZW5hbnRDb2RlIG9mIHRoZSBvcmdhbml6YXRpb24gaW5mbyB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge09yZ0luZm9Nb2RlbCB8IG51bGx9IC0gVGhlIG9yZ2FuaXphdGlvbiBpbmZvIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIGdldE9yZ0luZm9CeUlkT3JUZW5hbnRDb2RlKG5hbWVPclRlbmFudENvZGU6IHN0cmluZyk6IE9yZ0luZm9Nb2RlbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZyb21NYXBPckNyZWF0ZShcbiAgICAgIHRoaXMub3JnSW5mb01hcCxcbiAgICAgIG5hbWVPclRlbmFudENvZGUsXG4gICAgICBDb21tb24udGFiSnNvbi5PcmdJbmZvcyxcbiAgICAgIC8vIFNlYXJjaCBmb3IgdGhlIG9yZ2FuaXphdGlvbiBpbmZvIGJ5IElEIG9yIFRlbmFudENvZGVcbiAgICAgIG9yZyA9PiBvcmcuSUQ/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVPclRlbmFudENvZGU/LnRvTG93ZXJDYXNlKCkgfHwgb3JnLlRlbmFudENvZGUgPT09IG5hbWVPclRlbmFudENvZGUsXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgT3JnSW5mb01vZGVsIGlmIHRoZSBvcmdhbml6YXRpb24gaW5mbyBpcyBmb3VuZFxuICAgICAgb3JnID0+IG5ldyBPcmdJbmZvTW9kZWwob3JnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgb3JnYW5pemF0aW9uIGluZm8uXG4gICAqIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBpdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbiBpbmZvLlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBvcmdhbml6YXRpb24gaW5mby5cbiAgICogQHJldHVybnMge09yZ0luZm9Nb2RlbFtdfSAtIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbiBpbmZvLlxuICAgKi9cbiAgZ2V0QWxsT3JnSW5mb3MoZmlsdGVyRm4/OiAob3JnOiBPcmdJbmZvTW9kZWwpID0+IGJvb2xlYW4pOiBPcmdJbmZvTW9kZWxbXSB7XG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgbGlzdCBvZiBvcmdhbml6YXRpb24gaW5mbyBsYXppbHkuXG4gICAgY29uc3QgbGlzdCA9IHRoaXMubGF6eUluaXRMaXN0KFxuICAgICAgdGhpcy5hbGxPcmdJbmZvcyxcbiAgICAgIHZhbCA9PiAodGhpcy5hbGxPcmdJbmZvcyA9IHZhbCksXG4gICAgICBDb21tb24udGFiSnNvbi5PcmdJbmZvcyxcbiAgICAgIHRoaXMub3JnSW5mb01hcCxcbiAgICAgIChvcmc6IGFueSkgPT4gW29yZz8uSUQ/LnRvTG93ZXJDYXNlKCksIG9yZz8uVGVuYW50Q29kZV0sXG4gICAgICBvcmcgPT4gbmV3IE9yZ0luZm9Nb2RlbChvcmcpXG4gICAgKTtcblxuICAgIC8vIElmIGEgZmlsdGVyIGZ1bmN0aW9uIGlzIGdpdmVuLCBhcHBseSBpdCB0byB0aGUgbGlzdCBvZiBvcmdhbml6YXRpb24gaW5mby5cbiAgICByZXR1cm4gZmlsdGVyRm4gPyBsaXN0LmZpbHRlcihmaWx0ZXJGbikgOiBsaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgZ2xvYmFsIHNlYXJjaCBhY3Jvc3MgYWxsIG1ldGFkYXRhIGZvciBhIGdpdmVuIHNlYXJjaCB0ZXJtLlxuICAgKiBZb3UgY2FuIG5hcnJvdyB0aGUgc2VhcmNoIGJ5IHByb3ZpZGluZyBhIGxpc3Qgb2YgZW50aXR5IHR5cGVzIHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSAtIFRoZSBzZWFyY2ggdGVybSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge01ldGFkYXRhRW50aXR5VHlwZVtdfSBlbnRpdHlUeXBlcyAtIFRoZSBsaXN0IG9mIGVudGl0eSB0eXBlcyB0byBzZWFyY2ggd2l0aGluLiBJZiBvbWl0dGVkLCBhbGwgZW50aXR5IHR5cGVzIGFyZSBzZWFyY2hlZC5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueVtdPn0gLSBBIGRpY3Rpb25hcnkgd2l0aCByZXN1bHRzIGdyb3VwZWQgYnkgZW50aXR5IHR5cGUuXG4gICAqL1xuICBzZWFyY2hNZXRhZGF0YSh0ZXJtOiBzdHJpbmcsIGVudGl0eVR5cGVzPzogTWV0YWRhdGFFbnRpdHlUeXBlW10pOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbiBlbnRpdHkgdHlwZSBzaG91bGQgYmUgc2VhcmNoZWQuXG4gICAgICogQHBhcmFtIHtNZXRhZGF0YUVudGl0eVR5cGV9IHR5cGUgLSBUaGUgZW50aXR5IHR5cGUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB0aGUgZW50aXR5IHR5cGUgc2hvdWxkIGJlIHNlYXJjaGVkLlxuICAgICAqL1xuICAgIGNvbnN0IHNob3VsZFNlYXJjaCA9ICh0eXBlOiBNZXRhZGF0YUVudGl0eVR5cGUpID0+ICFlbnRpdHlUeXBlcyB8fCBlbnRpdHlUeXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmIChzaG91bGRTZWFyY2goTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9PQkpFQ1RTKSkge1xuICAgICAgLy8gU2VhcmNoIGZvciBhcHAgb2JqZWN0cyBieSBJRCwgT2JqZWN0TmFtZSwgRGlzcGxheU5hbWUsIG9yIFN5c3RlbURCVGFibGVOYW1lXG4gICAgICByZXN1bHRbTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9PQkpFQ1RTXSA9IHRoaXMuZ2V0QWxsQXBwT2JqZWN0cyhvYmogPT5cbiAgICAgICAgW29iaj8uSUQsIG9iaj8uT2JqZWN0TmFtZSwgb2JqPy5EaXNwbGF5TmFtZSwgb2JqPy5TeXN0ZW1EQlRhYmxlTmFtZV1cbiAgICAgICAgICAuc29tZSh2YWwgPT4gdmFsID09PSBzZWFyY2hUZXJtIHx8IHZhbD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFNlYXJjaChNZXRhZGF0YUVudGl0eVR5cGUuQVBQX0ZJRUxEUykpIHtcbiAgICAgIC8vIFNlYXJjaCBmb3IgYXBwIGZpZWxkcyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5BUFBfRklFTERTXSA9IHRoaXMuZ2V0QWxsRmllbGRzKGZpZWxkID0+IGZpZWxkLnNlYXJjaChzZWFyY2hUZXJtKSk7XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFNlYXJjaChNZXRhZGF0YUVudGl0eVR5cGUuREFUQV9TT1VSQ0VfUVVFUklFUykpIHtcbiAgICAgIC8vIFNlYXJjaCBmb3IgZGF0YSBzb3VyY2UgcXVlcmllcyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5EQVRBX1NPVVJDRV9RVUVSSUVTXSA9IHRoaXMuZ2V0QWxsRGF0YVNvdXJjZVF1ZXJpZXMoZHNxID0+IGRzcS5zZWFyY2goc2VhcmNoVGVybSkpO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRTZWFyY2goTWV0YWRhdGFFbnRpdHlUeXBlLkFQUF9TQ1JFRU5TKSkge1xuICAgICAgLy8gU2VhcmNoIGZvciBhcHAgc2NyZWVucyBieSB1c2luZyB0aGUgc2VhcmNoIG1ldGhvZFxuICAgICAgcmVzdWx0W01ldGFkYXRhRW50aXR5VHlwZS5BUFBfU0NSRUVOU10gPSB0aGlzLmdldEFsbEFwcFNjcmVlbnMoc2NyZWVuID0+IHNjcmVlbi5zZWFyY2goc2VhcmNoVGVybSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9hdXRoLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOZXdVc2VyUmVxdWVzdCB7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luVXNlclJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcmdvdFBhc3N3b3JkVXNlclJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0UGFzc3dvcmRVc2VyUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJUZW5hbnQge1xuICBBZG1pbkZpcnN0TmFtZTogc3RyaW5nLFxuICBBZG1pbkxhc3ROYW1lOiBzdHJpbmcsXG4gIEFkbWluRW1haWw6IHN0cmluZyxcbiAgUGFzc3dvcmQ6IHN0cmluZyxcbiAgVGVuYW50TmFtZTogc3RyaW5nLFxuICB0ZXJtczogYm9vbGVhblxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9hdXRoLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOZXdVc2VyUmVxdWVzdCB7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luVXNlclJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vLyBleHBvcnQgaW50ZXJmYWNlIEZvcmdvdFBhc3N3b3JkVXNlclJlcXVlc3Qge1xuLy8gICBlbWFpbDogc3RyaW5nO1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0UGFzc3dvcmRVc2VyUmVxdWVzdCB7XG4gIEVtYWlsOiBzdHJpbmcsXG4gIE5ld1Bhc3N3b3JkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclRlbmFudCB7XG4gIEFkbWluRmlyc3ROYW1lOiBzdHJpbmcsXG4gIEFkbWluTGFzdE5hbWU6IHN0cmluZyxcbiAgQWRtaW5FbWFpbDogc3RyaW5nLFxuICBQYXNzd29yZDogc3RyaW5nLFxuICBUZW5hbnROYW1lOiBzdHJpbmcsXG4gIHRlcm1zOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaFRva2VuUmVxdWVzdCB7XG4gIFRva2VuOiBzdHJpbmc7XG4gIFJlZnJlc2hUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEZXRhaWxzUmVxdWVzdCB7XG4gIFVzZXJuYW1lPzogc3RyaW5nOyBcbiAgVXNlcklkPzogc3RyaW5nXG59Il19
@@ -58,7 +58,7 @@ export class AppFieldModel {
58
58
  */
59
59
  search(term) {
60
60
  const searchTerm = term.toLowerCase();
61
- return [this.ID, this.FieldName, this.DisplayName, this.SystemDBFieldName]
61
+ return [this.ID.toLowerCase(), this.FieldName, this.DisplayName, this.SystemDBFieldName]
62
62
  .some(val => val === searchTerm || val?.toLowerCase().includes(searchTerm));
63
63
  }
64
64
  /**
@@ -69,4 +69,4 @@ export class AppFieldModel {
69
69
  return this.raw;
70
70
  }
71
71
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUsIE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xuaW1wb3J0IHsgRmllbGRBY2Nlc3MsIEZpZWxkVHlwZSwgTG9va1VwRGV0YWlscyB9IGZyb20gXCIuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3NcIjtcblxuZXhwb3J0IGNsYXNzIEFwcEZpZWxkTW9kZWwge1xuICByZWFkb25seSBJRDogc3RyaW5nO1xuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEZpZWxkTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBGaWVsZFR5cGU6IEZpZWxkVHlwZTtcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XG4gIHJlYWRvbmx5IEZpZWxkQmFzZTogRGF0YVNvdXJjZVF1ZXJ5RmllbGRUeXBlO1xuICByZWFkb25seSBJc1JlcXVpcmVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQmFzZUZpZWxkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1NlYXJjaGFibGU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBJc0NvbmZpZGVudGlhbDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgU3lzdGVtREJGaWVsZE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNQcmltYXJ5S2V5OiBib29sZWFuO1xuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzRGlzcGxheUZpZWxkOiBib29sZWFuO1xuICByZWFkb25seSBMb29rVXBEZXRhaWxzOiBMb29rVXBEZXRhaWxzO1xuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWNjZXNzTGlzdDogRmllbGRBY2Nlc3NbXTtcbiAgcmVhZG9ubHkgRGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XG4gIHJlYWRvbmx5IEZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcbiAgICB0aGlzLklEID0gcmF3LklEO1xuICAgIHRoaXMuT2JqZWN0SUQgPSByYXcuT2JqZWN0SUQgPz8gbnVsbDtcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdy5PYmplY3RJRF9Ub3NhdmU7XG4gICAgdGhpcy5GaWVsZE5hbWUgPSByYXcuRmllbGROYW1lO1xuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXcuRGlzcGxheU5hbWU7XG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcbiAgICB0aGlzLkZpZWxkVHlwZSA9IHJhdy5GaWVsZFR5cGU7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXcuQ3JlYXRpb25UeXBlO1xuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcbiAgICB0aGlzLkJhc2VGaWVsZCA9IHJhdy5CYXNlRmllbGQgPz8gbnVsbDtcbiAgICB0aGlzLklzUmVxdWlyZWQgPSAhIXJhdy5Jc1JlcXVpcmVkO1xuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcbiAgICB0aGlzLklzU2VhcmNoYWJsZSA9ICEhcmF3LklzU2VhcmNoYWJsZTtcbiAgICB0aGlzLklzVXBkYXRhYmxlID0gISFyYXcuSXNVcGRhdGFibGU7XG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xuICAgIHRoaXMuU3lzdGVtREJGaWVsZE5hbWUgPSByYXcuU3lzdGVtREJGaWVsZE5hbWU7XG4gICAgdGhpcy5Jc1N5c3RlbSA9ICEhcmF3LklzU3lzdGVtO1xuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNQcmltYXJ5S2V5ID0gISFyYXcuSXNQcmltYXJ5S2V5O1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gISFyYXcuSXNEZXByZWNhdGVkO1xuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcbiAgICB0aGlzLkxvb2tVcERldGFpbHMgPSByYXcuTG9va1VwRGV0YWlscyA/PyBudWxsO1xuICAgIHRoaXMuSXNMb29rdXAgPSAhIXJhdy5Mb29rVXBEZXRhaWxzO1xuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xuICAgIHRoaXMuRGF0YSA9IHJhdy5EYXRhID8/IG51bGw7XG4gICAgdGhpcy5GaWVsZFZhbGlkYXRvckNvbmZpZ3VyYXRpb24gPSByYXcuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID8/IHt9O1xuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGNvbmZpZykgOiAoY29uZmlnID8/IHt9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxuICAgKiBUaGUgZGF0YSB0eXBlIG5hbWUgaXMgb2J0YWluZWQgZnJvbSB0aGUgRGF0YVR5cGVzIGVudW0uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBkYXRhIHR5cGUgbmFtZS5cbiAgICovXG4gIGdldCBkYXRhVHlwZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRGF0YVR5cGVzW3RoaXMuRmllbGRUeXBlPy5EYXRhVHlwZV0gPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxuICAgKiBUaGUgc2VhcmNoIGlzIGNhc2UtaW5zZW5zaXRpdmUgYW5kIGlzIHBlcmZvcm1lZCBvbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqIC0gSURcbiAgICogLSBGaWVsZE5hbWVcbiAgICogLSBEaXNwbGF5TmFtZVxuICAgKiAtIFN5c3RlbURCRmllbGROYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIFt0aGlzLklELCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cbiAgICAgIC5zb21lKHZhbCA9PiB2YWwgPT09IHNlYXJjaFRlcm0gfHwgdmFsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgQXBwRmllbGRNb2RlbCBpbnN0YW5jZSB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSByYXcgZGF0YSBvZiB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICB0b0pTT04oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yYXc7XG4gIH1cbn0iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUsIE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xuaW1wb3J0IHsgRmllbGRBY2Nlc3MsIEZpZWxkVHlwZSwgTG9va1VwRGV0YWlscyB9IGZyb20gXCIuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3NcIjtcblxuZXhwb3J0IGNsYXNzIEFwcEZpZWxkTW9kZWwge1xuICByZWFkb25seSBJRDogc3RyaW5nO1xuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEZpZWxkTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBGaWVsZFR5cGU6IEZpZWxkVHlwZTtcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XG4gIHJlYWRvbmx5IEZpZWxkQmFzZTogRGF0YVNvdXJjZVF1ZXJ5RmllbGRUeXBlO1xuICByZWFkb25seSBJc1JlcXVpcmVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQmFzZUZpZWxkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1NlYXJjaGFibGU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBJc0NvbmZpZGVudGlhbDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgU3lzdGVtREJGaWVsZE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNQcmltYXJ5S2V5OiBib29sZWFuO1xuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzRGlzcGxheUZpZWxkOiBib29sZWFuO1xuICByZWFkb25seSBMb29rVXBEZXRhaWxzOiBMb29rVXBEZXRhaWxzO1xuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWNjZXNzTGlzdDogRmllbGRBY2Nlc3NbXTtcbiAgcmVhZG9ubHkgRGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XG4gIHJlYWRvbmx5IEZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcbiAgICB0aGlzLklEID0gcmF3LklEO1xuICAgIHRoaXMuT2JqZWN0SUQgPSByYXcuT2JqZWN0SUQgPz8gbnVsbDtcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdy5PYmplY3RJRF9Ub3NhdmU7XG4gICAgdGhpcy5GaWVsZE5hbWUgPSByYXcuRmllbGROYW1lO1xuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXcuRGlzcGxheU5hbWU7XG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcbiAgICB0aGlzLkZpZWxkVHlwZSA9IHJhdy5GaWVsZFR5cGU7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXcuQ3JlYXRpb25UeXBlO1xuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcbiAgICB0aGlzLkJhc2VGaWVsZCA9IHJhdy5CYXNlRmllbGQgPz8gbnVsbDtcbiAgICB0aGlzLklzUmVxdWlyZWQgPSAhIXJhdy5Jc1JlcXVpcmVkO1xuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcbiAgICB0aGlzLklzU2VhcmNoYWJsZSA9ICEhcmF3LklzU2VhcmNoYWJsZTtcbiAgICB0aGlzLklzVXBkYXRhYmxlID0gISFyYXcuSXNVcGRhdGFibGU7XG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xuICAgIHRoaXMuU3lzdGVtREJGaWVsZE5hbWUgPSByYXcuU3lzdGVtREJGaWVsZE5hbWU7XG4gICAgdGhpcy5Jc1N5c3RlbSA9ICEhcmF3LklzU3lzdGVtO1xuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNQcmltYXJ5S2V5ID0gISFyYXcuSXNQcmltYXJ5S2V5O1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gISFyYXcuSXNEZXByZWNhdGVkO1xuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcbiAgICB0aGlzLkxvb2tVcERldGFpbHMgPSByYXcuTG9va1VwRGV0YWlscyA/PyBudWxsO1xuICAgIHRoaXMuSXNMb29rdXAgPSAhIXJhdy5Mb29rVXBEZXRhaWxzO1xuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xuICAgIHRoaXMuRGF0YSA9IHJhdy5EYXRhID8/IG51bGw7XG4gICAgdGhpcy5GaWVsZFZhbGlkYXRvckNvbmZpZ3VyYXRpb24gPSByYXcuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID8/IHt9O1xuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGNvbmZpZykgOiAoY29uZmlnID8/IHt9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxuICAgKiBUaGUgZGF0YSB0eXBlIG5hbWUgaXMgb2J0YWluZWQgZnJvbSB0aGUgRGF0YVR5cGVzIGVudW0uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBkYXRhIHR5cGUgbmFtZS5cbiAgICovXG4gIGdldCBkYXRhVHlwZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRGF0YVR5cGVzW3RoaXMuRmllbGRUeXBlPy5EYXRhVHlwZV0gPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxuICAgKiBUaGUgc2VhcmNoIGlzIGNhc2UtaW5zZW5zaXRpdmUgYW5kIGlzIHBlcmZvcm1lZCBvbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqIC0gSURcbiAgICogLSBGaWVsZE5hbWVcbiAgICogLSBEaXNwbGF5TmFtZVxuICAgKiAtIFN5c3RlbURCRmllbGROYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIFt0aGlzLklELnRvTG93ZXJDYXNlKCksIHRoaXMuRmllbGROYW1lLCB0aGlzLkRpc3BsYXlOYW1lLCB0aGlzLlN5c3RlbURCRmllbGROYW1lXVxuICAgICAgLnNvbWUodmFsID0+IHZhbCA9PT0gc2VhcmNoVGVybSB8fCB2YWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBBcHBGaWVsZE1vZGVsIGluc3RhbmNlIHRvIGEgSlNPTiByZXByZXNlbnRhdGlvbi5cbiAgICogQHJldHVybnMge2FueX0gVGhlIHJhdyBkYXRhIG9mIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJhdztcbiAgfVxufSJdfQ==
@@ -56,7 +56,7 @@ export class AppObjectModel {
56
56
  this.allFields = (this.raw?.Fields ?? []).map((field) => {
57
57
  const model = new AppFieldModel(field);
58
58
  // Cache the field in a map by ID
59
- this.fieldMap.set(field?.ID, model);
59
+ this.fieldMap.set(field?.ID?.toLowerCase(), model);
60
60
  return model;
61
61
  });
62
62
  }
@@ -80,7 +80,7 @@ export class AppObjectModel {
80
80
  // Convert the idOrName to lowercase for case-insensitive search
81
81
  const idLower = idOrName.toLowerCase();
82
82
  // Find the field by matching ID or name, case-insensitively
83
- return this.allFields?.find(f => f.FieldName?.toLowerCase() === idLower || f.DisplayName?.toLowerCase() === idLower);
83
+ return this.allFields?.find(f => f.ID?.toLowerCase() === idLower || f.FieldName?.toLowerCase() === idLower || f.DisplayName?.toLowerCase() === idLower);
84
84
  }
85
85
  /**
86
86
  * Retrieves all fields of the app object that are lookup fields.
@@ -116,7 +116,7 @@ export class AppObjectModel {
116
116
  this.allDSQs = (this.raw?.DataSourceQueries ?? []).map((dsq) => {
117
117
  const model = new DataSourceQueryModel(dsq, this);
118
118
  // Cache the DataSourceQuery in a map by ID, QueryName, and DisplayName
119
- this.dsqMap.set(dsq?.ID, model);
119
+ this.dsqMap.set(dsq?.ID?.toLowerCase(), model);
120
120
  this.dsqMap.set(dsq?.QueryName, model);
121
121
  this.dsqMap.set(dsq?.DisplayName, model);
122
122
  return model;
@@ -142,7 +142,7 @@ export class AppObjectModel {
142
142
  // Convert the idOrName to lowercase for case-insensitive search
143
143
  const idLower = idOrName.toLowerCase();
144
144
  // Find the data source query by matching QueryName or DisplayName, case-insensitively
145
- return this.allDSQs?.find(dsq => dsq.QueryName?.toLowerCase() === idLower || dsq.DisplayName?.toLowerCase() === idLower);
145
+ return this.allDSQs?.find(dsq => dsq.ID?.toLowerCase() === idLower || dsq.QueryName?.toLowerCase() === idLower || dsq.DisplayName?.toLowerCase() === idLower);
146
146
  }
147
147
  /**
148
148
  * Finds and returns the data source queries that satisfy the given filter function.
@@ -183,4 +183,4 @@ export class AppObjectModel {
183
183
  return this.raw;
184
184
  }
185
185
  }
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF1Q3pCLFlBQTZCLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBTnJDLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRzNDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsa0JBQWtCLENB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QUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakUsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwLW9iamVjdC5tb2RlbC50c1xuaW1wb3J0IHsgT2JqZWN0VHlwZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbi5lbnVtJztcbmltcG9ydCB7IE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcbmltcG9ydCB7IERlcGxveW1lbnRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gJy4vYXBwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IE9iamVjdEFjY2VzcyB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XG5pbXBvcnQgeyBSZXNvdXJjZXMgfSBmcm9tICcuL2NvbW1vbi5jbGFzcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQXBwT2JqZWN0TW9kZWwge1xuICAvLyBQcm9wZXJ0aWVzXG4gIHJlYWRvbmx5IElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IE9iamVjdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNEZXByZWNhdGVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1N1cHBvcnRCbHVlUHJpbnQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc0xvY2F0aW9uVHJhY2tpbmc6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBPYmplY3RUeXBlOiBPYmplY3RUeXBlO1xuICByZWFkb25seSBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzO1xuICByZWFkb25seSBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZTtcbiAgcmVhZG9ubHkgQWxsb3dWZXJzaW9uaW5nOiBib29sZWFuO1xuICByZWFkb25seSBFbmFibGVUcmFja2luZzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTZWFyY2hhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1JlcG9ydHM6IGJvb2xlYW47XG4gIHJlYWRvbmx5IEFsbG93QWN0aXZpdGllczogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTaGFyaW5nOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1NvZnREZWxldGU6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc1JlcGxpY2F0aW9uTmVlZGVkOiBib29sZWFuIHwgbnVsbDtcbiAgcmVhZG9ubHkgSXNDYWNoZUVuYWJsZTogYm9vbGVhbiB8IG51bGw7XG4gIHJlYWRvbmx5IENhY2hlVHRsOiBudW1iZXIgfCBudWxsO1xuICByZWFkb25seSBBcHBPYmplY3RDb25maWd1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IENSVURBcHBPYmplY3RJZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgQ29ubmVjdGlvbklkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1N1cHBvcnRMYXlvdXQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBBY2Nlc3NMaXN0OiBBcnJheTxPYmplY3RBY2Nlc3M+O1xuICByZWFkb25seSBSZXNvdXJjZXM6IEFycmF5PFJlc291cmNlcz47XG4gIHJlYWRvbmx5IHBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb246IGFueTtcblxuICAvLyBDYWNoZSBtYXBzXG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXBwRmllbGRNb2RlbD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0YVNvdXJjZVF1ZXJ5TW9kZWw+KCk7XG4gIHByaXZhdGUgYWxsRmllbGRzOiBBcHBGaWVsZE1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBhbGxEU1FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByYXc6IGFueSkge1xuICAgIHRoaXMuSUQgPSByYXc/LklEO1xuICAgIHRoaXMuT2JqZWN0TmFtZSA9IHJhdz8uT2JqZWN0TmFtZTtcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3Py5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5EZXNjcmlwdGlvbjtcbiAgICB0aGlzLlN5c3RlbURCVGFibGVOYW1lID0gcmF3Py5TeXN0ZW1EQlRhYmxlTmFtZTtcbiAgICB0aGlzLklzU3lzdGVtID0gcmF3Py5Jc1N5c3RlbTtcbiAgICB0aGlzLklzVmlzaWJsZSA9IHJhdz8uSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gcmF3Py5Jc0RlcHJlY2F0ZWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQgPSByYXc/LklzU3VwcG9ydEJsdWVQcmludDtcbiAgICB0aGlzLklzTG9jYXRpb25UcmFja2luZyA9IHJhdz8uSXNMb2NhdGlvblRyYWNraW5nO1xuICAgIHRoaXMuT2JqZWN0VHlwZSA9IHJhdz8uT2JqZWN0VHlwZTtcbiAgICB0aGlzLkRlcGxveW1lbnRTdGF0dXMgPSByYXc/LkRlcGxveW1lbnRTdGF0dXM7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXc/LkNyZWF0aW9uVHlwZTtcbiAgICB0aGlzLkFsbG93VmVyc2lvbmluZyA9IHJhdz8uQWxsb3dWZXJzaW9uaW5nO1xuICAgIHRoaXMuRW5hYmxlVHJhY2tpbmcgPSByYXc/LkVuYWJsZVRyYWNraW5nO1xuICAgIHRoaXMuQWxsb3dTZWFyY2hhYmxlID0gcmF3Py5BbGxvd1NlYXJjaGFibGU7XG4gICAgdGhpcy5BbGxvd1JlcG9ydHMgPSByYXc/LkFsbG93UmVwb3J0cztcbiAgICB0aGlzLkFsbG93QWN0aXZpdGllcyA9IHJhdz8uQWxsb3dBY3Rpdml0aWVzO1xuICAgIHRoaXMuQWxsb3dTaGFyaW5nID0gcmF3Py5BbGxvd1NoYXJpbmc7XG4gICAgdGhpcy5BbGxvd1NvZnREZWxldGUgPSByYXc/LkFsbG93U29mdERlbGV0ZTtcbiAgICB0aGlzLklzUmVwbGljYXRpb25OZWVkZWQgPSByYXc/LklzUmVwbGljYXRpb25OZWVkZWQ7XG4gICAgdGhpcy5Jc0NhY2hlRW5hYmxlID0gcmF3Py5Jc0NhY2hlRW5hYmxlO1xuICAgIHRoaXMuQ2FjaGVUdGwgPSByYXc/LkNhY2hlVHRsO1xuICAgIHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiA9IHJhdz8uQXBwT2JqZWN0Q29uZmlndXJhdGlvbjtcbiAgICB0aGlzLkNSVURBcHBPYmplY3RJZCA9IHJhdz8uQ1JVREFwcE9iamVjdElkO1xuICAgIHRoaXMuQ29ubmVjdGlvbklkID0gcmF3Py5Db25uZWN0aW9uSWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRMYXlvdXQgPSByYXc/LklzU3VwcG9ydExheW91dDtcbiAgICB0aGlzLkFjY2Vzc0xpc3QgPSByYXc/LkFjY2Vzc0xpc3Q7XG4gICAgdGhpcy5SZXNvdXJjZXMgPSByYXc/LlJlc291cmNlcztcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSBKU09OLnBhcnNlKHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiB8fCAne30nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgQXBwT2JqZWN0Q29uZmlndXJhdGlvbiBKU09OJywgZSk7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgZmllbGRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gVGhlIGZpZWxkcyBhcmUgY2FjaGVkIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxsc1xuICAgKiBhcmUgZmFzdGVyLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELlxuICAgKlxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSBBbiBhcnJheSBvZiBBcHBGaWVsZE1vZGVsIG9iamVjdHMuXG4gICAqL1xuICBmaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcbiAgICBpZiAoIXRoaXMuYWxsRmllbGRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsRmllbGRzID0gKHRoaXMucmF3Py5GaWVsZHMgPz8gW10pLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIGZpZWxkIGluIGEgbWFwIGJ5IElEXG4gICAgICAgIHRoaXMuZmllbGRNYXAuc2V0KGZpZWxkPy5JRCwgbW9kZWwpO1xuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZpZWxkIGJ5IGl0cyBJRCBvciBuYW1lLlxuICAgKiBJZiB0aGUgZmllbGQgaXMgY2FjaGVkLCBpdCByZXR1cm5zIGl0IGZyb20gdGhlIGNhY2hlLlxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZE9yTmFtZSAtIFRoZSBJRCBvciBuYW1lIG9mIHRoZSBmaWVsZCB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgZmllbGQoaWRPck5hbWU6IHN0cmluZyk6IEFwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxuICAgIHRoaXMuZmllbGRzKCk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcbiAgICBpZiAodGhpcy5maWVsZE1hcC5oYXMoaWRPck5hbWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWVsZE1hcC5nZXQoaWRPck5hbWUpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGlkT3JOYW1lIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2hcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEZpbmQgdGhlIGZpZWxkIGJ5IG1hdGNoaW5nIElEIG9yIG5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxuICAgIHJldHVybiB0aGlzLmFsbEZpZWxkcz8uZmluZChcbiAgICAgIGYgPT4gZi5GaWVsZE5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGlkTG93ZXIgfHwgZi5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFsbCBmaWVsZHMgb2YgdGhlIGFwcCBvYmplY3QgdGhhdCBhcmUgbG9va3VwIGZpZWxkcy5cbiAgICogQSBsb29rdXAgZmllbGQgaXMgYSBmaWVsZCB0aGF0IGhhcyBhIHJlbGF0aW9uc2hpcCB3aXRoIGFub3RoZXIgZmllbGQuXG4gICAqIEl0IGlzIHVzZWQgdG8gcGVyZm9ybSBsb29rdXBzLCBzdWNoIGFzIHJldHJpZXZpbmcgYSBsaXN0IG9mIHZhbHVlc1xuICAgKiBmcm9tIGEgcmVsYXRlZCBmaWVsZC5cbiAgICogXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IC0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgYXJlIGxvb2t1cCBmaWVsZHMuXG4gICAqL1xuICBsb29rdXBGaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmllbGQgPT4gZmllbGQuSXNMb29rdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBmaWVsZHMgZm9yIHRoZSBhcHAgb2JqZWN0IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxuICAgKiBUaGUgZmlsdGVyIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGVhY2ggZmllbGQgYXMgYW4gYXJndW1lbnQsIGFuZCBzaG91bGQgcmV0dXJuIHRydWUgaWYgdGhlIGZpZWxkXG4gICAqIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IFRoZSBhcnJheSBvZiBmaWVsZHMgdGhhdCBzYXRpc2Z5IHRoZSBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqL1xuICBmaW5kRmllbGRzKGZpbHRlckZuOiAoZmllbGQ6IEFwcEZpZWxkTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBGaWVsZE1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gXG4gICAqIFRoZSBxdWVyaWVzIGFyZSBjYWNoZWQgZm9yIGZhc3RlciBzdWJzZXF1ZW50IGFjY2Vzcy4gVGhlIGNhY2hlIGlzIHN0b3JlZCBpbiBhIG1hcCBieSBJRCwgUXVlcnlOYW1lLCBhbmQgRGlzcGxheU5hbWUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxuICAgKi9cbiAgZGF0YVNvdXJjZVF1ZXJpZXMoKTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSB7XG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcbiAgICBpZiAoIXRoaXMuYWxsRFNRcz8ubGVuZ3RoKSB7XG4gICAgICAvLyBNYXAgdGhlIHJhdyBEYXRhU291cmNlUXVlcmllcyB0byBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZXNcbiAgICAgIHRoaXMuYWxsRFNRcyA9ICh0aGlzLnJhdz8uRGF0YVNvdXJjZVF1ZXJpZXMgPz8gW10pLm1hcCgoZHNxOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwoZHNxLCB0aGlzKTtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIERhdGFTb3VyY2VRdWVyeSBpbiBhIG1hcCBieSBJRCwgUXVlcnlOYW1lLCBhbmQgRGlzcGxheU5hbWVcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uSUQsIG1vZGVsKTtcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uUXVlcnlOYW1lLCBtb2RlbCk7XG4gICAgICAgIHRoaXMuZHNxTWFwLnNldChkc3E/LkRpc3BsYXlOYW1lLCBtb2RlbCk7XG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IGl0cyBJRCBvciBuYW1lLlxuICAgKiBJZiB0aGUgcXVlcnkgaXMgY2FjaGVkLCBpdCByZXR1cm5zIGl0IGZyb20gdGhlIGNhY2hlLlxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZGF0YSBzb3VyY2UgcXVlcnkgdG8gcmV0cmlldmUuXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXG4gICAqL1xuICBkYXRhU291cmNlUXVlcnkoaWRPck5hbWU6IHN0cmluZyk6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXG4gICAgdGhpcy5kYXRhU291cmNlUXVlcmllcygpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXG4gICAgaWYgKHRoaXMuZHNxTWFwLmhhcyhpZE9yTmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRzcU1hcC5nZXQoaWRPck5hbWUpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGlkT3JOYW1lIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2hcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEZpbmQgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IG1hdGNoaW5nIFF1ZXJ5TmFtZSBvciBEaXNwbGF5TmFtZSwgY2FzZS1pbnNlbnNpdGl2ZWx5XG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcbiAgICAgIGRzcSA9PiBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGRhdGEgc291cmNlIHF1ZXJpZXMgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cbiAgICogSWYgdGhlIGZpbHRlciBmdW5jdGlvbiByZXR1cm5zIHRydWUsIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBpcyBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXX0gLSBUaGUgYXJyYXkgb2YgZGF0YSBzb3VyY2UgcXVlcmllcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlUXVlcmllcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBmaWVsZHMgYW5kIGRhdGEgc291cmNlIHF1ZXJpZXMgb2YgdGhpcyBBcHBPYmplY3QuXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuICAgKiAgIC0gRmllbGQgbmFtZSBhbmQgZGVzY3JpcHRpb25cbiAgICogICAtIERhdGEgc291cmNlIHF1ZXJ5IG5hbWUsIGRpc3BsYXkgbmFtZSwgYW5kIGRlc2NyaXB0aW9uXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSAtIFRoZSBzZWFyY2ggdGVybSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7eyBmaWVsZHM6IEFwcEZpZWxkTW9kZWxbXTsgZHNxczogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSB9fSAtIEFuIG9iamVjdCB3aXRoIHRoZSBzZWFyY2ggcmVzdWx0cy5cbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxuICAgKiAgIFRoZSBgZHNxc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggdGVybS5cbiAgICovXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGZpZWxkc1xuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpZWxkID0+IGZpZWxkLnNlYXJjaCh0ZXJtKSk7XG5cbiAgICAvLyBTZWFyY2ggZm9yIHRoZSB0ZXJtIGluIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzXG4gICAgY29uc3QgZHNxcyA9IHRoaXMuZGF0YVNvdXJjZVF1ZXJpZXMoKS5maWx0ZXIoZHNxID0+IGRzcS5zZWFyY2godGVybSkpO1xuXG4gICAgLy8gUmV0dXJuIHRoZSBzZWFyY2ggcmVzdWx0c1xuICAgIHJldHVybiB7IGZpZWxkcywgZHNxcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgYXMgYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJhdztcbiAgfVxufSJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF1Q3pCLFlBQTZCLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBTnJDLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRzNDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsa0JBQWtCLENB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QVVHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDakIsb0NBQW9DO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakUsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwLW9iamVjdC5tb2RlbC50c1xuaW1wb3J0IHsgT2JqZWN0VHlwZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbi5lbnVtJztcbmltcG9ydCB7IE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcbmltcG9ydCB7IERlcGxveW1lbnRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gJy4vYXBwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IE9iamVjdEFjY2VzcyB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XG5pbXBvcnQgeyBSZXNvdXJjZXMgfSBmcm9tICcuL2NvbW1vbi5jbGFzcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQXBwT2JqZWN0TW9kZWwge1xuICAvLyBQcm9wZXJ0aWVzXG4gIHJlYWRvbmx5IElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IE9iamVjdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNEZXByZWNhdGVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1N1cHBvcnRCbHVlUHJpbnQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc0xvY2F0aW9uVHJhY2tpbmc6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBPYmplY3RUeXBlOiBPYmplY3RUeXBlO1xuICByZWFkb25seSBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzO1xuICByZWFkb25seSBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZTtcbiAgcmVhZG9ubHkgQWxsb3dWZXJzaW9uaW5nOiBib29sZWFuO1xuICByZWFkb25seSBFbmFibGVUcmFja2luZzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTZWFyY2hhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1JlcG9ydHM6IGJvb2xlYW47XG4gIHJlYWRvbmx5IEFsbG93QWN0aXZpdGllczogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTaGFyaW5nOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1NvZnREZWxldGU6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc1JlcGxpY2F0aW9uTmVlZGVkOiBib29sZWFuIHwgbnVsbDtcbiAgcmVhZG9ubHkgSXNDYWNoZUVuYWJsZTogYm9vbGVhbiB8IG51bGw7XG4gIHJlYWRvbmx5IENhY2hlVHRsOiBudW1iZXIgfCBudWxsO1xuICByZWFkb25seSBBcHBPYmplY3RDb25maWd1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IENSVURBcHBPYmplY3RJZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgQ29ubmVjdGlvbklkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1N1cHBvcnRMYXlvdXQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBBY2Nlc3NMaXN0OiBBcnJheTxPYmplY3RBY2Nlc3M+O1xuICByZWFkb25seSBSZXNvdXJjZXM6IEFycmF5PFJlc291cmNlcz47XG4gIHJlYWRvbmx5IHBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb246IGFueTtcblxuICAvLyBDYWNoZSBtYXBzXG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXBwRmllbGRNb2RlbD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0YVNvdXJjZVF1ZXJ5TW9kZWw+KCk7XG4gIHByaXZhdGUgYWxsRmllbGRzOiBBcHBGaWVsZE1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBhbGxEU1FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByYXc6IGFueSkge1xuICAgIHRoaXMuSUQgPSByYXc/LklEO1xuICAgIHRoaXMuT2JqZWN0TmFtZSA9IHJhdz8uT2JqZWN0TmFtZTtcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3Py5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5EZXNjcmlwdGlvbjtcbiAgICB0aGlzLlN5c3RlbURCVGFibGVOYW1lID0gcmF3Py5TeXN0ZW1EQlRhYmxlTmFtZTtcbiAgICB0aGlzLklzU3lzdGVtID0gcmF3Py5Jc1N5c3RlbTtcbiAgICB0aGlzLklzVmlzaWJsZSA9IHJhdz8uSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gcmF3Py5Jc0RlcHJlY2F0ZWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQgPSByYXc/LklzU3VwcG9ydEJsdWVQcmludDtcbiAgICB0aGlzLklzTG9jYXRpb25UcmFja2luZyA9IHJhdz8uSXNMb2NhdGlvblRyYWNraW5nO1xuICAgIHRoaXMuT2JqZWN0VHlwZSA9IHJhdz8uT2JqZWN0VHlwZTtcbiAgICB0aGlzLkRlcGxveW1lbnRTdGF0dXMgPSByYXc/LkRlcGxveW1lbnRTdGF0dXM7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXc/LkNyZWF0aW9uVHlwZTtcbiAgICB0aGlzLkFsbG93VmVyc2lvbmluZyA9IHJhdz8uQWxsb3dWZXJzaW9uaW5nO1xuICAgIHRoaXMuRW5hYmxlVHJhY2tpbmcgPSByYXc/LkVuYWJsZVRyYWNraW5nO1xuICAgIHRoaXMuQWxsb3dTZWFyY2hhYmxlID0gcmF3Py5BbGxvd1NlYXJjaGFibGU7XG4gICAgdGhpcy5BbGxvd1JlcG9ydHMgPSByYXc/LkFsbG93UmVwb3J0cztcbiAgICB0aGlzLkFsbG93QWN0aXZpdGllcyA9IHJhdz8uQWxsb3dBY3Rpdml0aWVzO1xuICAgIHRoaXMuQWxsb3dTaGFyaW5nID0gcmF3Py5BbGxvd1NoYXJpbmc7XG4gICAgdGhpcy5BbGxvd1NvZnREZWxldGUgPSByYXc/LkFsbG93U29mdERlbGV0ZTtcbiAgICB0aGlzLklzUmVwbGljYXRpb25OZWVkZWQgPSByYXc/LklzUmVwbGljYXRpb25OZWVkZWQ7XG4gICAgdGhpcy5Jc0NhY2hlRW5hYmxlID0gcmF3Py5Jc0NhY2hlRW5hYmxlO1xuICAgIHRoaXMuQ2FjaGVUdGwgPSByYXc/LkNhY2hlVHRsO1xuICAgIHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiA9IHJhdz8uQXBwT2JqZWN0Q29uZmlndXJhdGlvbjtcbiAgICB0aGlzLkNSVURBcHBPYmplY3RJZCA9IHJhdz8uQ1JVREFwcE9iamVjdElkO1xuICAgIHRoaXMuQ29ubmVjdGlvbklkID0gcmF3Py5Db25uZWN0aW9uSWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRMYXlvdXQgPSByYXc/LklzU3VwcG9ydExheW91dDtcbiAgICB0aGlzLkFjY2Vzc0xpc3QgPSByYXc/LkFjY2Vzc0xpc3Q7XG4gICAgdGhpcy5SZXNvdXJjZXMgPSByYXc/LlJlc291cmNlcztcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSBKU09OLnBhcnNlKHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiB8fCAne30nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgQXBwT2JqZWN0Q29uZmlndXJhdGlvbiBKU09OJywgZSk7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgZmllbGRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gVGhlIGZpZWxkcyBhcmUgY2FjaGVkIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxsc1xuICAgKiBhcmUgZmFzdGVyLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELlxuICAgKlxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSBBbiBhcnJheSBvZiBBcHBGaWVsZE1vZGVsIG9iamVjdHMuXG4gICAqL1xuICBmaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcbiAgICBpZiAoIXRoaXMuYWxsRmllbGRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsRmllbGRzID0gKHRoaXMucmF3Py5GaWVsZHMgPz8gW10pLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIGZpZWxkIGluIGEgbWFwIGJ5IElEXG4gICAgICAgIHRoaXMuZmllbGRNYXAuc2V0KGZpZWxkPy5JRD8udG9Mb3dlckNhc2UoKSwgbW9kZWwpO1xuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZpZWxkIGJ5IGl0cyBJRCBvciBuYW1lLlxuICAgKiBJZiB0aGUgZmllbGQgaXMgY2FjaGVkLCBpdCByZXR1cm5zIGl0IGZyb20gdGhlIGNhY2hlLlxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZE9yTmFtZSAtIFRoZSBJRCBvciBuYW1lIG9mIHRoZSBmaWVsZCB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgZmllbGQoaWRPck5hbWU6IHN0cmluZyk6IEFwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxuICAgIHRoaXMuZmllbGRzKCk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcbiAgICBpZiAodGhpcy5maWVsZE1hcC5oYXMoaWRPck5hbWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWVsZE1hcC5nZXQoaWRPck5hbWUpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGlkT3JOYW1lIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2hcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEZpbmQgdGhlIGZpZWxkIGJ5IG1hdGNoaW5nIElEIG9yIG5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxuICAgIHJldHVybiB0aGlzLmFsbEZpZWxkcz8uZmluZChcbiAgICAgIGYgPT4gZi5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkZpZWxkTmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYWxsIGZpZWxkcyBvZiB0aGUgYXBwIG9iamVjdCB0aGF0IGFyZSBsb29rdXAgZmllbGRzLlxuICAgKiBBIGxvb2t1cCBmaWVsZCBpcyBhIGZpZWxkIHRoYXQgaGFzIGEgcmVsYXRpb25zaGlwIHdpdGggYW5vdGhlciBmaWVsZC5cbiAgICogSXQgaXMgdXNlZCB0byBwZXJmb3JtIGxvb2t1cHMsIHN1Y2ggYXMgcmV0cmlldmluZyBhIGxpc3Qgb2YgdmFsdWVzXG4gICAqIGZyb20gYSByZWxhdGVkIGZpZWxkLlxuICAgKiBcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gLSBBbiBhcnJheSBvZiBBcHBGaWVsZE1vZGVsIG9iamVjdHMgdGhhdCBhcmUgbG9va3VwIGZpZWxkcy5cbiAgICovXG4gIGxvb2t1cEZpZWxkcygpOiBBcHBGaWVsZE1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5Jc0xvb2t1cCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGFwcCBvYmplY3QgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBmaWVsZCBhcyBhbiBhcmd1bWVudCwgYW5kIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgZmllbGRcbiAgICogc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogQXBwRmllbGRNb2RlbCkgPT4gYm9vbGVhbik6IEFwcEZpZWxkTW9kZWxbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpbHRlckZuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQXBwT2JqZWN0LiBcbiAgICogVGhlIHF1ZXJpZXMgYXJlIGNhY2hlZCBmb3IgZmFzdGVyIHN1YnNlcXVlbnQgYWNjZXNzLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZS5cbiAgICpcbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyeU1vZGVsW119IEFuIGFycmF5IG9mIERhdGFTb3VyY2VRdWVyeU1vZGVsIG9iamVjdHMuXG4gICAqL1xuICBkYXRhU291cmNlUXVlcmllcygpOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICAvLyBDaGVjayBpZiBhbGxEU1FzIGlzIGVtcHR5IG9yIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5hbGxEU1FzPy5sZW5ndGgpIHtcbiAgICAgIC8vIE1hcCB0aGUgcmF3IERhdGFTb3VyY2VRdWVyaWVzIHRvIERhdGFTb3VyY2VRdWVyeU1vZGVsIGluc3RhbmNlc1xuICAgICAgdGhpcy5hbGxEU1FzID0gKHRoaXMucmF3Py5EYXRhU291cmNlUXVlcmllcyA/PyBbXSkubWFwKChkc3E6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBEYXRhU291cmNlUXVlcnlNb2RlbChkc3EsIHRoaXMpO1xuICAgICAgICAvLyBDYWNoZSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZVxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5JRD8udG9Mb3dlckNhc2UoKSwgbW9kZWwpO1xuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5RdWVyeU5hbWUsIG1vZGVsKTtcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uRGlzcGxheU5hbWUsIG1vZGVsKTtcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbERTUXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgZGF0YSBzb3VyY2UgcXVlcnkgYnkgaXRzIElEIG9yIG5hbWUuXG4gICAqIElmIHRoZSBxdWVyeSBpcyBjYWNoZWQsIGl0IHJldHVybnMgaXQgZnJvbSB0aGUgY2FjaGUuXG4gICAqIE90aGVyd2lzZSwgaXQgc2VhcmNoZXMgdGhyb3VnaCBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcy5cbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZE9yTmFtZSAtIFRoZSBJRCBvciBuYW1lIG9mIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkfSAtIFRoZSBkYXRhIHNvdXJjZSBxdWVyeSBtb2RlbCBpZiBmb3VuZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cbiAgICovXG4gIGRhdGFTb3VyY2VRdWVyeShpZE9yTmFtZTogc3RyaW5nKTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuc3VyZSBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcyBhcmUgbG9hZGVkIGFuZCBjYWNoZWRcbiAgICB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZGF0YSBzb3VyY2UgcXVlcnkgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcbiAgICBpZiAodGhpcy5kc3FNYXAuaGFzKGlkT3JOYW1lKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHNxTWFwLmdldChpZE9yTmFtZSk7XG4gICAgfVxuXG4gICAgLy8gQ29udmVydCB0aGUgaWRPck5hbWUgdG8gbG93ZXJjYXNlIGZvciBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaFxuICAgIGNvbnN0IGlkTG93ZXIgPSBpZE9yTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgLy8gRmluZCB0aGUgZGF0YSBzb3VyY2UgcXVlcnkgYnkgbWF0Y2hpbmcgUXVlcnlOYW1lIG9yIERpc3BsYXlOYW1lLCBjYXNlLWluc2Vuc2l0aXZlbHlcbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzPy5maW5kKFxuICAgICAgZHNxID0+IGRzcS5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGRhdGEgc291cmNlIHF1ZXJpZXMgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cbiAgICogSWYgdGhlIGZpbHRlciBmdW5jdGlvbiByZXR1cm5zIHRydWUsIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBpcyBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXX0gLSBUaGUgYXJyYXkgb2YgZGF0YSBzb3VyY2UgcXVlcmllcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlUXVlcmllcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBmaWVsZHMgYW5kIGRhdGEgc291cmNlIHF1ZXJpZXMgb2YgdGhpcyBBcHBPYmplY3QuXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuICAgKiAgIC0gRmllbGQgbmFtZSBhbmQgZGVzY3JpcHRpb25cbiAgICogICAtIERhdGEgc291cmNlIHF1ZXJ5IG5hbWUsIGRpc3BsYXkgbmFtZSwgYW5kIGRlc2NyaXB0aW9uXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSAtIFRoZSBzZWFyY2ggdGVybSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7eyBmaWVsZHM6IEFwcEZpZWxkTW9kZWxbXTsgZHNxczogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSB9fSAtIEFuIG9iamVjdCB3aXRoIHRoZSBzZWFyY2ggcmVzdWx0cy5cbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxuICAgKiAgIFRoZSBgZHNxc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggdGVybS5cbiAgICovXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGZpZWxkc1xuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpZWxkID0+IGZpZWxkLnNlYXJjaCh0ZXJtKSk7XG5cbiAgICAvLyBTZWFyY2ggZm9yIHRoZSB0ZXJtIGluIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzXG4gICAgY29uc3QgZHNxcyA9IHRoaXMuZGF0YVNvdXJjZVF1ZXJpZXMoKS5maWx0ZXIoZHNxID0+IGRzcS5zZWFyY2godGVybSkpO1xuXG4gICAgLy8gUmV0dXJuIHRoZSBzZWFyY2ggcmVzdWx0c1xuICAgIHJldHVybiB7IGZpZWxkcywgZHNxcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgYXMgYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJhdztcbiAgfVxufSJdfQ==
@@ -120,4 +120,4 @@ export class DataSourceQueryModel {
120
120
  return this.raw;
121
121
  }
122
122
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQ21CLEdBQVEsRUFDUixlQUErQjtRQUQvQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1Isb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBUDFDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFNcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVB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Q0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQ0wsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcE9iamVjdE1vZGVsIH0gZnJvbSAnLi9hcHAtb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkcyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XG5pbXBvcnQgeyBGaWx0ZXJNb2RlbCB9IGZyb20gJy4vZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IFBhcmFtZXRlck1vZGVsIH0gZnJvbSAnLi9wYXJhbWV0ZXIubW9kZWwnO1xuaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyeU1vZGVsIHtcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgT2JqZWN0SUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFF1ZXJ5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBGaWx0ZXJMb2dpYzogc3RyaW5nIHwgbnVsbDtcblxuICBwcml2YXRlIGVucmljaGVkRmllbGRzOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSA9IFtdO1xuICBwcml2YXRlIGNhY2hlZFBhcmFtZXRlcnM6IFBhcmFtZXRlck1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBjYWNoZWRGaWx0ZXJzOiBGaWx0ZXJNb2RlbFtdID0gW107XG4gIHByaXZhdGUgY2FjaGVkU29ydHM6IFNvcnRNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByYXc6IGFueSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudEFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWxcbiAgKSB7XG4gICAgdGhpcy5JRCA9IHJhdy5JRDtcbiAgICB0aGlzLk9iamVjdElEID0gcmF3Lk9iamVjdElEO1xuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Lk9iamVjdElEX1Rvc2F2ZTtcbiAgICB0aGlzLlF1ZXJ5TmFtZSA9IHJhdy5RdWVyeU5hbWU7XG4gICAgdGhpcy5EaXNwbGF5TmFtZSA9IHJhdy5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gcmF3LkZpbHRlckxvZ2ljO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LiBUaGUgZmllbGRzIGFyZSBlbnJpY2hlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGBBcHBGaWVsZE1vZGVsYCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBlbnJpY2hlZCBmaWVsZHMuXG4gICAqL1xuICBmaWVsZHMoKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIGlmICghdGhpcy5lbnJpY2hlZEZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnJhdz8uRmllbGRzO1xuICAgICAgaWYgKHJhd0ZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIEVucmljaCB0aGUgZmllbGRzIGJ5IG1hcHBpbmcgZWFjaCBmaWVsZCB0byB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAvLyBUaGUgYEZpZWxkYCBwcm9wZXJ0eSBjb250YWlucyB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICAgIEZpZWxkOiB0aGlzLnBhcmVudEFwcE9iamVjdC5maWVsZChmaWVsZC5BcHBGaWVsZElEKVxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXG4gICAgICAgIHRoaXMuZW5yaWNoZWRGaWVsZHMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmV0dXJuIHRoZSBlbnJpY2hlZCBmaWVsZHMuXG4gICAgcmV0dXJuIHRoaXMuZW5yaWNoZWRGaWVsZHM7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzKSA9PiBib29sZWFuKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIHBhcmFtZXRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZFBhcmFtZXRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkUGFyYW1ldGVycyA9ICh0aGlzLnJhdz8uUGFyYW1ldGVycyB8fCBbXSkubWFwKChwOiBhbnkpID0+IG5ldyBQYXJhbWV0ZXJNb2RlbChwKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtYW5kYXRvcnkgcGFyYW1ldGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIG1hbmRhdG9yeSBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBtYW5kYXRvcnlQYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMoKS5maWx0ZXIocCA9PiBwLklzTWFuZGF0b3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gZmluZC5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkfSBUaGUgcGFyYW1ldGVyIG1vZGVsIGluc3RhbmNlIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcGFyYW1ldGVyKG5hbWU6IHN0cmluZyk6IFBhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBuYW1lTG93ZXIgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIGZpbHRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge0ZpbHRlck1vZGVsW119IFRoZSBhcnJheSBvZiBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBmaWx0ZXJzKCk6IEZpbHRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIGZpbHRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgZmlsdGVycyB0byBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkRmlsdGVycyA9ICh0aGlzLnJhdy5GaWx0ZXJzPy5GaWx0ZXJzIHx8IFtdKS5tYXAoKGY6IGFueSkgPT4gbmV3IEZpbHRlck1vZGVsKGYpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRmlsdGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgc29ydHMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1NvcnRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgU29ydE1vZGVsIGluc3RhbmNlcy5cbiAgICovXG4gIHNvcnRzKCk6IFNvcnRNb2RlbFtdIHtcbiAgICAvLyBDaGVjayBpZiBzb3J0cyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcbiAgICBpZiAoIXRoaXMuY2FjaGVkU29ydHMpIHtcbiAgICAgIC8vIE1hcCByYXcgc29ydHMgdG8gU29ydE1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnJhdy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XG4gICAgfVxuICAgIC8vIFJldHVybiB0aGUgY2FjaGVkIHNvcnRzXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGdpdmVuIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBmaWVsZHMgb2YgdGhlXG4gICAqIGN1cnJlbnQgZGF0YSBzb3VyY2UgcXVlcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBzZWFyY2ggdGVybSBpcyBwcmVzZW50IGluIGFueSBmaWVsZFxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcbiAgICAgIHRoaXMuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8XG4gICAgICB0aGlzLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgaW4gSlNPTiBmb3JtYXQuXG4gICAqL1xuICB0b0pTT04oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yYXc7XG4gIH1cbn0iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQ21CLEdBQVEsRUFDaEIsZUFBK0I7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFQbEMsbUJBQWMsR0FBK0IsRUFBRSxDQUFDO1FBQ2hELHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBQ2xDLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQU1wQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0s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TSxDQUFDLElBQVk7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sQ0FDTCxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwT2JqZWN0TW9kZWwgfSBmcm9tICcuL2FwcC1vYmplY3QubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzJztcbmltcG9ydCB7IEZpbHRlck1vZGVsIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyTW9kZWwgfSBmcm9tICcuL3BhcmFtZXRlci5tb2RlbCc7XG5pbXBvcnQgeyBTb3J0TW9kZWwgfSBmcm9tICcuL3NvcnQubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwge1xuICByZWFkb25seSBJRDogc3RyaW5nO1xuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nO1xuICByZWFkb25seSBPYmplY3RJRF9Ub3NhdmU6IHN0cmluZztcbiAgcmVhZG9ubHkgUXVlcnlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IERpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEZpbHRlckxvZ2ljOiBzdHJpbmcgfCBudWxsO1xuXG4gIHByaXZhdGUgZW5yaWNoZWRGaWVsZHM6IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdID0gW107XG4gIHByaXZhdGUgY2FjaGVkUGFyYW1ldGVyczogUGFyYW1ldGVyTW9kZWxbXSA9IFtdO1xuICBwcml2YXRlIGNhY2hlZEZpbHRlcnM6IEZpbHRlck1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBjYWNoZWRTb3J0czogU29ydE1vZGVsW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LFxuICAgIHJlYWRvbmx5IHBhcmVudEFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWxcbiAgKSB7XG4gICAgdGhpcy5JRCA9IHJhdy5JRDtcbiAgICB0aGlzLk9iamVjdElEID0gcmF3Lk9iamVjdElEO1xuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Lk9iamVjdElEX1Rvc2F2ZTtcbiAgICB0aGlzLlF1ZXJ5TmFtZSA9IHJhdy5RdWVyeU5hbWU7XG4gICAgdGhpcy5EaXNwbGF5TmFtZSA9IHJhdy5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gcmF3LkZpbHRlckxvZ2ljO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LiBUaGUgZmllbGRzIGFyZSBlbnJpY2hlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGBBcHBGaWVsZE1vZGVsYCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBlbnJpY2hlZCBmaWVsZHMuXG4gICAqL1xuICBmaWVsZHMoKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIGlmICghdGhpcy5lbnJpY2hlZEZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnJhdz8uRmllbGRzO1xuICAgICAgaWYgKHJhd0ZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIEVucmljaCB0aGUgZmllbGRzIGJ5IG1hcHBpbmcgZWFjaCBmaWVsZCB0byB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAvLyBUaGUgYEZpZWxkYCBwcm9wZXJ0eSBjb250YWlucyB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICAgIEZpZWxkOiB0aGlzLnBhcmVudEFwcE9iamVjdC5maWVsZChmaWVsZC5BcHBGaWVsZElEKVxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXG4gICAgICAgIHRoaXMuZW5yaWNoZWRGaWVsZHMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmV0dXJuIHRoZSBlbnJpY2hlZCBmaWVsZHMuXG4gICAgcmV0dXJuIHRoaXMuZW5yaWNoZWRGaWVsZHM7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzKSA9PiBib29sZWFuKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIHBhcmFtZXRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZFBhcmFtZXRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkUGFyYW1ldGVycyA9ICh0aGlzLnJhdz8uUGFyYW1ldGVycyB8fCBbXSkubWFwKChwOiBhbnkpID0+IG5ldyBQYXJhbWV0ZXJNb2RlbChwKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtYW5kYXRvcnkgcGFyYW1ldGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIG1hbmRhdG9yeSBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBtYW5kYXRvcnlQYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMoKS5maWx0ZXIocCA9PiBwLklzTWFuZGF0b3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gZmluZC5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkfSBUaGUgcGFyYW1ldGVyIG1vZGVsIGluc3RhbmNlIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcGFyYW1ldGVyKG5hbWU6IHN0cmluZyk6IFBhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBuYW1lTG93ZXIgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIGZpbHRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge0ZpbHRlck1vZGVsW119IFRoZSBhcnJheSBvZiBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBmaWx0ZXJzKCk6IEZpbHRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIGZpbHRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgZmlsdGVycyB0byBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkRmlsdGVycyA9ICh0aGlzLnJhdy5GaWx0ZXJzPy5GaWx0ZXJzIHx8IFtdKS5tYXAoKGY6IGFueSkgPT4gbmV3IEZpbHRlck1vZGVsKGYpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRmlsdGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgc29ydHMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1NvcnRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgU29ydE1vZGVsIGluc3RhbmNlcy5cbiAgICovXG4gIHNvcnRzKCk6IFNvcnRNb2RlbFtdIHtcbiAgICAvLyBDaGVjayBpZiBzb3J0cyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcbiAgICBpZiAoIXRoaXMuY2FjaGVkU29ydHMpIHtcbiAgICAgIC8vIE1hcCByYXcgc29ydHMgdG8gU29ydE1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnJhdy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XG4gICAgfVxuICAgIC8vIFJldHVybiB0aGUgY2FjaGVkIHNvcnRzXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGdpdmVuIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBmaWVsZHMgb2YgdGhlXG4gICAqIGN1cnJlbnQgZGF0YSBzb3VyY2UgcXVlcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBzZWFyY2ggdGVybSBpcyBwcmVzZW50IGluIGFueSBmaWVsZFxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcbiAgICAgIHRoaXMuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8XG4gICAgICB0aGlzLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgaW4gSlNPTiBmb3JtYXQuXG4gICAqL1xuICB0b0pTT04oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yYXc7XG4gIH1cbn0iXX0=
@@ -1,7 +1,5 @@
1
1
  import { Injectable, inject } from '@angular/core';
2
- import { catchError, of } from 'rxjs';
3
2
  import { ApiService } from '../core/http-client/api.service';
4
- import { LocalStorageService } from './local-storage.service';
5
3
  import { getFormDataHeaders, getHeaders } from '../app/utils/req-res.util';
6
4
  import { API } from '../app/constants/api-constants';
7
5
  import * as i0 from "@angular/core";
@@ -11,101 +9,95 @@ export class AuthService {
11
9
  * Injecting required services
12
10
  */
13
11
  this.apiService = inject(ApiService);
14
- this.localStorageService = inject(LocalStorageService);
15
12
  }
16
13
  // -----------------------------------------------------------------------------------------------------
17
14
  // @ Public methods
18
15
  // -----------------------------------------------------------------------------------------------------
19
- /**
20
- * Fetch user details from the database
21
- *
22
- * @param endPointName - The End Point Name to fetch user details
23
- * @returns Observable<UserResponse> - An observable of UserResponse
24
- */
25
- user(endPointName) {
26
- return this.apiService.get(endPointName);
27
- }
16
+ // /**
17
+ // * Fetch user details from the database
18
+ // *
19
+ // * @param endPointName - The End Point Name to fetch user details
20
+ // * @returns Observable<UserResponse> - An observable of UserResponse
21
+ // */
22
+ // user(endPointName: string): Observable<UserResponse> {
23
+ // return this.apiService.get<UserResponse>(endPointName);
24
+ // }
28
25
  /**
29
26
  * Sign in with provided credentials
30
- *
31
- * @param endPointName - The End Point Name to sign in
32
27
  * @param credentials - The login credentials
33
- * @returns Observable<UserResponse> - An observable of UserResponse
28
+ * @returns Observable<CommonApiResponse> - An observable of CommonApiResponse
34
29
  */
35
- signIn(endPointName, credentials) {
36
- return this.apiService.post(endPointName, credentials);
30
+ signIn(credentials) {
31
+ return this.apiService.post(API.login, credentials);
37
32
  }
38
33
  /**
39
34
  * Register tenant
40
- * @param endPointName - The End Point Name to register tenant
41
35
  * @param credentials - The credentials
36
+ * @returns Observable<CommonApiResponse>
42
37
  */
43
- registerTenant(endPointName, credentials) {
38
+ registerTenant(credentials) {
44
39
  const headers = getHeaders();
45
- if (headers) {
46
- return this.apiService.post(endPointName, credentials, headers).pipe(catchError(error => {
47
- // Handle errors as needed
48
- console.error('Error in sign up:', error);
49
- throw error; // Rethrow or handle further
50
- }));
51
- }
52
- return of();
40
+ return this.apiService.post(API.RegisterTenant, credentials, headers);
53
41
  }
54
42
  /**
55
43
  * Register a new user
56
- *
57
- * @param endPointName - The End Point Name to register a new user
58
44
  * @param credentials - The new user's credentials
59
- * @returns Observable<UserResponse> - An observable of UserResponse
45
+ * @param headers - The headers
46
+ * @returns Observable<CommonApiResponse> - An observable of CommonApiResponse
60
47
  */
61
- register(endPointName, credentials, headers) {
48
+ register(credentials, headers) {
62
49
  if (!headers) {
63
50
  // Get the headers for FormData
64
51
  headers = getFormDataHeaders();
65
52
  }
66
- return this.apiService.post(endPointName, credentials, headers);
67
- }
68
- /**
69
- * Forgot password
70
- * @param endPointName - The End Point Name of API
71
- * @param email - The email of user
72
- */
73
- forgotPassword(endPointName, email) {
74
- return this.apiService.post(endPointName, email);
53
+ return this.apiService.post(API.registerUser, credentials, headers);
75
54
  }
55
+ // /**
56
+ // * Forgot password
57
+ // * @param endPointName - The End Point Name of API
58
+ // * @param email - The email of user
59
+ // */
60
+ // forgotPassword(
61
+ // endPointName: string,
62
+ // email: ForgotPasswordUserRequest
63
+ // ): Observable<ApiResponse> {
64
+ // return this.apiService.post(endPointName, email);
65
+ // }
76
66
  /**
77
- * Reset password
78
- * @param endPointName - The End Point Name of API
79
- * @param password - The password of user
67
+ * Reset Password
68
+ * @param data - Data for resetting password
69
+ * @returns Response from the API
80
70
  */
81
- resetPassword(endPointName, password) {
82
- return this.apiService.post(endPointName, password);
71
+ resetPassword(data) {
72
+ const headers = getHeaders();
73
+ return this.apiService.post(API.restpassword, data, headers);
83
74
  }
75
+ // /**
76
+ // * Logout current session
77
+ // */
78
+ // logout(key: string) {
79
+ // this.localStorageService.removeLocalStorage(key);
80
+ // }
84
81
  /**
85
- * Logout current session
82
+ * Refreshes the access token using the refresh token
83
+ * @param data - The refresh token request data
84
+ * @returns Observable<CommonApiResponse> - An observable of the response from the API
86
85
  */
87
- logout(key) {
88
- this.localStorageService.removeLocalStorage(key);
89
- }
90
86
  refreshToken(data) {
91
87
  const headers = getHeaders();
92
- if (headers) {
93
- return this.apiService.post(`${API.refreshToken}`, data, headers);
94
- }
95
- return null;
88
+ return this.apiService.post(API.refreshToken, data, headers);
96
89
  }
97
90
  /**
98
91
  * Fetches user details based on the provided identity
99
- * @param identity - The ID of the user
100
- * @param params - Optional parameters for the request
92
+ * @param data - The user details request data
101
93
  * @param headers - Optional headers for the request
102
- * @returns Observable<any> - An observable of the user details
94
+ * @returns Observable<CommonApiResponse> - An observable of the user details
103
95
  */
104
96
  getUserDetails(data, headers) {
105
97
  if (!headers) {
106
98
  headers = getHeaders(headers);
107
99
  }
108
- return this.apiService.post(`${API.getUserDetails}`, data, headers);
100
+ return this.apiService.post(API.getUserDetails, data, headers);
109
101
  }
110
102
  static { this.ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(); }; }
111
103
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' }); }
@@ -114,4 +106,4 @@ export class AuthService {
114
106
  type: Injectable,
115
107
  args: [{ providedIn: 'root' }]
116
108
  }], null, null); })();
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFTbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3JELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRUU7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBMEhwRTtJQXhIQyx3R0FBd0c7SUFDeEcsbUJBQW1CO0lBQ25CLHdHQUF3RztJQUV4Rzs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxZQUFvQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFlLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsWUFBb0IsRUFBRSxXQUE2QjtRQUN4RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixZQUFZLEVBQ1osV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUdILGNBQWMsQ0FBQyxZQUFvQixFQUFFLFdBQTJCO1FBQzlELE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixZQUFZLEVBQ1osV0FBVyxFQUNYLE9BQU8sQ0FDUixDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLDBCQUEwQjtnQkFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxLQUFLLENBQUMsQ0FBQyw0QkFBNEI7WUFDM0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxZQUFvQixFQUFFLFdBQTJCLEVBQUUsT0FBYTtRQUN2RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYiwrQkFBK0I7WUFDL0IsT0FBTyxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQStCLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQ1osWUFBb0IsRUFDcEIsS0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQ1gsWUFBb0IsRUFDcEIsUUFBa0M7UUFFbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNwQixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxJQUFVLEVBQUUsT0FBYTtRQUN0QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDOzRFQTlIVSxXQUFXO3VFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQURFLE1BQU07O2lGQUNuQixXQUFXO2NBRHZCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBGb3Jnb3RQYXNzd29yZFVzZXJSZXF1ZXN0LFxuICBMb2dpblVzZXJSZXF1ZXN0LFxuICBOZXdVc2VyUmVxdWVzdCxcbiAgUmVnaXN0ZXJUZW5hbnQsXG4gIFJlc2V0UGFzc3dvcmRVc2VyUmVxdWVzdCxcbn0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlclJlc3BvbnNlIH0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi9hcHAvaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0Rm9ybURhdGFIZWFkZXJzLCBnZXRIZWFkZXJzIH0gZnJvbSAnLi4vYXBwL3V0aWxzL3JlcS1yZXMudXRpbCc7XG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAvY29uc3RhbnRzL2FwaS1jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEluamVjdGluZyByZXF1aXJlZCBzZXJ2aWNlc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQCBQdWJsaWMgbWV0aG9kc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBGZXRjaCB1c2VyIGRldGFpbHMgZnJvbSB0aGUgZGF0YWJhc2VcbiAgICpcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byBmZXRjaCB1c2VyIGRldGFpbHNcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcbiAgICovXG4gIHVzZXIoZW5kUG9pbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0PFVzZXJSZXNwb25zZT4oZW5kUG9pbnROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGluIHdpdGggcHJvdmlkZWQgY3JlZGVudGlhbHNcbiAgICpcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byBzaWduIGluXG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyAtIFRoZSBsb2dpbiBjcmVkZW50aWFsc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4gLSBBbiBvYnNlcnZhYmxlIG9mIFVzZXJSZXNwb25zZVxuICAgKi9cbiAgc2lnbkluKGVuZFBvaW50TmFtZTogc3RyaW5nLCBjcmVkZW50aWFsczogTG9naW5Vc2VyUmVxdWVzdCk6IE9ic2VydmFibGU8VXNlclJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PFVzZXJSZXNwb25zZSwgTG9naW5Vc2VyUmVxdWVzdD4oXG4gICAgICBlbmRQb2ludE5hbWUsXG4gICAgICBjcmVkZW50aWFsc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGVuYW50XG4gICAqIEBwYXJhbSBlbmRQb2ludE5hbWUgLSBUaGUgRW5kIFBvaW50IE5hbWUgdG8gcmVnaXN0ZXIgdGVuYW50XG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyAtIFRoZSBjcmVkZW50aWFsc1xuICAgKi9cbiAgXG5cbiAgcmVnaXN0ZXJUZW5hbnQoZW5kUG9pbnROYW1lOiBzdHJpbmcsIGNyZWRlbnRpYWxzOiBSZWdpc3RlclRlbmFudCk6IE9ic2VydmFibGU8VXNlclJlc3BvbnNlPiB7ICAgICAgXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcbiAgICBpZiAoaGVhZGVycykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdDxVc2VyUmVzcG9uc2UsIFJlZ2lzdGVyVGVuYW50PihcbiAgICAgIGVuZFBvaW50TmFtZSxcbiAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgaGVhZGVyc1xuICAgICkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAvLyBIYW5kbGUgZXJyb3JzIGFzIG5lZWRlZFxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBzaWduIHVwOicsIGVycm9yKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7IC8vIFJldGhyb3cgb3IgaGFuZGxlIGZ1cnRoZXJcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICByZXR1cm4gb2YoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHVzZXJcbiAgICpcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byByZWdpc3RlciBhIG5ldyB1c2VyXG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyAtIFRoZSBuZXcgdXNlcidzIGNyZWRlbnRpYWxzXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8VXNlclJlc3BvbnNlPiAtIEFuIG9ic2VydmFibGUgb2YgVXNlclJlc3BvbnNlXG4gICAqL1xuICByZWdpc3RlcihlbmRQb2ludE5hbWU6IHN0cmluZywgY3JlZGVudGlhbHM6IE5ld1VzZXJSZXF1ZXN0LCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgIC8vIEdldCB0aGUgaGVhZGVycyBmb3IgRm9ybURhdGFcbiAgICAgIGhlYWRlcnMgPSBnZXRGb3JtRGF0YUhlYWRlcnMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PFVzZXJSZXNwb25zZSwgTmV3VXNlclJlcXVlc3Q+KGVuZFBvaW50TmFtZSwgY3JlZGVudGlhbHMsIGhlYWRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcmdvdCBwYXNzd29yZFxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIC0gVGhlIEVuZCBQb2ludCBOYW1lIG9mIEFQSVxuICAgKiBAcGFyYW0gZW1haWwgLSBUaGUgZW1haWwgb2YgdXNlclxuICAgKi9cbiAgZm9yZ290UGFzc3dvcmQoXG4gICAgZW5kUG9pbnROYW1lOiBzdHJpbmcsXG4gICAgZW1haWw6IEZvcmdvdFBhc3N3b3JkVXNlclJlcXVlc3RcbiAgKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChlbmRQb2ludE5hbWUsIGVtYWlsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBwYXNzd29yZFxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIC0gVGhlIEVuZCBQb2ludCBOYW1lIG9mIEFQSVxuICAgKiBAcGFyYW0gcGFzc3dvcmQgLSBUaGUgcGFzc3dvcmQgb2YgdXNlclxuICAgKi9cbiAgcmVzZXRQYXNzd29yZChcbiAgICBlbmRQb2ludE5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogUmVzZXRQYXNzd29yZFVzZXJSZXF1ZXN0XG4gICk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoZW5kUG9pbnROYW1lLCBwYXNzd29yZCk7XG4gIH1cblxuICAvKipcbiAgICogTG9nb3V0IGN1cnJlbnQgc2Vzc2lvblxuICAgKi9cbiAgbG9nb3V0KGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShrZXkpO1xuICB9XG5cbiAgcmVmcmVzaFRva2VuKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XG4gICAgaWYgKGhlYWRlcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmVmcmVzaFRva2VufWAsIGRhdGEsIGhlYWRlcnMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHVzZXIgZGV0YWlscyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaWRlbnRpdHlcbiAgICogQHBhcmFtIGlkZW50aXR5IC0gVGhlIElEIG9mIHRoZSB1c2VyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcGFyYW0gaGVhZGVycyAtIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PiAtIEFuIG9ic2VydmFibGUgb2YgdGhlIHVzZXIgZGV0YWlsc1xuICAgKi9cbiAgZ2V0VXNlckRldGFpbHMoZGF0YT86IGFueSwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgaGVhZGVycyA9Z2V0SGVhZGVycyhoZWFkZXJzKTtcbiAgICB9IFxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuZ2V0VXNlckRldGFpbHN9YCwgZGF0YSwgaGVhZGVycyk7XG4gIH1cbn0iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3JELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRUU7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBMkdsRDtJQXpHQyx3R0FBd0c7SUFDeEcsbUJBQW1CO0lBQ25CLHdHQUF3RztJQUV4RyxNQUFNO0lBQ04sMENBQTBDO0lBQzFDLEtBQUs7SUFDTCxvRUFBb0U7SUFDcEUsdUVBQXVFO0lBQ3ZFLE1BQU07SUFDTix5REFBeUQ7SUFDekQsNERBQTREO0lBQzVELElBQUk7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFdBQTZCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxXQUEyQjtRQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsY0FBYyxFQUNsQixXQUFXLEVBQ1gsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsV0FBMkIsRUFBRSxPQUFhO1FBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLCtCQUErQjtZQUMvQixPQUFPLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBb0MsR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELE1BQU07SUFDTixxQkFBcUI7SUFDckIscURBQXFEO0lBQ3JELHNDQUFzQztJQUN0QyxNQUFNO0lBQ04sa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixxQ0FBcUM7SUFDckMsK0JBQStCO0lBQy9CLHNEQUFzRDtJQUN0RCxJQUFJO0lBRUo7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxJQUE4QjtRQUMxQyxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUE4QyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsTUFBTTtJQUNOLDRCQUE0QjtJQUM1QixNQUFNO0lBQ04sd0JBQXdCO0lBQ3hCLHNEQUFzRDtJQUN0RCxJQUFJO0lBRUo7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxJQUF5QjtRQUNwQyxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF5QyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsSUFBd0IsRUFBRSxPQUFhO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sR0FBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXdDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hHLENBQUM7NEVBOUdVLFdBQVc7dUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBREUsTUFBTTs7aUZBQ25CLFdBQVc7Y0FEdkIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgTG9naW5Vc2VyUmVxdWVzdCxcbiAgTmV3VXNlclJlcXVlc3QsXG4gIFJlZnJlc2hUb2tlblJlcXVlc3QsXG4gIFJlZ2lzdGVyVGVuYW50LFxuICBSZXNldFBhc3N3b3JkVXNlclJlcXVlc3QsXG4gIFVzZXJEZXRhaWxzUmVxdWVzdCxcbn0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uQXBpUmVzcG9uc2UgfSBmcm9tICcuLi9hcHAvaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXRGb3JtRGF0YUhlYWRlcnMsIGdldEhlYWRlcnMgfSBmcm9tICcuLi9hcHAvdXRpbHMvcmVxLXJlcy51dGlsJztcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICAvKipcbiAgICogSW5qZWN0aW5nIHJlcXVpcmVkIHNlcnZpY2VzXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQCBQdWJsaWMgbWV0aG9kc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC8qKlxuICAvLyAgKiBGZXRjaCB1c2VyIGRldGFpbHMgZnJvbSB0aGUgZGF0YWJhc2VcbiAgLy8gICpcbiAgLy8gICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byBmZXRjaCB1c2VyIGRldGFpbHNcbiAgLy8gICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcbiAgLy8gICovXG4gIC8vIHVzZXIoZW5kUG9pbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4ge1xuICAvLyAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0PFVzZXJSZXNwb25zZT4oZW5kUG9pbnROYW1lKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBTaWduIGluIHdpdGggcHJvdmlkZWQgY3JlZGVudGlhbHNcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIGxvZ2luIGNyZWRlbnRpYWxzXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBDb21tb25BcGlSZXNwb25zZVxuICAgKi9cbiAgc2lnbkluKGNyZWRlbnRpYWxzOiBMb2dpblVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdDxDb21tb25BcGlSZXNwb25zZSwgTG9naW5Vc2VyUmVxdWVzdD4oXG4gICAgICBBUEkubG9naW4sXG4gICAgICBjcmVkZW50aWFsc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGVuYW50XG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyAtIFRoZSBjcmVkZW50aWFsc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPlxuICAgKi9cbiAgcmVnaXN0ZXJUZW5hbnQoY3JlZGVudGlhbHM6IFJlZ2lzdGVyVGVuYW50KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4geyAgICAgIFxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PENvbW1vbkFwaVJlc3BvbnNlLCBSZWdpc3RlclRlbmFudD4oXG4gICAgICBBUEkuUmVnaXN0ZXJUZW5hbnQsXG4gICAgICBjcmVkZW50aWFscyxcbiAgICAgIGhlYWRlcnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHVzZXJcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIG5ldyB1c2VyJ3MgY3JlZGVudGlhbHNcbiAgICogQHBhcmFtIGhlYWRlcnMgLSBUaGUgaGVhZGVyc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiAtIEFuIG9ic2VydmFibGUgb2YgQ29tbW9uQXBpUmVzcG9uc2VcbiAgICovXG4gIHJlZ2lzdGVyKGNyZWRlbnRpYWxzOiBOZXdVc2VyUmVxdWVzdCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgIC8vIEdldCB0aGUgaGVhZGVycyBmb3IgRm9ybURhdGFcbiAgICAgIGhlYWRlcnMgPSBnZXRGb3JtRGF0YUhlYWRlcnMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PENvbW1vbkFwaVJlc3BvbnNlLCBOZXdVc2VyUmVxdWVzdD4oQVBJLnJlZ2lzdGVyVXNlciwgY3JlZGVudGlhbHMsIGhlYWRlcnMpO1xuICB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIEZvcmdvdCBwYXNzd29yZFxuICAvLyAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIC0gVGhlIEVuZCBQb2ludCBOYW1lIG9mIEFQSVxuICAvLyAgKiBAcGFyYW0gZW1haWwgLSBUaGUgZW1haWwgb2YgdXNlclxuICAvLyAgKi9cbiAgLy8gZm9yZ290UGFzc3dvcmQoXG4gIC8vICAgZW5kUG9pbnROYW1lOiBzdHJpbmcsXG4gIC8vICAgZW1haWw6IEZvcmdvdFBhc3N3b3JkVXNlclJlcXVlc3RcbiAgLy8gKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZT4ge1xuICAvLyAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChlbmRQb2ludE5hbWUsIGVtYWlsKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBSZXNldCBQYXNzd29yZFxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHJlc2V0dGluZyBwYXNzd29yZFxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcbiAgICovXG4gIHJlc2V0UGFzc3dvcmQoZGF0YTogUmVzZXRQYXNzd29yZFVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PENvbW1vbkFwaVJlc3BvbnNlLCBSZXNldFBhc3N3b3JkVXNlclJlcXVlc3Q+KEFQSS5yZXN0cGFzc3dvcmQsIGRhdGEsIGhlYWRlcnMpO1xuICB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIExvZ291dCBjdXJyZW50IHNlc3Npb25cbiAgLy8gICovXG4gIC8vIGxvZ291dChrZXk6IHN0cmluZykge1xuICAvLyAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2Uoa2V5KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiB1c2luZyB0aGUgcmVmcmVzaCB0b2tlblxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSByZWZyZXNoIHRva2VuIHJlcXVlc3QgZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiAtIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxuICAgKi9cbiAgcmVmcmVzaFRva2VuKGRhdGE6IFJlZnJlc2hUb2tlblJlcXVlc3QpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3Q8Q29tbW9uQXBpUmVzcG9uc2UsIFJlZnJlc2hUb2tlblJlcXVlc3Q+KEFQSS5yZWZyZXNoVG9rZW4sIGRhdGEsIGhlYWRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlciBkZXRhaWxzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBpZGVudGl0eVxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSB1c2VyIGRldGFpbHMgcmVxdWVzdCBkYXRhXG4gICAqIEBwYXJhbSBoZWFkZXJzIC0gT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4gLSBBbiBvYnNlcnZhYmxlIG9mIHRoZSB1c2VyIGRldGFpbHNcbiAgICovXG4gIGdldFVzZXJEZXRhaWxzKGRhdGE6IFVzZXJEZXRhaWxzUmVxdWVzdCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICBoZWFkZXJzID1nZXRIZWFkZXJzKGhlYWRlcnMpO1xuICAgIH0gXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PENvbW1vbkFwaVJlc3BvbnNlLCBVc2VyRGV0YWlsc1JlcXVlc3Q+KEFQSS5nZXRVc2VyRGV0YWlscywgZGF0YSwgaGVhZGVycyk7XG4gIH1cbn0iXX0=
@@ -23,7 +23,7 @@ export const authStore = signalStore({ providedIn: 'root' }, withState(initialSt
23
23
  return false;
24
24
  },
25
25
  login(API_URL, credentials) {
26
- return authService.signIn(API_URL, credentials).pipe(tap({
26
+ return authService.signIn(credentials).pipe(tap({
27
27
  next: (res) => {
28
28
  const userData = {
29
29
  id: res.Result.user.Id,
@@ -40,4 +40,4 @@ export const authStore = signalStore({ providedIn: 'root' }, withState(initialSt
40
40
  }));
41
41
  },
42
42
  })));
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L3N0b3JlL2F1dGguc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd0RSxNQUFNLFlBQVksR0FBYztJQUM5QixFQUFFLEVBQUUsRUFBRTtJQUNOLElBQUksRUFBRSxFQUFFO0lBQ1IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxFQUFFO0lBQ1YsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FDbEMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDdkIsV0FBVyxDQUNULENBQUMsS0FBSyxFQUFFLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLGNBQWM7UUFDWixNQUFNLGVBQWUsR0FBYyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQWUsRUFBRSxXQUE2QjtRQUNsRCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEQsR0FBRyxDQUFDO1lBQ0YsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFjO29CQUMxQixFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLO29CQUN2QyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7b0JBQzFDLE1BQU0sRUFBRSxFQUFFO29CQUNWLE1BQU0sRUFBRSxFQUFFO29CQUNWLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7aUJBQ3hCLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0QsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoU3RhdGUsIHdpdGhNZXRob2RzLCBwYXRjaFN0YXRlLCB3aXRoSG9va3MgfSBmcm9tIFwiQG5ncngvc2lnbmFsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvZ2luVXNlclJlcXVlc3QgfSBmcm9tIFwiLi4vYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL2F1dGgvYXV0aC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uL2F1dGgvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTdG9yYWdlQ29uc3RhbnRzIH0gZnJvbSBcIi4uL2FwcC9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHNcIjtcbmltcG9ydCB7IFVzZXJTdG9yZSB9IGZyb20gXCIuLi9hcHAvaW50ZXJmYWNlcy91c2VyLmludGVyZmFjZVwiO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IFVzZXJTdG9yZSA9IHtcbiAgaWQ6ICcnLFxuICBuYW1lOiAnJyxcbiAgZW1haWw6ICcnLFxuICBhdmF0YXI6ICcnLFxuICBzdGF0dXM6ICcnLFxuICB0b2tlbjogJydcbn1cblxuZXhwb3J0IGNvbnN0IGF1dGhTdG9yZSA9IHNpZ25hbFN0b3JlKFxuICB7IHByb3ZpZGVkSW46ICdyb290JyB9LFxuICB3aXRoU3RhdGUoaW5pdGlhbFN0YXRlKSxcbiAgd2l0aE1ldGhvZHMoXG4gICAgKHN0b3JlLCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSksIHN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSkpID0+ICh7XG4gICAgICBjaGVja1VzZXJsb2dpbigpOmJvb2xlYW4ge1xuICAgICAgICBjb25zdCBVc2VySW5mb3JtYXRpb246IFVzZXJTdG9yZSA9IEpTT04ucGFyc2Uoc3RvcmFnZS5nZXRMb2NhbFN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy51c2VySW5mbykpO1xuICAgICAgICBpZiAoVXNlckluZm9ybWF0aW9uKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgVXNlckluZm9ybWF0aW9uKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9LFxuICAgICAgbG9naW4oQVBJX1VSTDogc3RyaW5nLCBjcmVkZW50aWFsczogTG9naW5Vc2VyUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBhdXRoU2VydmljZS5zaWduSW4oQVBJX1VSTCwgY3JlZGVudGlhbHMpLnBpcGUoXG4gICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB1c2VyRGF0YTogVXNlclN0b3JlID0ge1xuICAgICAgICAgICAgICAgIGlkOiByZXMuUmVzdWx0LnVzZXIuSWQsXG4gICAgICAgICAgICAgICAgZW1haWw6IHJlcy5SZXN1bHQudXNlci5BdHRyaWJ1dGVzLkVtYWlsLFxuICAgICAgICAgICAgICAgIG5hbWU6IHJlcy5SZXN1bHQudXNlci5QZXJzb25EYXRhLkZpcnN0TmFtZSxcbiAgICAgICAgICAgICAgICBhdmF0YXI6ICcnLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJycsXG4gICAgICAgICAgICAgICAgdG9rZW46IHJlcy5SZXN1bHQuVG9rZW5cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgdXNlckRhdGEpO1xuICAgICAgICAgICAgICBzdG9yYWdlLnNldExvY2FsU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnVzZXJJbmZvLCB1c2VyRGF0YSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6ICh7IGVycm9yIH0pID0+IChjb25zb2xlLmxvZyhlcnJvcikpLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0pXG4gIClcbik7XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L3N0b3JlL2F1dGguc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd0RSxNQUFNLFlBQVksR0FBYztJQUM5QixFQUFFLEVBQUUsRUFBRTtJQUNOLElBQUksRUFBRSxFQUFFO0lBQ1IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxFQUFFO0lBQ1YsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FDbEMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDdkIsV0FBVyxDQUNULENBQUMsS0FBSyxFQUFFLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLGNBQWM7UUFDWixNQUFNLGVBQWUsR0FBYyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQWUsRUFBRSxXQUE2QjtRQUNsRCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUM7WUFDRixJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxRQUFRLEdBQWM7b0JBQzFCLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN0QixLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7b0JBQ3ZDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztvQkFDMUMsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztpQkFDeEIsQ0FBQztnQkFDRixVQUFVLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FDSCxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUsIHdpdGhTdGF0ZSwgd2l0aE1ldGhvZHMsIHBhdGNoU3RhdGUsIHdpdGhIb29rcyB9IGZyb20gXCJAbmdyeC9zaWduYWxzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTG9naW5Vc2VyUmVxdWVzdCB9IGZyb20gXCIuLi9hcHAvaW50ZXJmYWNlcy9hdXRoLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vYXV0aC9hdXRoLnNlcnZpY2VcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vYXV0aC9sb2NhbC1zdG9yYWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tIFwiLi4vYXBwL2NvbnN0YW50cy9zdG9yYWdlLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgVXNlclN0b3JlIH0gZnJvbSBcIi4uL2FwcC9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlXCI7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVXNlclN0b3JlID0ge1xuICBpZDogJycsXG4gIG5hbWU6ICcnLFxuICBlbWFpbDogJycsXG4gIGF2YXRhcjogJycsXG4gIHN0YXR1czogJycsXG4gIHRva2VuOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgYXV0aFN0b3JlID0gc2lnbmFsU3RvcmUoXG4gIHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0sXG4gIHdpdGhTdGF0ZShpbml0aWFsU3RhdGUpLFxuICB3aXRoTWV0aG9kcyhcbiAgICAoc3RvcmUsIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKSwgc3RvcmFnZSA9IGluamVjdChMb2NhbFN0b3JhZ2VTZXJ2aWNlKSkgPT4gKHtcbiAgICAgIGNoZWNrVXNlcmxvZ2luKCk6Ym9vbGVhbiB7XG4gICAgICAgIGNvbnN0IFVzZXJJbmZvcm1hdGlvbjogVXNlclN0b3JlID0gSlNPTi5wYXJzZShzdG9yYWdlLmdldExvY2FsU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnVzZXJJbmZvKSk7XG4gICAgICAgIGlmIChVc2VySW5mb3JtYXRpb24pIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCBVc2VySW5mb3JtYXRpb24pO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBsb2dpbihBUElfVVJMOiBzdHJpbmcsIGNyZWRlbnRpYWxzOiBMb2dpblVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF1dGhTZXJ2aWNlLnNpZ25JbihjcmVkZW50aWFscykucGlwZShcbiAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHVzZXJEYXRhOiBVc2VyU3RvcmUgPSB7XG4gICAgICAgICAgICAgICAgaWQ6IHJlcy5SZXN1bHQudXNlci5JZCxcbiAgICAgICAgICAgICAgICBlbWFpbDogcmVzLlJlc3VsdC51c2VyLkF0dHJpYnV0ZXMuRW1haWwsXG4gICAgICAgICAgICAgICAgbmFtZTogcmVzLlJlc3VsdC51c2VyLlBlcnNvbkRhdGEuRmlyc3ROYW1lLFxuICAgICAgICAgICAgICAgIGF2YXRhcjogJycsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICB0b2tlbjogcmVzLlJlc3VsdC5Ub2tlblxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB1c2VyRGF0YSk7XG4gICAgICAgICAgICAgIHN0b3JhZ2Uuc2V0TG9jYWxTdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMudXNlckluZm8sIHVzZXJEYXRhKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKHsgZXJyb3IgfSkgPT4gKGNvbnNvbGUubG9nKGVycm9yKSksXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSlcbiAgKVxuKTtcbiJdfQ==
package/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './lib/tab-core-utility/app/crud/tab-update.service';
10
10
  export * from './lib/tab-core-utility/app/crud/tab-workflow.service';
11
11
  export * from './lib/tab-core-utility/app/crud/tab-blueprint.service';
12
12
  export * from './lib/tab-core-utility/app/crud/tab-release.service';
13
+ export * from './lib/tab-core-utility/app/enums/common.enum';
13
14
  export * from './lib/tab-core-utility/app/enums/controllers.enum';
14
15
  export * from './lib/tab-core-utility/app/enums/dsq.enum';
15
16
  export * from './lib/tab-core-utility/app/enums/permission.enum';
@@ -57,4 +57,5 @@ export declare const API: {
57
57
  sendReport: string;
58
58
  GetReleaseJSONDifference: string;
59
59
  GetDataDifference: string;
60
+ RegisterTenant: string;
60
61
  };
@@ -34,12 +34,6 @@ export declare class TabGetService {
34
34
  * @returns Response from the API
35
35
  */
36
36
  changePassword(data: any): any;
37
- /**
38
- * Reset Password
39
- * @param data - Data for resetting password
40
- * @returns Response from the API
41
- */
42
- resetPassword(data: any): any;
43
37
  /**
44
38
  * PMJAY Import
45
39
  * @param data - Data for PMJAY import
@@ -7,11 +7,9 @@ export interface LoginUserRequest {
7
7
  email: string;
8
8
  password: string;
9
9
  }
10
- export interface ForgotPasswordUserRequest {
11
- email: string;
12
- }
13
10
  export interface ResetPasswordUserRequest {
14
- password: string;
11
+ Email: string;
12
+ NewPassword: string;
15
13
  }
16
14
  export interface RegisterTenant {
17
15
  AdminFirstName: string;
@@ -21,3 +19,11 @@ export interface RegisterTenant {
21
19
  TenantName: string;
22
20
  terms: boolean;
23
21
  }
22
+ export interface RefreshTokenRequest {
23
+ Token: string;
24
+ RefreshToken: string;
25
+ }
26
+ export interface UserDetailsRequest {
27
+ Username?: string;
28
+ UserId?: string;
29
+ }
@@ -5,7 +5,7 @@ import { ParameterModel } from './parameter.model';
5
5
  import { SortModel } from './sort.model';
6
6
  export declare class DataSourceQueryModel {
7
7
  private readonly raw;
8
- private readonly parentAppObject;
8
+ readonly parentAppObject: AppObjectModel;
9
9
  readonly ID: string;
10
10
  readonly ObjectID: string;
11
11
  readonly ObjectID_Tosave: string;
@@ -1,68 +1,50 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ForgotPasswordUserRequest, LoginUserRequest, NewUserRequest, RegisterTenant, ResetPasswordUserRequest } from '../app/interfaces/auth.interface';
3
- import { UserResponse } from '../app/interfaces/user.interface';
4
- import { ApiResponse } from '../app/interfaces/common-api.interface';
2
+ import { LoginUserRequest, NewUserRequest, RefreshTokenRequest, RegisterTenant, ResetPasswordUserRequest, UserDetailsRequest } from '../app/interfaces/auth.interface';
3
+ import { CommonApiResponse } from '../app/interfaces/common-api.interface';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class AuthService {
7
6
  /**
8
7
  * Injecting required services
9
8
  */
10
9
  private readonly apiService;
11
- private readonly localStorageService;
12
- /**
13
- * Fetch user details from the database
14
- *
15
- * @param endPointName - The End Point Name to fetch user details
16
- * @returns Observable<UserResponse> - An observable of UserResponse
17
- */
18
- user(endPointName: string): Observable<UserResponse>;
19
10
  /**
20
11
  * Sign in with provided credentials
21
- *
22
- * @param endPointName - The End Point Name to sign in
23
12
  * @param credentials - The login credentials
24
- * @returns Observable<UserResponse> - An observable of UserResponse
13
+ * @returns Observable<CommonApiResponse> - An observable of CommonApiResponse
25
14
  */
26
- signIn(endPointName: string, credentials: LoginUserRequest): Observable<UserResponse>;
15
+ signIn(credentials: LoginUserRequest): Observable<CommonApiResponse>;
27
16
  /**
28
17
  * Register tenant
29
- * @param endPointName - The End Point Name to register tenant
30
18
  * @param credentials - The credentials
19
+ * @returns Observable<CommonApiResponse>
31
20
  */
32
- registerTenant(endPointName: string, credentials: RegisterTenant): Observable<UserResponse>;
21
+ registerTenant(credentials: RegisterTenant): Observable<CommonApiResponse>;
33
22
  /**
34
23
  * Register a new user
35
- *
36
- * @param endPointName - The End Point Name to register a new user
37
24
  * @param credentials - The new user's credentials
38
- * @returns Observable<UserResponse> - An observable of UserResponse
39
- */
40
- register(endPointName: string, credentials: NewUserRequest, headers?: any): Observable<any>;
41
- /**
42
- * Forgot password
43
- * @param endPointName - The End Point Name of API
44
- * @param email - The email of user
25
+ * @param headers - The headers
26
+ * @returns Observable<CommonApiResponse> - An observable of CommonApiResponse
45
27
  */
46
- forgotPassword(endPointName: string, email: ForgotPasswordUserRequest): Observable<ApiResponse>;
28
+ register(credentials: NewUserRequest, headers?: any): Observable<CommonApiResponse>;
47
29
  /**
48
- * Reset password
49
- * @param endPointName - The End Point Name of API
50
- * @param password - The password of user
30
+ * Reset Password
31
+ * @param data - Data for resetting password
32
+ * @returns Response from the API
51
33
  */
52
- resetPassword(endPointName: string, password: ResetPasswordUserRequest): Observable<ApiResponse>;
34
+ resetPassword(data: ResetPasswordUserRequest): Observable<CommonApiResponse>;
53
35
  /**
54
- * Logout current session
36
+ * Refreshes the access token using the refresh token
37
+ * @param data - The refresh token request data
38
+ * @returns Observable<CommonApiResponse> - An observable of the response from the API
55
39
  */
56
- logout(key: string): void;
57
- refreshToken(data: any): Observable<any> | null;
40
+ refreshToken(data: RefreshTokenRequest): Observable<CommonApiResponse>;
58
41
  /**
59
42
  * Fetches user details based on the provided identity
60
- * @param identity - The ID of the user
61
- * @param params - Optional parameters for the request
43
+ * @param data - The user details request data
62
44
  * @param headers - Optional headers for the request
63
- * @returns Observable<any> - An observable of the user details
45
+ * @returns Observable<CommonApiResponse> - An observable of the user details
64
46
  */
65
- getUserDetails(data?: any, headers?: any): Observable<any>;
47
+ getUserDetails(data: UserDetailsRequest, headers?: any): Observable<CommonApiResponse>;
66
48
  static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
67
49
  static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
68
50
  }
@@ -1,19 +1,19 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { LoginUserRequest } from "../app/interfaces/auth.interface";
3
3
  export declare const authStore: import("@angular/core").Type<{
4
- token: import("@angular/core").Signal<string>;
5
- name: import("@angular/core").Signal<string>;
6
4
  id: import("@angular/core").Signal<any>;
7
5
  email: import("@angular/core").Signal<string>;
6
+ name: import("@angular/core").Signal<string>;
8
7
  avatar: import("@angular/core").Signal<string>;
9
8
  status: import("@angular/core").Signal<string>;
9
+ token: import("@angular/core").Signal<string>;
10
10
  checkUserlogin: () => boolean;
11
11
  login: (API_URL: string, credentials: LoginUserRequest) => Observable<any>;
12
12
  } & import("@ngrx/signals").StateSignal<{
13
- token: string;
14
- name: string;
15
13
  id: any;
16
14
  email: string;
15
+ name: string;
17
16
  avatar: string;
18
17
  status: string;
18
+ token: string;
19
19
  }>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.134",
3
+ "version": "2.2.138",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",