@techextensor/tab-core-utility 2.2.162 → 2.2.164

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.
@@ -62,6 +62,7 @@ export const API = {
62
62
  sendReport: 'report/SendReport',
63
63
  GetReleaseJSONDifference: 'Release/GetReleaseJSONDifference',
64
64
  GetDataDifference: 'Release/GetDataDifference',
65
- RegisterTenant: 'Tenant/RegisterTenant'
65
+ RegisterTenant: 'Tenant/RegisterTenant',
66
+ Execute: 'DataBaseExecution/Execute'
66
67
  };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsVUFBVTtJQUNsQixTQUFTLEVBQUUsa0JBQWtCO0lBQzdCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsUUFBUSxFQUFFLHNCQUFzQjtJQUNoQyxTQUFTLEVBQUUsMkJBQTJCO0lBQ3RDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixPQUFPLEVBQUUscUJBQXFCO0lBQzlCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGFBQWE7SUFDekIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZ0JBQWdCLEVBQUUseUJBQXlCO0lBQzNDLHFCQUFxQixFQUFFLDhCQUE4QjtJQUNyRCx5Q0FBeUM7SUFDekMsa0JBQWtCLEVBQUUsZ0NBQWdDO0lBQ3BELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0MsYUFBYSxFQUFHLDJCQUEyQjtJQUMzQyxZQUFZLEVBQUcscUJBQXFCO0lBQ3BDLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsa0JBQWtCLEVBQUcsMkJBQTJCO0lBQ2hELFVBQVUsRUFBRyxtQkFBbUI7SUFDaEMsd0JBQXdCLEVBQUMsa0NBQWtDO0lBQzNELGlCQUFpQixFQUFDLDJCQUEyQjtJQUM3QyxjQUFjLEVBQUUsdUJBQXVCO0NBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVBJID0ge1xyXG4gIGFwcGxpY2F0aW9uSWRlbnRpZmllcjogJzAyZFBsR1hDS0NQeScsIC8vcGhvZW5peFxyXG4gIGFwcGxpY2F0aW9uSWRlbnRpZmllckZvclBNUzogJ3FxbVh3ZUdCMURiRycsIC8vIHBtc1xyXG4gIC8vIGVuZHBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxOjg0NDEvYXBpL3YxLycsXHJcbiAgLy8gd29ya2Zsb3dFbmRQb2ludDogJ2h0dHA6Ly8xOTIuMTY4LjEwLjE4MS8nLFxyXG4gIG5vdnVCYWNrZW5kVXJsOiAnaHR0cHM6Ly9ub3Z1YXBpLnRlY2hleHRlbnNvci5jb20nLFxyXG4gIG5vdnVTb2NrZXRVcmw6ICdodHRwczovL25vdnV3cy50ZWNoZXh0ZW5zb3IuY29tJyxcclxuXHJcbiAgaW5zZXJ0OiAnQ1JVRC9JbnNlcnQnLFxyXG4gIGJ1bGtJbnNlcnQ6ICdDUlVEL0J1bGtJbnNlcnQnLFxyXG4gIHVwZGF0ZTogJ0NSVUQvVXBkYXRlJyxcclxuICBkZWxldGU6ICdDUlVEL0RlbGV0ZScsXHJcbiAgc2VsZWN0OiAnQ1JVRC9TZWxlY3QnLFxyXG4gIGdldERTUTogJ0NSVUQvRFNRJyxcclxuICBnZXRTY3JlZW46ICdMYXlvdXQvR2V0U2NyZWVuJyxcclxuICBnZXRMaXN0RnJvbURzcTogJ0xpc3QvR2V0P2RhdGFTb3VyY2VRdWVyeUlkPScsXHJcbiAgYnVpbGRBcHA6ICdBcHBsaWNhdGlvbi9CdWlsZEFwcCcsXHJcbiAgZ2V0U2NoZW1hOiAnQXBwbGljYXRpb24vR2V0U2NoZW1hRmlsZScsXHJcbiAgbG9naW46ICdpZGVudGl0eS9sb2dpbicsXHJcbiAgcGx1Z2luVXBsb2FkOiAnUGx1Z2lucy9VcGxvYWQnLFxyXG4gIGdldEZpbGU6ICdQbHVnaW5zL0dldEZpbGVCeUlkJyxcclxuICBnZXRBbGxQbHVnaW5CeVR5cGU6ICdQbHVnaW5zL0dldEFsbCcsXHJcbiAgdGVtcGxhdGVQYXJzZTogJ1RlbXBsYXRlL1BhcnNlJyxcclxuICBwdWJsaXNoQXBwOiAnQXBwbGljYXRpb24vUHVibGlzaEFwcCcsXHJcbiAgZ2V0cmVjb3JkOiAnR2V0UmVjb3JkJyxcclxuICByYXdTUUw6ICdDUlVEL1Jhd1NRTCcsXHJcbiAgZmlsZVVwbG9hZDogJ0ZpbGUvVXBsb2FkJyxcclxuICBtdWx0aXBsZUZpbGVVcGxvYWQ6ICdGaWxlL1VwbG9hZEZpbGUnLFxyXG4gIGRlbGV0ZUZpbGU6ICdGaWxlL0RlbGV0ZUZpbGUnLFxyXG4gIGdldE1lZGlhRmlsZTogJ0ZpbGUvR2V0RmlsZScsXHJcbiAgZ2V0SGlzdG9yeTogJ0dldEhpc3RvcnknLFxyXG4gIGNoYW5nZVBhc3N3b3JkOiAnaWRlbnRpdHkvQ2hhbmdlUGFzc3dvcmQnLFxyXG4gIHJlc3RwYXNzd29yZDogJ2lkZW50aXR5L1Jlc2V0UGFzc3dvcmQnLFxyXG4gIGdldEltYWdlOiAnRmlsZS9HZXRJbWFnZScsXHJcbiAgcG1qYXlJbXBvcnQ6ICdJbXBvcnREYXRhJyxcclxuICBnZXRTY3JlZW5EYXRhOiAnRm9ybUlPL0dldFNjcmVlbkRhdGEnLFxyXG4gIHByb2Nlc3NSZXF1ZXN0OiAnRm9ybUlPL1Byb2Nlc3NSZXF1ZXN0JyxcclxuICBnZXROZXh0U3RhdHVzOiAnVHJhbnNpdGlvbi9HZXROZXh0U3RhdHVzJyxcclxuICB1cGRhdGVTdGF0dXM6ICdUcmFuc2l0aW9uL1VwZGF0ZVN0YXR1cycsXHJcbiAgcmVnaXN0ZXJVc2VyOiAnaWRlbnRpdHkvcmVnaXN0ZXInLFxyXG4gIGdldFVzZXJEZXRhaWxzOiAnaWRlbnRpdHkvR2V0VXNlckRldGFpbHMnLFxyXG4gIGdldFBlcm1pc3Npb246ICdBcHBsaWNhdGlvbi9HZXRQZXJtaXNzaW9uJyxcclxuICB0ZXN0Q29ubmVjdGlvbjogJ01ldGFEYXRhL1Rlc3RDb25uZWN0aW9uJyxcclxuICBwZXJmb3JtVmFsaWRhdGlvbjogJ01ldGFEYXRhL1BlcmZvcm1WYWxpZGF0aW9uJyxcclxuICBzZXRUYWJDb21wb25lbnRzOiAnVGVuYW50L1NldFRhYkNvbXBvbmVudHMnLFxyXG4gIEJ1aWxkRm9ybUlPQ29tcG9uZW50czogJ0Zvcm1JTy9CdWlsZEZvcm1JT0NvbXBvbmVudHMnLFxyXG4gIC8vIGZpbGVNYW5hZ2VyVXBsb2FkOidGaWxlTWFuYWdlci9VcGxvYWQnXHJcbiAgcmVnaXN0ZXJBcHBPYmplY3RzOiAnQXBwbGljYXRpb24vUmVnaXN0ZXJBcHBPYmplY3RzJyxcclxuICBsYW5ndWFnZVJlc291cmNlOiAnUmVzb3VyY2VzL0xhbmd1YWdlUmVzb3VyY2UnLFxyXG4gIHJlZnJlc2hUb2tlbjogJ2lkZW50aXR5L1JlZnJlc2gnLFxyXG4gIHNlYXJjaDogJ1NlYXJjaCcsXHJcbiAgY2xvbmVEc3E6ICdBcHBsaWNhdGlvbi9DbG9uZURTUScsXHJcbiAgSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3M6XHJcbiAgICAnRWxhc3RpY1NlYXJjaC9JbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2VuZXJhdGVIdHRwUmVxdWVzdDogJ0NSVUQvR2VuZXJhdGVIdHRwUmVxdWVzdCcsXHJcbiAgR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyA6ICdFbGFzdGljU2VhcmNoL0dldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzIDogJ0VsYXN0aWNTZWFyY2gvR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdldERhdGFKc29uQnlUeXBlOiAnVGVuYW50L0dldERhdGFKc29uQnlUeXBlJyxcclxuICBTeW5jQXBwRmllbGRzIDogJ0FwcGxpY2F0aW9uL1N5bmNBcHBGaWVsZHMnLFxyXG4gIGV4cG9ydFJlcG9ydCA6ICdyZXBvcnQvRXhwb3J0UmVwb3J0JyxcclxuICBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YSA6ICdFbGFzdGljU2VhcmNoL1JlZnJlc2hHbG9iYWxTZWFyY2hEYXRhJyxcclxuICBSZWZyZXNoUmVjb3JkSW5mb0RhdGE6ICdEYXRhSW50ZWdyaXR5L1JlZnJlc2hSZWNvcmRJbmZvRGF0YScsXHJcbiAgZG93bmxvYWRSZXBvcnRGaWxlIDogJ3JlcG9ydC9Eb3dubG9hZFJlcG9ydEZpbGUnLFxyXG4gIHNlbmRSZXBvcnQgOiAncmVwb3J0L1NlbmRSZXBvcnQnLFxyXG4gIEdldFJlbGVhc2VKU09ORGlmZmVyZW5jZTonUmVsZWFzZS9HZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2UnLFxyXG4gIEdldERhdGFEaWZmZXJlbmNlOidSZWxlYXNlL0dldERhdGFEaWZmZXJlbmNlJyxcclxuICBSZWdpc3RlclRlbmFudDogJ1RlbmFudC9SZWdpc3RlclRlbmFudCdcclxufTtcclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsVUFBVTtJQUNsQixTQUFTLEVBQUUsa0JBQWtCO0lBQzdCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsUUFBUSxFQUFFLHNCQUFzQjtJQUNoQyxTQUFTLEVBQUUsMkJBQTJCO0lBQ3RDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixPQUFPLEVBQUUscUJBQXFCO0lBQzlCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGFBQWE7SUFDekIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZ0JBQWdCLEVBQUUseUJBQXlCO0lBQzNDLHFCQUFxQixFQUFFLDhCQUE4QjtJQUNyRCx5Q0FBeUM7SUFDekMsa0JBQWtCLEVBQUUsZ0NBQWdDO0lBQ3BELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0MsYUFBYSxFQUFHLDJCQUEyQjtJQUMzQyxZQUFZLEVBQUcscUJBQXFCO0lBQ3BDLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsa0JBQWtCLEVBQUcsMkJBQTJCO0lBQ2hELFVBQVUsRUFBRyxtQkFBbUI7SUFDaEMsd0JBQXdCLEVBQUMsa0NBQWtDO0lBQzNELGlCQUFpQixFQUFDLDJCQUEyQjtJQUM3QyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLE9BQU8sRUFBRSwyQkFBMkI7Q0FDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBUEkgPSB7XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyOiAnMDJkUGxHWENLQ1B5JywgLy9waG9lbml4XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyRm9yUE1TOiAncXFtWHdlR0IxRGJHJywgLy8gcG1zXHJcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vMTkyLjE2OC4xMC4xODE6ODQ0MS9hcGkvdjEvJyxcclxuICAvLyB3b3JrZmxvd0VuZFBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxLycsXHJcbiAgbm92dUJhY2tlbmRVcmw6ICdodHRwczovL25vdnVhcGkudGVjaGV4dGVuc29yLmNvbScsXHJcbiAgbm92dVNvY2tldFVybDogJ2h0dHBzOi8vbm92dXdzLnRlY2hleHRlbnNvci5jb20nLFxyXG5cclxuICBpbnNlcnQ6ICdDUlVEL0luc2VydCcsXHJcbiAgYnVsa0luc2VydDogJ0NSVUQvQnVsa0luc2VydCcsXHJcbiAgdXBkYXRlOiAnQ1JVRC9VcGRhdGUnLFxyXG4gIGRlbGV0ZTogJ0NSVUQvRGVsZXRlJyxcclxuICBzZWxlY3Q6ICdDUlVEL1NlbGVjdCcsXHJcbiAgZ2V0RFNROiAnQ1JVRC9EU1EnLFxyXG4gIGdldFNjcmVlbjogJ0xheW91dC9HZXRTY3JlZW4nLFxyXG4gIGdldExpc3RGcm9tRHNxOiAnTGlzdC9HZXQ/ZGF0YVNvdXJjZVF1ZXJ5SWQ9JyxcclxuICBidWlsZEFwcDogJ0FwcGxpY2F0aW9uL0J1aWxkQXBwJyxcclxuICBnZXRTY2hlbWE6ICdBcHBsaWNhdGlvbi9HZXRTY2hlbWFGaWxlJyxcclxuICBsb2dpbjogJ2lkZW50aXR5L2xvZ2luJyxcclxuICBwbHVnaW5VcGxvYWQ6ICdQbHVnaW5zL1VwbG9hZCcsXHJcbiAgZ2V0RmlsZTogJ1BsdWdpbnMvR2V0RmlsZUJ5SWQnLFxyXG4gIGdldEFsbFBsdWdpbkJ5VHlwZTogJ1BsdWdpbnMvR2V0QWxsJyxcclxuICB0ZW1wbGF0ZVBhcnNlOiAnVGVtcGxhdGUvUGFyc2UnLFxyXG4gIHB1Ymxpc2hBcHA6ICdBcHBsaWNhdGlvbi9QdWJsaXNoQXBwJyxcclxuICBnZXRyZWNvcmQ6ICdHZXRSZWNvcmQnLFxyXG4gIHJhd1NRTDogJ0NSVUQvUmF3U1FMJyxcclxuICBmaWxlVXBsb2FkOiAnRmlsZS9VcGxvYWQnLFxyXG4gIG11bHRpcGxlRmlsZVVwbG9hZDogJ0ZpbGUvVXBsb2FkRmlsZScsXHJcbiAgZGVsZXRlRmlsZTogJ0ZpbGUvRGVsZXRlRmlsZScsXHJcbiAgZ2V0TWVkaWFGaWxlOiAnRmlsZS9HZXRGaWxlJyxcclxuICBnZXRIaXN0b3J5OiAnR2V0SGlzdG9yeScsXHJcbiAgY2hhbmdlUGFzc3dvcmQ6ICdpZGVudGl0eS9DaGFuZ2VQYXNzd29yZCcsXHJcbiAgcmVzdHBhc3N3b3JkOiAnaWRlbnRpdHkvUmVzZXRQYXNzd29yZCcsXHJcbiAgZ2V0SW1hZ2U6ICdGaWxlL0dldEltYWdlJyxcclxuICBwbWpheUltcG9ydDogJ0ltcG9ydERhdGEnLFxyXG4gIGdldFNjcmVlbkRhdGE6ICdGb3JtSU8vR2V0U2NyZWVuRGF0YScsXHJcbiAgcHJvY2Vzc1JlcXVlc3Q6ICdGb3JtSU8vUHJvY2Vzc1JlcXVlc3QnLFxyXG4gIGdldE5leHRTdGF0dXM6ICdUcmFuc2l0aW9uL0dldE5leHRTdGF0dXMnLFxyXG4gIHVwZGF0ZVN0YXR1czogJ1RyYW5zaXRpb24vVXBkYXRlU3RhdHVzJyxcclxuICByZWdpc3RlclVzZXI6ICdpZGVudGl0eS9yZWdpc3RlcicsXHJcbiAgZ2V0VXNlckRldGFpbHM6ICdpZGVudGl0eS9HZXRVc2VyRGV0YWlscycsXHJcbiAgZ2V0UGVybWlzc2lvbjogJ0FwcGxpY2F0aW9uL0dldFBlcm1pc3Npb24nLFxyXG4gIHRlc3RDb25uZWN0aW9uOiAnTWV0YURhdGEvVGVzdENvbm5lY3Rpb24nLFxyXG4gIHBlcmZvcm1WYWxpZGF0aW9uOiAnTWV0YURhdGEvUGVyZm9ybVZhbGlkYXRpb24nLFxyXG4gIHNldFRhYkNvbXBvbmVudHM6ICdUZW5hbnQvU2V0VGFiQ29tcG9uZW50cycsXHJcbiAgQnVpbGRGb3JtSU9Db21wb25lbnRzOiAnRm9ybUlPL0J1aWxkRm9ybUlPQ29tcG9uZW50cycsXHJcbiAgLy8gZmlsZU1hbmFnZXJVcGxvYWQ6J0ZpbGVNYW5hZ2VyL1VwbG9hZCdcclxuICByZWdpc3RlckFwcE9iamVjdHM6ICdBcHBsaWNhdGlvbi9SZWdpc3RlckFwcE9iamVjdHMnLFxyXG4gIGxhbmd1YWdlUmVzb3VyY2U6ICdSZXNvdXJjZXMvTGFuZ3VhZ2VSZXNvdXJjZScsXHJcbiAgcmVmcmVzaFRva2VuOiAnaWRlbnRpdHkvUmVmcmVzaCcsXHJcbiAgc2VhcmNoOiAnU2VhcmNoJyxcclxuICBjbG9uZURzcTogJ0FwcGxpY2F0aW9uL0Nsb25lRFNRJyxcclxuICBJbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljczpcclxuICAgICdFbGFzdGljU2VhcmNoL0luc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZW5lcmF0ZUh0dHBSZXF1ZXN0OiAnQ1JVRC9HZW5lcmF0ZUh0dHBSZXF1ZXN0JyxcclxuICBHZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzIDogJ0VsYXN0aWNTZWFyY2gvR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MgOiAnRWxhc3RpY1NlYXJjaC9HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0RGF0YUpzb25CeVR5cGU6ICdUZW5hbnQvR2V0RGF0YUpzb25CeVR5cGUnLFxyXG4gIFN5bmNBcHBGaWVsZHMgOiAnQXBwbGljYXRpb24vU3luY0FwcEZpZWxkcycsXHJcbiAgZXhwb3J0UmVwb3J0IDogJ3JlcG9ydC9FeHBvcnRSZXBvcnQnLFxyXG4gIFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhIDogJ0VsYXN0aWNTZWFyY2gvUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEnLFxyXG4gIFJlZnJlc2hSZWNvcmRJbmZvRGF0YTogJ0RhdGFJbnRlZ3JpdHkvUmVmcmVzaFJlY29yZEluZm9EYXRhJyxcclxuICBkb3dubG9hZFJlcG9ydEZpbGUgOiAncmVwb3J0L0Rvd25sb2FkUmVwb3J0RmlsZScsXHJcbiAgc2VuZFJlcG9ydCA6ICdyZXBvcnQvU2VuZFJlcG9ydCcsXHJcbiAgR2V0UmVsZWFzZUpTT05EaWZmZXJlbmNlOidSZWxlYXNlL0dldFJlbGVhc2VKU09ORGlmZmVyZW5jZScsXHJcbiAgR2V0RGF0YURpZmZlcmVuY2U6J1JlbGVhc2UvR2V0RGF0YURpZmZlcmVuY2UnLFxyXG4gIFJlZ2lzdGVyVGVuYW50OiAnVGVuYW50L1JlZ2lzdGVyVGVuYW50JyxcclxuICBFeGVjdXRlOiAnRGF0YUJhc2VFeGVjdXRpb24vRXhlY3V0ZSdcclxufTtcclxuIl19
