@appconda/nextjs 1.0.405 → 1.0.407

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/dist/index.d.ts CHANGED
@@ -42,3 +42,4 @@ export * from './modules';
42
42
  export type { SafeActionFn } from 'next-safe-action';
43
43
  export * from './actions';
44
44
  export * from './lib';
45
+ export * from './getSDKForService';
package/dist/index.js CHANGED
@@ -39,4 +39,5 @@ export { getSDKForTenant } from './getSDKForTenant';
39
39
  export * from './modules';
40
40
  export * from './actions';
41
41
  export * from './lib';
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENsaWVudCwgUXVlcnksIEFwcGNvbmRhRXhjZXB0aW9uIH0gZnJvbSAnLi9jbGllbnQnO1xuZXhwb3J0IHsgQWNjb3VudCB9IGZyb20gJy4vbW9kdWxlcy9hY2NvdW50L3NlcnZpY2UnO1xuZXhwb3J0IHsgQXZhdGFycyB9IGZyb20gJy4vc2VydmljZXMvYXZhdGFycyc7XG5leHBvcnQgeyBEYXRhYmFzZXMgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGFiYXNlcyc7XG5leHBvcnQgeyBBcHBsZXRzIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsZXRzJztcbmV4cG9ydCB7IEZ1bmN0aW9ucyB9IGZyb20gJy4vc2VydmljZXMvZnVuY3Rpb25zJztcbmV4cG9ydCB7IEdyYXBocWwgfSBmcm9tICcuL3NlcnZpY2VzL2dyYXBocWwnO1xuZXhwb3J0IHsgSGVhbHRoIH0gZnJvbSAnLi9zZXJ2aWNlcy9oZWFsdGgnO1xuZXhwb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbGUnO1xuZXhwb3J0IHsgTWVzc2FnaW5nIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZXNzYWdpbmcnO1xuZXhwb3J0IHsgU3RvcmFnZSB9IGZyb20gJy4vc2VydmljZXMvc3RvcmFnZSc7XG5leHBvcnQgeyBUZWFtcyB9IGZyb20gJy4vc2VydmljZXMvdGVhbXMnO1xuZXhwb3J0IHsgVXNlcnMgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXJzJztcbmV4cG9ydCB0eXBlIHsgTW9kZWxzLCBQYXlsb2FkLCBVcGxvYWRQcm9ncmVzcyB9IGZyb20gJy4vY2xpZW50JztcbmV4cG9ydCB0eXBlIHsgUXVlcnlUeXBlcywgUXVlcnlUeXBlc0xpc3QgfSBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuL3Blcm1pc3Npb24nO1xuZXhwb3J0IHsgUm9sZSB9IGZyb20gJy4vcm9sZSc7XG5leHBvcnQgeyBJRCB9IGZyb20gJy4vaWQnO1xuZXhwb3J0IHsgQXV0aGVudGljYXRvclR5cGUgfSBmcm9tICcuL21vZHVsZXMvYWNjb3VudC9lbnVtcy9hdXRoZW50aWNhdG9yLXR5cGUnO1xuZXhwb3J0IHsgQXV0aGVudGljYXRpb25GYWN0b3IgfSBmcm9tICcuL21vZHVsZXMvYWNjb3VudC9lbnVtcy9hdXRoZW50aWNhdGlvbi1mYWN0b3InO1xuZXhwb3J0IHsgT0F1dGhQcm92aWRlciB9IGZyb20gJy4vbW9kdWxlcy9hY2NvdW50L2VudW1zL28tYXV0aC1wcm92aWRlcic7XG5leHBvcnQgeyBCcm93c2VyIH0gZnJvbSAnLi9lbnVtcy9icm93c2VyJztcbmV4cG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2VudW1zL2NyZWRpdC1jYXJkJztcbmV4cG9ydCB7IEZsYWcgfSBmcm9tICcuL2VudW1zL2ZsYWcnO1xuZXhwb3J0IHsgUmVsYXRpb25zaGlwVHlwZSB9IGZyb20gJy4vZW51bXMvcmVsYXRpb25zaGlwLXR5cGUnO1xuZXhwb3J0IHsgUmVsYXRpb25NdXRhdGUgfSBmcm9tICcuL2VudW1zL3JlbGF0aW9uLW11dGF0ZSc7XG5leHBvcnQgeyBJbmRleFR5cGUgfSBmcm9tICcuL2VudW1zL2luZGV4LXR5cGUnO1xuZXhwb3J0IHsgUnVudGltZSB9IGZyb20gJy4vZW51bXMvcnVudGltZSc7XG5leHBvcnQgeyBFeGVjdXRpb25NZXRob2QgfSBmcm9tICcuL2VudW1zL2V4ZWN1dGlvbi1tZXRob2QnO1xuZXhwb3J0IHsgTmFtZSB9IGZyb20gJy4vZW51bXMvbmFtZSc7XG5leHBvcnQgeyBTbXRwRW5jcnlwdGlvbiB9IGZyb20gJy4vZW51bXMvc210cC1lbmNyeXB0aW9uJztcbmV4cG9ydCB7IENvbXByZXNzaW9uIH0gZnJvbSAnLi9lbnVtcy9jb21wcmVzc2lvbic7XG5leHBvcnQgeyBJbWFnZUdyYXZpdHkgfSBmcm9tICcuL2VudW1zL2ltYWdlLWdyYXZpdHknO1xuZXhwb3J0IHsgSW1hZ2VGb3JtYXQgfSBmcm9tICcuL2VudW1zL2ltYWdlLWZvcm1hdCc7XG5leHBvcnQgeyBQYXNzd29yZEhhc2ggfSBmcm9tICcuL2VudW1zL3Bhc3N3b3JkLWhhc2gnO1xuZXhwb3J0IHsgTWVzc2FnaW5nUHJvdmlkZXJUeXBlIH0gZnJvbSAnLi9lbnVtcy9tZXNzYWdpbmctcHJvdmlkZXItdHlwZSc7XG5leHBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gJy4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuZXhwb3J0IHsgZ2V0U0RLRm9yU2VydmljZSB9IGZyb20gJy4vZ2V0U0RLRm9yU2VydmljZSc7XG5leHBvcnQgeyBnZXRBcHBjb25kYUNsaWVudCB9IGZyb20gJy4vZ2V0QXBwY29uZGFDbGllbnQnO1xuZXhwb3J0IHsgZ2V0U0RLRm9yVGVuYW50IH0gZnJvbSAnLi9nZXRTREtGb3JUZW5hbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzJztcbmV4cG9ydCB0eXBlIHsgU2FmZUFjdGlvbkZuIH0gZnJvbSAnbmV4dC1zYWZlLWFjdGlvbic7IFxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
42
+ export * from './getSDKForService';
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ2xpZW50LCBRdWVyeSwgQXBwY29uZGFFeGNlcHRpb24gfSBmcm9tICcuL2NsaWVudCc7XG5leHBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi9tb2R1bGVzL2FjY291bnQvc2VydmljZSc7XG5leHBvcnQgeyBBdmF0YXJzIH0gZnJvbSAnLi9zZXJ2aWNlcy9hdmF0YXJzJztcbmV4cG9ydCB7IERhdGFiYXNlcyB9IGZyb20gJy4vc2VydmljZXMvZGF0YWJhc2VzJztcbmV4cG9ydCB7IEFwcGxldHMgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGxldHMnO1xuZXhwb3J0IHsgRnVuY3Rpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcy9mdW5jdGlvbnMnO1xuZXhwb3J0IHsgR3JhcGhxbCB9IGZyb20gJy4vc2VydmljZXMvZ3JhcGhxbCc7XG5leHBvcnQgeyBIZWFsdGggfSBmcm9tICcuL3NlcnZpY2VzL2hlYWx0aCc7XG5leHBvcnQgeyBMb2NhbGUgfSBmcm9tICcuL3NlcnZpY2VzL2xvY2FsZSc7XG5leHBvcnQgeyBNZXNzYWdpbmcgfSBmcm9tICcuL3NlcnZpY2VzL21lc3NhZ2luZyc7XG5leHBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yYWdlJztcbmV4cG9ydCB7IFRlYW1zIH0gZnJvbSAnLi9zZXJ2aWNlcy90ZWFtcyc7XG5leHBvcnQgeyBVc2VycyB9IGZyb20gJy4vc2VydmljZXMvdXNlcnMnO1xuZXhwb3J0IHR5cGUgeyBNb2RlbHMsIFBheWxvYWQsIFVwbG9hZFByb2dyZXNzIH0gZnJvbSAnLi9jbGllbnQnO1xuZXhwb3J0IHR5cGUgeyBRdWVyeVR5cGVzLCBRdWVyeVR5cGVzTGlzdCB9IGZyb20gJy4vcXVlcnknO1xuZXhwb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vcGVybWlzc2lvbic7XG5leHBvcnQgeyBSb2xlIH0gZnJvbSAnLi9yb2xlJztcbmV4cG9ydCB7IElEIH0gZnJvbSAnLi9pZCc7XG5leHBvcnQgeyBBdXRoZW50aWNhdG9yVHlwZSB9IGZyb20gJy4vbW9kdWxlcy9hY2NvdW50L2VudW1zL2F1dGhlbnRpY2F0b3ItdHlwZSc7XG5leHBvcnQgeyBBdXRoZW50aWNhdGlvbkZhY3RvciB9IGZyb20gJy4vbW9kdWxlcy9hY2NvdW50L2VudW1zL2F1dGhlbnRpY2F0aW9uLWZhY3Rvcic7XG5leHBvcnQgeyBPQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9tb2R1bGVzL2FjY291bnQvZW51bXMvby1hdXRoLXByb3ZpZGVyJztcbmV4cG9ydCB7IEJyb3dzZXIgfSBmcm9tICcuL2VudW1zL2Jyb3dzZXInO1xuZXhwb3J0IHsgQ3JlZGl0Q2FyZCB9IGZyb20gJy4vZW51bXMvY3JlZGl0LWNhcmQnO1xuZXhwb3J0IHsgRmxhZyB9IGZyb20gJy4vZW51bXMvZmxhZyc7XG5leHBvcnQgeyBSZWxhdGlvbnNoaXBUeXBlIH0gZnJvbSAnLi9lbnVtcy9yZWxhdGlvbnNoaXAtdHlwZSc7XG5leHBvcnQgeyBSZWxhdGlvbk11dGF0ZSB9IGZyb20gJy4vZW51bXMvcmVsYXRpb24tbXV0YXRlJztcbmV4cG9ydCB7IEluZGV4VHlwZSB9IGZyb20gJy4vZW51bXMvaW5kZXgtdHlwZSc7XG5leHBvcnQgeyBSdW50aW1lIH0gZnJvbSAnLi9lbnVtcy9ydW50aW1lJztcbmV4cG9ydCB7IEV4ZWN1dGlvbk1ldGhvZCB9IGZyb20gJy4vZW51bXMvZXhlY3V0aW9uLW1ldGhvZCc7XG5leHBvcnQgeyBOYW1lIH0gZnJvbSAnLi9lbnVtcy9uYW1lJztcbmV4cG9ydCB7IFNtdHBFbmNyeXB0aW9uIH0gZnJvbSAnLi9lbnVtcy9zbXRwLWVuY3J5cHRpb24nO1xuZXhwb3J0IHsgQ29tcHJlc3Npb24gfSBmcm9tICcuL2VudW1zL2NvbXByZXNzaW9uJztcbmV4cG9ydCB7IEltYWdlR3Jhdml0eSB9IGZyb20gJy4vZW51bXMvaW1hZ2UtZ3Jhdml0eSc7XG5leHBvcnQgeyBJbWFnZUZvcm1hdCB9IGZyb20gJy4vZW51bXMvaW1hZ2UtZm9ybWF0JztcbmV4cG9ydCB7IFBhc3N3b3JkSGFzaCB9IGZyb20gJy4vZW51bXMvcGFzc3dvcmQtaGFzaCc7XG5leHBvcnQgeyBNZXNzYWdpbmdQcm92aWRlclR5cGUgfSBmcm9tICcuL2VudW1zL21lc3NhZ2luZy1wcm92aWRlci10eXBlJztcbmV4cG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi9nZXRTREtGb3JDdXJyZW50VXNlcic7XG5leHBvcnQgeyBnZXRTREtGb3JTZXJ2aWNlIH0gZnJvbSAnLi9nZXRTREtGb3JTZXJ2aWNlJztcbmV4cG9ydCB7IGdldEFwcGNvbmRhQ2xpZW50IH0gZnJvbSAnLi9nZXRBcHBjb25kYUNsaWVudCc7XG5leHBvcnQgeyBnZXRTREtGb3JUZW5hbnQgfSBmcm9tICcuL2dldFNES0ZvclRlbmFudCc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMnO1xuZXhwb3J0IHR5cGUgeyBTYWZlQWN0aW9uRm4gfSBmcm9tICduZXh0LXNhZmUtYWN0aW9uJzsgXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9nZXRTREtGb3JTZXJ2aWNlJztcblxuIl19
@@ -1,9 +1,13 @@
1
1
  import { z } from 'zod';