@@ -203,6 +203,33 @@ export class TabCrudService {
203
203
  // Execute the stored procedure using a POST request
204
204
  return this._apiService.post(`${API.rawSQL}?query=${sp}`, {}, header);
205
205
  }
206
+ /**
207
+ * Executes a stored procedure based on the given parameters.
208
+ * @param payload The payload containing the object name, object type, and parameters for the stored procedure.
209
+ * @param headers Optional headers for the request.
210
+ * @returns An observable of the response from the API.
211
+ */
212
+ executeStoredProcedure(payload, headers) {
213
+ if (!headers) {
214
+ headers = getHeaders();
215
+ }
216
+ // Convert the parameters object to the required format
217
+ const params = [];
218
+ if (typeof payload?.Parameters === 'object') {
219
+ // Iterate over the parameters and create the required format
220
+ Object.keys(payload.Parameters).forEach((key) => {
221
+ params.push({
222
+ Name: key,
223
+ Value: payload.Parameters[key]
224
+ });
225
+ });
226
+ }
227
+ // Execute the stored procedure
228
+ return this._apiService.post(API.Execute, {
229
+ ...payload,
230
+ Parameters: params,
231
+ }, headers);
232
+ }
206
233
  static { this.ɵfac = function TabCrudService_Factory(t) { return new (t || TabCrudService)(); }; }