2
- import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from './schema';
3
- import { TEmploid } from './types';
2
+ import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from './schema';
3
+ import { TEmploid, TInstruction } from './types';
4
4
  export declare function CreateEmploid(parsedInput: z.infer<typeof CreateEmploidSchema>): Promise<TEmploid>;
5
5
  export declare const UpdateEmploid: (parsedInput: z.infer<typeof UpdateEmploidSchema>) => Promise<TEmploid>;
6
6
  export declare const DeleteEmploid: (parsedInput: z.infer<typeof DeleteEmploidSchema>) => Promise<TEmploid>;
7
+ export declare const CreateInstruction: (parsedInput: z.infer<typeof CreateInstructionSchema>) => Promise<TInstruction>;
8
+ export declare const UpdateInstruction: (parsedInput: z.infer<typeof UpdateInstructionSchema>) => Promise<TInstruction>;
9
+ export declare const ListInstructions: (parsedInput: z.infer<typeof ListInstructionsSchema>) => Promise<TInstruction[]>;
10
+ export declare const DeleteInstruction: (parsedInput: z.infer<typeof DeleteInstructionSchema>) => Promise<TInstruction>;
7
11
  export declare const ListEmploids: (parsedInput: z.infer<typeof ListEmploidsSchema>) => Promise<TEmploid[]>;
8
12
  export declare const ListEmploidsPaginated: (parsedInput: z.infer<typeof ListEmploidsPaginatedSchema>) => Promise<import("./types").TPaginatedEmploidsResult>;
9
13
  export declare const ListScopes: (parsedInput: z.infer<typeof ListScopesSchema>) => Promise<import("./types").TScope[]>;
@@ -43,6 +43,62 @@ export const DeleteEmploid = async (parsedInput) => {
43
43
  throw error;
44
44
  }
45
45
  };