207
234
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabCrudService, factory: TabCrudService.ɵfac, providedIn: 'root' }); }
208
235
  }
@@ -210,4 +237,4 @@ export class TabCrudService {
210
237
  type: Injectable,
211
238
  args: [{ providedIn: 'root' }]
212
239
  }], null, null); })();
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQWdDLGlCQUFpQixFQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixvQkFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsMkJBQXNCLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlFLGVBQVUsR0FBYyxNQUFNLENBQUMsU0FBUyxD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QkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBDcnVkQmFzZVBheWxvYWQsIERlbGV0ZVBheWxvYWQsIEdldFBheWxvYWQsIEluc2VydFBheWxvYWQsIFVwZGF0ZVBheWxvYWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbFwiO1xuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcbmltcG9ydCB7IGNyZWF0ZUR5bmFtaWNEYXRhLGdldEJ1bGtJbnNlcnRGaWVsZHMsIGdldEJ1bGtJbnNlcnRWYWx1ZXMsIHJlbW92ZUJsYW5rVmFsdWUgfSBmcm9tIFwiLi4vdXRpbHMvanNvbi51dGlsXCI7XG5pbXBvcnQgeyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzLCBBUElGaWx0ZXJDcml0ZXJpYSwgQVBJVmFsdWVTZXRzIH0gZnJvbSBcIi4uL21vZGVscy9hcGktcXVlcnkuY2xhc3NcIjtcbmltcG9ydCB7IFJlcXVlc3RSZXNwb25zZUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnNcIjtcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVyc1wiO1xuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSBcIi4uL2VudW1zL3F1ZXJ5LmVudW1cIjtcbmltcG9ydCB7IENvbmp1Y3Rpb25DbGF1c2UsIEZpbHRlclZhbHVlVHlwZSwgUmVsYXRpb25hbE9wZXJhdG9yIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9kYXRhLXNvdXJjZS1xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGFiQ3J1ZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21ldGFkYXRhSGVscGVyOiBNZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVxdWVzdFJlc3BvbnNlSGVscGVyOiBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgPSBpbmplY3QoUmVxdWVzdFJlc3BvbnNlSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kc3FIZWxwZXI6IERTUUhlbHBlciA9IGluamVjdChEU1FIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBnaXZlbiBwYXlsb2FkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIHdpdGggZWl0aGVyIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIG9yIGFwcE9iamVjdElkT3JOYW1lLlxuICAgICAqIEByZXR1cm5zIFRoZSBBcHBPYmplY3RNb2RlbC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQ6IENydWRCYXNlUGF5bG9hZCk6IEFwcE9iamVjdE1vZGVsIHtcbiAgICAgICAgbGV0IGFwcE9iamVjdDtcblxuICAgICAgICBpZiAocGF5bG9hZD8uZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpIHtcbiAgICAgICAgICAgIC8vIElmIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIGlzIGdpdmVuLCBnZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGRhdGEgc291cmNlIHF1ZXJ5XG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKHBheWxvYWQuZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpPy5wYXJlbnRBcHBPYmplY3Q7XG5cbiAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkPy5hcHBPYmplY3RJZE9yTmFtZSkge1xuICAgICAgICAgICAgLy8gSWYgYXBwT2JqZWN0SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZGlyZWN0bHlcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUocGF5bG9hZC5hcHBPYmplY3RJZE9yTmFtZSk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwT2JqZWN0Py5JRCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBPYmplY3Qgbm90IGZvdW5kJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXBwT2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgb3V0IGludmFsaWQgZmllbGRzIGZyb20gdGhlIHByb3ZpZGVkIGRhdGEgYmFzZWQgb24gdGhlIEFwcE9iamVjdE1vZGVsLlxuICAgICAqIE9wdGlvbmFsbHkgcmV0YWlucyBwcmltYXJ5IGtleSBmaWVsZHMuXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgb2JqZWN0IHRvIGZpbHRlci5cbiAgICAgKiBAcGFyYW0gYXBwT2JqZWN0IFRoZSBBcHBPYmplY3RNb2RlbCB1c2VkIHRvIHZhbGlkYXRlIHRoZSBmaWVsZHMuXG4gICAgICogQHBhcmFtIGtlZXBQcmltYXJ5S2V5IE9wdGlvbmFsIGZsYWcgdG8gcmV0YWluIHByaW1hcnkga2V5IGZpZWxkcy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICogQHJldHVybnMgQSBuZXcgb2JqZWN0IHdpdGggb25seSB2YWxpZCBmaWVsZHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhkYXRhOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwsIGtlZXBQcmltYXJ5S2V5ID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JykgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcblxuICAgICAgICAvLyBSZW1vdmUgZmllbGRzIHdpdGggYmxhbmsgdmFsdWVzXG4gICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGZpbHRlcmVkIGRhdGFcbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyZWREYXRhKT8uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcHBGaWVsZCA9IGFwcE9iamVjdC5maWVsZChrZXkpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRGaWVsZCA9IGFwcE9iamVjdC5DaGlsZFJlbGF0aW9uU2hpcHM/LnNvbWUoKHgpID0+IHg/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0ID09PSBrZXkpO1xuXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZpZWxkIGlmIGl0IGlzIG5vdCB2YWxpZCBvciBpZiBwcmltYXJ5IGtleXMgc2hvdWxkIG5vdCBiZSBrZXB0XG4gICAgICAgICAgICBpZiAoIShhcHBGaWVsZCB8fCBjaGlsZEZpZWxkKSB8fCAoIWtlZXBQcmltYXJ5S2V5ICYmIGFwcEZpZWxkPy5Jc1ByaW1hcnlLZXkpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGZpbHRlcmVkRGF0YVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWQuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNyaXRlcmlhIFRoZSBjcml0ZXJpYSBvYmplY3QgdG8gZ2VuZXJhdGUgdGhlIHdoZXJlIGNsYXVzZSBmcm9tLlxuICAgICAqIEBwYXJhbSBjcnVkVGFibGVOYW1lIFRoZSBDUlVEIHRhYmxlIG5hbWUgdG8gdXNlIGluIHRoZSB3aGVyZSBjbGF1c2UuXG4gICAgICogQHJldHVybnMgQSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0IHdpdGggdGhlIGdlbmVyYXRlZCB3aGVyZSBjbGF1c2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVdoZXJlQ2xhdXNlKGNyaXRlcmlhOiBhbnksIGNydWRUYWJsZU5hbWU6IHN0cmluZywgcHJvdmlkZUVtcHR5V2hlcmVDbGF1c2UgPSBmYWxzZSk6IEFQSUZpbHRlckNyaXRlcmlhIHtcbiAgICAgICAgaWYgKCFwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSAmJiAoIWNyaXRlcmlhIHx8IHR5cGVvZiBjcml0ZXJpYSAhPT0gJ29iamVjdCcgfHwgIU9iamVjdC5rZXlzKGNyaXRlcmlhKSkpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbSB0aGUgY3JpdGVyaWFcbiAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShjcml0ZXJpYSk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IEFQSUZpbHRlckNyaXRlcmlhIG9iamVjdFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZSA9IG5ldyBBUElGaWx0ZXJDcml0ZXJpYSgpO1xuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzID0gW107XG5cbiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2gga2V5IGluIHRoZSBjcml0ZXJpYSBhbmQgYWRkIGl0IHRvIHRoZSB3aGVyZSBjbGF1c2VcbiAgICAgICAgT2JqZWN0LmtleXMoY3JpdGVyaWEpPy5mb3JFYWNoKChrZXk6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0ge1xuICAgICAgICAgICAgICAgIENvbmp1Y3Rpb25DbGF1c2U6IENvbmp1Y3Rpb25DbGF1c2UuQU5ELCAvLyBjb25qdWN0aW9uIGNsYXVzZSBpcyBBTkQgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEZpZWxkSUQ6IGNydWRUYWJsZU5hbWUgKyAnLicgKyBrZXksIC8vIGNvbWJpbmUgdGhlIENSVUQgdGFibGUgbmFtZSB3aXRoIHRoZSBmaWVsZCBuYW1lXG4gICAgICAgICAgICAgICAgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbywgLy8gcmVsYXRpb25hbCBvcGVyYXRvciBpcyBFcXVhbFRvIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgICAgICBWYWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLCAvLyB2YWx1ZSB0eXBlIGlzIExpdGVyYWwgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjcml0ZXJpYVtrZXldLCAvLyBzZXQgdGhlIHZhbHVlIG9mIHRoZSBmaWx0ZXJcbiAgICAgICAgICAgICAgICBTZXF1ZW5jZTogMCwgLy8gc2V0IHRoZSBzZXF1ZW5jZSB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgICAgICBHcm91cElEOiAwIC8vIHNldCB0aGUgZ3JvdXAgSUQgdG8gMCBieSBkZWZhdWx0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2hlcmVDbGF1c2UuRmlsdGVycy5wdXNoKGZpbHRlcik7IC8vIGFkZCB0aGUgZmlsdGVyIHRvIHRoZSBhcnJheSBvZiBmaWx0ZXJzXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNldCB0aGUgZmlsdGVyIGxvZ2ljIHRvICcxJ1xuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9ICcxJztcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGdlbmVyYXRlZCB3aGVyZSBjbGF1c2VcbiAgICAgICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgR0VUIHJlcXVlc3QgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzcGVjaWZpZWQgZGF0YSBzb3VyY2UgcXVlcnkuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBnZXQocGF5bG9hZDogR2V0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gR2V0IHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBwYXlsb2FkXG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuXG4gICAgICAgIC8vIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgZnJvbSB0aGUgQXBwT2JqZWN0TW9kZWxcbiAgICAgICAgY29uc3QgZHNxOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCA9IGFwcE9iamVjdC5kYXRhU291cmNlUXVlcnkocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIEFwcE9iamVjdE1vZGVsIGFuZCBEYXRhU291cmNlUXVlcnlNb2RlbFxuICAgICAgICBpZiAoIWFwcE9iamVjdCB8fCAhZHNxKSB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBvciBEYXRhU291cmNlUXVlcnkgbm90IGZvdW5kJyk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBoZWFkZXJzIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBHRVQgcmVxdWVzdFxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KFxuICAgICAgICAgICAgLy8gVGhlIFVSTCBmb3IgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2FwcE9iamVjdD8uT2JqZWN0TmFtZX0vJHtkc3E/LlF1ZXJ5TmFtZX1gLFxuICAgICAgICAgICAgLy8gVGhlIGNyaXRlcmlhIGZvciB0aGUgcXVlcnlcbiAgICAgICAgICAgIHBheWxvYWQuY3JpdGVyaWEsXG4gICAgICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgICAgIGhlYWRlclxuICAgICAgICApIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydHMgZGF0YSBpbnRvIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGF0YSB0byBpbnNlcnQgYW5kIHRoZSBBcHBPYmplY3RNb2RlbCBJRC5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXG4gICAgICovXG4gICAgaW5zZXJ0KHBheWxvYWQ6IEluc2VydFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuXG4gICAgICAgIC8vIEZpbHRlciBvdXQgaW52YWxpZCBmaWVsZHMgZnJvbSB0aGUgZGF0YSBiYXNlZCBvbiB0aGUgQXBwT2JqZWN0TW9kZWxcbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhOiBhbnkgPSB0aGlzLmZpbHRlclZhbGlkQXBwT2JqZWN0RmllbGRzKHBheWxvYWQuZGF0YSwgYXBwT2JqZWN0KTtcblxuICAgICAgICAvLyBDcmVhdGUgYSB3aGVyZSBjbGF1c2UgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZSh7fSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB0cnVlKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmluc2VydFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWREYXRhKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBxdWVyeVxuICAgICAgICByZXR1cm4gdGhpcy5fZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShhcGlQYXlsb2FkLCBRdWVyeVR5cGUuSW5zZXJ0LCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG4gICAgYnVsa0luc2VydChwYXlsb2FkOiBJbnNlcnRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcbiAgICAgICAgLy8gQ3JlYXRlIGEgd2hlcmUgY2xhdXNlIGZvciB0aGUgaW5zZXJ0IG9wZXJhdGlvblxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2Uoe30sIGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgdHJ1ZSk7XG5cbiAgICAgICAgLy8gVHJhbnNmb3JtIHRoZSBkYXRhIGludG8gdGhlIGZvcm1hdCByZXF1aXJlZCBieSB0aGUgQVBJXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRmllbGRzOiBzdHJpbmdbXSA9IGdldEJ1bGtJbnNlcnRGaWVsZHMocGF5bG9hZC5kYXRhKTtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZXM6IEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHNbXSA9IGdldEJ1bGtJbnNlcnRWYWx1ZXMocGF5bG9hZC5kYXRhKTtcbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmJ1bGtJbnNlcnRQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkVmFsdWVzLHRyYW5zZm9ybWVkRmllbGRzKTtcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkJ1bGtJbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGRhdGEgaW4gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIHVwZGF0ZSwgdGhlIGNyaXRlcmlhIGZvciB0aGUgdXBkYXRlLCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICB1cGRhdGUocGF5bG9hZDogVXBkYXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcbiAgICAgICAgaWYgKCF3aGVyZUNsYXVzZT8uRmlsdGVycz8ubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JpdGVyaWEnKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLnVwZGF0ZVJlcXVlc3RQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkRGF0YSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLlVwZGF0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIGRlbGV0ZSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBkZWxldGUocGF5bG9hZDogRGVsZXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3RcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5kZWxldGVQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5EZWxldGUsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSB1c2luZyByYXcgU1FMLlxuICAgICAqIEBwYXJhbSBzcCBUaGUgc3RvcmVkIHByb2NlZHVyZSBxdWVyeSBzdHJpbmcuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgQVBJIFBPU1QgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBleGVjdXRlU3Aoc3A6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gUmV0cmlldmUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIGEgUE9TVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnJhd1NRTH0/cXVlcnk9JHtzcH1gLCB7fSwgaGVhZGVyKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG59XG4iXX0=
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQWdDLGlCQUFpQixFQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixvQkFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsMkJBQXNCLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlFLGVBQVUsR0FBYyxNQUFNLENBQUMsU0FBUyxD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c0MsRUFBRSxPQUFhO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsdURBQXVEO1FBQ3ZELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxFQUFFLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQyw2REFBNkQ7WUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ1IsSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2lCQUNqQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ3RDLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEIsQ0FBQzsrRUFoUVEsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBDcnVkQmFzZVBheWxvYWQsIERlbGV0ZVBheWxvYWQsIGV4ZWN1dGVTdG9yZWRQcm9jZWR1cmVQYXlsb2FkLCBHZXRQYXlsb2FkLCBJbnNlcnRQYXlsb2FkLCBVcGRhdGVQYXlsb2FkIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQXBwT2JqZWN0TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2FwcC1vYmplY3QubW9kZWxcIjtcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzXCI7XG5pbXBvcnQgeyBjcmVhdGVEeW5hbWljRGF0YSwgZ2V0QnVsa0luc2VydEZpZWxkcywgZ2V0QnVsa0luc2VydFZhbHVlcywgcmVtb3ZlQmxhbmtWYWx1ZSB9IGZyb20gXCIuLi91dGlscy9qc29uLnV0aWxcIjtcbmltcG9ydCB7IEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHMsIEFQSUZpbHRlckNyaXRlcmlhLCBBUElWYWx1ZVNldHMgfSBmcm9tIFwiLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzc1wiO1xuaW1wb3J0IHsgUmVxdWVzdFJlc3BvbnNlSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVyc1wiO1xuaW1wb3J0IHsgRFNRSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzXCI7XG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvcXVlcnkuZW51bVwiO1xuaW1wb3J0IHsgQ29uanVjdGlvbkNsYXVzZSwgRmlsdGVyVmFsdWVUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZHNxLmVudW1cIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBBUEkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tIFwiLi4vdXRpbHMvcmVxLXJlcy51dGlsXCI7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJDcnVkU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1ZXN0UmVzcG9uc2VIZWxwZXI6IFJlcXVlc3RSZXNwb25zZUhlbHBlciA9IGluamVjdChSZXF1ZXN0UmVzcG9uc2VIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RzcUhlbHBlcjogRFNRSGVscGVyID0gaW5qZWN0KERTUUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGdpdmVuIHBheWxvYWQuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgd2l0aCBlaXRoZXIgZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUgb3IgYXBwT2JqZWN0SWRPck5hbWUuXG4gICAgICogQHJldHVybnMgVGhlIEFwcE9iamVjdE1vZGVsLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZDogQ3J1ZEJhc2VQYXlsb2FkKTogQXBwT2JqZWN0TW9kZWwge1xuICAgICAgICBsZXQgYXBwT2JqZWN0O1xuXG4gICAgICAgIGlmIChwYXlsb2FkPy5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSkge1xuICAgICAgICAgICAgLy8gSWYgZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZnJvbSB0aGUgZGF0YSBzb3VyY2UgcXVlcnlcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldERhdGFTb3VyY2VRdWVyeUJ5SWRPck5hbWUocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk/LnBhcmVudEFwcE9iamVjdDtcblxuICAgICAgICB9IGVsc2UgaWYgKHBheWxvYWQ/LmFwcE9iamVjdElkT3JOYW1lKSB7XG4gICAgICAgICAgICAvLyBJZiBhcHBPYmplY3RJZE9yTmFtZSBpcyBnaXZlbiwgZ2V0IHRoZSBBcHBPYmplY3RNb2RlbCBkaXJlY3RseVxuICAgICAgICAgICAgYXBwT2JqZWN0ID0gdGhpcy5fbWV0YWRhdGFIZWxwZXIuZ2V0QXBwT2JqZWN0QnlJZE9yTmFtZShwYXlsb2FkLmFwcE9iamVjdElkT3JOYW1lKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhcHBPYmplY3Q/LklEKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhcHBPYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVycyBvdXQgaW52YWxpZCBmaWVsZHMgZnJvbSB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgQXBwT2JqZWN0TW9kZWwuXG4gICAgICogT3B0aW9uYWxseSByZXRhaW5zIHByaW1hcnkga2V5IGZpZWxkcy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBvYmplY3QgdG8gZmlsdGVyLlxuICAgICAqIEBwYXJhbSBhcHBPYmplY3QgVGhlIEFwcE9iamVjdE1vZGVsIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0ga2VlcFByaW1hcnlLZXkgT3B0aW9uYWwgZmxhZyB0byByZXRhaW4gcHJpbWFyeSBrZXkgZmllbGRzLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBvYmplY3Qgd2l0aCBvbmx5IHZhbGlkIGZpZWxkcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbHRlclZhbGlkQXBwT2JqZWN0RmllbGRzKGRhdGE6IGFueSwgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCwga2VlcFByaW1hcnlLZXkgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIWRhdGEgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YScpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmaWVsZHMgd2l0aCBibGFuayB2YWx1ZXNcbiAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShmaWx0ZXJlZERhdGEpO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGtleSBpbiB0aGUgZmlsdGVyZWQgZGF0YVxuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXJlZERhdGEpPy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFwcEZpZWxkID0gYXBwT2JqZWN0LmZpZWxkKGtleSk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZEZpZWxkID0gYXBwT2JqZWN0LkNoaWxkUmVsYXRpb25TaGlwcz8uc29tZSgoeCkgPT4geD8uY2hpbGREZXRhaWxzPy5Mb29rdXBPYmplY3QgPT09IGtleSk7XG5cbiAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgZmllbGQgaWYgaXQgaXMgbm90IHZhbGlkIG9yIGlmIHByaW1hcnkga2V5cyBzaG91bGQgbm90IGJlIGtlcHRcbiAgICAgICAgICAgIGlmICghKGFwcEZpZWxkIHx8IGNoaWxkRmllbGQpIHx8ICgha2VlcFByaW1hcnlLZXkgJiYgYXBwRmllbGQ/LklzUHJpbWFyeUtleSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVyZWREYXRhW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JpdGVyaWEgVGhlIGNyaXRlcmlhIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgd2hlcmUgY2xhdXNlIGZyb20uXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBBUElGaWx0ZXJDcml0ZXJpYSBvYmplY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlV2hlcmVDbGF1c2UoY3JpdGVyaWE6IGFueSwgY3J1ZFRhYmxlTmFtZTogc3RyaW5nLCBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSA9IGZhbHNlKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xuICAgICAgICBpZiAoIXByb3ZpZGVFbXB0eVdoZXJlQ2xhdXNlICYmICghY3JpdGVyaWEgfHwgdHlwZW9mIGNyaXRlcmlhICE9PSAnb2JqZWN0JyB8fCAhT2JqZWN0LmtleXMoY3JpdGVyaWEpKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBjcml0ZXJpYVxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGNyaXRlcmlhKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGNyaXRlcmlhIGFuZCBhZGQgaXQgdG8gdGhlIHdoZXJlIGNsYXVzZVxuICAgICAgICBPYmplY3Qua2V5cyhjcml0ZXJpYSk/LmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgRmllbGRJRDogY3J1ZFRhYmxlTmFtZSArICcuJyArIGtleSwgLy8gY29tYmluZSB0aGUgQ1JVRCB0YWJsZSBuYW1lIHdpdGggdGhlIGZpZWxkIG5hbWVcbiAgICAgICAgICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLCAvLyByZWxhdGlvbmFsIG9wZXJhdG9yIGlzIEVxdWFsVG8gYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNyaXRlcmlhW2tleV0sIC8vIHNldCB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxuICAgICAgICAgICAgICAgIFNlcXVlbmNlOiAwLCAvLyBzZXQgdGhlIHNlcXVlbmNlIHRvIDAgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEdyb3VwSUQ6IDAgLy8gc2V0IHRoZSBncm91cCBJRCB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzLnB1c2goZmlsdGVyKTsgLy8gYWRkIHRoZSBmaWx0ZXIgdG8gdGhlIGFycmF5IG9mIGZpbHRlcnNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2V0IHRoZSBmaWx0ZXIgbG9naWMgdG8gJzEnXG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZVxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBHRVQgcmVxdWVzdCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHF1ZXJ5IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGdldChwYXlsb2FkOiBHZXRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBHZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBmcm9tIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBkc3E6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkID0gYXBwT2JqZWN0LmRhdGFTb3VyY2VRdWVyeShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgQXBwT2JqZWN0TW9kZWwgYW5kIERhdGFTb3VyY2VRdWVyeU1vZGVsXG4gICAgICAgIGlmICghYXBwT2JqZWN0IHx8ICFkc3EpIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG9yIERhdGFTb3VyY2VRdWVyeSBub3QgZm91bmQnKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgcGF5bG9hZFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoXG4gICAgICAgICAgICAvLyBUaGUgVVJMIGZvciB0aGUgR0VUIHJlcXVlc3RcbiAgICAgICAgICAgIGAke0FQSS5nZXREU1F9LyR7YXBwT2JqZWN0Py5PYmplY3ROYW1lfS8ke2RzcT8uUXVlcnlOYW1lfWAsXG4gICAgICAgICAgICAvLyBUaGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeVxuICAgICAgICAgICAgcGF5bG9hZC5jcml0ZXJpYSxcbiAgICAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgaGVhZGVyXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGluc2VydCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBpbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIHdoZXJlIGNsYXVzZSBmb3IgdGhlIGluc2VydCBvcGVyYXRpb25cbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHt9LCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHRydWUpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuaW5zZXJ0UGF5bG9hZChhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHdoZXJlQ2xhdXNlLCB0cmFuc2Zvcm1lZERhdGEpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5JbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICBidWxrSW5zZXJ0KHBheWxvYWQ6IEluc2VydFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuICAgICAgICAvLyBDcmVhdGUgYSB3aGVyZSBjbGF1c2UgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZSh7fSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB0cnVlKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRGaWVsZHM6IHN0cmluZ1tdID0gZ2V0QnVsa0luc2VydEZpZWxkcyhwYXlsb2FkLmRhdGEpO1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlczogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdID0gZ2V0QnVsa0luc2VydFZhbHVlcyhwYXlsb2FkLmRhdGEpO1xuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuYnVsa0luc2VydFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWRWYWx1ZXMsIHRyYW5zZm9ybWVkRmllbGRzKTtcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkJ1bGtJbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGRhdGEgaW4gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIHVwZGF0ZSwgdGhlIGNyaXRlcmlhIGZvciB0aGUgdXBkYXRlLCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICB1cGRhdGUocGF5bG9hZDogVXBkYXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcbiAgICAgICAgaWYgKCF3aGVyZUNsYXVzZT8uRmlsdGVycz8ubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JpdGVyaWEnKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLnVwZGF0ZVJlcXVlc3RQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkRGF0YSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLlVwZGF0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIGRlbGV0ZSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBkZWxldGUocGF5bG9hZDogRGVsZXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3RcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5kZWxldGVQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5EZWxldGUsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSB1c2luZyByYXcgU1FMLlxuICAgICAqIEBwYXJhbSBzcCBUaGUgc3RvcmVkIHByb2NlZHVyZSBxdWVyeSBzdHJpbmcuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgQVBJIFBPU1QgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBleGVjdXRlU3Aoc3A6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gUmV0cmlldmUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIGEgUE9TVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnJhd1NRTH0/cXVlcnk9JHtzcH1gLCB7fSwgaGVhZGVyKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBvYmplY3QgbmFtZSwgb2JqZWN0IHR5cGUsIGFuZCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RvcmVkIHByb2NlZHVyZS5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXG4gICAgICovXG4gICAgZXhlY3V0ZVN0b3JlZFByb2NlZHVyZShwYXlsb2FkOiBleGVjdXRlU3RvcmVkUHJvY2VkdXJlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udmVydCB0aGUgcGFyYW1ldGVycyBvYmplY3QgdG8gdGhlIHJlcXVpcmVkIGZvcm1hdFxuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IFtdO1xuICAgICAgICBpZiAodHlwZW9mIHBheWxvYWQ/LlBhcmFtZXRlcnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAvLyBJdGVyYXRlIG92ZXIgdGhlIHBhcmFtZXRlcnMgYW5kIGNyZWF0ZSB0aGUgcmVxdWlyZWQgZm9ybWF0XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXlsb2FkLlBhcmFtZXRlcnMpLmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBOYW1lOiBrZXksXG4gICAgICAgICAgICAgICAgICAgIFZhbHVlOiBwYXlsb2FkLlBhcmFtZXRlcnNba2V5XVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlXG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoQVBJLkV4ZWN1dGUsIHtcbiAgICAgICAgICAgIC4uLnBheWxvYWQsXG4gICAgICAgICAgICBQYXJhbWV0ZXJzOiBwYXJhbXMsXG4gICAgICAgIH0sIGhlYWRlcnMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -46,4 +46,9 @@ export var HttpRequestType;
46
46
  HttpRequestType["PUT"] = "PUT";