46
+ export const CreateInstruction = async (parsedInput) => {
47
+ try {
48
+ const { emploid } = await getSDKForService();
49
+ //@ts-ignore
50
+ const app = await emploid.CreateInstruction(parsedInput);
51
+ return app;
52
+ }
53
+ catch (error) {
54
+ if (error instanceof AppcondaException) {
55
+ throw new Error(error.message);
56
+ }
57
+ throw error;
58
+ }
59
+ };
60
+ export const UpdateInstruction = async (parsedInput) => {
61
+ try {
62
+ const { emploid } = await getSDKForService();
63
+ //@ts-ignore
64
+ const app = await emploid.UpdateInstruction(parsedInput);
65
+ return app;
66
+ }
67
+ catch (error) {
68
+ if (error instanceof AppcondaException) {
69
+ throw new Error(error.message);
70
+ }
71
+ throw error;
72
+ }
73
+ };
74
+ export const ListInstructions = async (parsedInput) => {
75
+ try {
76
+ const { emploid } = await getSDKForService();
77
+ //@ts-ignore
78
+ const app = await emploid.ListInstructions(parsedInput);
79
+ return app;
80
+ }
81
+ catch (error) {
82
+ if (error instanceof AppcondaException) {
83
+ throw new Error(error.message);
84
+ }
85
+ throw error;
86
+ }
87
+ };
88
+ export const DeleteInstruction = async (parsedInput) => {
89
+ try {
90
+ const { emploid } = await getSDKForService();
91
+ //@ts-ignore
92
+ const app = await emploid.DeleteInstruction(parsedInput);
93
+ return app;
94
+ }
95
+ catch (error) {
96
+ if (error instanceof AppcondaException) {
97
+ throw new Error(error.message);
98
+ }
99
+ throw error;
100
+ }
101
+ };
46
102
  export const ListEmploids = async (parsedInput) => {
47
103
  try {
48
104
  const { emploid } = await getSDKForService();
@@ -925,4 +981,4 @@ export const ListSkills = async (parsedInput) => {
925
981
  throw error;
926
982
  }
927
983
  };
928
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLFdBQWdEO0lBQ2hGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixFQUFFLENBQUM7UUFDN0MsWUFBWTtRQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUM7SUFDaEIsQ0FBQztBQUVMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFdBQWdELEVBQXFCLEVBQUU7SUFDdkcsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxZQUFZO1FBQ1osTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1B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OUUsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxZQUFZO1FBQ1osTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IEFwcGNvbmRhRXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vY2xpZW50JztcbmltcG9ydCB7IENyZWF0ZUFnZW50Rmxvd1NjaGVtYSwgQ3JlYXRlQXNzaXN0YW50U2NoZW1hLCBDcmVhdGVDb21wZXRlbmN5U2NoZW1hLCBDcmVhdGVFbXBsb2lkU2NoZW1hLCBDcmVhdGVFeHRlbnNpb25TY2hlbWEsIENyZWF0ZUlucHV0U2NoZW1hLCBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hLCBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hLCBDcmVhdGVTY29wZVNjaGVtYSwgQ3JlYXRlU2tpbGxTY2hlbWEsIENyZWF0ZVN0cmVhbUlkU2NoZW1hLCBDcmVhdGVUZWFtU2NoZW1hLCBDcmVhdGVXb3JrZXJTY2hlbWEsIERlbGV0ZUFzc2lzdGFudFNjaGVtYSwgRGVsZXRlQ2hhdEJ5SWRTY2hlbWEsIERlbGV0ZUNvbXBldGVuY3lTY2hlbWEsIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlRW1wbG9pZFNjaGVtYSwgRGVsZXRlSW5wdXRTY2hlbWEsIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWEsIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlT2NjdXBhdGlvblNjaGVtYSwgRGVsZXRlU2NvcGVTY2hlbWEsIERlbGV0ZVNraWxsU2NoZW1hLCBEZWxldGVUZWFtU2NoZW1hLCBEZWxldGVXb3JrZXJTY2hlbWEsIEdldENoYXRCeUlkU2NoZW1hLCBHZXRDaGF0c0J5VXNlcklkU2NoZW1hLCBHZXREb2N1bWVudEJ5SWRTY2hlbWEsIEdldERvY3VtZW50c0J5SWRTY2hlbWEsIEdldE1lc3NhZ2VCeUlkU2NoZW1hLCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZFNjaGVtYSwgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYSwgR2V0U3RyZWFtSWRzQnlDaGF0SWRTY2hlbWEsIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hLCBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hLCBMaXN0QWdlbnRGbG93c1NjaGVtYSwgTGlzdEFzc2lzdGFudHNTY2hlbWEsIExpc3RDb21wZXRlbmNpZXNTY2hlbWEsIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYSwgTGlzdEVtcGxvaWRzU2NoZW1hLCBMaXN0RXh0ZW5zaW9uc1NjaGVtYSwgTGlzdElucHV0U2NoZW1hLCBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYSwgTGlzdE9jY3VwYXRpb25zU2NoZW1hLCBMaXN0U2NvcGVzU2NoZW1hLCBMaXN0U2tpbGxzU2NoZW1hLCBMaXN0VGVhbXNTY2hlbWEsIExpc3RXb3JrZXJzU2NoZW1hLCBTYXZlQ2hhdFNjaGVtYSwgU2F2ZURvY3VtZW50U2NoZW1hLCBTYXZlTWVzc2FnZXNTY2hlbWEsIFNhdmVTdWdnZXN0aW9uc1NjaGVtYSwgVXBkYXRlQXNzaXN0YW50U2NoZW1hLCBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hLCBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYSwgVXBkYXRlQ29tcGV0ZW5jeVNjaGVtYSwgVXBkYXRlRW1wbG9pZFNjaGVtYSwgVXBkYXRlSW5wdXRTY2hlbWEsIFVwZGF0ZUpvYkRlZmluaXRpb25TY2hlbWEsIFVwZGF0ZU9jY3VwYXRpb25TY2hlbWEsIFVwZGF0ZVNjb3BlU2NoZW1hLCBVcGRhdGVTa2lsbFNjaGVtYSwgVXBkYXRlVGVhbVNjaGVtYSwgVXBkYXRlV29ya2VyU2NoZW1hLCBWb3RlTWVzc2FnZVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB7IFRFbXBsb2lkIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTREtGb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yU2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBDcmVhdGVFbXBsb2lkKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlRW1wbG9pZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxufVxuXG5leHBvcnQgY29uc3QgVXBkYXRlRW1wbG9pZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLlVwZGF0ZUVtcGxvaWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBEZWxldGVFbXBsb2lkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlRW1wbG9pZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3QgTGlzdEVtcGxvaWRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0RW1wbG9pZHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RFbXBsb2lkcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEVtcGxvaWRzUGFnaW5hdGVkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RTY29wZXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RTY29wZXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RTY29wZXMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlT2NjdXBhdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlT2NjdXBhdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVPY2N1cGF0aW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVPY2N1cGF0aW9uU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVPY2N1cGF0aW9uKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRGVsZXRlT2NjdXBhdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlT2NjdXBhdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlT2NjdXBhdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NvcGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNjb3BlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5DcmVhdGVTY29wZShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNjb3BlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTY29wZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlU2NvcGUocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2NvcGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNjb3BlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVTY29wZShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IExpc3RPY2N1cGF0aW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdE9jY3VwYXRpb25zU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0T2NjdXBhdGlvbnMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSm9iRGVmaW5pdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlSm9iRGVmaW5pdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVKb2JEZWZpbml0aW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVKb2JEZWZpbml0aW9uKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUpvYkRlZmluaXRpb24gPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZUpvYkRlZmluaXRpb24ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdEpvYkRlZmluaXRpb25zID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEpvYkRlZmluaXRpb25zKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29tcGV0ZW5jeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlQ29tcGV0ZW5jeShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb21wZXRlbmN5ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21wZXRlbmN5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVDb21wZXRlbmN5KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbXBldGVuY3kgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbXBldGVuY3lTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZUNvbXBldGVuY3kocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdENvbXBldGVuY2llcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdENvbXBldGVuY2llc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdENvbXBldGVuY2llcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBZ2VudEZsb3cgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFnZW50Rmxvd1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlQWdlbnRGbG93KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudEZsb3dzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0QWdlbnRGbG93c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEFnZW50Rmxvd3MocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRXh0ZW5zaW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFeHRlbnNpb25TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZUV4dGVuc2lvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0RXh0ZW5zaW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdEV4dGVuc2lvbnNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RFeHRlbnNpb25zKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQXNzaXN0YW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5DcmVhdGVBc3Npc3RhbnQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQXNzaXN0YW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVBc3Npc3RhbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLlVwZGF0ZUFzc2lzdGFudChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVBc3Npc3RhbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUFzc2lzdGFudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlQXNzaXN0YW50KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0QXNzaXN0YW50c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEFzc2lzdGFudHMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlV29ya2VyID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVXb3JrZXJTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZVdvcmtlcihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVXb3JrZXIgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVdvcmtlclNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlV29ya2VyKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVdvcmtlciA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlV29ya2VyU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVXb3JrZXIocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFdvcmtlcnMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RXb3JrZXJzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0V29ya2VycyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnB1dCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5wdXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZUlucHV0KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUlucHV0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVJbnB1dFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlSW5wdXQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSW5wdXQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUlucHV0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVJbnB1dChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5wdXRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0SW5wdXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RJbnB1dHMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGVhbSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGVhbVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlVGVhbShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUZWFtID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVUZWFtU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVUZWFtKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRlYW0gPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVRlYW1TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZVRlYW0ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFRlYW1zID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGVhbXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RUZWFtcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBTYXZlQ2hhdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZUNoYXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLlNhdmVDaGF0KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNoYXRCeUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVDaGF0QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlQ2hhdEJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhdEJ5SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRCeUlkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRDaGF0QnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRDaGF0c0J5VXNlcklkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRDaGF0c0J5VXNlcklkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRDaGF0c0J5VXNlcklkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFNhdmVNZXNzYWdlcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZU1lc3NhZ2VzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5TYXZlTWVzc2FnZXMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZXNCeUNoYXRJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0TWVzc2FnZXNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUJ5SWRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkdldE1lc3NhZ2VCeUlkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFZvdGVNZXNzYWdlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBWb3RlTWVzc2FnZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVm90ZU1lc3NhZ2UocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Vm90ZXNCeUNoYXRJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0Vm90ZXNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXAgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFNhdmVTdWdnZXN0aW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZVN1Z2dlc3Rpb25zU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5TYXZlU3VnZ2VzdGlvbnMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXAgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkdldE1lc3NhZ2VDb3VudEJ5VXNlcklkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVN0cmVhbUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTdHJlYW1JZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlU3RyZWFtSWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3RyZWFtSWRzQnlDaGF0SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRTdHJlYW1JZHNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBTYXZlRG9jdW1lbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFNhdmVEb2N1bWVudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuU2F2ZURvY3VtZW50KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldERvY3VtZW50QnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRCeUlkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXREb2N1bWVudEJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0RG9jdW1lbnRzQnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0RG9jdW1lbnRzQnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTa2lsbCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU2tpbGxTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZVNraWxsKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNraWxsID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTa2lsbFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlU2tpbGwocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2tpbGwgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNraWxsU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVTa2lsbChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0U2tpbGxzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0U2tpbGxzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0U2tpbGxzKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuIl19
984
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLFdBQWdEO0lBQ2hGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixFQUFFLENBQUM7UUFDN0MsWUFBWTtRQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUM7SUFDaEIsQ0FBQztBQUVMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFdBQWdELEVBQXFCLEVBQUU7SUFDdkcsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxZQUFZO1FBQ1osTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1B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LElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHNlcnZlcic7XG5cbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgQXBwY29uZGFFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgQ3JlYXRlQWdlbnRGbG93U2NoZW1hLCBDcmVhdGVBc3Npc3RhbnRTY2hlbWEsIENyZWF0ZUNvbXBldGVuY3lTY2hlbWEsIENyZWF0ZUVtcGxvaWRTY2hlbWEsIENyZWF0ZUV4dGVuc2lvblNjaGVtYSwgQ3JlYXRlSW5wdXRTY2hlbWEsIENyZWF0ZUluc3RydWN0aW9uU2NoZW1hLCBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hLCBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hLCBDcmVhdGVTY29wZVNjaGVtYSwgQ3JlYXRlU2tpbGxTY2hlbWEsIENyZWF0ZVN0cmVhbUlkU2NoZW1hLCBDcmVhdGVUZWFtU2NoZW1hLCBDcmVhdGVXb3JrZXJTY2hlbWEsIERlbGV0ZUFzc2lzdGFudFNjaGVtYSwgRGVsZXRlQ2hhdEJ5SWRTY2hlbWEsIERlbGV0ZUNvbXBldGVuY3lTY2hlbWEsIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlRW1wbG9pZFNjaGVtYSwgRGVsZXRlSW5wdXRTY2hlbWEsIERlbGV0ZUluc3RydWN0aW9uU2NoZW1hLCBEZWxldGVKb2JEZWZpbml0aW9uU2NoZW1hLCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEsIERlbGV0ZU9jY3VwYXRpb25TY2hlbWEsIERlbGV0ZVNjb3BlU2NoZW1hLCBEZWxldGVTa2lsbFNjaGVtYSwgRGVsZXRlVGVhbVNjaGVtYSwgRGVsZXRlV29ya2VyU2NoZW1hLCBHZXRDaGF0QnlJZFNjaGVtYSwgR2V0Q2hhdHNCeVVzZXJJZFNjaGVtYSwgR2V0RG9jdW1lbnRCeUlkU2NoZW1hLCBHZXREb2N1bWVudHNCeUlkU2NoZW1hLCBHZXRNZXNzYWdlQnlJZFNjaGVtYSwgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWEsIEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWEsIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hLCBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZFNjaGVtYSwgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYSwgTGlzdEFnZW50Rmxvd3NTY2hlbWEsIExpc3RBc3Npc3RhbnRzU2NoZW1hLCBMaXN0Q29tcGV0ZW5jaWVzU2NoZW1hLCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWRTY2hlbWEsIExpc3RFbXBsb2lkc1NjaGVtYSwgTGlzdEV4dGVuc2lvbnNTY2hlbWEsIExpc3RJbnB1dFNjaGVtYSwgTGlzdEluc3RydWN0aW9uc1NjaGVtYSwgTGlzdEpvYkRlZmluaXRpb25TY2hlbWEsIExpc3RPY2N1cGF0aW9uc1NjaGVtYSwgTGlzdFNjb3Blc1NjaGVtYSwgTGlzdFNraWxsc1NjaGVtYSwgTGlzdFRlYW1zU2NoZW1hLCBMaXN0V29ya2Vyc1NjaGVtYSwgU2F2ZUNoYXRTY2hlbWEsIFNhdmVEb2N1bWVudFNjaGVtYSwgU2F2ZU1lc3NhZ2VzU2NoZW1hLCBTYXZlU3VnZ2VzdGlvbnNTY2hlbWEsIFVwZGF0ZUFzc2lzdGFudFNjaGVtYSwgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYSwgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWRTY2hlbWEsIFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEsIFVwZGF0ZUVtcGxvaWRTY2hlbWEsIFVwZGF0ZUlucHV0U2NoZW1hLCBVcGRhdGVJbnN0cnVjdGlvblNjaGVtYSwgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYSwgVXBkYXRlT2NjdXBhdGlvblNjaGVtYSwgVXBkYXRlU2NvcGVTY2hlbWEsIFVwZGF0ZVNraWxsU2NoZW1hLCBVcGRhdGVUZWFtU2NoZW1hLCBVcGRhdGVXb3JrZXJTY2hlbWEsIFZvdGVNZXNzYWdlU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHsgVEVtcGxvaWQsIFRJbnN0cnVjdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U0RLRm9yU2VydmljZSB9IGZyb20gJy4uLy4uL2dldFNES0ZvclNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gQ3JlYXRlRW1wbG9pZChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZUVtcGxvaWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUVtcGxvaWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUVtcGxvaWRTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVFbXBsb2lkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRGVsZXRlRW1wbG9pZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZUVtcGxvaWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnN0cnVjdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5zdHJ1Y3Rpb25TY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb24+ID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlSW5zdHJ1Y3Rpb24ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVJbnN0cnVjdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSW5zdHJ1Y3Rpb25TY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb24+ID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlSW5zdHJ1Y3Rpb24ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5zdHJ1Y3Rpb25zID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0SW5zdHJ1Y3Rpb25zU2NoZW1hPik6IFByb21pc2U8VEluc3RydWN0aW9uW10+ID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEluc3RydWN0aW9ucyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IERlbGV0ZUluc3RydWN0aW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVJbnN0cnVjdGlvblNjaGVtYT4pOiBQcm9taXNlPFRJbnN0cnVjdGlvbj4gPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVJbnN0cnVjdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3QgTGlzdEVtcGxvaWRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0RW1wbG9pZHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RFbXBsb2lkcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEVtcGxvaWRzUGFnaW5hdGVkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RTY29wZXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RTY29wZXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RTY29wZXMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlT2NjdXBhdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlT2NjdXBhdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVPY2N1cGF0aW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVPY2N1cGF0aW9uU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVPY2N1cGF0aW9uKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRGVsZXRlT2NjdXBhdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlT2NjdXBhdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlT2NjdXBhdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NvcGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNjb3BlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5DcmVhdGVTY29wZShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNjb3BlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTY29wZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlU2NvcGUocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2NvcGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNjb3BlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVTY29wZShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IExpc3RPY2N1cGF0aW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdE9jY3VwYXRpb25zU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0T2NjdXBhdGlvbnMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSm9iRGVmaW5pdGlvbiA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlSm9iRGVmaW5pdGlvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVKb2JEZWZpbml0aW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVKb2JEZWZpbml0aW9uKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUpvYkRlZmluaXRpb24gPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZUpvYkRlZmluaXRpb24ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdEpvYkRlZmluaXRpb25zID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEpvYkRlZmluaXRpb25zKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29tcGV0ZW5jeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlQ29tcGV0ZW5jeShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb21wZXRlbmN5ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21wZXRlbmN5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVDb21wZXRlbmN5KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbXBldGVuY3kgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbXBldGVuY3lTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZUNvbXBldGVuY3kocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdENvbXBldGVuY2llcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdENvbXBldGVuY2llc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdENvbXBldGVuY2llcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBZ2VudEZsb3cgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFnZW50Rmxvd1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlQWdlbnRGbG93KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudEZsb3dzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0QWdlbnRGbG93c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEFnZW50Rmxvd3MocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRXh0ZW5zaW9uID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFeHRlbnNpb25TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZUV4dGVuc2lvbihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0RXh0ZW5zaW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdEV4dGVuc2lvbnNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RFeHRlbnNpb25zKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQXNzaXN0YW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5DcmVhdGVBc3Npc3RhbnQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQXNzaXN0YW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVBc3Npc3RhbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLlVwZGF0ZUFzc2lzdGFudChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVBc3Npc3RhbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUFzc2lzdGFudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlQXNzaXN0YW50KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0QXNzaXN0YW50c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuTGlzdEFzc2lzdGFudHMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlV29ya2VyID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVXb3JrZXJTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZVdvcmtlcihwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVXb3JrZXIgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVdvcmtlclNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlV29ya2VyKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVdvcmtlciA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlV29ya2VyU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVXb3JrZXIocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFdvcmtlcnMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RXb3JrZXJzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0V29ya2VycyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnB1dCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5wdXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZUlucHV0KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUlucHV0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVJbnB1dFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlSW5wdXQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSW5wdXQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUlucHV0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVJbnB1dChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5wdXRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0SW5wdXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RJbnB1dHMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGVhbSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGVhbVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlVGVhbShwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUZWFtID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVUZWFtU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5VcGRhdGVUZWFtKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRlYW0gPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVRlYW1TY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkRlbGV0ZVRlYW0ocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFRlYW1zID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGVhbXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkxpc3RUZWFtcyhwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBTYXZlQ2hhdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZUNoYXRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLlNhdmVDaGF0KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNoYXRCeUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVDaGF0QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlQ2hhdEJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhdEJ5SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRCeUlkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRDaGF0QnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRDaGF0c0J5VXNlcklkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRDaGF0c0J5VXNlcklkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRDaGF0c0J5VXNlcklkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFNhdmVNZXNzYWdlcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZU1lc3NhZ2VzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5TYXZlTWVzc2FnZXMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZXNCeUNoYXRJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0TWVzc2FnZXNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUJ5SWRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkdldE1lc3NhZ2VCeUlkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFZvdGVNZXNzYWdlID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBWb3RlTWVzc2FnZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVm90ZU1lc3NhZ2UocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0Vm90ZXNCeUNoYXRJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0Vm90ZXNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXAgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFNhdmVTdWdnZXN0aW9ucyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgU2F2ZVN1Z2dlc3Rpb25zU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5TYXZlU3VnZ2VzdGlvbnMocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXAgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkdldE1lc3NhZ2VDb3VudEJ5VXNlcklkKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVN0cmVhbUlkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTdHJlYW1JZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuQ3JlYXRlU3RyZWFtSWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3RyZWFtSWRzQnlDaGF0SWQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXRTdHJlYW1JZHNCeUNoYXRJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBTYXZlRG9jdW1lbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFNhdmVEb2N1bWVudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuU2F2ZURvY3VtZW50KHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldERvY3VtZW50QnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRCeUlkU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5HZXREb2N1bWVudEJ5SWQocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0RG9jdW1lbnRzQnlJZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuR2V0RG9jdW1lbnRzQnlJZChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTa2lsbCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU2tpbGxTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBlbXBsb2lkIH0gPSBhd2FpdCBnZXRTREtGb3JTZXJ2aWNlKCk7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBlbXBsb2lkLkNyZWF0ZVNraWxsKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNraWxsID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTa2lsbFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGVtcGxvaWQgfSA9IGF3YWl0IGdldFNES0ZvclNlcnZpY2UoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGVtcGxvaWQuVXBkYXRlU2tpbGwocGFyc2VkSW5wdXQpO1xuICAgICAgICByZXR1cm4gYXBwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2tpbGwgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNraWxsU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5EZWxldGVTa2lsbChwYXJzZWRJbnB1dCk7XG4gICAgICAgIHJldHVybiBhcHA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0U2tpbGxzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0U2tpbGxzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZW1wbG9pZCB9ID0gYXdhaXQgZ2V0U0RLRm9yU2VydmljZSgpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgYXBwID0gYXdhaXQgZW1wbG9pZC5MaXN0U2tpbGxzKHBhcnNlZElucHV0KTtcbiAgICAgICAgcmV0dXJuIGFwcDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuIl19
@@ -357,3 +357,30 @@ export declare const UpdateSkillSchema: z.ZodObject<{
357
357
  export declare const DeleteSkillSchema: z.ZodObject<{
358
358
  id: z.ZodString;
359
359
  }, z.core.$strip>;
360
+ export declare const CreateInstructionSchema: z.ZodObject<{
361
+ emploidId: z.ZodString;
362
+ content: z.ZodString;
363
+ type: z.ZodEnum<{
364
+ USER: "USER";
365
+ SYSTEM: "SYSTEM";
366
+ }>;
367
+ active: z.ZodBoolean;
368
+ }, z.core.$strip>;
369
+ export declare const ListInstructionsSchema: z.ZodObject<{
370
+ type: z.ZodOptional<z.ZodString>;
371
+ searchText: z.ZodOptional<z.ZodString>;
372
+ active: z.ZodOptional<z.ZodBoolean>;
373
+ emploidId: z.ZodOptional<z.ZodString>;
374
+ }, z.core.$strip>;
375
+ export declare const UpdateInstructionSchema: z.ZodObject<{
376
+ id: z.ZodString;
377
+ type: z.ZodOptional<z.ZodEnum<{
378
+ USER: "USER";
379
+ SYSTEM: "SYSTEM";
380
+ }>>;
381
+ content: z.ZodOptional<z.ZodString>;
382
+ active: z.ZodOptional<z.ZodBoolean>;
383
+ }, z.core.$strip>;
384
+ export declare const DeleteInstructionSchema: z.ZodObject<{
385
+ id: z.ZodString;
386
+ }, z.core.$strip>;
@@ -307,4 +307,25 @@ export const UpdateSkillSchema = z.object({
307
307
  export const DeleteSkillSchema = z.object({
308
308
  id: z.string(),
309
309
  });
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFSCxN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QUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRW1wbG9pZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICB1c2VySWQ6IHouc3RyaW5nKCksXG4gICAgb2NjdXBhdGlvbklkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCksXG4gICAgYXZhdGFyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB2ZXJzaW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlRW1wbG9pZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIGF2YXRhcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdmVyc2lvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUVtcGxvaWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEVtcGxvaWRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm9wdGlvbmFsKCksXG4gICAgbGltaXQ6IHoubnVtYmVyKCkuaW50KCkub3B0aW9uYWwoKSxcbiAgICBzZWFyY2g6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgICBvY2N1cGF0aW9uOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgY3JlYXRlZEJ5OiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCkudHJhbnNmb3JtKChhcnIpID0+IHtcbiAgICAgICAgcmV0dXJuIGFycj8ubWFwKChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkpO1xuICAgIH0pLFxuICAgIHNvcnRCeTogei5lbnVtKFsnbmFtZScsICdjcmVhdGVkQXQnLCAndXBkYXRlZEF0JywgJ3JlbGV2YW5jZSddKS5vcHRpb25hbCgpLFxuICAgIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0U2NvcGVzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RPY2N1cGF0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcblxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlT2NjdXBhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZU9jY3VwYXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTY29wZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTY29wZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzY29wZUlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUpvYkRlZmluaXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhdGVnb3J5OiB6LmVudW0oW1widGVjaG5pY2FsXCIsIFwiYWRtaW5pc3RyYXRpdmVcIiwgXCJzb2NpYWxcIl0pLm9wdGlvbmFsKCksXG4gICAgcHJpb3JpdHk6IHouZW51bShbXCJoaWdoXCIsIFwibWVkaXVtXCIsIFwibG93XCJdKS5vcHRpb25hbCgpLFxuICAgIHN0YXR1czogei5lbnVtKFtcImFjdGl2ZVwiLCBcImluYWN0aXZlXCIsIFwiZHJhZnRcIl0pLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjYXRlZ29yeTogei5lbnVtKFtcInRlY2huaWNhbFwiLCBcImFkbWluaXN0cmF0aXZlXCIsIFwic29jaWFsXCJdKS5vcHRpb25hbCgpLFxuICAgIHByaW9yaXR5OiB6LmVudW0oW1wiaGlnaFwiLCBcIm1lZGl1bVwiLCBcImxvd1wiXSkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouZW51bShbXCJhY3RpdmVcIiwgXCJpbmFjdGl2ZVwiLCBcImRyYWZ0XCJdKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCksXG4gICAgam9iRGVmaW5pdGlvbklkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdENvbXBldGVuY2llc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgam9iRGVmaW5pdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ29tcGV0ZW5jeVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQWdlbnRGbG93U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgLy9mbG93RGF0YTogei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEFnZW50Rmxvd3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRXh0ZW5zaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIGNvbmZpZzogei5vYmplY3Qoe30pLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEV4dGVuc2lvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQXNzaXN0YW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQXNzaXN0YW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQXNzaXN0YW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVdvcmtlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVXb3JrZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgd29ya2VySWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgRGVsZXRlV29ya2VyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHdvcmtlcklkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0V29ya2Vyc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCksXG4gICAgY29tcGV0ZW5jeUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0eXBlOiB6LmVudW0oWydzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnb2JqZWN0J10pLmRlZmF1bHQoJ3N0cmluZycpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY29tcGV0ZW5jeUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHR5cGU6IHouZW51bShbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbicsICdvYmplY3QnXSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVRlYW1TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0VGVhbXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGVhbVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZWFtSWQ6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGVhbVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZWFtSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVDaGF0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIHZpc2liaWxpdHk6IHouZW51bShbJ3ByaXZhdGUnLCAncHVibGljJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDaGF0QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhdEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldENoYXRzQnlVc2VySWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIGxpbWl0OiB6Lm51bWJlcigpLFxuICAgIHN0YXJ0aW5nQWZ0ZXI6IHouc3RyaW5nKCkubnVsbGFibGUoKS5vcHRpb25hbCgpLFxuICAgIGVuZGluZ0JlZm9yZTogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVNZXNzYWdlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBtZXNzYWdlczogei5hcnJheSh6Lm9iamVjdCgpKVxufSk7XG5cblxuZXhwb3J0IGNvbnN0IEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVm90ZU1lc3NhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxuICAgIG1lc3NhZ2VJZDogei5zdHJpbmcoKSxcbiAgICB0eXBlOiB6LmVudW0oWyd1cCcsICdkb3duJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHRpbWVzdGFtcDogei5kYXRlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVTdWdnZXN0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzdWdnZXN0aW9uczogei5hcnJheSh6Lm9iamVjdCh7fSkpXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxuICAgIHRpbWVzdGFtcDogei5kYXRlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHZpc2liaWxpdHk6IHouZW51bShbJ3ByaXZhdGUnLCAncHVibGljJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIGNvbnRleHQ6IHoub2JqZWN0KHt9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIGRpZmZlcmVuY2VJbkhvdXJzOiB6Lm51bWJlcigpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTdHJlYW1JZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzdHJlYW1JZDogei5zdHJpbmcoKSxcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2F2ZURvY3VtZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAga2luZDogei5lbnVtKFsndGV4dCcsICdjb2RlJywgJ2ltYWdlJywgJ3NoZWV0J10pLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXREb2N1bWVudEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldERvY3VtZW50c0J5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0U2tpbGxzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7Il19
310
+ export const CreateInstructionSchema = z.object({
311
+ emploidId: z.string(),
312
+ content: z.string(),
313
+ type: z.enum(['USER', 'SYSTEM']),
314
+ active: z.boolean(),
315
+ });
316
+ export const ListInstructionsSchema = z.object({
317
+ type: z.string().optional(),
318
+ searchText: z.string().optional(),
319
+ active: z.boolean().optional(),
320
+ emploidId: z.string().optional()
321
+ });
322
+ export const UpdateInstructionSchema = z.object({
323
+ id: z.string(),
324
+ type: z.enum(['USER', 'SYSTEM']).optional(),
325
+ content: z.string().optional(),
326
+ active: z.boolean().optional(),
327
+ });
328
+ export const DeleteInstructionSchema = z.object({
329
+ id: z.string(),
330
+ });
331
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFSCxN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QUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUVtcGxvaWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIG9jY3VwYXRpb25JZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIGF2YXRhcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdmVyc2lvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUVtcGxvaWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKSxcbiAgICBhdmF0YXI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHZlcnNpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVFbXBsb2lkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RFbXBsb2lkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgcGFnZTogei5udW1iZXIoKS5pbnQoKS5vcHRpb25hbCgpLFxuICAgIGxpbWl0OiB6Lm51bWJlcigpLmludCgpLm9wdGlvbmFsKCksXG4gICAgc2VhcmNoOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc3RhdHVzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgb2NjdXBhdGlvbjogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGNyZWF0ZWRCeTogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLnRyYW5zZm9ybSgoYXJyKSA9PiB7XG4gICAgICAgIHJldHVybiBhcnI/Lm1hcCgoaXRlbSkgPT4gaXRlbS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KSxcbiAgICBzb3J0Qnk6IHouZW51bShbJ25hbWUnLCAnY3JlYXRlZEF0JywgJ3VwZGF0ZWRBdCcsICdyZWxldmFuY2UnXSkub3B0aW9uYWwoKSxcbiAgICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFNjb3Blc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0T2NjdXBhdGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG5cbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZU9jY3VwYXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVPY2N1cGF0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNjb3BlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc2NvcGVJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc2NvcGVJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjYXRlZ29yeTogei5lbnVtKFtcInRlY2huaWNhbFwiLCBcImFkbWluaXN0cmF0aXZlXCIsIFwic29jaWFsXCJdKS5vcHRpb25hbCgpLFxuICAgIHByaW9yaXR5OiB6LmVudW0oW1wiaGlnaFwiLCBcIm1lZGl1bVwiLCBcImxvd1wiXSkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouZW51bShbXCJhY3RpdmVcIiwgXCJpbmFjdGl2ZVwiLCBcImRyYWZ0XCJdKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY2F0ZWdvcnk6IHouZW51bShbXCJ0ZWNobmljYWxcIiwgXCJhZG1pbmlzdHJhdGl2ZVwiLCBcInNvY2lhbFwiXSkub3B0aW9uYWwoKSxcbiAgICBwcmlvcml0eTogei5lbnVtKFtcImhpZ2hcIiwgXCJtZWRpdW1cIiwgXCJsb3dcIl0pLm9wdGlvbmFsKCksXG4gICAgc3RhdHVzOiB6LmVudW0oW1wiYWN0aXZlXCIsIFwiaW5hY3RpdmVcIiwgXCJkcmFmdFwiXSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDb21wZXRlbmN5U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIGpvYkRlZmluaXRpb25JZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RDb21wZXRlbmNpZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc2NvcGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGpvYkRlZmluaXRpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDb21wZXRlbmN5U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFnZW50Rmxvd1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIC8vZmxvd0RhdGE6IHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudEZsb3dzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUV4dGVuc2lvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHt9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RFeHRlbnNpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxufSk7XG5cblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0QXNzaXN0YW50c1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVXb3JrZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlV29ya2VyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHdvcmtlcklkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cblxuZXhwb3J0IGNvbnN0IERlbGV0ZVdvcmtlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB3b3JrZXJJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFdvcmtlcnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIGNvbXBldGVuY3lJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdHlwZTogei5lbnVtKFsnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ29iamVjdCddKS5kZWZhdWx0KCdzdHJpbmcnKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbXBldGVuY3lJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0eXBlOiB6LmVudW0oWydzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnb2JqZWN0J10pLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUZWFtU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFRlYW1zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVRlYW1TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVhbUlkOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRlYW1TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVhbUlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTYXZlQ2hhdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHVzZXJJZDogei5zdHJpbmcoKSxcbiAgICB2aXNpYmlsaXR5OiB6LmVudW0oWydwcml2YXRlJywgJ3B1YmxpYyddKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQ2hhdEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldENoYXRCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRDaGF0c0J5VXNlcklkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHVzZXJJZDogei5zdHJpbmcoKSxcbiAgICBsaW1pdDogei5udW1iZXIoKSxcbiAgICBzdGFydGluZ0FmdGVyOiB6LnN0cmluZygpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbiAgICBlbmRpbmdCZWZvcmU6IHouc3RyaW5nKCkubnVsbGFibGUoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTYXZlTWVzc2FnZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgbWVzc2FnZXM6IHouYXJyYXkoei5vYmplY3QoKSlcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlc0J5Q2hhdElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZUJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFZvdGVNZXNzYWdlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbiAgICBtZXNzYWdlSWQ6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5lbnVtKFsndXAnLCAnZG93biddKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB0aW1lc3RhbXA6IHouZGF0ZSgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTYXZlU3VnZ2VzdGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc3VnZ2VzdGlvbnM6IHouYXJyYXkoei5vYmplY3Qoe30pKVxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbiAgICB0aW1lc3RhbXA6IHouZGF0ZSgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB2aXNpYmlsaXR5OiB6LmVudW0oWydwcml2YXRlJywgJ3B1YmxpYyddKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBjb250ZXh0OiB6Lm9iamVjdCh7fSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldE1lc3NhZ2VDb3VudEJ5VXNlcklkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHVzZXJJZDogei5zdHJpbmcoKSxcbiAgICBkaWZmZXJlbmNlSW5Ib3Vyczogei5udW1iZXIoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU3RyZWFtSWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc3RyZWFtSWQ6IHouc3RyaW5nKCksXG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRTdHJlYW1JZHNCeUNoYXRJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVEb2N1bWVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIGtpbmQ6IHouZW51bShbJ3RleHQnLCAnY29kZScsICdpbWFnZScsICdzaGVldCddKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLFxuICAgIHVzZXJJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0RG9jdW1lbnRCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXREb2N1bWVudHNCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTa2lsbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFNraWxsc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTa2lsbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTa2lsbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSW5zdHJ1Y3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5lbnVtKFsnVVNFUicsICdTWVNURU0nXSksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEluc3RydWN0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc2VhcmNoVGV4dDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVJbnN0cnVjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB0eXBlOiB6LmVudW0oWydVU0VSJywgJ1NZU1RFTSddKS5vcHRpb25hbCgpLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUluc3RydWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7Il19
@@ -1,7 +1,7 @@
1
1
  import z from "zod";
2
2
  import { ServiceClient } from "../../service-client";
3
- import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from "./schema";
4
- import { TAgentFlow, TAssistant, TChat, TCompetency, TDocument, TEmploid, TExtension, TInput, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTeam, TWorker } from "./types";
3
+ import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from "./schema";
4
+ import { TAgentFlow, TAssistant, TChat, TCompetency, TDocument, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTeam, TWorker } from "./types";
5
5
  export declare class EmploidService extends ServiceClient {
6
6
  protected getServiceName(): string;
7
7
  CreateEmploid(payload: z.infer<typeof CreateEmploidSchema>): Promise<TEmploid>;
@@ -9,6 +9,10 @@ export declare class EmploidService extends ServiceClient {
9
9
  DeleteEmploid(payload: z.infer<typeof DeleteEmploidSchema>): Promise<TEmploid>;
10
10
  ListEmploids(payload: z.infer<typeof ListEmploidsSchema>): Promise<TEmploid[]>;
11
11
  ListEmploidsPaginated(payload: z.infer<typeof ListEmploidsPaginatedSchema>): Promise<TPaginatedEmploidsResult>;
12
+ CreateInstruction(payload: z.infer<typeof CreateInstructionSchema>): Promise<TInstruction>;
13
+ ListInstructions(payload: z.infer<typeof ListInstructionsSchema>): Promise<TInstruction[]>;
14
+ UpdateInstruction(payload: z.infer<typeof UpdateInstructionSchema>): Promise<TInstruction>;
15
+ DeleteInstruction(payload: z.infer<typeof DeleteInstructionSchema>): Promise<TInstruction>;
12
16
  ListScopes(payload: z.infer<typeof ListScopesSchema>): Promise<TScope[]>;
13
17
  CreateScope(payload: z.infer<typeof CreateScopeSchema>): Promise<TScope>;
14
18
  UpdateScope(payload: z.infer<typeof UpdateScopeSchema>): Promise<TScope>;
@@ -18,6 +18,18 @@ export class EmploidService extends ServiceClient {
18
18
  async ListEmploidsPaginated(payload) {
19
19
  return await this.actionCall('emploid', 'ListEmploidsPaginated', payload);
20
20
  }
21
+ async CreateInstruction(payload) {
22
+ return await this.actionCall('emploid', 'CreateInstruction', payload);
23
+ }
24
+ async ListInstructions(payload) {
25
+ return await this.actionCall('emploid', 'ListInstructions', payload);
26
+ }
27
+ async UpdateInstruction(payload) {
28
+ return await this.actionCall('emploid', 'UpdateInstruction', payload);
29
+ }
30
+ async DeleteInstruction(payload) {
31
+ return await this.actionCall('emploid', 'DeleteInstruction', payload);
32
+ }
21
33
  async ListScopes(payload) {
22
34
  return await this.actionCall('emploid', 'ListScopes', payload);
23
35
  }
@@ -202,4 +214,4 @@ export class EmploidService extends ServiceClient {
202
214
  return await this.actionCall('skill', 'DeleteSkill', payload);
203
215
  }
204
216
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtcGxvaWQvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNckQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQ25DLGNBQWM7UUFDcEIsT0FBTyw4QkFBOEIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QztRQUNuRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQTRDO1FBQ25FLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNEM7UUFDbkUsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUEyQztRQUNqRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBb0Q7UUFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQXlDO1FBQzdELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUs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Q0FBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUErQztRQUN6RSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBMEM7UUFDL0QsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUF5QztRQUM3RCxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQTBDO1FBQy9ELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBMEM7UUFDL0QsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB6IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vLi4vc2VydmljZS1jbGllbnRcIjtcblxuXG5pbXBvcnQgeyBDcmVhdGVBZ2VudEZsb3dTY2hlbWEsIENyZWF0ZUFzc2lzdGFudFNjaGVtYSwgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYSwgQ3JlYXRlRW1wbG9pZFNjaGVtYSwgQ3JlYXRlRXh0ZW5zaW9uU2NoZW1hLCBDcmVhdGVJbnB1dFNjaGVtYSwgQ3JlYXRlSm9iRGVmaW5pdGlvblNjaGVtYSwgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYSwgQ3JlYXRlU2NvcGVTY2hlbWEsIENyZWF0ZVNraWxsU2NoZW1hLCBDcmVhdGVTdHJlYW1JZFNjaGVtYSwgQ3JlYXRlVGVhbVNjaGVtYSwgQ3JlYXRlV29ya2VyU2NoZW1hLCBEZWxldGVBc3Npc3RhbnRTY2hlbWEsIERlbGV0ZUNoYXRCeUlkU2NoZW1hLCBEZWxldGVDb21wZXRlbmN5U2NoZW1hLCBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEsIERlbGV0ZUVtcGxvaWRTY2hlbWEsIERlbGV0ZUlucHV0U2NoZW1hLCBEZWxldGVKb2JEZWZpbml0aW9uU2NoZW1hLCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEsIERlbGV0ZU9jY3VwYXRpb25TY2hlbWEsIERlbGV0ZVNjb3BlU2NoZW1hLCBEZWxldGVTa2lsbFNjaGVtYSwgRGVsZXRlVGVhbVNjaGVtYSwgRGVsZXRlV29ya2VyU2NoZW1hLCBHZXRDaGF0QnlJZFNjaGVtYSwgR2V0Q2hhdHNCeVVzZXJJZFNjaGVtYSwgR2V0RG9jdW1lbnRCeUlkU2NoZW1hLCBHZXREb2N1bWVudHNCeUlkU2NoZW1hLCBHZXRNZXNzYWdlQnlJZFNjaGVtYSwgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWEsIEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWEsIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hLCBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZFNjaGVtYSwgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYSwgTGlzdEFnZW50Rmxvd3NTY2hlbWEsIExpc3RBc3Npc3RhbnRzU2NoZW1hLCBMaXN0Q29tcGV0ZW5jaWVzU2NoZW1hLCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWRTY2hlbWEsIExpc3RFbXBsb2lkc1NjaGVtYSwgTGlzdEV4dGVuc2lvbnNTY2hlbWEsIExpc3RJbnB1dFNjaGVtYSwgTGlzdEpvYkRlZmluaXRpb25TY2hlbWEsIExpc3RPY2N1cGF0aW9uc1NjaGVtYSwgTGlzdFNjb3Blc1NjaGVtYSwgTGlzdFNraWxsc1NjaGVtYSwgTGlzdFRlYW1zU2NoZW1hLCBMaXN0V29ya2Vyc1NjaGVtYSwgU2F2ZUNoYXRTY2hlbWEsIFNhdmVEb2N1bWVudFNjaGVtYSwgU2F2ZU1lc3NhZ2VzU2NoZW1hLCBTYXZlU3VnZ2VzdGlvbnNTY2hlbWEsIFVwZGF0ZUFzc2lzdGFudFNjaGVtYSwgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYSwgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWRTY2hlbWEsIFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEsIFVwZGF0ZUVtcGxvaWRTY2hlbWEsIFVwZGF0ZUlucHV0U2NoZW1hLCBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hLCBVcGRhdGVPY2N1cGF0aW9uU2NoZW1hLCBVcGRhdGVTY29wZVNjaGVtYSwgVXBkYXRlU2tpbGxTY2hlbWEsIFVwZGF0ZVRlYW1TY2hlbWEsIFVwZGF0ZVdvcmtlclNjaGVtYSwgVm90ZU1lc3NhZ2VTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IFRBZ2VudEZsb3csIFRBc3Npc3RhbnQsIFRDaGF0LCBUQ29tcGV0ZW5jeSwgVERvY3VtZW50LCBURW1wbG9pZCwgVEV4dGVuc2lvbiwgVElucHV0LCBUSm9iRGVmaW5pdGlvbiwgVE9jY3VwYXRpb24sIFRQYWdpbmF0ZWRFbXBsb2lkc1Jlc3VsdCwgVFNjb3BlLCBUU2tpbGwsIFRTdHJlYW1JZCwgVFRlYW0sIFRXb3JrZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgRW1wbG9pZFNlcnZpY2UgZXh0ZW5kcyBTZXJ2aWNlQ2xpZW50IHtcbiAgICBwcm90ZWN0ZWQgZ2V0U2VydmljZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdjb20uYXBwY29uZGEuc2VydmljZS5lbXBsb2lkJztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlRW1wbG9pZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVFbXBsb2lkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUVtcGxvaWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlRW1wbG9pZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVFbXBsb2lkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUVtcGxvaWRTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUVtcGxvaWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEVtcGxvaWRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1NjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0RW1wbG9pZHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEVtcGxvaWRzUGFnaW5hdGVkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYT4pOiBQcm9taXNlPFRQYWdpbmF0ZWRFbXBsb2lkc1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RFbXBsb2lkc1BhZ2luYXRlZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0U2NvcGVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RTY29wZXNTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGVbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RTY29wZXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlU2NvcGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU2NvcGVTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGU+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVTY29wZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVTY29wZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTY29wZVNjaGVtYT4pOiBQcm9taXNlPFRTY29wZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZVNjb3BlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVNjb3BlKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNjb3BlU2NoZW1hPik6IFByb21pc2U8VFNjb3BlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlU2NvcGUnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlT2NjdXBhdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hPik6IFByb21pc2U8VE9jY3VwYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdDcmVhdGVPY2N1cGF0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZU9jY3VwYXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlT2NjdXBhdGlvblNjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnVXBkYXRlT2NjdXBhdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVPY2N1cGF0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU9jY3VwYXRpb25TY2hlbWE+KTogUHJvbWlzZTxUT2NjdXBhdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0RlbGV0ZU9jY3VwYXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdE9jY3VwYXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RPY2N1cGF0aW9uc1NjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdMaXN0T2NjdXBhdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSm9iRGVmaW5pdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVKb2JEZWZpbml0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUpvYkRlZmluaXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pOiBQcm9taXNlPFRKb2JEZWZpbml0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlSm9iRGVmaW5pdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVKb2JEZWZpbml0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWE+KTogUHJvbWlzZTxUSm9iRGVmaW5pdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUpvYkRlZmluaXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEpvYkRlZmluaXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RKb2JEZWZpbml0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVDb21wZXRlbmN5KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbXBldGVuY3lTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUNvbXBldGVuY3knLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ29tcGV0ZW5jeShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21wZXRlbmN5U2NoZW1hPik6IFByb21pc2U8VENvbXBldGVuY3k+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVDb21wZXRlbmN5JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNvbXBldGVuY3kocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29tcGV0ZW5jeVNjaGVtYT4pOiBQcm9taXNlPFRDb21wZXRlbmN5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlQ29tcGV0ZW5jeScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Q29tcGV0ZW5jaWVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RDb21wZXRlbmNpZXNTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdENvbXBldGVuY2llcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBZ2VudEZsb3cocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQWdlbnRGbG93U2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvdz4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0NyZWF0ZUFnZW50RmxvdycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QWdlbnRGbG93cyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0QWdlbnRGbG93c1NjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0xpc3RBZ2VudEZsb3dzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUV4dGVuc2lvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFeHRlbnNpb25TY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2V4dGVuc2lvbicsICdDcmVhdGVFeHRlbnNpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEV4dGVuc2lvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEV4dGVuc2lvbnNTY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZXh0ZW5zaW9uJywgJ0xpc3RFeHRlbnNpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFzc2lzdGFudChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdDcmVhdGVBc3Npc3RhbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQXNzaXN0YW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUFzc2lzdGFudFNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ1VwZGF0ZUFzc2lzdGFudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVBc3Npc3RhbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQXNzaXN0YW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnRGVsZXRlQXNzaXN0YW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBc3Npc3RhbnRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRzU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdMaXN0QXNzaXN0YW50cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVXb3JrZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlV29ya2VyU2NoZW1hPik6IFByb21pc2U8VFdvcmtlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnQ3JlYXRlV29ya2VyJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVdvcmtlcihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVXb3JrZXJTY2hlbWE+KTogUHJvbWlzZTxUV29ya2VyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3dvcmtlcicsICdVcGRhdGVXb3JrZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlV29ya2VyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVdvcmtlclNjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnd29ya2VyJywgJ0RlbGV0ZVdvcmtlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0V29ya2VycyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0V29ya2Vyc1NjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXJbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnTGlzdFdvcmtlcnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSW5wdXQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnaW5wdXQtb3V0cHV0JywgJ0NyZWF0ZUlucHV0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUlucHV0KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUlucHV0U2NoZW1hPik6IFByb21pc2U8VElucHV0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2lucHV0LW91dHB1dCcsICdVcGRhdGVJbnB1dCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVJbnB1dChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVJbnB1dFNjaGVtYT4pOiBQcm9taXNlPFRJbnB1dD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnRGVsZXRlSW5wdXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdElucHV0cyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0SW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnTGlzdElucHV0cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVUZWFtKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRlYW1TY2hlbWE+KTogUHJvbWlzZTxUVGVhbT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd0ZWFtJywgJ0NyZWF0ZVRlYW0nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFRlYW1zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RUZWFtc1NjaGVtYT4pOiBQcm9taXNlPFRUZWFtW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdMaXN0VGVhbXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlVGVhbShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVUZWFtU2NoZW1hPik6IFByb21pc2U8VFRlYW0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdVcGRhdGVUZWFtJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVRlYW0ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVGVhbVNjaGVtYT4pOiBQcm9taXNlPFRUZWFtPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3RlYW0nLCAnRGVsZXRlVGVhbScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlQ2hhdChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTYXZlQ2hhdFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnU2F2ZUNoYXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQ2hhdEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ2hhdEJ5SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0RlbGV0ZUNoYXRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldENoYXRCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRCeUlkU2NoZW1hPik6IFByb21pc2U8VENoYXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRDaGF0QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRDaGF0c0J5VXNlcklkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRzQnlVc2VySWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0Q2hhdHNCeVVzZXJJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlTWVzc2FnZXMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZU1lc3NhZ2VzU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVNZXNzYWdlcycsIHBheWxvYWQpO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIEdldE1lc3NhZ2VzQnlDaGF0SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRNZXNzYWdlc0J5Q2hhdElkJywgcGF5bG9hZCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TWVzc2FnZUJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUJ5SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0TWVzc2FnZUJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVm90ZU1lc3NhZ2UocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVm90ZU1lc3NhZ2VTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnVm90ZU1lc3NhZ2UnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0Vm90ZXNCeUNoYXRJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldFZvdGVzQnlDaGF0SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXAnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgU2F2ZVN1Z2dlc3Rpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNhdmVTdWdnZXN0aW9uc1NjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdTYXZlU3VnZ2VzdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXAnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWRTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1VwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TWVzc2FnZUNvdW50QnlVc2VySWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWE+KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRNZXNzYWdlQ291bnRCeVVzZXJJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVTdHJlYW1JZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTdHJlYW1JZFNjaGVtYT4pOiBQcm9taXNlPFRTdHJlYW1JZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0NyZWF0ZVN0cmVhbUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFN0cmVhbUlkc0J5Q2hhdElkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hPik6IFByb21pc2U8VFN0cmVhbUlkW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRTdHJlYW1JZHNCeUNoYXRJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlRG9jdW1lbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZURvY3VtZW50U2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVEb2N1bWVudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXREb2N1bWVudEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRCeUlkU2NoZW1hPik6IFByb21pc2U8VERvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0RG9jdW1lbnRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldERvY3VtZW50c0J5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYT4pOiBQcm9taXNlPFREb2N1bWVudFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0RG9jdW1lbnRzQnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVTa2lsbChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTa2lsbFNjaGVtYT4pOiBQcm9taXNlPFRTa2lsbD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdDcmVhdGVTa2lsbCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0U2tpbGxzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RTa2lsbHNTY2hlbWE+KTogUHJvbWlzZTxUU2tpbGxbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdMaXN0U2tpbGxzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVNraWxsU2NoZW1hPik6IFByb21pc2U8VFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ1VwZGF0ZVNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNraWxsU2NoZW1hPik6IFByb21pc2U8VFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ0RlbGV0ZVNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxufVxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtcGxvaWQvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNckQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQ25DLGNBQWM7UUFDcEIsT0FBTyw4QkFBOEIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QztRQUNuRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQTRDO1FBQ25FLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNEM7UUFDbkUsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUEyQztRQUNqRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBb0Q7UUFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBZ0Q7UUFDM0UsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLG1CQUFtQixF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LE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBMEM7UUFDL0QsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB6IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vLi4vc2VydmljZS1jbGllbnRcIjtcblxuXG5pbXBvcnQgeyBDcmVhdGVBZ2VudEZsb3dTY2hlbWEsIENyZWF0ZUFzc2lzdGFudFNjaGVtYSwgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYSwgQ3JlYXRlRW1wbG9pZFNjaGVtYSwgQ3JlYXRlRXh0ZW5zaW9uU2NoZW1hLCBDcmVhdGVJbnB1dFNjaGVtYSwgQ3JlYXRlSW5zdHJ1Y3Rpb25TY2hlbWEsIENyZWF0ZUpvYkRlZmluaXRpb25TY2hlbWEsIENyZWF0ZU9jY3VwYXRpb25TY2hlbWEsIENyZWF0ZVNjb3BlU2NoZW1hLCBDcmVhdGVTa2lsbFNjaGVtYSwgQ3JlYXRlU3RyZWFtSWRTY2hlbWEsIENyZWF0ZVRlYW1TY2hlbWEsIENyZWF0ZVdvcmtlclNjaGVtYSwgRGVsZXRlQXNzaXN0YW50U2NoZW1hLCBEZWxldGVDaGF0QnlJZFNjaGVtYSwgRGVsZXRlQ29tcGV0ZW5jeVNjaGVtYSwgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wU2NoZW1hLCBEZWxldGVFbXBsb2lkU2NoZW1hLCBEZWxldGVJbnB1dFNjaGVtYSwgRGVsZXRlSW5zdHJ1Y3Rpb25TY2hlbWEsIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWEsIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlT2NjdXBhdGlvblNjaGVtYSwgRGVsZXRlU2NvcGVTY2hlbWEsIERlbGV0ZVNraWxsU2NoZW1hLCBEZWxldGVUZWFtU2NoZW1hLCBEZWxldGVXb3JrZXJTY2hlbWEsIEdldENoYXRCeUlkU2NoZW1hLCBHZXRDaGF0c0J5VXNlcklkU2NoZW1hLCBHZXREb2N1bWVudEJ5SWRTY2hlbWEsIEdldERvY3VtZW50c0J5SWRTY2hlbWEsIEdldE1lc3NhZ2VCeUlkU2NoZW1hLCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZFNjaGVtYSwgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYSwgR2V0U3RyZWFtSWRzQnlDaGF0SWRTY2hlbWEsIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hLCBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hLCBMaXN0QWdlbnRGbG93c1NjaGVtYSwgTGlzdEFzc2lzdGFudHNTY2hlbWEsIExpc3RDb21wZXRlbmNpZXNTY2hlbWEsIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYSwgTGlzdEVtcGxvaWRzU2NoZW1hLCBMaXN0RXh0ZW5zaW9uc1NjaGVtYSwgTGlzdElucHV0U2NoZW1hLCBMaXN0SW5zdHJ1Y3Rpb25zU2NoZW1hLCBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYSwgTGlzdE9jY3VwYXRpb25zU2NoZW1hLCBMaXN0U2NvcGVzU2NoZW1hLCBMaXN0U2tpbGxzU2NoZW1hLCBMaXN0VGVhbXNTY2hlbWEsIExpc3RXb3JrZXJzU2NoZW1hLCBTYXZlQ2hhdFNjaGVtYSwgU2F2ZURvY3VtZW50U2NoZW1hLCBTYXZlTWVzc2FnZXNTY2hlbWEsIFNhdmVTdWdnZXN0aW9uc1NjaGVtYSwgVXBkYXRlQXNzaXN0YW50U2NoZW1hLCBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hLCBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYSwgVXBkYXRlQ29tcGV0ZW5jeVNjaGVtYSwgVXBkYXRlRW1wbG9pZFNjaGVtYSwgVXBkYXRlSW5wdXRTY2hlbWEsIFVwZGF0ZUluc3RydWN0aW9uU2NoZW1hLCBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hLCBVcGRhdGVPY2N1cGF0aW9uU2NoZW1hLCBVcGRhdGVTY29wZVNjaGVtYSwgVXBkYXRlU2tpbGxTY2hlbWEsIFVwZGF0ZVRlYW1TY2hlbWEsIFVwZGF0ZVdvcmtlclNjaGVtYSwgVm90ZU1lc3NhZ2VTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IFRBZ2VudEZsb3csIFRBc3Npc3RhbnQsIFRDaGF0LCBUQ29tcGV0ZW5jeSwgVERvY3VtZW50LCBURW1wbG9pZCwgVEV4dGVuc2lvbiwgVElucHV0LCBUSW5zdHJ1Y3Rpb24sIFRKb2JEZWZpbml0aW9uLCBUT2NjdXBhdGlvbiwgVFBhZ2luYXRlZEVtcGxvaWRzUmVzdWx0LCBUU2NvcGUsIFRTa2lsbCwgVFN0cmVhbUlkLCBUVGVhbSwgVFdvcmtlciB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBFbXBsb2lkU2VydmljZSBleHRlbmRzIFNlcnZpY2VDbGllbnQge1xuICAgIHByb3RlY3RlZCBnZXRTZXJ2aWNlTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2NvbS5hcHBjb25kYS5zZXJ2aWNlLmVtcGxvaWQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVFbXBsb2lkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUVtcGxvaWRTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUVtcGxvaWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlRW1wbG9pZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVFbXBsb2lkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUVtcGxvaWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlRW1wbG9pZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0RW1wbG9pZHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEVtcGxvaWRzU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RFbXBsb2lkcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0RW1wbG9pZHNQYWdpbmF0ZWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEVtcGxvaWRzUGFnaW5hdGVkU2NoZW1hPik6IFByb21pc2U8VFBhZ2luYXRlZEVtcGxvaWRzUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdEVtcGxvaWRzUGFnaW5hdGVkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUluc3RydWN0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUluc3RydWN0aW9uU2NoZW1hPik6IFByb21pc2U8VEluc3RydWN0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlSW5zdHJ1Y3Rpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEluc3RydWN0aW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0SW5zdHJ1Y3Rpb25zU2NoZW1hPik6IFByb21pc2U8VEluc3RydWN0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0SW5zdHJ1Y3Rpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUluc3RydWN0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUluc3RydWN0aW9uU2NoZW1hPik6IFByb21pc2U8VEluc3RydWN0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlSW5zdHJ1Y3Rpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlSW5zdHJ1Y3Rpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlSW5zdHJ1Y3Rpb25TY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdEZWxldGVJbnN0cnVjdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0U2NvcGVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RTY29wZXNTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGVbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RTY29wZXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlU2NvcGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU2NvcGVTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGU+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVTY29wZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVTY29wZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTY29wZVNjaGVtYT4pOiBQcm9taXNlPFRTY29wZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZVNjb3BlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVNjb3BlKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNjb3BlU2NoZW1hPik6IFByb21pc2U8VFNjb3BlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlU2NvcGUnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlT2NjdXBhdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hPik6IFByb21pc2U8VE9jY3VwYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdDcmVhdGVPY2N1cGF0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZU9jY3VwYXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlT2NjdXBhdGlvblNjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnVXBkYXRlT2NjdXBhdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVPY2N1cGF0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU9jY3VwYXRpb25TY2hlbWE+KTogUHJvbWlzZTxUT2NjdXBhdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0RlbGV0ZU9jY3VwYXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdE9jY3VwYXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RPY2N1cGF0aW9uc1NjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdMaXN0T2NjdXBhdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSm9iRGVmaW5pdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVKb2JEZWZpbml0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUpvYkRlZmluaXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pOiBQcm9taXNlPFRKb2JEZWZpbml0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlSm9iRGVmaW5pdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVKb2JEZWZpbml0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWE+KTogUHJvbWlzZTxUSm9iRGVmaW5pdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUpvYkRlZmluaXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEpvYkRlZmluaXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RKb2JEZWZpbml0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVDb21wZXRlbmN5KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbXBldGVuY3lTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUNvbXBldGVuY3knLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ29tcGV0ZW5jeShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21wZXRlbmN5U2NoZW1hPik6IFByb21pc2U8VENvbXBldGVuY3k+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVDb21wZXRlbmN5JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNvbXBldGVuY3kocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29tcGV0ZW5jeVNjaGVtYT4pOiBQcm9taXNlPFRDb21wZXRlbmN5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlQ29tcGV0ZW5jeScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Q29tcGV0ZW5jaWVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RDb21wZXRlbmNpZXNTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdENvbXBldGVuY2llcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBZ2VudEZsb3cocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQWdlbnRGbG93U2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvdz4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0NyZWF0ZUFnZW50RmxvdycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QWdlbnRGbG93cyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0QWdlbnRGbG93c1NjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0xpc3RBZ2VudEZsb3dzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUV4dGVuc2lvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFeHRlbnNpb25TY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2V4dGVuc2lvbicsICdDcmVhdGVFeHRlbnNpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEV4dGVuc2lvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEV4dGVuc2lvbnNTY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZXh0ZW5zaW9uJywgJ0xpc3RFeHRlbnNpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFzc2lzdGFudChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdDcmVhdGVBc3Npc3RhbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQXNzaXN0YW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUFzc2lzdGFudFNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ1VwZGF0ZUFzc2lzdGFudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVBc3Npc3RhbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQXNzaXN0YW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnRGVsZXRlQXNzaXN0YW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBc3Npc3RhbnRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRzU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdMaXN0QXNzaXN0YW50cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVXb3JrZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlV29ya2VyU2NoZW1hPik6IFByb21pc2U8VFdvcmtlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnQ3JlYXRlV29ya2VyJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVdvcmtlcihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVXb3JrZXJTY2hlbWE+KTogUHJvbWlzZTxUV29ya2VyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3dvcmtlcicsICdVcGRhdGVXb3JrZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlV29ya2VyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVdvcmtlclNjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnd29ya2VyJywgJ0RlbGV0ZVdvcmtlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0V29ya2VycyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0V29ya2Vyc1NjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXJbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnTGlzdFdvcmtlcnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSW5wdXQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnaW5wdXQtb3V0cHV0JywgJ0NyZWF0ZUlucHV0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUlucHV0KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUlucHV0U2NoZW1hPik6IFByb21pc2U8VElucHV0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2lucHV0LW91dHB1dCcsICdVcGRhdGVJbnB1dCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVJbnB1dChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVJbnB1dFNjaGVtYT4pOiBQcm9taXNlPFRJbnB1dD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnRGVsZXRlSW5wdXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdElucHV0cyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0SW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnTGlzdElucHV0cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVUZWFtKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRlYW1TY2hlbWE+KTogUHJvbWlzZTxUVGVhbT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd0ZWFtJywgJ0NyZWF0ZVRlYW0nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFRlYW1zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RUZWFtc1NjaGVtYT4pOiBQcm9taXNlPFRUZWFtW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdMaXN0VGVhbXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlVGVhbShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVUZWFtU2NoZW1hPik6IFByb21pc2U8VFRlYW0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdVcGRhdGVUZWFtJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVRlYW0ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVGVhbVNjaGVtYT4pOiBQcm9taXNlPFRUZWFtPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3RlYW0nLCAnRGVsZXRlVGVhbScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlQ2hhdChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTYXZlQ2hhdFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnU2F2ZUNoYXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQ2hhdEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ2hhdEJ5SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0RlbGV0ZUNoYXRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldENoYXRCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRCeUlkU2NoZW1hPik6IFByb21pc2U8VENoYXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRDaGF0QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRDaGF0c0J5VXNlcklkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldENoYXRzQnlVc2VySWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0Q2hhdHNCeVVzZXJJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlTWVzc2FnZXMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZU1lc3NhZ2VzU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVNZXNzYWdlcycsIHBheWxvYWQpO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIEdldE1lc3NhZ2VzQnlDaGF0SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRNZXNzYWdlc0J5Q2hhdElkJywgcGF5bG9hZCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TWVzc2FnZUJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUJ5SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0TWVzc2FnZUJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVm90ZU1lc3NhZ2UocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVm90ZU1lc3NhZ2VTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnVm90ZU1lc3NhZ2UnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0Vm90ZXNCeUNoYXRJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldFZvdGVzQnlDaGF0SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXAnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgU2F2ZVN1Z2dlc3Rpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNhdmVTdWdnZXN0aW9uc1NjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdTYXZlU3VnZ2VzdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXAnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWRTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1VwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TWVzc2FnZUNvdW50QnlVc2VySWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWE+KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRNZXNzYWdlQ291bnRCeVVzZXJJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVTdHJlYW1JZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTdHJlYW1JZFNjaGVtYT4pOiBQcm9taXNlPFRTdHJlYW1JZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0NyZWF0ZVN0cmVhbUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFN0cmVhbUlkc0J5Q2hhdElkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hPik6IFByb21pc2U8VFN0cmVhbUlkW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRTdHJlYW1JZHNCeUNoYXRJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlRG9jdW1lbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZURvY3VtZW50U2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVEb2N1bWVudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXREb2N1bWVudEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRCeUlkU2NoZW1hPik6IFByb21pc2U8VERvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0RG9jdW1lbnRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldERvY3VtZW50c0J5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYT4pOiBQcm9taXNlPFREb2N1bWVudFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0RG9jdW1lbnRzQnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVTa2lsbChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTa2lsbFNjaGVtYT4pOiBQcm9taXNlPFRTa2lsbD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdDcmVhdGVTa2lsbCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0U2tpbGxzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RTa2lsbHNTY2hlbWE+KTogUHJvbWlzZTxUU2tpbGxbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdMaXN0U2tpbGxzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVNraWxsU2NoZW1hPik6IFByb21pc2U8VFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ1VwZGF0ZVNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNraWxsU2NoZW1hPik6IFByb21pc2U8VFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ0RlbGV0ZVNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxufVxuIl19
@@ -105,3 +105,10 @@ export type TSkill = {
105
105
  description: string;
106
106
  graph: string;
107
107
  };
108
+ export type TInstruction = {
109
+ id: string;
110
+ emploidId: string;
111
+ content: string;
112
+ type: string;
113
+ active: boolean;
114
+ };
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9lbXBsb2lkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB0eXBlIFRFbXBsb2lkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQgPSB7XG4gICAgZW1wbG9pZHM6IFRFbXBsb2lkW107XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICAgIGhhc01vcmU6IGJvb2xlYW47XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRTY29wZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUT2NjdXBhdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUSm9iRGVmaW5pdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIHNjb3BlSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHByaW9yaXR5OiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDb21wZXRlbmN5ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgc2NvcGVJZDogc3RyaW5nO1xuICAgIGpvYkRlZmluaXRpb25JZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUQWdlbnRGbG93ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRFeHRlbnNpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25maWc6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgVEFzc2lzdGFudCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRXb3JrZXIgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVElucHV0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgY29tcGV0ZW5jeUlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUVGVhbSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDaGF0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgbGFzdENvbnRleHQ6IGFueTtcbn1cblxuIFxuZXhwb3J0IHR5cGUgVERvY3VtZW50ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGtpbmQ6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFN0cmVhbUlkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRTa2lsbCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGdyYXBoOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9lbXBsb2lkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB0eXBlIFRFbXBsb2lkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQgPSB7XG4gICAgZW1wbG9pZHM6IFRFbXBsb2lkW107XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICAgIGhhc01vcmU6IGJvb2xlYW47XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRTY29wZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUT2NjdXBhdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUSm9iRGVmaW5pdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIHNjb3BlSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHByaW9yaXR5OiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDb21wZXRlbmN5ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgc2NvcGVJZDogc3RyaW5nO1xuICAgIGpvYkRlZmluaXRpb25JZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUQWdlbnRGbG93ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRFeHRlbnNpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25maWc6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgVEFzc2lzdGFudCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRXb3JrZXIgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVElucHV0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgY29tcGV0ZW5jeUlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUVGVhbSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDaGF0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgbGFzdENvbnRleHQ6IGFueTtcbn1cblxuIFxuZXhwb3J0IHR5cGUgVERvY3VtZW50ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGtpbmQ6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFN0cmVhbUlkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRTa2lsbCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGdyYXBoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRJbnN0cnVjdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufSJdfQ==
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@appconda/nextjs",
3
3
  "homepage": "https://appconda.io/support",
4
4
  "description": "Appconda is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
5
- "version": "1.0.405",
5
+ "version": "1.0.407",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -42,3 +42,5 @@ export * from './modules';
42
42
  export type { SafeActionFn } from 'next-safe-action';
43
43
  export * from './actions';
44
44
  export * from './lib';
45
+ export * from './getSDKForService';
46
+
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { z } from 'zod';
4
4
  import { AppcondaException } from '../../client';
5
- import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from './schema';
6
- import { TEmploid } from './types';
5
+ import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from './schema';
6
+ import { TEmploid, TInstruction } from './types';
7
7
  import { getSDKForService } from '../../getSDKForService';
8
8
 
9
9
  export async function CreateEmploid(parsedInput: z.infer<typeof CreateEmploidSchema>): Promise<TEmploid> {
@@ -52,6 +52,66 @@ export const DeleteEmploid = async (parsedInput: z.infer<typeof DeleteEmploidSch
52
52
  }
53
53
  }
54
54
 
55
+ export const CreateInstruction = async (parsedInput: z.infer<typeof CreateInstructionSchema>): Promise<TInstruction> => {
56
+ try {
57
+ const { emploid } = await getSDKForService();
58
+ //@ts-ignore
59
+ const app = await emploid.CreateInstruction(parsedInput);
60
+ return app;
61
+ } catch (error) {
62
+ if (error instanceof AppcondaException) {
63
+ throw new Error(error.message);
64
+ }
65
+
66
+ throw error;
67
+ }
68
+ }
69
+
70
+ export const UpdateInstruction = async (parsedInput: z.infer<typeof UpdateInstructionSchema>): Promise<TInstruction> => {
71
+ try {
72
+ const { emploid } = await getSDKForService();
73
+ //@ts-ignore
74
+ const app = await emploid.UpdateInstruction(parsedInput);
75
+ return app;
76
+ } catch (error) {
77
+ if (error instanceof AppcondaException) {
78
+ throw new Error(error.message);
79
+ }
80
+
81
+ throw error;
82
+ }
83
+ }
84
+
85
+ export const ListInstructions = async (parsedInput: z.infer<typeof ListInstructionsSchema>): Promise<TInstruction[]> => {
86
+ try {
87
+ const { emploid } = await getSDKForService();
88
+ //@ts-ignore
89
+ const app = await emploid.ListInstructions(parsedInput);
90
+ return app;
91
+ } catch (error) {
92
+ if (error instanceof AppcondaException) {
93
+ throw new Error(error.message);
94
+ }
95
+
96
+ throw error;
97
+ }
98
+ }
99
+
100
+ export const DeleteInstruction = async (parsedInput: z.infer<typeof DeleteInstructionSchema>): Promise<TInstruction> => {
101
+ try {
102
+ const { emploid } = await getSDKForService();
103
+ //@ts-ignore
104
+ const app = await emploid.DeleteInstruction(parsedInput);
105
+ return app;
106
+ } catch (error) {
107
+ if (error instanceof AppcondaException) {
108
+ throw new Error(error.message);
109
+ }
110
+
111
+ throw error;
112
+ }
113
+ }
114
+
55
115
 
56
116
  export const ListEmploids = async (parsedInput: z.infer<typeof ListEmploidsSchema>) => {
57
117
  try {
@@ -377,4 +377,29 @@ export const UpdateSkillSchema = z.object({
377
377
 
378
378
  export const DeleteSkillSchema = z.object({
379
379
  id: z.string(),
380
+ });
381
+
382
+ export const CreateInstructionSchema = z.object({
383
+ emploidId: z.string(),
384
+ content: z.string(),
385
+ type: z.enum(['USER', 'SYSTEM']),
386
+ active: z.boolean(),
387
+ });
388
+
389
+ export const ListInstructionsSchema = z.object({
390
+ type: z.string().optional(),
391
+ searchText: z.string().optional(),
392
+ active: z.boolean().optional(),
393
+ emploidId: z.string().optional()
394
+ });
395
+
396
+ export const UpdateInstructionSchema = z.object({
397
+ id: z.string(),
398
+ type: z.enum(['USER', 'SYSTEM']).optional(),
399
+ content: z.string().optional(),
400
+ active: z.boolean().optional(),
401
+ });
402
+
403
+ export const DeleteInstructionSchema = z.object({
404
+ id: z.string(),
380
405
  });
@@ -3,8 +3,8 @@ import z from "zod";
3
3
  import { ServiceClient } from "../../service-client";
4
4
 
5
5
 
6
- import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from "./schema";
7
- import { TAgentFlow, TAssistant, TChat, TCompetency, TDocument, TEmploid, TExtension, TInput, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTeam, TWorker } from "./types";
6
+ import { CreateAgentFlowSchema, CreateAssistantSchema, CreateCompetencySchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTeamSchema, CreateWorkerSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCompetencySchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteEmploidSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTeamSchema, DeleteWorkerSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, ListAgentFlowsSchema, ListAssistantsSchema, ListCompetenciesSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListScopesSchema, ListSkillsSchema, ListTeamsSchema, ListWorkersSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCompetencySchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTeamSchema, UpdateWorkerSchema, VoteMessageSchema } from "./schema";
7
+ import { TAgentFlow, TAssistant, TChat, TCompetency, TDocument, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTeam, TWorker } from "./types";
8
8
 
9
9
  export class EmploidService extends ServiceClient {
10
10
  protected getServiceName(): string {
@@ -31,6 +31,22 @@ export class EmploidService extends ServiceClient {
31
31
  return await this.actionCall('emploid', 'ListEmploidsPaginated', payload);
32
32
  }
33
33
 
34
+ public async CreateInstruction(payload: z.infer<typeof CreateInstructionSchema>): Promise<TInstruction> {
35
+ return await this.actionCall('emploid', 'CreateInstruction', payload);
36
+ }
37
+
38
+ public async ListInstructions(payload: z.infer<typeof ListInstructionsSchema>): Promise<TInstruction[]> {
39
+ return await this.actionCall('emploid', 'ListInstructions', payload);
40
+ }
41
+
42
+ public async UpdateInstruction(payload: z.infer<typeof UpdateInstructionSchema>): Promise<TInstruction> {
43
+ return await this.actionCall('emploid', 'UpdateInstruction', payload);
44
+ }
45
+
46
+ public async DeleteInstruction(payload: z.infer<typeof DeleteInstructionSchema>): Promise<TInstruction> {
47
+ return await this.actionCall('emploid', 'DeleteInstruction', payload);
48
+ }
49
+
34
50
  public async ListScopes(payload: z.infer<typeof ListScopesSchema>): Promise<TScope[]> {
35
51
  return await this.actionCall('emploid', 'ListScopes', payload);
36
52
  }
@@ -122,3 +122,11 @@ export type TSkill = {
122
122
  description: string;
123
123
  graph: string;
124
124
  }
125
+
126
+ export type TInstruction = {
127
+ id: string;
128
+ emploidId: string;
129
+ content: string;
130
+ type: string;
131
+ active: boolean;
132
+ }