47
47
  HttpRequestType["DELETE"] = "DELETE";
48
48
  })(HttpRequestType || (HttpRequestType = {}));
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsK0NBQVUsQ0FBQTtJQUNWLCtDQUFVLENBQUE7SUFDViwrQ0FBVSxDQUFBO0FBQ2QsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNsQiw2Q0FBUyxDQUFBO0lBQ1QsMkNBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsbUVBQWtCLENBQUE7SUFDbEIsNkVBQXVCLENBQUE7SUFDdkIsdURBQVksQ0FBQTtBQUNoQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLG1FQUFZLENBQUE7SUFDWiwyREFBUSxDQUFBO0lBQ1IsK0RBQVUsQ0FBQTtBQUNkLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUM5Qix1REFBNkIsQ0FBQTtJQUM3QixtREFBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDaEIsNkRBQW1CLENBQUE7SUFDbkIsK0NBQVksQ0FBQTtBQUNoQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7SUFDZixpQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN2Qiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxvQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JlZW5UeXBlIHtcbiAgICBMaXN0ID0gMSxcbiAgICBEZXRhaWwgPSAyLFxuICAgIExheW91dCA9IDMsXG4gICAgRmlsdGVyID0gNCxcbn1cblxuZXhwb3J0IGVudW0gT2JqZWN0VHlwZSB7XG4gICAgVGFibGUgPSAxLFxuICAgIFZpZXcgPSAyXG59XG5cbmV4cG9ydCBlbnVtIFJlc291cmNlVHlwZSB7XG4gICAgRW1haWxUZWFtcGxhdGUgPSAxLFxuICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPSAyLFxuICAgIFNldHRpbmdzID0gM1xufVxuXG5leHBvcnQgZW51bSBSZWxlYXNlQ29udGVudFR5cGUge1xuICAgIE1ldGFEYXRhID0gMSxcbiAgICBEYXRhID0gMixcbiAgICBTY3JpcHQgPSAzXG59XG5cbmV4cG9ydCBlbnVtIEJ1aWxkRm9ybUNvbXBvbmVudFR5cGUge1xuICAgIENvbW1vbkZpbHRlciA9ICdDb21tb25GaWx0ZXInLFxuICAgIEJ1bGtVcGRhdGUgPSAnQnVsa1VwZGF0ZSdcbn1cblxuZXhwb3J0IGVudW0gSnNvblR5cGUge1xuICAgIEFwcE9iamVjdEFjY2VzcyA9IDEsXG4gICAgTGFuZ3VhZ2UgPSAyXG59XG5cbmV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblR5cGUge1xuICAgIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gICAgV2FybmluZyA9ICd3YXJuaW5nJyxcbiAgICBFcnJvciA9ICdlcnJvcicsXG4gICAgSW5mbyA9ICdpbmZvJ1xufVxuXG5leHBvcnQgZW51bSBIdHRwUmVxdWVzdFR5cGUge1xuICAgIEdFVCA9ICdHRVQnLFxuICAgIFBPU1QgPSAnUE9TVCcsXG4gICAgUFVUID0gJ1BVVCcsXG4gICAgREVMRVRFID0gJ0RFTEVURSdcbn0iXX0=
49
+ export var ProcedureObjectType;
50
+ (function (ProcedureObjectType) {
51
+ ProcedureObjectType[ProcedureObjectType["StoredProcedure"] = 1] = "StoredProcedure";
52
+ ProcedureObjectType[ProcedureObjectType["Function"] = 2] = "Function";
53
+ })(ProcedureObjectType || (ProcedureObjectType = {}));
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsK0NBQVUsQ0FBQTtJQUNWLCtDQUFVLENBQUE7SUFDViwrQ0FBVSxDQUFBO0FBQ2QsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNsQiw2Q0FBUyxDQUFBO0lBQ1QsMkNBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsbUVBQWtCLENBQUE7SUFDbEIsNkVBQXVCLENBQUE7SUFDdkIsdURBQVksQ0FBQTtBQUNoQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLG1FQUFZLENBQUE7SUFDWiwyREFBUSxDQUFBO0lBQ1IsK0RBQVUsQ0FBQTtBQUNkLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUM5Qix1REFBNkIsQ0FBQTtJQUM3QixtREFBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDaEIsNkRBQW1CLENBQUE7SUFDbkIsK0NBQVksQ0FBQTtBQUNoQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7SUFDZixpQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN2Qiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxvQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLG1GQUFtQixDQUFBO0lBQ25CLHFFQUFZLENBQUE7QUFDZCxDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNjcmVlblR5cGUge1xuICAgIExpc3QgPSAxLFxuICAgIERldGFpbCA9IDIsXG4gICAgTGF5b3V0ID0gMyxcbiAgICBGaWx0ZXIgPSA0LFxufVxuXG5leHBvcnQgZW51bSBPYmplY3RUeXBlIHtcbiAgICBUYWJsZSA9IDEsXG4gICAgVmlldyA9IDJcbn1cblxuZXhwb3J0IGVudW0gUmVzb3VyY2VUeXBlIHtcbiAgICBFbWFpbFRlYW1wbGF0ZSA9IDEsXG4gICAgTGFuZ3VhZ2VUcmFuc2xhdGlvbiA9IDIsXG4gICAgU2V0dGluZ3MgPSAzXG59XG5cbmV4cG9ydCBlbnVtIFJlbGVhc2VDb250ZW50VHlwZSB7XG4gICAgTWV0YURhdGEgPSAxLFxuICAgIERhdGEgPSAyLFxuICAgIFNjcmlwdCA9IDNcbn1cblxuZXhwb3J0IGVudW0gQnVpbGRGb3JtQ29tcG9uZW50VHlwZSB7XG4gICAgQ29tbW9uRmlsdGVyID0gJ0NvbW1vbkZpbHRlcicsXG4gICAgQnVsa1VwZGF0ZSA9ICdCdWxrVXBkYXRlJ1xufVxuXG5leHBvcnQgZW51bSBKc29uVHlwZSB7XG4gICAgQXBwT2JqZWN0QWNjZXNzID0gMSxcbiAgICBMYW5ndWFnZSA9IDJcbn1cblxuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uVHlwZSB7XG4gICAgU3VjY2VzcyA9ICdzdWNjZXNzJyxcbiAgICBXYXJuaW5nID0gJ3dhcm5pbmcnLFxuICAgIEVycm9yID0gJ2Vycm9yJyxcbiAgICBJbmZvID0gJ2luZm8nXG59XG5cbmV4cG9ydCBlbnVtIEh0dHBSZXF1ZXN0VHlwZSB7XG4gICAgR0VUID0gJ0dFVCcsXG4gICAgUE9TVCA9ICdQT1NUJyxcbiAgICBQVVQgPSAnUFVUJyxcbiAgICBERUxFVEUgPSAnREVMRVRFJ1xufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmVPYmplY3RUeXBlIHtcbiAgU3RvcmVkUHJvY2VkdXJlID0gMSxcbiAgRnVuY3Rpb24gPSAyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3RUeXBlLCBKc29uVHlwZSwgTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlIHtcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIGlzU3VjY2VzczogYm9vbGVhbjtcbiAgcmVzdWx0OiBhbnk7XG4gIGVycm9yczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkSW5mbyB7XG4gIGlzU3lzdGVtUmVjb3JkOiBib29sZWFuIHwgbnVsbDtcbiAgYmx1ZXByaW50SWQ6IHN0cmluZyB8IG51bGw7XG4gIGJsdWVwcmludFN0YXR1c0lkOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRJZDogc3RyaW5nO1xuICBwcmltYXJ5S2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uQXBpUmVzcG9uc2Uge1xuICBSZXF1ZXN0SWQ6IHN0cmluZ1xuICBJc1N1Y2Nlc3M6IGJvb2xlYW5cbiAgUmVzdWx0OiBhbnlcbiAgU3RhdHVzQ29kZTogc3RyaW5nXG4gIFJlY29yZEFmZmVjdHRlZDogbnVtYmVyXG4gIFRvdGFsUmVjb3JkczogbnVtYmVyXG4gIFRvdGFsRXhlY3V0aW9uVGltZTogbnVtYmVyXG4gIExvZzogYW55W11cbiAgRXJyb3JzOiBhbnlbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNjcmVlbkNvbmZpZyB7XG4gIGxheW91dElkPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1JlcXVlc3RQYXlsb2FkIHtcbiAgU2NyZWVuSWQ6IHN0cmluZyxcbiAgRGF0YTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVQYXJzZVBheWxvYWQge1xuICBEYXRhU291cmNlTW9kZTogbnVtYmVyLFxuICBWYWx1ZTogc3RyaW5nLFxuICBUZW1wbGF0ZXZhcmlhYmxlczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFN0YXR1c1BheWxvYWQge1xuICByZWNvcmRJZDogc3RyaW5nLFxuICBhcHBPYmplY3RJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVN0YXR1c1BheWxvYWQgZXh0ZW5kcyBOZXh0U3RhdHVzUGF5bG9hZCB7XG4gIG5leHRQb3NzaWJsZVN0YXR1c0lkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmcsXG4gIFRhYmxlczogc3RyaW5nW10sXG4gIFZpZXdzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb25lRHNxUGF5bG9hZCB7XG4gIERTUUlkOiBzdHJpbmcsXG4gIFF1ZXJ5TmFtZTogc3RyaW5nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCB7XG4gIEpzb25UeXBlOiBKc29uVHlwZSxcbiAgUmVxdG9rZW5zPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3luY0FwcEZpZWxkc1BheWxvYWQge1xuICBDb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgQXBwT2JqZWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YVBheWxvYWQge1xuICBRdWVyeU9iamVjdElEOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaFJlY29yZEluZm9EYXRhUGF5bG9hZCB7XG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRNZWRpYUZpbGVQYXlsb2FkIHtcbiAgQmFzZTY0U3RyaW5nOiBzdHJpbmc7XG4gIEZpbGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkTWVkaWFGaWxlc1BheWxvYWQge1xuICBVcGxvYWRGaWxlczogVXBsb2FkTWVkaWFGaWxlUGF5bG9hZFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0UGF5bG9hZCB7XG4gIERhdGFSZXBvcnRJZDogc3RyaW5nLFxuICBSZXF0b2tlbnM6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCB7XG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgZnJvbURhdGU6IHN0cmluZyxcbiAgdG9EYXRlOiBzdHJpbmcsXG4gIGxpbWl0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyZWVuUGVyZm9ybWFuY2VQYXlsb2FkIHtcbiAgdmFsdWU6IHN0cmluZyxcbiAgbG9hZFRpbWU6IG51bWJlcixcbiAgdGFnczoge1xuICAgIGRzcUlkczogc3RyaW5nW10sXG4gICAgYXBwT2JqZWN0SWRzOiBzdHJpbmdbXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHJhbnNsYXRlUGF5bG9hZCB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlQ29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3RpZmljYXRpb25PcHRpb25zIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29uZmlndXJhdGlvbj86IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZzxhbnk+PiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25PcHRpb25zIGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvbk9wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHByaW1hcnlPcHRpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeU9wdGlvbj86IHN0cmluZztcbiAgZGlzcGxheUhlYWRlcj86IGJvb2xlYW47XG4gIGRpc3BsYXlGb290ZXI/OiBib29sZWFuO1xuICBkaXNwbGF5Qm9keT86IGJvb2xlYW47XG4gIGRpc3BsYXlQcmltYXJ5QnV0dG9uPzogYm9vbGVhbjtcbiAgZGlzcGxheVNlY29uZGFyeUJ1dHRvbj86IGJvb2xlYW47XG4gIGRpc3BsYXlDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZEJhc2VQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWRPck5hbWU/OiBzdHJpbmc7XG4gIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydFBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBkYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGF5bG9hZCBleHRlbmRzIEluc2VydFBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZVBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBheWxvYWQge1xuICBkYXRhU291cmNlUXVlcnlJZE9yTmFtZTogc3RyaW5nO1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltcHJvdERhdGFQYXlsb2FkIHtcbiAgSW1wb3J0T2JqZWN0TWFwcGluZ0lkOiBzdHJpbmc7XG4gIEZpbGU6IHN0cmluZztcbiAgSW1wb3J0VHlwZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaERhdGFQYXlsb2FkIHtcbiAgc2VhcmNoUXVlcnk6IHN0cmluZztcbiAgbGltaXQ6IG51bWJlcjtcbiAgYXBwT2JqZWN0SWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSY29yZEhpc3RvcnlQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWQ6IHN0cmluZzsgXG4gIHJlY29yZElkczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEV4ZWN1dGVSZXF1ZXN0UGF5bG9hZCB7XG4gIGZ1bGxVcmw6IHN0cmluZyxcbiAgbWV0aG9kOiBIdHRwUmVxdWVzdFR5cGUsXG4gIGhlYWRlcnM/OiBhbnksXG4gIGJvZHk/OiBhbnlcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3RUeXBlLCBKc29uVHlwZSwgTm90aWZpY2F0aW9uVHlwZSwgUHJvY2VkdXJlT2JqZWN0VHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlIHtcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIGlzU3VjY2VzczogYm9vbGVhbjtcbiAgcmVzdWx0OiBhbnk7XG4gIGVycm9yczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkSW5mbyB7XG4gIGlzU3lzdGVtUmVjb3JkOiBib29sZWFuIHwgbnVsbDtcbiAgYmx1ZXByaW50SWQ6IHN0cmluZyB8IG51bGw7XG4gIGJsdWVwcmludFN0YXR1c0lkOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRJZDogc3RyaW5nO1xuICBwcmltYXJ5S2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uQXBpUmVzcG9uc2Uge1xuICBSZXF1ZXN0SWQ6IHN0cmluZ1xuICBJc1N1Y2Nlc3M6IGJvb2xlYW5cbiAgUmVzdWx0OiBhbnlcbiAgU3RhdHVzQ29kZTogc3RyaW5nXG4gIFJlY29yZEFmZmVjdHRlZDogbnVtYmVyXG4gIFRvdGFsUmVjb3JkczogbnVtYmVyXG4gIFRvdGFsRXhlY3V0aW9uVGltZTogbnVtYmVyXG4gIExvZzogYW55W11cbiAgRXJyb3JzOiBhbnlbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNjcmVlbkNvbmZpZyB7XG4gIGxheW91dElkPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1JlcXVlc3RQYXlsb2FkIHtcbiAgU2NyZWVuSWQ6IHN0cmluZyxcbiAgRGF0YTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVQYXJzZVBheWxvYWQge1xuICBEYXRhU291cmNlTW9kZTogbnVtYmVyLFxuICBWYWx1ZTogc3RyaW5nLFxuICBUZW1wbGF0ZXZhcmlhYmxlczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFN0YXR1c1BheWxvYWQge1xuICByZWNvcmRJZDogc3RyaW5nLFxuICBhcHBPYmplY3RJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVN0YXR1c1BheWxvYWQgZXh0ZW5kcyBOZXh0U3RhdHVzUGF5bG9hZCB7XG4gIG5leHRQb3NzaWJsZVN0YXR1c0lkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmcsXG4gIFRhYmxlczogc3RyaW5nW10sXG4gIFZpZXdzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb25lRHNxUGF5bG9hZCB7XG4gIERTUUlkOiBzdHJpbmcsXG4gIFF1ZXJ5TmFtZTogc3RyaW5nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCB7XG4gIEpzb25UeXBlOiBKc29uVHlwZSxcbiAgUmVxdG9rZW5zPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3luY0FwcEZpZWxkc1BheWxvYWQge1xuICBDb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgQXBwT2JqZWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YVBheWxvYWQge1xuICBRdWVyeU9iamVjdElEOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaFJlY29yZEluZm9EYXRhUGF5bG9hZCB7XG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRNZWRpYUZpbGVQYXlsb2FkIHtcbiAgQmFzZTY0U3RyaW5nOiBzdHJpbmc7XG4gIEZpbGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkTWVkaWFGaWxlc1BheWxvYWQge1xuICBVcGxvYWRGaWxlczogVXBsb2FkTWVkaWFGaWxlUGF5bG9hZFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0UGF5bG9hZCB7XG4gIERhdGFSZXBvcnRJZDogc3RyaW5nLFxuICBSZXF0b2tlbnM6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCB7XG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgZnJvbURhdGU6IHN0cmluZyxcbiAgdG9EYXRlOiBzdHJpbmcsXG4gIGxpbWl0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyZWVuUGVyZm9ybWFuY2VQYXlsb2FkIHtcbiAgdmFsdWU6IHN0cmluZyxcbiAgbG9hZFRpbWU6IG51bWJlcixcbiAgdGFnczoge1xuICAgIGRzcUlkczogc3RyaW5nW10sXG4gICAgYXBwT2JqZWN0SWRzOiBzdHJpbmdbXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHJhbnNsYXRlUGF5bG9hZCB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlQ29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3RpZmljYXRpb25PcHRpb25zIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29uZmlndXJhdGlvbj86IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZzxhbnk+PiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25PcHRpb25zIGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvbk9wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHByaW1hcnlPcHRpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeU9wdGlvbj86IHN0cmluZztcbiAgZGlzcGxheUhlYWRlcj86IGJvb2xlYW47XG4gIGRpc3BsYXlGb290ZXI/OiBib29sZWFuO1xuICBkaXNwbGF5Qm9keT86IGJvb2xlYW47XG4gIGRpc3BsYXlQcmltYXJ5QnV0dG9uPzogYm9vbGVhbjtcbiAgZGlzcGxheVNlY29uZGFyeUJ1dHRvbj86IGJvb2xlYW47XG4gIGRpc3BsYXlDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZEJhc2VQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWRPck5hbWU/OiBzdHJpbmc7XG4gIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydFBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBkYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGF5bG9hZCBleHRlbmRzIEluc2VydFBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZVBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBheWxvYWQge1xuICBkYXRhU291cmNlUXVlcnlJZE9yTmFtZTogc3RyaW5nO1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltcHJvdERhdGFQYXlsb2FkIHtcbiAgSW1wb3J0T2JqZWN0TWFwcGluZ0lkOiBzdHJpbmc7XG4gIEZpbGU6IHN0cmluZztcbiAgSW1wb3J0VHlwZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaERhdGFQYXlsb2FkIHtcbiAgc2VhcmNoUXVlcnk6IHN0cmluZztcbiAgbGltaXQ6IG51bWJlcjtcbiAgYXBwT2JqZWN0SWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSY29yZEhpc3RvcnlQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWQ6IHN0cmluZztcbiAgcmVjb3JkSWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwRXhlY3V0ZVJlcXVlc3RQYXlsb2FkIHtcbiAgZnVsbFVybDogc3RyaW5nLFxuICBtZXRob2Q6IEh0dHBSZXF1ZXN0VHlwZSxcbiAgaGVhZGVycz86IGFueSxcbiAgYm9keT86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGV4ZWN1dGVTdG9yZWRQcm9jZWR1cmVQYXlsb2FkIHtcbiAgT2JqZWN0TmFtZTogc3RyaW5nO1xuICBPYmplY3RUeXBlOiBQcm9jZWR1cmVPYmplY3RUeXBlXG4gIFBhcmFtZXRlcnM/OiBhbnk7XG59XG4iXX0=
@@ -60,4 +60,5 @@ export declare const API: {
60
60
  GetReleaseJSONDifference: string;
61
61
  GetDataDifference: string;
62
62
  RegisterTenant: string;
63
+ Execute: string;
63
64
  };
@@ -1,4 +1,4 @@
1
- import { CommonApiResponse, DeletePayload, GetPayload, InsertPayload, UpdatePayload } from "../interfaces/common.interface";
1
+ import { CommonApiResponse, DeletePayload, executeStoredProcedurePayload, GetPayload, InsertPayload, UpdatePayload } from "../interfaces/common.interface";
2
2
  import { Observable } from "rxjs";
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TabCrudService {
@@ -66,6 +66,13 @@ export declare class TabCrudService {
66
66
  * @returns The result of the API POST request.
67
67
  */
68
68
  executeSp(sp: string, headers?: any): Observable<CommonApiResponse>;
69
+ /**
70
+ * Executes a stored procedure based on the given parameters.
71
+ * @param payload The payload containing the object name, object type, and parameters for the stored procedure.
72
+ * @param headers Optional headers for the request.
73
+ * @returns An observable of the response from the API.
74
+ */
75
+ executeStoredProcedure(payload: executeStoredProcedurePayload, headers?: any): Observable<CommonApiResponse>;
69
76
  static ɵfac: i0.ɵɵFactoryDeclaration<TabCrudService, never>;
70
77
  static ɵprov: i0.ɵɵInjectableDeclaration<TabCrudService>;
71
78
  }
@@ -38,3 +38,7 @@ export declare enum HttpRequestType {
38
38
  PUT = "PUT",
39
39
  DELETE = "DELETE"
40
40
  }
41
+ export declare enum ProcedureObjectType {
42
+ StoredProcedure = 1,
43
+ Function = 2
44
+ }
@@ -1,5 +1,5 @@
1
1
  import { IndividualConfig } from "ngx-toastr";
2
- import { HttpRequestType, JsonType, NotificationType } from "../enums/common.enum";
2
+ import { HttpRequestType, JsonType, NotificationType, ProcedureObjectType } from "../enums/common.enum";
3
3
  export interface ApiResponse {
4
4
  requestId: string;
5
5
  isSuccess: boolean;
@@ -155,3 +155,8 @@ export interface HttpExecuteRequestPayload {
155
155
  headers?: any;
156
156
  body?: any;
157
157
  }
158
+ export interface executeStoredProcedurePayload {
159
+ ObjectName: string;
160
+ ObjectType: ProcedureObjectType;
161
+ Parameters?: any;
162
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.162",
3
+ "version": "2.2.164",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",