@lifeready/core 1.0.18 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundles/lifeready-core.umd.js +9 -5
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/api/contact-card.service.js +1 -1
  6. package/esm2015/lib/api/contact-card2.service.js +1 -1
  7. package/esm2015/lib/api/key-exchange.types.js +1 -1
  8. package/esm2015/lib/api/key-exchange2.gql.js +1 -1
  9. package/esm2015/lib/api/key-exchange2.service.js +3 -2
  10. package/esm2015/lib/api/shared-contact-card.service.js +1 -1
  11. package/esm2015/lib/api/types/graphql.types.js +1 -1
  12. package/esm2015/lib/api/types/lr-graphql.types.js +10 -1
  13. package/esm2015/lib/auth/auth.types.js +1 -1
  14. package/esm2015/lib/cryptography/key-factory.service.js +1 -1
  15. package/esm2015/lib/cryptography/key-graph.service.js +1 -1
  16. package/esm2015/lib/scenario/scenario.service.js +1 -1
  17. package/esm2015/lib/scenario/scenario.types.js +1 -1
  18. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +1 -1
  19. package/esm2015/lib/users/profile.types.js +1 -1
  20. package/esm2015/lib/users/user.service.js +1 -1
  21. package/esm2015/lib/users/user.types.js +1 -5
  22. package/fesm2015/lifeready-core.js +12 -7
  23. package/fesm2015/lifeready-core.js.map +1 -1
  24. package/lib/api/contact-card.service.d.ts +8 -7
  25. package/lib/api/contact-card2.service.d.ts +4 -3
  26. package/lib/api/key-exchange.types.d.ts +5 -5
  27. package/lib/api/key-exchange2.gql.d.ts +3 -3
  28. package/lib/api/key-exchange2.service.d.ts +3 -3
  29. package/lib/api/shared-contact-card.service.d.ts +4 -3
  30. package/lib/api/types/graphql.types.d.ts +1 -0
  31. package/lib/api/types/lr-graphql.types.d.ts +84 -33
  32. package/lib/auth/auth.types.d.ts +2 -3
  33. package/lib/cryptography/key-graph.service.d.ts +2 -1
  34. package/lib/scenario/scenario.types.d.ts +3 -3
  35. package/lib/trusted-parties/tp-password-reset.gql.d.ts +6 -6
  36. package/lib/users/profile.types.d.ts +2 -2
  37. package/lib/users/user.service.d.ts +3 -2
  38. package/lib/users/user.types.d.ts +0 -7
  39. package/lifeready-core.metadata.json +1 -1
  40. package/package.json +1 -1
@@ -535,4 +535,4 @@ ScenarioService = __decorate([
535
535
  })
536
536
  ], ScenarioService);
537
537
  export { ScenarioService };
538
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2NlbmFyaW8vc2NlbmFyaW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxFQUNMLFFBQVEsRUFHUixhQUFhLEVBR2Isb0JBQW9CLEdBRXJCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBYW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQUUxRSxN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RTtZQUM1RSxzQkFBc0I7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FDbEQsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxvQkFBb0IsQ0FBQyxPQUFPLENBQzdCLENBQUM7WUFFRixPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FDekIsQ0FBTyxlQUFlLEVBQUUsRUFBRTtnQkFDeEIsT0FBQSxJQUFJLFVBQVUsQ0FBQztvQkFDYixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7cUJBQy9DO2lCQUNGLENBQUMsQ0FBQTtjQUFBLENBQ0wsQ0FBQztRQUNKLENBQUM7S0FBQTtDQUNGLENBQUE7QUF0c0JlLGlDQUFpQixHQUFHLFdBQVcsQ0FBQzs7O1lBZC9DLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBL0Q4QixNQUFNO1lBQWhCLFFBQVE7WUFhcEIsZUFBZTtZQWdCZixZQUFZO1lBQ1osMEJBQTBCO1lBYTFCLGlCQUFpQjs7QUFxQmIsZUFBZTtJQU4zQixpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcsZUFBZSxDQWl0QjNCO1NBanRCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IExyTWVyZ2VkTXV0YXRpb24sIExyTXV0YXRpb24sIExyU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7XG4gIG1hcEVkZ2VzLFxuICBTY2VuYXJpb05vZGUsXG4gIFNjZW5hcmlvUmVjZWl2ZXJOb2RlLFxuICBTY2VuYXJpb1N0YXRlLFxuICBTaGFyZWRTY2VuYXJpb0NsYWltUmVjZWl2ZWRBcHByb3ZhbE5vZGUsXG4gIFNoYXJlZFRwQ2xhaW1BcHByb3Zlck5vZGUsXG4gIFRwQ2xhaW1BcHByb3ZlclN0YXRlLFxuICBUcE5vZGUsXG59IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbixcbiAgTHJCYWRTdGF0ZUV4Y2VwdGlvbixcbn0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIERlbGV0ZVNjZW5hcmlvTXV0YXRpb24sXG4gIENyZWF0ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgVXBkYXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgQ3JlYXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgUmVjZWl2ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgQXBwcm92ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgQ2FuY2VsU2NlbmFyaW9DbGFpbU11dGF0aW9uLFxuICBSZWplY3RTY2VuYXJpb0NsYWltTXV0YXRpb24sXG59IGZyb20gJy4vc2NlbmFyaW8uZ3FsJztcbmltcG9ydCB7IEl0ZW0yU2VydmljZSB9IGZyb20gJy4uL2l0ZW1zMi9pdGVtMi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjZW5hcmlvQXNzZW1ibHlDb250cm9sbGVyIH0gZnJvbSAnLi9zY2VuYXJpby5jb250cm9sbGVyJztcbmltcG9ydCB7XG4gIENyZWF0ZUNsYWltYW50T3B0aW9ucyxcbiAgQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zLFxuICBDcmVhdGVSZWNlaXZlck9wdGlvbnMsXG4gIENyZWF0ZVNjZW5hcmlvT3B0aW9ucyxcbiAgUGFydGljaXBhbnRPcHRpb25zLFxuICBSZWNlaXZlckRpcmVjdG9yeU9wdGlvbnMsXG4gIFJlc2V0U2NlbmFyaW9PcHRpb25zLFxuICBVcGRhdGVDbGFpbWFudE9wdGlvbnMsXG4gIFVwZGF0ZVJlY2VpdmVyT3B0aW9ucyxcbiAgVXBkYXRlU2NlbmFyaW9PcHRpb25zLFxufSBmcm9tICcuL3NjZW5hcmlvLnR5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY2VuYXJpb1F1ZXJ5LCBTaGFyZWRTY2VuYXJpb1F1ZXJ5IH0gZnJvbSAnLi9zY2VuYXJpby5ncWwucHJpdmF0ZSc7XG5pbXBvcnQgeyBQYXJ0aWFsQXNzZW1ibHlLZXkgfSBmcm9tICcuLi90cnVzdGVkLXBhcnRpZXMvdHAtYXNzZW1ibHkudHlwZXMnO1xuaW1wb3J0IHsgVHBzS2V5c1F1ZXJ5IH0gZnJvbSAnLi4vdHJ1c3RlZC1wYXJ0aWVzL3RwLWFzc2VtYmx5LmdxbC5wcml2YXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93Q2xhaW1JZE1pc21hdGNoKCkge1xuICB0aHJvdyBuZXcgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbihcbiAgICAnY2xhaW1JZCBkb2VzIG5vdCBtYXRjaCB3aXRoIHRoZSBjdXJyZW50IGNsYWltSWQgb2YgdGhlIHNjZW5hcmlvJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dDbGFpbU5vdEFwcHJvdmVkKCkge1xuICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignU2NlbmFyaW8gY2xhaW0gaGFzIG5vdCBiZWVuIGFwcHJvdmVkJyk7XG59XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuYXJpb1NlcnZpY2UgZXh0ZW5kcyBMclNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGl0ZW0yU2VydmljZTogSXRlbTJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXNzZW1ibHlDb250cm9sbGVyOiBTY2VuYXJpb0Fzc2VtYmx5Q29udHJvbGxlcixcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBTTElQMzlfUEFTU1BIUkFTRSA9ICdsaWZlcmVhZHknO1xuXG4gIHByaXZhdGUgcHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5ID0gdGhpcy5wcmVwYXJlUmVjZWl2ZXJEaXJlY3Rvcnk7XG4gIHByaXZhdGUgcHJlcGFyZVVwZGF0ZVJlY2VpdmVyRGlyZWN0b3J5ID0gdGhpcy5wcmVwYXJlUmVjZWl2ZXJEaXJlY3Rvcnk7XG5cbiAgLy8gU2NlbmFyaW9zXG4gIGFzeW5jIGNyZWF0ZVNjZW5hcmlvKG9wdGlvbnM6IENyZWF0ZVNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLmNyZWF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlU2NlbmFyaW9NdXRhdGlvbihvcHRpb25zOiBDcmVhdGVTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZUNyZWF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTY2VuYXJpb011dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNjZW5hcmlvKG9wdGlvbnM6IFVwZGF0ZVNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnVwZGF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgLy8gVE9ETyBhdXRvIGFkZCB0aGUgbWlzc2luZyBleGlzdGluZyByZWNlaXZlcnMgYW5kIGRpcmVjdG9yaWVzXG4gIGFzeW5jIHVwZGF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9uczogVXBkYXRlU2NlbmFyaW9PcHRpb25zKSB7XG4gICAgY29uc3Qgc2NlbmFyaW8gPSAoYXdhaXQgdGhpcy5nZXRTY2VuYXJpbyhvcHRpb25zLnNjZW5hcmlvSWQpKS5zY2VuYXJpbztcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVNjZW5hcmlvKG9wdGlvbnMsIHNjZW5hcmlvKTtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVNjZW5hcmlvTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVzZXRTY2VuYXJpbyhvcHRpb25zOiBSZXNldFNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnJlc2V0U2NlbmFyaW9NdXRhdGlvbihvcHRpb25zKSk7XG4gIH1cblxuICBhc3luYyByZXNldFNjZW5hcmlvTXV0YXRpb24ob3B0aW9uczogUmVzZXRTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCBzY2VuYXJpbyA9IChhd2FpdCB0aGlzLmdldFNjZW5hcmlvKG9wdGlvbnMuc2NlbmFyaW9JZCkpLnNjZW5hcmlvO1xuXG4gICAgY29uc3QgeyBhc3NlbWJseSB9ID0gc2NlbmFyaW87XG5cbiAgICAvLyBKdXN0IG5lZWQgdG8gZG8gYW4gdXBkYXRlIHdpdGhvdXQgY2hhbmdpbmcgYXBwcm92ZXJzLiBUaGlzIHdpbGwgcmVjcmVhdGVcbiAgICAvLyBhbGwgYXNzZW1ibHkga2V5cy5cbiAgICBjb25zdCB1cGRhdGVTdWJBc3NlbWJsaWVzID0gbWFwRWRnZXMoYXNzZW1ibHkuc3ViQXNzZW1ibGllcykubWFwKChzYSkgPT4ge1xuICAgICAgY29uc3QgYXBwcm92ZXJUcHMgPSBtYXBFZGdlcyhzYS5hcHByb3ZlcnMpLm1hcCgoYXBwcm92ZXIpID0+ICh7XG4gICAgICAgIHRwSWQ6IGFwcHJvdmVyLnRwLmlkLFxuICAgICAgfSkpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogc2EuaWQsXG4gICAgICAgIHF1b3J1bTogc2EucXVvcnVtLFxuICAgICAgICBzaW5nbGVSZWplY3Q6IHNhLnNpbmdsZVJlamVjdCxcbiAgICAgICAgc3ViamVjdENpcGhlckRhdGFDbGVhckpzb246IHNhLnN1YmplY3RDaXBoZXJEYXRhQ2xlYXJKc29uLFxuICAgICAgICBhcHByb3ZlclRwcyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVNjZW5hcmlvKFxuICAgICAge1xuICAgICAgICBzY2VuYXJpb0lkOiBvcHRpb25zLnNjZW5hcmlvSWQsXG4gICAgICAgIGVuYWJsZWQ6IG9wdGlvbnMuZW5hYmxlZCxcbiAgICAgICAgdXBkYXRlQXNzZW1ibHk6IHtcbiAgICAgICAgICBxdW9ydW06IGFzc2VtYmx5LnF1b3J1bSxcbiAgICAgICAgICBzaW5nbGVSZWplY3Q6IGFzc2VtYmx5LnNpbmdsZVJlamVjdCxcbiAgICAgICAgICB1cGRhdGVTdWJBc3NlbWJsaWVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjZW5hcmlvXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlU2NlbmFyaW9NdXRhdGlvbiwgLy8gdXBkYXRpbmcgc2NlbmFyaW8gcmVzZXRzIGl0XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlU2NlbmFyaW8oc2NlbmFyaW9JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubHJHcmFwaFFMLmxyTXV0YXRlKHRoaXMuZGVsZXRlU2NlbmFyaW9NdXRhdGlvbihzY2VuYXJpb0lkKSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVTY2VuYXJpb011dGF0aW9uKHNjZW5hcmlvSWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczogeyBpbnB1dDogeyBzY2VuYXJpb0lkIH0gfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENsYWltc1xuICBhc3luYyBjcmVhdGVDbGFpbShzY2VuYXJpb0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5jcmVhdGVDbGFpbU11dGF0aW9uKHNjZW5hcmlvSWQpKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQ6IHsgc2NlbmFyaW9JZCB9IH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjYW5jZWxDbGFpbShjbGFpbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5jYW5jZWxDbGFpbU11dGF0aW9uKGNsYWltSWQpKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbENsYWltTXV0YXRpb24oY2xhaW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDYW5jZWxTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQ6IHsgY2xhaW1JZCB9IH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWplY3RDbGFpbShzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIGNsYWltSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnJlamVjdENsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZCwgY2xhaW1JZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVqZWN0Q2xhaW1NdXRhdGlvbihzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIGNsYWltSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IG11dGF0aW9ucyA9IGF3YWl0IHRoaXMucHJlcGFyZVJlamVjdENsYWltTXV0YXRpb25zKFxuICAgICAgc2hhcmVkU2NlbmFyaW9JZCxcbiAgICAgIGNsYWltSWRcbiAgICApO1xuICAgIHJldHVybiBMck1lcmdlZE11dGF0aW9uLmNyZWF0ZShhd2FpdCBQcm9taXNlLmFsbChtdXRhdGlvbnMpKTtcbiAgfVxuXG4gIGFzeW5jIGFwcHJvdmVDbGFpbShzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIHNoYXJlZENsYWltSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShcbiAgICAgIHRoaXMuYXBwcm92ZUNsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZCwgc2hhcmVkQ2xhaW1JZClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgYXBwcm92ZUNsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZDogc3RyaW5nLCBzaGFyZWRDbGFpbUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtdXRhdGlvbnMgPSBhd2FpdCB0aGlzLnByZXBhcmVBcHByb3ZlQ2xhaW1NdXRhdGlvbnMoXG4gICAgICBzaGFyZWRTY2VuYXJpb0lkLFxuICAgICAgc2hhcmVkQ2xhaW1JZFxuICAgICk7XG4gICAgcmV0dXJuIExyTWVyZ2VkTXV0YXRpb24uY3JlYXRlKGF3YWl0IFByb21pc2UuYWxsKG11dGF0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZUNsYWltKHNjZW5hcmlvSWQ6IHN0cmluZywgc2hhcmVkQ2xhaW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMucmVjZWl2ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZCwgc2hhcmVkQ2xhaW1JZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZDogc3RyaW5nLCBzaGFyZWRDbGFpbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFJlY2VpdmVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IGF3YWl0IHRoaXMucHJlcGFyZUNsYWltKHNjZW5hcmlvSWQsIHNoYXJlZENsYWltSWQpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgcHJpdmF0ZSBhc3luYyBnZXRTY2VuYXJpbyhzY2VuYXJpb0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeSh7XG4gICAgICBxdWVyeTogU2NlbmFyaW9RdWVyeSxcbiAgICAgIHZhcmlhYmxlczogeyBzY2VuYXJpb0lkIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFNoYXJlZFNjZW5hcmlvKHNjZW5hcmlvSWQ6IHN0cmluZywgY2xhaW1JZD86IHN0cmluZykge1xuICAgIGNvbnN0IHJldCA9IGF3YWl0IHRoaXMucXVlcnkoe1xuICAgICAgcXVlcnk6IFNoYXJlZFNjZW5hcmlvUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgc2NlbmFyaW9JZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoY2xhaW1JZCAmJiByZXQuc2hhcmVkU2NlbmFyaW8uc2hhcmVkQ2xhaW0uaWQgIT09IGNsYWltSWQpIHtcbiAgICAgIHRocm93Q2xhaW1JZE1pc21hdGNoKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UGFydGljaXBhbnRUcHNLZXlzKG9wdGlvbnM6IENyZWF0ZVBhcnRpY2lwYW50T3B0aW9uc1tdKSB7XG4gICAgY29uc3QgdHBJZHMgPSBvcHRpb25zLm1hcCgoeCkgPT4geC50cElkKTtcblxuICAgIC8vIFRoaXMgc2hvdWxkIGNvbnRhaW4gYWxsIHRoZSBUUHMgdGhhdCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYXNzZW1ibHkuXG4gICAgY29uc3QgdHBzID0gbWFwRWRnZXMoXG4gICAgICAoXG4gICAgICAgIGF3YWl0IHRoaXMubHJHcmFwaFFMLnF1ZXJ5KHtcbiAgICAgICAgICBxdWVyeTogVHBzS2V5c1F1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgaWRzOiB0cElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKS50cHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHRwcztcbiAgfVxuXG4gIHByaXZhdGUgZmlsbFRwU2hhcmVkS2V5SWQoXG4gICAgb3B0aW9uczogQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zW10sXG4gICAgdHBzOiBUcE5vZGVbXVxuICApIHtcbiAgICBvcHRpb25zLmZvckVhY2goKHBhcnRpY2lwYW50KSA9PiB7XG4gICAgICBpZiAoIXBhcnRpY2lwYW50LnRwU2hhcmVkS2V5SWQpIHtcbiAgICAgICAgY29uc3QgdHAgPSB0cHMuZmluZCgoeCkgPT4geC5pZCA9PT0gcGFydGljaXBhbnQudHBJZCk7XG4gICAgICAgIHBhcnRpY2lwYW50LnRwU2hhcmVkS2V5SWQgPVxuICAgICAgICAgIHRwLmN1cnJlbnRVc2VyU2hhcmVkS2V5LnVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ3JlYXRlU2NlbmFyaW9NdXRhdGlvbihvcHRpb25zOiBDcmVhdGVTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCB7IGFzc2VtYmx5S2V5LCBtdXRhdGlvbklucHV0OiBjcmVhdGVBc3NlbWJseSB9ID1cbiAgICAgIGF3YWl0IHRoaXMuYXNzZW1ibHlDb250cm9sbGVyLnByZXBhcmVDcmVhdGUob3B0aW9ucy5jcmVhdGVBc3NlbWJseSk7XG5cbiAgICBjb25zdCBjcmVhdGVSZWNlaXZlcnNPcHRpb25zID0gb3B0aW9ucy5jcmVhdGVSZWNlaXZlcnMgfHwgW107XG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzT3B0aW9ucyA9IG9wdGlvbnMuY3JlYXRlQ2xhaW1hbnRzIHx8IFtdO1xuXG4gICAgLy8gRmV0Y2ggYWxsIHRoZSBUUHMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXNzIGluIHRwU2hhcmVkS2V5SWRcbiAgICBjb25zdCBjcmVhdFBhcnRpY2lwYW50c09wdGlvbnMgPSBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLmNvbmNhdChcbiAgICAgIGNyZWF0ZUNsYWltYW50c09wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgdHBzID0gYXdhaXQgdGhpcy5nZXRQYXJ0aWNpcGFudFRwc0tleXMoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zKTtcblxuICAgIHRoaXMuZmlsbFRwU2hhcmVkS2V5SWQoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zLCB0cHMpO1xuXG4gICAgY29uc3QgY3JlYXRlUmVjZWl2ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLm1hcCgocmVjZWl2ZXIpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZUNyZWF0ZVJlY2VpdmVyKHJlY2VpdmVyLCBhc3NlbWJseUtleSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjcmVhdGVDbGFpbWFudHNPcHRpb25zLm1hcCgoeCkgPT4gdGhpcy5wcmVwYXJlQ3JlYXRlQ2xhaW1hbnQoeCkpXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiBvcHRpb25zLmVuYWJsZWQsXG4gICAgICBjcmVhdGVBc3NlbWJseSxcbiAgICAgIGNyZWF0ZVJlY2VpdmVycyxcbiAgICAgIGNyZWF0ZUNsYWltYW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlVXBkYXRlU2NlbmFyaW8oXG4gICAgb3B0aW9uczogVXBkYXRlU2NlbmFyaW9PcHRpb25zLFxuICAgIHNjZW5hcmlvOiBTY2VuYXJpb05vZGVcbiAgKSB7XG4gICAgbGV0IGFzc2VtYmx5S2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoXG4gICAgICBzY2VuYXJpby5hc3NlbWJseS5hc3NlbWJseUtleS5pZFxuICAgICk7XG4gICAgbGV0IHVwZGF0ZUFzc2VtYmx5OiBhbnk7XG5cbiAgICBpZiAob3B0aW9ucy51cGRhdGVBc3NlbWJseSkge1xuICAgICAgLy8gQXNzZW1ibHkga2V5IGlzIGFsd2F5cyByb3RhdGVkIHdoZW4gdXBkYXRpbmcgYXNzZW1ibHkuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFzc2VtYmx5Q29udHJvbGxlci5wcmVwYXJlVXBkYXRlKFxuICAgICAgICBvcHRpb25zLnVwZGF0ZUFzc2VtYmx5LFxuICAgICAgICBzY2VuYXJpby5hc3NlbWJseVxuICAgICAgKTtcbiAgICAgIHVwZGF0ZUFzc2VtYmx5ID0gcmVzdWx0Lm11dGF0aW9uSW5wdXQ7XG4gICAgICBhc3NlbWJseUtleSA9IHJlc3VsdC5hc3NlbWJseUtleTtcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVSZWNlaXZlcnNPcHRpb25zID0gb3B0aW9ucy5jcmVhdGVSZWNlaXZlcnMgfHwgW107XG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzT3B0aW9ucyA9IG9wdGlvbnMuY3JlYXRlQ2xhaW1hbnRzIHx8IFtdO1xuXG4gICAgLy8gRmV0Y2ggYWxsIHRoZSBUUHMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXNzIGluIHRwU2hhcmVkS2V5SWRcbiAgICBjb25zdCBjcmVhdFBhcnRpY2lwYW50c09wdGlvbnMgPSBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLmNvbmNhdChcbiAgICAgIGNyZWF0ZUNsYWltYW50c09wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgdHBzID0gYXdhaXQgdGhpcy5nZXRQYXJ0aWNpcGFudFRwc0tleXMoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zKTtcblxuICAgIHRoaXMuZmlsbFRwU2hhcmVkS2V5SWQoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zLCB0cHMpO1xuXG4gICAgY29uc3QgY3JlYXRlUmVjZWl2ZXJzID1cbiAgICAgIG9wdGlvbnMuY3JlYXRlUmVjZWl2ZXJzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuY3JlYXRlUmVjZWl2ZXJzLm1hcCgoeCkgPT5cbiAgICAgICAgICB0aGlzLnByZXBhcmVDcmVhdGVSZWNlaXZlcih4LCBhc3NlbWJseUtleSlcbiAgICAgICAgKVxuICAgICAgKSk7XG5cbiAgICBjb25zdCBleGlzdGluZ1JlY2VpdmVycyA9IG1hcEVkZ2VzKHNjZW5hcmlvLnJlY2VpdmVycyk7XG4gICAgbGV0IHVwZGF0ZVJlY2VpdmVycyA9IG9wdGlvbnMudXBkYXRlUmVjZWl2ZXJzXG4gICAgICA/IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIG9wdGlvbnMudXBkYXRlUmVjZWl2ZXJzLm1hcCgodXBkYXRlUmVjZWl2ZXIpID0+IHtcbiAgICAgICAgICAgIC8vIEZpbmQgdGhlIHJlY2VpdmVyIHdlIGFyZSB1cGRhdGluZ1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdSZWNlaXZlciA9IGV4aXN0aW5nUmVjZWl2ZXJzLmZpbmQoXG4gICAgICAgICAgICAgICh4KSA9PiB4LnRwLmlkID09PSB1cGRhdGVSZWNlaXZlci50cElkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcmVwYXJlVXBkYXRlUmVjZWl2ZXIoXG4gICAgICAgICAgICAgIHVwZGF0ZVJlY2VpdmVyLFxuICAgICAgICAgICAgICBhc3NlbWJseUtleSxcbiAgICAgICAgICAgICAgZXhpc3RpbmdSZWNlaXZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICA6IFtdO1xuXG4gICAgLy8gRmlsbCBpbiBhbnkgbWlzc2luZyByZWNlaXZlcnMgd2hlbiB1cGRhdGluZyBhc3NlbWJseS5cbiAgICBpZiAob3B0aW9ucy51cGRhdGVBc3NlbWJseSkge1xuICAgICAgLy8gRmlsdGVyIG91dCB0aGUgcmVjZWl2ZXJzIHRoYXQgd2lsbCBiZSBkZWxldGVkIG9yIGFscmVhZHkgdXBkYXRlZC5cbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gZXhpc3RpbmdSZWNlaXZlcnMuZmlsdGVyKFxuICAgICAgICAoZXhpc3RpbmdSZWNlaXZlcikgPT5cbiAgICAgICAgICAhKG9wdGlvbnMuZGVsZXRlUmVjZWl2ZXJzIHx8IFtdKS5pbmNsdWRlcyhleGlzdGluZ1JlY2VpdmVyLnRwLmlkKSAmJlxuICAgICAgICAgICF1cGRhdGVSZWNlaXZlcnMuc29tZShcbiAgICAgICAgICAgICh1cGRhdGVSZWNlaXZlcikgPT4gdXBkYXRlUmVjZWl2ZXIudHBJZCA9PT0gZXhpc3RpbmdSZWNlaXZlci50cC5pZFxuICAgICAgICAgIClcbiAgICAgICk7XG4gICAgICB1cGRhdGVSZWNlaXZlcnMgPSB1cGRhdGVSZWNlaXZlcnMuY29uY2F0KFxuICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVFeGlzdGluZ1JlY2VpdmVycyhleGlzdGluZywgYXNzZW1ibHlLZXkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZUNsYWltYW50cyA9XG4gICAgICBvcHRpb25zLmNyZWF0ZUNsYWltYW50cyAmJlxuICAgICAgKGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBvcHRpb25zLmNyZWF0ZUNsYWltYW50cy5tYXAoKHgpID0+IHRoaXMucHJlcGFyZUNyZWF0ZUNsYWltYW50KHgpKVxuICAgICAgKSk7XG5cbiAgICBjb25zdCBleGlzdGluZ0NsYWltYW50cyA9IG1hcEVkZ2VzKHNjZW5hcmlvLmNsYWltYW50cyk7XG4gICAgY29uc3QgdXBkYXRlQ2xhaW1hbnRzID1cbiAgICAgIG9wdGlvbnMudXBkYXRlQ2xhaW1hbnRzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMudXBkYXRlQ2xhaW1hbnRzLm1hcCgoeCkgPT4ge1xuICAgICAgICAgIC8vIEZpbmQgdGhlIGNsYWltYW50IHdlIGFyZSB1cGRhdGluZ1xuICAgICAgICAgIGNvbnN0IGNsYWltYW50ID0gZXhpc3RpbmdDbGFpbWFudHMuZmluZChcbiAgICAgICAgICAgIChleGlzdGluZ0NsYWltYW50KSA9PiBleGlzdGluZ0NsYWltYW50LnRwLmlkID09PSB4LnRwSWRcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aGlzLnByZXBhcmVVcGRhdGVDbGFpbWFudCh4LCBjbGFpbWFudC5zaGFyZWRLZXkuaWQpO1xuICAgICAgICB9KVxuICAgICAgKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2NlbmFyaW9JZDogb3B0aW9ucy5zY2VuYXJpb0lkLFxuICAgICAgZW5hYmxlZDogb3B0aW9ucy5lbmFibGVkLFxuICAgICAgdXBkYXRlQXNzZW1ibHksXG4gICAgICBjcmVhdGVSZWNlaXZlcnMsXG4gICAgICB1cGRhdGVSZWNlaXZlcnMsXG4gICAgICBkZWxldGVSZWNlaXZlcnM6IG9wdGlvbnMuZGVsZXRlUmVjZWl2ZXJzLFxuICAgICAgY3JlYXRlQ2xhaW1hbnRzLFxuICAgICAgdXBkYXRlQ2xhaW1hbnRzLFxuICAgICAgZGVsZXRlQ2xhaW1hbnRzOiBvcHRpb25zLmRlbGV0ZUNsYWltYW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlUmVjZWl2ZXJEaXJlY3RvcnkoXG4gICAgb3B0aW9uczogUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zLFxuICAgIHJlY2VpdmVyU2hhcmVkS2V5OiBKV0suS2V5LFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIC8vIFRPRE8gdGhpcyBzaG91bGQgYmUgYmF0Y2hlZFxuICAgIGNvbnN0IGRpcmVjdG9yeUtleSA9IGF3YWl0IHRoaXMuaXRlbTJTZXJ2aWNlLmdldERpcmVjdG9yeUtleShcbiAgICAgIG9wdGlvbnMuZGlyZWN0b3J5SWQsXG4gICAgICBvcHRpb25zLmRpcmVjdG9yeUtleUlkXG4gICAgKTtcblxuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHJlY2VpdmVyU2hhcmVkS2V5LFxuICAgICAgb3B0aW9ucy5zaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uXG4gICAgKTtcblxuICAgIGxldCB3cmFwcGVkSXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgcmVjZWl2ZXJTaGFyZWRLZXksXG4gICAgICBkaXJlY3RvcnlLZXkuandrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICAvLyBUT0RPIGZldGNoIGFzc2VtYmx5S2V5SWQuIFdlIGFyZSBjaGFuZ2luZyBpdCBzdWNoIHRoYXQgdGhlcmUgaXMgYWx3YXlzIGFuIGFzc2VtYmx5XG4gICAgLy8gYmVmb3JlIHJlY2VpdmVycyBjYW4gYmUgYWRkZWQuXG4gICAgd3JhcHBlZEl0ZW1LZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIGFzc2VtYmx5S2V5LFxuICAgICAgd3JhcHBlZEl0ZW1LZXlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpcmVjdG9yeUlkOiBvcHRpb25zLmRpcmVjdG9yeUlkLFxuICAgICAgd3JhcHBlZEl0ZW1LZXksXG4gICAgICBhY2Nlc3NSb2xlOiBvcHRpb25zLmFjY2Vzc1JvbGUsXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVDcmVhdGVSZWNlaXZlcihcbiAgICBvcHRpb25zOiBDcmVhdGVSZWNlaXZlck9wdGlvbnMsXG4gICAgYXNzZW1ibHlLZXk6IEpXSy5LZXlcbiAgKSB7XG4gICAgY29uc3QgeyBzaGFyZWRLZXksIG11dGF0aW9uSW5wdXQgfSA9IGF3YWl0IHRoaXMucHJlcGFyZUNyZWF0ZVBhcnRpY2lwYW50KFxuICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBhZGREaXJlY3RvcmllcyA9XG4gICAgICBvcHRpb25zLmFkZERpcmVjdG9yaWVzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuYWRkRGlyZWN0b3JpZXMubWFwKCh4KSA9PlxuICAgICAgICAgIHRoaXMucHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleS5rZXksIGFzc2VtYmx5S2V5KVxuICAgICAgICApXG4gICAgICApKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5tdXRhdGlvbklucHV0LFxuICAgICAgYWRkRGlyZWN0b3JpZXMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVVwZGF0ZVJlY2VpdmVyKFxuICAgIG9wdGlvbnM6IFVwZGF0ZVJlY2VpdmVyT3B0aW9ucyxcbiAgICBhc3NlbWJseUtleTogSldLLktleSxcbiAgICBleGlzdGluZ1JlY2VpdmVyOiBTY2VuYXJpb1JlY2VpdmVyTm9kZVxuICApIHtcbiAgICBjb25zdCBzaGFyZWRLZXlJZCA9IGV4aXN0aW5nUmVjZWl2ZXIuc2hhcmVkS2V5LmlkO1xuXG4gICAgY29uc3QgZGVsZXRlRGlyZWN0b3JpZXNPcHRpb25zID0gb3B0aW9ucy5kZWxldGVEaXJlY3RvcmllcyB8fCBbXTtcbiAgICBjb25zdCB1cGRhdGVEaXJlY3Rvcmllc09wdGlvbnMgPSBvcHRpb25zLnVwZGF0ZURpcmVjdG9yaWVzIHx8IFtdO1xuXG4gICAgLy8gRmlsbCBpbiBhbnkgbWlzc2luZyB1cGRhdGUgZGlyZWN0b3JpZXNcbiAgICBtYXBFZGdlcyhleGlzdGluZ1JlY2VpdmVyLnJlY2VpdmVyRGlyZWN0b3JpZXMpLmZvckVhY2goXG4gICAgICAoZXhpc3RpbmdEaXJlY3RvcnkpID0+IHtcbiAgICAgICAgaWYgKGRlbGV0ZURpcmVjdG9yaWVzT3B0aW9ucy5pbmNsdWRlcyhleGlzdGluZ0RpcmVjdG9yeS5kaXJlY3RvcnkuaWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHVwZGF0ZURpcmVjdG9yaWVzT3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKHgpID0+IHguZGlyZWN0b3J5SWQgPT09IGV4aXN0aW5nRGlyZWN0b3J5LmRpcmVjdG9yeS5pZFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlRGlyZWN0b3JpZXNPcHRpb25zLnB1c2goe1xuICAgICAgICAgIGFjY2Vzc1JvbGU6IGV4aXN0aW5nRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXG4gICAgICAgICAgZGlyZWN0b3J5SWQ6IGV4aXN0aW5nRGlyZWN0b3J5LmRpcmVjdG9yeS5pZCxcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uOlxuICAgICAgICAgICAgZXhpc3RpbmdEaXJlY3Rvcnkuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHsgc2hhcmVkS2V5LCBtdXRhdGlvbklucHV0IH0gPSBhd2FpdCB0aGlzLnByZXBhcmVVcGRhdGVQYXJ0aWNpcGFudChcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzaGFyZWRLZXlJZFxuICAgICk7XG5cbiAgICBjb25zdCBhZGREaXJlY3RvcmllcyA9XG4gICAgICBvcHRpb25zLmFkZERpcmVjdG9yaWVzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuYWRkRGlyZWN0b3JpZXMubWFwKCh4KSA9PlxuICAgICAgICAgIHRoaXMucHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleSwgYXNzZW1ibHlLZXkpXG4gICAgICAgIClcbiAgICAgICkpO1xuXG4gICAgY29uc3QgdXBkYXRlRGlyZWN0b3JpZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHVwZGF0ZURpcmVjdG9yaWVzT3B0aW9ucy5tYXAoKHgpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZVVwZGF0ZVJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleSwgYXNzZW1ibHlLZXkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5tdXRhdGlvbklucHV0LFxuICAgICAgYWRkRGlyZWN0b3JpZXMsXG4gICAgICB1cGRhdGVEaXJlY3RvcmllcyxcbiAgICAgIGRlbGV0ZURpcmVjdG9yaWVzOiBvcHRpb25zLmRlbGV0ZURpcmVjdG9yaWVzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVFeGlzdGluZ1JlY2VpdmVyKFxuICAgIGV4aXN0aW5nUmVjZWl2ZXI6IFNjZW5hcmlvUmVjZWl2ZXJOb2RlLFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIGNvbnN0IHVwZGF0ZURpcmVjdG9yaWVzID0gbWFwRWRnZXMoXG4gICAgICBleGlzdGluZ1JlY2VpdmVyLnJlY2VpdmVyRGlyZWN0b3JpZXNcbiAgICApLm1hcCgocmVjZWl2ZXJEaXJlY3RvcnkpID0+ICh7XG4gICAgICBkaXJlY3RvcnlJZDogcmVjZWl2ZXJEaXJlY3RvcnkuZGlyZWN0b3J5LmlkLFxuICAgICAgZGlyZWN0b3J5S2V5SWQ6IHJlY2VpdmVyRGlyZWN0b3J5LmRpcmVjdG9yeS5rZXlJZCxcbiAgICAgIGFjY2Vzc1JvbGU6IHJlY2VpdmVyRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uOiByZWNlaXZlckRpcmVjdG9yeS5zaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uLFxuICAgIH0pKTtcblxuICAgIC8vIEZpbGwgaXQgaW4gd2l0aCBleGlzdGluZyByZWNlaXZlci5cbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlVXBkYXRlUmVjZWl2ZXIoXG4gICAgICB7XG4gICAgICAgIHRwSWQ6IGV4aXN0aW5nUmVjZWl2ZXIudHAuaWQsXG4gICAgICAgIHNoYXJlZENpcGhlckRhdGFDbGVhckpzb246IGV4aXN0aW5nUmVjZWl2ZXIuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgICAgICAgdXBkYXRlRGlyZWN0b3JpZXMsXG4gICAgICB9LFxuICAgICAgYXNzZW1ibHlLZXksXG4gICAgICBleGlzdGluZ1JlY2VpdmVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUV4aXN0aW5nUmVjZWl2ZXJzKFxuICAgIGV4aXN0aW5nUmVjZWl2ZXJzOiBTY2VuYXJpb1JlY2VpdmVyTm9kZVtdLFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIGV4aXN0aW5nUmVjZWl2ZXJzLm1hcCgoZXhpc3RpbmdSZWNlaXZlcikgPT5cbiAgICAgICAgdGhpcy5wcmVwYXJlRXhpc3RpbmdSZWNlaXZlcihleGlzdGluZ1JlY2VpdmVyLCBhc3NlbWJseUtleSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ3JlYXRlUGFydGljaXBhbnQob3B0aW9uczogQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zKSB7XG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0V2l0aE5ld0tleShcbiAgICAgIG9wdGlvbnMudHBTaGFyZWRLZXlJZCxcbiAgICAgIG9wdGlvbnMuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvblxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIG11dGF0aW9uSW5wdXQ6IHtcbiAgICAgICAgdHBJZDogb3B0aW9ucy50cElkLFxuICAgICAgICB0cFNoYXJlZEtleUlkOiBvcHRpb25zLnRwU2hhcmVkS2V5SWQsXG4gICAgICAgIHRwU2hhcmVkS2V5V3JhcHBlZFNoYXJlZEtleTogc2hhcmVkS2V5LndyYXBwZWRLZXksXG4gICAgICAgIHNoYXJlZENpcGhlckRhdGE6IHNoYXJlZEtleS5jaXBoZXIsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVVcGRhdGVQYXJ0aWNpcGFudChcbiAgICBvcHRpb25zOiBQYXJ0aWNpcGFudE9wdGlvbnMsXG4gICAgc2hhcmVkS2V5SWQ6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEp3a0tleShzaGFyZWRLZXlJZCk7XG5cbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICBvcHRpb25zLnNoYXJlZENpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIG11dGF0aW9uSW5wdXQ6IHtcbiAgICAgICAgdHBJZDogb3B0aW9ucy50cElkLFxuICAgICAgICBzaGFyZWRLZXlJZCxcbiAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUNyZWF0ZUNsYWltYW50KG9wdGlvbnM6IENyZWF0ZUNsYWltYW50T3B0aW9ucykge1xuICAgIGNvbnN0IHsgbXV0YXRpb25JbnB1dCB9ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ3JlYXRlUGFydGljaXBhbnQob3B0aW9ucyk7XG4gICAgcmV0dXJuIG11dGF0aW9uSW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVVcGRhdGVDbGFpbWFudChcbiAgICBvcHRpb25zOiBVcGRhdGVDbGFpbWFudE9wdGlvbnMsXG4gICAgc2hhcmVkS2V5SWQ6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCB7IG11dGF0aW9uSW5wdXQgfSA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVBhcnRpY2lwYW50KFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHNoYXJlZEtleUlkXG4gICAgKTtcblxuICAgIHJldHVybiBtdXRhdGlvbklucHV0O1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZUNsYWltKHNjZW5hcmlvSWQ6IHN0cmluZywgc2hhcmVkQ2xhaW1JZDogc3RyaW5nKSB7XG4gICAgLy8gR2V0IGFsbCB0aGUgc2hhcmVkIGl0ZW1zXG4gICAgY29uc3Qgc2hhcmVkU2NlbmFyaW8gPSAoXG4gICAgICBhd2FpdCB0aGlzLmdldFNoYXJlZFNjZW5hcmlvKHNjZW5hcmlvSWQsIHNoYXJlZENsYWltSWQpXG4gICAgKS5zaGFyZWRTY2VuYXJpbztcblxuICAgIGlmIChzaGFyZWRTY2VuYXJpby5zdGF0ZSAhPT0gU2NlbmFyaW9TdGF0ZS5BUFBST1ZFRCkge1xuICAgICAgdGhyb3dDbGFpbU5vdEFwcHJvdmVkKCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXBwcm92YWxzID0gbWFwRWRnZXMoXG4gICAgICBzaGFyZWRTY2VuYXJpby5zaGFyZWRDbGFpbS5hc0NsYWltUmVjZWl2ZXIuYXBwcm92YWxzXG4gICAgKTtcblxuICAgIGNvbnN0IGFzc2VtYmx5S2V5ID0gYXdhaXQgdGhpcy5yZWNvdmVyQXNzZW1ibHlLZXkoYXBwcm92YWxzKTtcbiAgICBjb25zb2xlLmxvZygncmVjZWl2ZUNsYWltTXV0YXRpb24gYXNzZW1ibHlLZXknLCBhc3NlbWJseUtleSk7XG5cbiAgICAvLyBEZWNyeXB0IGFsbCBpdGVtc1xuICAgIGNvbnN0IHJlY2VpdmVyRGlyZWN0b3JpZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHNoYXJlZFNjZW5hcmlvLmFzUmVjZWl2ZXIucmVjZWl2ZXJEaXJlY3Rvcmllcy5lZGdlc1xuICAgICAgICAubWFwKChlZGdlKSA9PiBlZGdlLm5vZGUpXG4gICAgICAgIC5tYXAoYXN5bmMgKHJlY2VpdmVyRGlyZWN0b3J5KSA9PiB7XG4gICAgICAgICAgY29uc3Qgd3JhcHBlZEl0ZW1LZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgICAgICBhc3NlbWJseUtleSxcbiAgICAgICAgICAgIHJlY2VpdmVyRGlyZWN0b3J5LndyYXBwZWRJdGVtS2V5XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZWNlaXZlckRpcmVjdG9yeUlkOiByZWNlaXZlckRpcmVjdG9yeS5pZCxcbiAgICAgICAgICAgIHJlY2VpdmVyU2hhcmVkS2V5V3JhcHBlZEl0ZW1LZXk6IHdyYXBwZWRJdGVtS2V5LCAvLyB0aGUgd3JhcHBlZEl0ZW1LZXkgaXMgYWxyZWFkeSB3cmFwcGVkIGJ5IHJlY2VpdmVyU2hhcmVkS2V5XG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNjZW5hcmlvQ2xhaW1JZDogc2hhcmVkQ2xhaW1JZCxcbiAgICAgIHJlY2VpdmVyRGlyZWN0b3JpZXMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVjb3ZlckFzc2VtYmx5S2V5KFxuICAgIGFwcHJvdmFsczogU2hhcmVkU2NlbmFyaW9DbGFpbVJlY2VpdmVkQXBwcm92YWxOb2RlW11cbiAgKSB7XG4gICAgY29uc3QgcGFydGlhbHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGFwcHJvdmFscy5tYXAoKGFwcHJvdmFsKSA9PlxuICAgICAgICB0aGlzLmtleUdyYXBoLmRlY3J5cHRGcm9tU3RyaW5nPFBhcnRpYWxBc3NlbWJseUtleT4oXG4gICAgICAgICAgYXBwcm92YWwucHhrLmlkLFxuICAgICAgICAgIGFwcHJvdmFsLnJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuYXNzZW1ibHlDb250cm9sbGVyLnJlY292ZXJBc3NlbWJseUtleShwYXJ0aWFscyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFzQ2xhaW1BcHByb3ZlcnMoXG4gICAgc2hhcmVkU2NlbmFyaW9JZCxcbiAgICBjbGFpbUlkLFxuICAgIHN0YXRlOiBUcENsYWltQXBwcm92ZXJTdGF0ZVxuICApIHtcbiAgICBjb25zdCBzaGFyZWRTY2VuYXJpbyA9IChcbiAgICAgIGF3YWl0IHRoaXMuZ2V0U2hhcmVkU2NlbmFyaW8oc2hhcmVkU2NlbmFyaW9JZCwgY2xhaW1JZClcbiAgICApLnNoYXJlZFNjZW5hcmlvO1xuXG4gICAgcmV0dXJuIG1hcEVkZ2VzKHNoYXJlZFNjZW5hcmlvLnNoYXJlZENsYWltLmNsYWltLmFzQ2xhaW1BcHByb3ZlcnMpLmZpbHRlcihcbiAgICAgIChhc0NsYWltQXBwcm92ZXIpID0+IGFzQ2xhaW1BcHByb3Zlci5zdGF0ZSA9PT0gc3RhdGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQXBwcm92ZUNsYWltTXV0YXRpb25zKFxuICAgIHNoYXJlZFNjZW5hcmlvSWQ6IHN0cmluZyxcbiAgICBjbGFpbUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgLy8gVGhlIGN1cnJlbnQgdXNlciBtYXkgYmUgYWN0aW5nIGFzIGFwcHJvdmVycyBpbiBtdWx0aXBsZSBzdWItYXNzZW1ibGllcyBzb1xuICAgIC8vIHdlIGFwcHJvdmUgdGhlbSBhbGwuXG4gICAgY29uc3QgYXNDbGFpbUFwcHJvdmVycyA9IGF3YWl0IHRoaXMuYXNDbGFpbUFwcHJvdmVycyhcbiAgICAgIHNoYXJlZFNjZW5hcmlvSWQsXG4gICAgICBjbGFpbUlkLFxuICAgICAgVHBDbGFpbUFwcHJvdmVyU3RhdGUuQ0xBSU1FRFxuICAgICk7XG5cbiAgICByZXR1cm4gYXNDbGFpbUFwcHJvdmVycy5tYXAoXG4gICAgICBhc3luYyAoYXNDbGFpbUFwcHJvdmVyKSA9PlxuICAgICAgICBuZXcgTHJNdXRhdGlvbih7XG4gICAgICAgICAgbXV0YXRpb246IEFwcHJvdmVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICBpbnB1dDogYXdhaXQgdGhpcy5wcmVwYXJlQXBwcm92ZUNsYWltKGFzQ2xhaW1BcHByb3ZlciksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQXBwcm92ZUNsYWltKFxuICAgIGFzQ2xhaW1BcHByb3ZlcjogU2hhcmVkVHBDbGFpbUFwcHJvdmVyTm9kZVxuICApIHtcbiAgICBjb25zdCByZWNlaXZlckFwcHJvdmFscyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgbWFwRWRnZXMoYXNDbGFpbUFwcHJvdmVyLnJlY2VpdmVyQXBwcm92YWxzKS5tYXAoKHJlY2VpdmVyQXBwcm92YWwpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZVJlY2VpdmVyQXBwcm92YWwoe1xuICAgICAgICAgIHJlY2VpdmVyQXBwcm92YWxJZDogcmVjZWl2ZXJBcHByb3ZhbC5pZCxcbiAgICAgICAgICByZWNlaXZlckFwcHJvdmFsUHhrSWQ6IHJlY2VpdmVyQXBwcm92YWwucHhrLmlkLFxuICAgICAgICAgIHNoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleUNsZWFySnNvbjpcbiAgICAgICAgICAgIGFzQ2xhaW1BcHByb3Zlci5zaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb24sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjbGFpbUFwcHJvdmVySWQ6IGFzQ2xhaW1BcHByb3Zlci5pZCxcbiAgICAgIHJlY2VpdmVyQXBwcm92YWxzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVSZWNlaXZlckFwcHJvdmFsKG9wdGlvbnM6IHtcbiAgICByZWNlaXZlckFwcHJvdmFsSWQ6IHN0cmluZztcbiAgICByZWNlaXZlckFwcHJvdmFsUHhrSWQ6IHN0cmluZztcbiAgICBzaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb246IGFueTtcbiAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICByZWNlaXZlckFwcHJvdmFsSWQ6IG9wdGlvbnMucmVjZWl2ZXJBcHByb3ZhbElkLFxuICAgICAgLy8gVE9ETyBhbGxvdyBzZW5kaW5nIG9mIG1lc3NhZ2VzIHRvIHJlY2VpdmVyLlxuICAgICAgcmVjZWl2ZXJDaXBoZXI6ICcnLFxuICAgICAgcmVjZWl2ZXJDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXk6IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICBvcHRpb25zLnJlY2VpdmVyQXBwcm92YWxQeGtJZCxcbiAgICAgICAgb3B0aW9ucy5zaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb25cbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVJlamVjdENsYWltTXV0YXRpb25zKFxuICAgIHNoYXJlZFNjZW5hcmlvSWQ6IHN0cmluZyxcbiAgICBjbGFpbUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgLy8gVGhlIGN1cnJlbnQgdXNlciBtYXkgYmUgYWN0aW5nIGFzIGFwcHJvdmVycyBpbiBtdWx0aXBsZSBzdWItYXNzZW1ibGllcyBzb1xuICAgIC8vIHdlIHJlamVjdCB0aGVtIGFsbC5cbiAgICBjb25zdCBhc0NsYWltQXBwcm92ZXJzID0gYXdhaXQgdGhpcy5hc0NsYWltQXBwcm92ZXJzKFxuICAgICAgc2hhcmVkU2NlbmFyaW9JZCxcbiAgICAgIGNsYWltSWQsXG4gICAgICBUcENsYWltQXBwcm92ZXJTdGF0ZS5DTEFJTUVEXG4gICAgKTtcblxuICAgIHJldHVybiBhc0NsYWltQXBwcm92ZXJzLm1hcChcbiAgICAgIGFzeW5jIChhc0NsYWltQXBwcm92ZXIpID0+XG4gICAgICAgIG5ldyBMck11dGF0aW9uKHtcbiAgICAgICAgICBtdXRhdGlvbjogUmVqZWN0U2NlbmFyaW9DbGFpbU11dGF0aW9uLFxuICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgaW5wdXQ6IHsgY2xhaW1BcHByb3ZlcklkOiBhc0NsYWltQXBwcm92ZXIuaWQgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
538
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2NlbmFyaW8vc2NlbmFyaW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxFQUVMLFFBQVEsRUFHUixhQUFhLEVBR2Isb0JBQW9CLEdBRXJCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBYW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQUUxRSxN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RTtZQUM1RSxzQkFBc0I7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FDbEQsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxvQkFBb0IsQ0FBQyxPQUFPLENBQzdCLENBQUM7WUFFRixPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FDekIsQ0FBTyxlQUFlLEVBQUUsRUFBRTtnQkFDeEIsT0FBQSxJQUFJLFVBQVUsQ0FBQztvQkFDYixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7cUJBQy9DO2lCQUNGLENBQUMsQ0FBQTtjQUFBLENBQ0wsQ0FBQztRQUNKLENBQUM7S0FBQTtDQUNGLENBQUE7QUF0c0JlLGlDQUFpQixHQUFHLFdBQVcsQ0FBQzs7O1lBZC9DLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBaEU4QixNQUFNO1lBQWhCLFFBQVE7WUFjcEIsZUFBZTtZQWdCZixZQUFZO1lBQ1osMEJBQTBCO1lBYTFCLGlCQUFpQjs7QUFxQmIsZUFBZTtJQU4zQixpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcsZUFBZSxDQWl0QjNCO1NBanRCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IExyTWVyZ2VkTXV0YXRpb24sIExyTXV0YXRpb24sIExyU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7XG4gIEpTT05PYmplY3QsXG4gIG1hcEVkZ2VzLFxuICBTY2VuYXJpb05vZGUsXG4gIFNjZW5hcmlvUmVjZWl2ZXJOb2RlLFxuICBTY2VuYXJpb1N0YXRlLFxuICBTaGFyZWRTY2VuYXJpb0NsYWltUmVjZWl2ZWRBcHByb3ZhbE5vZGUsXG4gIFNoYXJlZFRwQ2xhaW1BcHByb3Zlck5vZGUsXG4gIFRwQ2xhaW1BcHByb3ZlclN0YXRlLFxuICBUcE5vZGUsXG59IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbixcbiAgTHJCYWRTdGF0ZUV4Y2VwdGlvbixcbn0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIERlbGV0ZVNjZW5hcmlvTXV0YXRpb24sXG4gIENyZWF0ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgVXBkYXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgQ3JlYXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgUmVjZWl2ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgQXBwcm92ZVNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgQ2FuY2VsU2NlbmFyaW9DbGFpbU11dGF0aW9uLFxuICBSZWplY3RTY2VuYXJpb0NsYWltTXV0YXRpb24sXG59IGZyb20gJy4vc2NlbmFyaW8uZ3FsJztcbmltcG9ydCB7IEl0ZW0yU2VydmljZSB9IGZyb20gJy4uL2l0ZW1zMi9pdGVtMi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjZW5hcmlvQXNzZW1ibHlDb250cm9sbGVyIH0gZnJvbSAnLi9zY2VuYXJpby5jb250cm9sbGVyJztcbmltcG9ydCB7XG4gIENyZWF0ZUNsYWltYW50T3B0aW9ucyxcbiAgQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zLFxuICBDcmVhdGVSZWNlaXZlck9wdGlvbnMsXG4gIENyZWF0ZVNjZW5hcmlvT3B0aW9ucyxcbiAgUGFydGljaXBhbnRPcHRpb25zLFxuICBSZWNlaXZlckRpcmVjdG9yeU9wdGlvbnMsXG4gIFJlc2V0U2NlbmFyaW9PcHRpb25zLFxuICBVcGRhdGVDbGFpbWFudE9wdGlvbnMsXG4gIFVwZGF0ZVJlY2VpdmVyT3B0aW9ucyxcbiAgVXBkYXRlU2NlbmFyaW9PcHRpb25zLFxufSBmcm9tICcuL3NjZW5hcmlvLnR5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY2VuYXJpb1F1ZXJ5LCBTaGFyZWRTY2VuYXJpb1F1ZXJ5IH0gZnJvbSAnLi9zY2VuYXJpby5ncWwucHJpdmF0ZSc7XG5pbXBvcnQgeyBQYXJ0aWFsQXNzZW1ibHlLZXkgfSBmcm9tICcuLi90cnVzdGVkLXBhcnRpZXMvdHAtYXNzZW1ibHkudHlwZXMnO1xuaW1wb3J0IHsgVHBzS2V5c1F1ZXJ5IH0gZnJvbSAnLi4vdHJ1c3RlZC1wYXJ0aWVzL3RwLWFzc2VtYmx5LmdxbC5wcml2YXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93Q2xhaW1JZE1pc21hdGNoKCkge1xuICB0aHJvdyBuZXcgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbihcbiAgICAnY2xhaW1JZCBkb2VzIG5vdCBtYXRjaCB3aXRoIHRoZSBjdXJyZW50IGNsYWltSWQgb2YgdGhlIHNjZW5hcmlvJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dDbGFpbU5vdEFwcHJvdmVkKCkge1xuICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignU2NlbmFyaW8gY2xhaW0gaGFzIG5vdCBiZWVuIGFwcHJvdmVkJyk7XG59XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuYXJpb1NlcnZpY2UgZXh0ZW5kcyBMclNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGl0ZW0yU2VydmljZTogSXRlbTJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXNzZW1ibHlDb250cm9sbGVyOiBTY2VuYXJpb0Fzc2VtYmx5Q29udHJvbGxlcixcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBTTElQMzlfUEFTU1BIUkFTRSA9ICdsaWZlcmVhZHknO1xuXG4gIHByaXZhdGUgcHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5ID0gdGhpcy5wcmVwYXJlUmVjZWl2ZXJEaXJlY3Rvcnk7XG4gIHByaXZhdGUgcHJlcGFyZVVwZGF0ZVJlY2VpdmVyRGlyZWN0b3J5ID0gdGhpcy5wcmVwYXJlUmVjZWl2ZXJEaXJlY3Rvcnk7XG5cbiAgLy8gU2NlbmFyaW9zXG4gIGFzeW5jIGNyZWF0ZVNjZW5hcmlvKG9wdGlvbnM6IENyZWF0ZVNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLmNyZWF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlU2NlbmFyaW9NdXRhdGlvbihvcHRpb25zOiBDcmVhdGVTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZUNyZWF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTY2VuYXJpb011dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNjZW5hcmlvKG9wdGlvbnM6IFVwZGF0ZVNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnVwZGF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgLy8gVE9ETyBhdXRvIGFkZCB0aGUgbWlzc2luZyBleGlzdGluZyByZWNlaXZlcnMgYW5kIGRpcmVjdG9yaWVzXG4gIGFzeW5jIHVwZGF0ZVNjZW5hcmlvTXV0YXRpb24ob3B0aW9uczogVXBkYXRlU2NlbmFyaW9PcHRpb25zKSB7XG4gICAgY29uc3Qgc2NlbmFyaW8gPSAoYXdhaXQgdGhpcy5nZXRTY2VuYXJpbyhvcHRpb25zLnNjZW5hcmlvSWQpKS5zY2VuYXJpbztcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVNjZW5hcmlvKG9wdGlvbnMsIHNjZW5hcmlvKTtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVNjZW5hcmlvTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVzZXRTY2VuYXJpbyhvcHRpb25zOiBSZXNldFNjZW5hcmlvT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnJlc2V0U2NlbmFyaW9NdXRhdGlvbihvcHRpb25zKSk7XG4gIH1cblxuICBhc3luYyByZXNldFNjZW5hcmlvTXV0YXRpb24ob3B0aW9uczogUmVzZXRTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCBzY2VuYXJpbyA9IChhd2FpdCB0aGlzLmdldFNjZW5hcmlvKG9wdGlvbnMuc2NlbmFyaW9JZCkpLnNjZW5hcmlvO1xuXG4gICAgY29uc3QgeyBhc3NlbWJseSB9ID0gc2NlbmFyaW87XG5cbiAgICAvLyBKdXN0IG5lZWQgdG8gZG8gYW4gdXBkYXRlIHdpdGhvdXQgY2hhbmdpbmcgYXBwcm92ZXJzLiBUaGlzIHdpbGwgcmVjcmVhdGVcbiAgICAvLyBhbGwgYXNzZW1ibHkga2V5cy5cbiAgICBjb25zdCB1cGRhdGVTdWJBc3NlbWJsaWVzID0gbWFwRWRnZXMoYXNzZW1ibHkuc3ViQXNzZW1ibGllcykubWFwKChzYSkgPT4ge1xuICAgICAgY29uc3QgYXBwcm92ZXJUcHMgPSBtYXBFZGdlcyhzYS5hcHByb3ZlcnMpLm1hcCgoYXBwcm92ZXIpID0+ICh7XG4gICAgICAgIHRwSWQ6IGFwcHJvdmVyLnRwLmlkLFxuICAgICAgfSkpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogc2EuaWQsXG4gICAgICAgIHF1b3J1bTogc2EucXVvcnVtLFxuICAgICAgICBzaW5nbGVSZWplY3Q6IHNhLnNpbmdsZVJlamVjdCxcbiAgICAgICAgc3ViamVjdENpcGhlckRhdGFDbGVhckpzb246IHNhLnN1YmplY3RDaXBoZXJEYXRhQ2xlYXJKc29uLFxuICAgICAgICBhcHByb3ZlclRwcyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVNjZW5hcmlvKFxuICAgICAge1xuICAgICAgICBzY2VuYXJpb0lkOiBvcHRpb25zLnNjZW5hcmlvSWQsXG4gICAgICAgIGVuYWJsZWQ6IG9wdGlvbnMuZW5hYmxlZCxcbiAgICAgICAgdXBkYXRlQXNzZW1ibHk6IHtcbiAgICAgICAgICBxdW9ydW06IGFzc2VtYmx5LnF1b3J1bSxcbiAgICAgICAgICBzaW5nbGVSZWplY3Q6IGFzc2VtYmx5LnNpbmdsZVJlamVjdCxcbiAgICAgICAgICB1cGRhdGVTdWJBc3NlbWJsaWVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjZW5hcmlvXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlU2NlbmFyaW9NdXRhdGlvbiwgLy8gdXBkYXRpbmcgc2NlbmFyaW8gcmVzZXRzIGl0XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlU2NlbmFyaW8oc2NlbmFyaW9JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubHJHcmFwaFFMLmxyTXV0YXRlKHRoaXMuZGVsZXRlU2NlbmFyaW9NdXRhdGlvbihzY2VuYXJpb0lkKSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVTY2VuYXJpb011dGF0aW9uKHNjZW5hcmlvSWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlU2NlbmFyaW9NdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczogeyBpbnB1dDogeyBzY2VuYXJpb0lkIH0gfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENsYWltc1xuICBhc3luYyBjcmVhdGVDbGFpbShzY2VuYXJpb0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5jcmVhdGVDbGFpbU11dGF0aW9uKHNjZW5hcmlvSWQpKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQ6IHsgc2NlbmFyaW9JZCB9IH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjYW5jZWxDbGFpbShjbGFpbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5jYW5jZWxDbGFpbU11dGF0aW9uKGNsYWltSWQpKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbENsYWltTXV0YXRpb24oY2xhaW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBDYW5jZWxTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQ6IHsgY2xhaW1JZCB9IH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWplY3RDbGFpbShzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIGNsYWltSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnJlamVjdENsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZCwgY2xhaW1JZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVqZWN0Q2xhaW1NdXRhdGlvbihzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIGNsYWltSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IG11dGF0aW9ucyA9IGF3YWl0IHRoaXMucHJlcGFyZVJlamVjdENsYWltTXV0YXRpb25zKFxuICAgICAgc2hhcmVkU2NlbmFyaW9JZCxcbiAgICAgIGNsYWltSWRcbiAgICApO1xuICAgIHJldHVybiBMck1lcmdlZE11dGF0aW9uLmNyZWF0ZShhd2FpdCBQcm9taXNlLmFsbChtdXRhdGlvbnMpKTtcbiAgfVxuXG4gIGFzeW5jIGFwcHJvdmVDbGFpbShzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsIHNoYXJlZENsYWltSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShcbiAgICAgIHRoaXMuYXBwcm92ZUNsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZCwgc2hhcmVkQ2xhaW1JZClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgYXBwcm92ZUNsYWltTXV0YXRpb24oc2hhcmVkU2NlbmFyaW9JZDogc3RyaW5nLCBzaGFyZWRDbGFpbUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtdXRhdGlvbnMgPSBhd2FpdCB0aGlzLnByZXBhcmVBcHByb3ZlQ2xhaW1NdXRhdGlvbnMoXG4gICAgICBzaGFyZWRTY2VuYXJpb0lkLFxuICAgICAgc2hhcmVkQ2xhaW1JZFxuICAgICk7XG4gICAgcmV0dXJuIExyTWVyZ2VkTXV0YXRpb24uY3JlYXRlKGF3YWl0IFByb21pc2UuYWxsKG11dGF0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZUNsYWltKHNjZW5hcmlvSWQ6IHN0cmluZywgc2hhcmVkQ2xhaW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMucmVjZWl2ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZCwgc2hhcmVkQ2xhaW1JZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZUNsYWltTXV0YXRpb24oc2NlbmFyaW9JZDogc3RyaW5nLCBzaGFyZWRDbGFpbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFJlY2VpdmVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IGF3YWl0IHRoaXMucHJlcGFyZUNsYWltKHNjZW5hcmlvSWQsIHNoYXJlZENsYWltSWQpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgcHJpdmF0ZSBhc3luYyBnZXRTY2VuYXJpbyhzY2VuYXJpb0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeSh7XG4gICAgICBxdWVyeTogU2NlbmFyaW9RdWVyeSxcbiAgICAgIHZhcmlhYmxlczogeyBzY2VuYXJpb0lkIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFNoYXJlZFNjZW5hcmlvKHNjZW5hcmlvSWQ6IHN0cmluZywgY2xhaW1JZD86IHN0cmluZykge1xuICAgIGNvbnN0IHJldCA9IGF3YWl0IHRoaXMucXVlcnkoe1xuICAgICAgcXVlcnk6IFNoYXJlZFNjZW5hcmlvUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgc2NlbmFyaW9JZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoY2xhaW1JZCAmJiByZXQuc2hhcmVkU2NlbmFyaW8uc2hhcmVkQ2xhaW0uaWQgIT09IGNsYWltSWQpIHtcbiAgICAgIHRocm93Q2xhaW1JZE1pc21hdGNoKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UGFydGljaXBhbnRUcHNLZXlzKG9wdGlvbnM6IENyZWF0ZVBhcnRpY2lwYW50T3B0aW9uc1tdKSB7XG4gICAgY29uc3QgdHBJZHMgPSBvcHRpb25zLm1hcCgoeCkgPT4geC50cElkKTtcblxuICAgIC8vIFRoaXMgc2hvdWxkIGNvbnRhaW4gYWxsIHRoZSBUUHMgdGhhdCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYXNzZW1ibHkuXG4gICAgY29uc3QgdHBzID0gbWFwRWRnZXMoXG4gICAgICAoXG4gICAgICAgIGF3YWl0IHRoaXMubHJHcmFwaFFMLnF1ZXJ5KHtcbiAgICAgICAgICBxdWVyeTogVHBzS2V5c1F1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgaWRzOiB0cElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKS50cHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHRwcztcbiAgfVxuXG4gIHByaXZhdGUgZmlsbFRwU2hhcmVkS2V5SWQoXG4gICAgb3B0aW9uczogQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zW10sXG4gICAgdHBzOiBUcE5vZGVbXVxuICApIHtcbiAgICBvcHRpb25zLmZvckVhY2goKHBhcnRpY2lwYW50KSA9PiB7XG4gICAgICBpZiAoIXBhcnRpY2lwYW50LnRwU2hhcmVkS2V5SWQpIHtcbiAgICAgICAgY29uc3QgdHAgPSB0cHMuZmluZCgoeCkgPT4geC5pZCA9PT0gcGFydGljaXBhbnQudHBJZCk7XG4gICAgICAgIHBhcnRpY2lwYW50LnRwU2hhcmVkS2V5SWQgPVxuICAgICAgICAgIHRwLmN1cnJlbnRVc2VyU2hhcmVkS2V5LnVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ3JlYXRlU2NlbmFyaW9NdXRhdGlvbihvcHRpb25zOiBDcmVhdGVTY2VuYXJpb09wdGlvbnMpIHtcbiAgICBjb25zdCB7IGFzc2VtYmx5S2V5LCBtdXRhdGlvbklucHV0OiBjcmVhdGVBc3NlbWJseSB9ID1cbiAgICAgIGF3YWl0IHRoaXMuYXNzZW1ibHlDb250cm9sbGVyLnByZXBhcmVDcmVhdGUob3B0aW9ucy5jcmVhdGVBc3NlbWJseSk7XG5cbiAgICBjb25zdCBjcmVhdGVSZWNlaXZlcnNPcHRpb25zID0gb3B0aW9ucy5jcmVhdGVSZWNlaXZlcnMgfHwgW107XG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzT3B0aW9ucyA9IG9wdGlvbnMuY3JlYXRlQ2xhaW1hbnRzIHx8IFtdO1xuXG4gICAgLy8gRmV0Y2ggYWxsIHRoZSBUUHMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXNzIGluIHRwU2hhcmVkS2V5SWRcbiAgICBjb25zdCBjcmVhdFBhcnRpY2lwYW50c09wdGlvbnMgPSBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLmNvbmNhdChcbiAgICAgIGNyZWF0ZUNsYWltYW50c09wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgdHBzID0gYXdhaXQgdGhpcy5nZXRQYXJ0aWNpcGFudFRwc0tleXMoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zKTtcblxuICAgIHRoaXMuZmlsbFRwU2hhcmVkS2V5SWQoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zLCB0cHMpO1xuXG4gICAgY29uc3QgY3JlYXRlUmVjZWl2ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLm1hcCgocmVjZWl2ZXIpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZUNyZWF0ZVJlY2VpdmVyKHJlY2VpdmVyLCBhc3NlbWJseUtleSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjcmVhdGVDbGFpbWFudHNPcHRpb25zLm1hcCgoeCkgPT4gdGhpcy5wcmVwYXJlQ3JlYXRlQ2xhaW1hbnQoeCkpXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiBvcHRpb25zLmVuYWJsZWQsXG4gICAgICBjcmVhdGVBc3NlbWJseSxcbiAgICAgIGNyZWF0ZVJlY2VpdmVycyxcbiAgICAgIGNyZWF0ZUNsYWltYW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlVXBkYXRlU2NlbmFyaW8oXG4gICAgb3B0aW9uczogVXBkYXRlU2NlbmFyaW9PcHRpb25zLFxuICAgIHNjZW5hcmlvOiBTY2VuYXJpb05vZGVcbiAgKSB7XG4gICAgbGV0IGFzc2VtYmx5S2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoXG4gICAgICBzY2VuYXJpby5hc3NlbWJseS5hc3NlbWJseUtleS5pZFxuICAgICk7XG4gICAgbGV0IHVwZGF0ZUFzc2VtYmx5OiBhbnk7XG5cbiAgICBpZiAob3B0aW9ucy51cGRhdGVBc3NlbWJseSkge1xuICAgICAgLy8gQXNzZW1ibHkga2V5IGlzIGFsd2F5cyByb3RhdGVkIHdoZW4gdXBkYXRpbmcgYXNzZW1ibHkuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFzc2VtYmx5Q29udHJvbGxlci5wcmVwYXJlVXBkYXRlKFxuICAgICAgICBvcHRpb25zLnVwZGF0ZUFzc2VtYmx5LFxuICAgICAgICBzY2VuYXJpby5hc3NlbWJseVxuICAgICAgKTtcbiAgICAgIHVwZGF0ZUFzc2VtYmx5ID0gcmVzdWx0Lm11dGF0aW9uSW5wdXQ7XG4gICAgICBhc3NlbWJseUtleSA9IHJlc3VsdC5hc3NlbWJseUtleTtcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVSZWNlaXZlcnNPcHRpb25zID0gb3B0aW9ucy5jcmVhdGVSZWNlaXZlcnMgfHwgW107XG4gICAgY29uc3QgY3JlYXRlQ2xhaW1hbnRzT3B0aW9ucyA9IG9wdGlvbnMuY3JlYXRlQ2xhaW1hbnRzIHx8IFtdO1xuXG4gICAgLy8gRmV0Y2ggYWxsIHRoZSBUUHMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXNzIGluIHRwU2hhcmVkS2V5SWRcbiAgICBjb25zdCBjcmVhdFBhcnRpY2lwYW50c09wdGlvbnMgPSBjcmVhdGVSZWNlaXZlcnNPcHRpb25zLmNvbmNhdChcbiAgICAgIGNyZWF0ZUNsYWltYW50c09wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgdHBzID0gYXdhaXQgdGhpcy5nZXRQYXJ0aWNpcGFudFRwc0tleXMoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zKTtcblxuICAgIHRoaXMuZmlsbFRwU2hhcmVkS2V5SWQoY3JlYXRQYXJ0aWNpcGFudHNPcHRpb25zLCB0cHMpO1xuXG4gICAgY29uc3QgY3JlYXRlUmVjZWl2ZXJzID1cbiAgICAgIG9wdGlvbnMuY3JlYXRlUmVjZWl2ZXJzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuY3JlYXRlUmVjZWl2ZXJzLm1hcCgoeCkgPT5cbiAgICAgICAgICB0aGlzLnByZXBhcmVDcmVhdGVSZWNlaXZlcih4LCBhc3NlbWJseUtleSlcbiAgICAgICAgKVxuICAgICAgKSk7XG5cbiAgICBjb25zdCBleGlzdGluZ1JlY2VpdmVycyA9IG1hcEVkZ2VzKHNjZW5hcmlvLnJlY2VpdmVycyk7XG4gICAgbGV0IHVwZGF0ZVJlY2VpdmVycyA9IG9wdGlvbnMudXBkYXRlUmVjZWl2ZXJzXG4gICAgICA/IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIG9wdGlvbnMudXBkYXRlUmVjZWl2ZXJzLm1hcCgodXBkYXRlUmVjZWl2ZXIpID0+IHtcbiAgICAgICAgICAgIC8vIEZpbmQgdGhlIHJlY2VpdmVyIHdlIGFyZSB1cGRhdGluZ1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdSZWNlaXZlciA9IGV4aXN0aW5nUmVjZWl2ZXJzLmZpbmQoXG4gICAgICAgICAgICAgICh4KSA9PiB4LnRwLmlkID09PSB1cGRhdGVSZWNlaXZlci50cElkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcmVwYXJlVXBkYXRlUmVjZWl2ZXIoXG4gICAgICAgICAgICAgIHVwZGF0ZVJlY2VpdmVyLFxuICAgICAgICAgICAgICBhc3NlbWJseUtleSxcbiAgICAgICAgICAgICAgZXhpc3RpbmdSZWNlaXZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICA6IFtdO1xuXG4gICAgLy8gRmlsbCBpbiBhbnkgbWlzc2luZyByZWNlaXZlcnMgd2hlbiB1cGRhdGluZyBhc3NlbWJseS5cbiAgICBpZiAob3B0aW9ucy51cGRhdGVBc3NlbWJseSkge1xuICAgICAgLy8gRmlsdGVyIG91dCB0aGUgcmVjZWl2ZXJzIHRoYXQgd2lsbCBiZSBkZWxldGVkIG9yIGFscmVhZHkgdXBkYXRlZC5cbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gZXhpc3RpbmdSZWNlaXZlcnMuZmlsdGVyKFxuICAgICAgICAoZXhpc3RpbmdSZWNlaXZlcikgPT5cbiAgICAgICAgICAhKG9wdGlvbnMuZGVsZXRlUmVjZWl2ZXJzIHx8IFtdKS5pbmNsdWRlcyhleGlzdGluZ1JlY2VpdmVyLnRwLmlkKSAmJlxuICAgICAgICAgICF1cGRhdGVSZWNlaXZlcnMuc29tZShcbiAgICAgICAgICAgICh1cGRhdGVSZWNlaXZlcikgPT4gdXBkYXRlUmVjZWl2ZXIudHBJZCA9PT0gZXhpc3RpbmdSZWNlaXZlci50cC5pZFxuICAgICAgICAgIClcbiAgICAgICk7XG4gICAgICB1cGRhdGVSZWNlaXZlcnMgPSB1cGRhdGVSZWNlaXZlcnMuY29uY2F0KFxuICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVFeGlzdGluZ1JlY2VpdmVycyhleGlzdGluZywgYXNzZW1ibHlLZXkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZUNsYWltYW50cyA9XG4gICAgICBvcHRpb25zLmNyZWF0ZUNsYWltYW50cyAmJlxuICAgICAgKGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBvcHRpb25zLmNyZWF0ZUNsYWltYW50cy5tYXAoKHgpID0+IHRoaXMucHJlcGFyZUNyZWF0ZUNsYWltYW50KHgpKVxuICAgICAgKSk7XG5cbiAgICBjb25zdCBleGlzdGluZ0NsYWltYW50cyA9IG1hcEVkZ2VzKHNjZW5hcmlvLmNsYWltYW50cyk7XG4gICAgY29uc3QgdXBkYXRlQ2xhaW1hbnRzID1cbiAgICAgIG9wdGlvbnMudXBkYXRlQ2xhaW1hbnRzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMudXBkYXRlQ2xhaW1hbnRzLm1hcCgoeCkgPT4ge1xuICAgICAgICAgIC8vIEZpbmQgdGhlIGNsYWltYW50IHdlIGFyZSB1cGRhdGluZ1xuICAgICAgICAgIGNvbnN0IGNsYWltYW50ID0gZXhpc3RpbmdDbGFpbWFudHMuZmluZChcbiAgICAgICAgICAgIChleGlzdGluZ0NsYWltYW50KSA9PiBleGlzdGluZ0NsYWltYW50LnRwLmlkID09PSB4LnRwSWRcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aGlzLnByZXBhcmVVcGRhdGVDbGFpbWFudCh4LCBjbGFpbWFudC5zaGFyZWRLZXkuaWQpO1xuICAgICAgICB9KVxuICAgICAgKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2NlbmFyaW9JZDogb3B0aW9ucy5zY2VuYXJpb0lkLFxuICAgICAgZW5hYmxlZDogb3B0aW9ucy5lbmFibGVkLFxuICAgICAgdXBkYXRlQXNzZW1ibHksXG4gICAgICBjcmVhdGVSZWNlaXZlcnMsXG4gICAgICB1cGRhdGVSZWNlaXZlcnMsXG4gICAgICBkZWxldGVSZWNlaXZlcnM6IG9wdGlvbnMuZGVsZXRlUmVjZWl2ZXJzLFxuICAgICAgY3JlYXRlQ2xhaW1hbnRzLFxuICAgICAgdXBkYXRlQ2xhaW1hbnRzLFxuICAgICAgZGVsZXRlQ2xhaW1hbnRzOiBvcHRpb25zLmRlbGV0ZUNsYWltYW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlUmVjZWl2ZXJEaXJlY3RvcnkoXG4gICAgb3B0aW9uczogUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zLFxuICAgIHJlY2VpdmVyU2hhcmVkS2V5OiBKV0suS2V5LFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIC8vIFRPRE8gdGhpcyBzaG91bGQgYmUgYmF0Y2hlZFxuICAgIGNvbnN0IGRpcmVjdG9yeUtleSA9IGF3YWl0IHRoaXMuaXRlbTJTZXJ2aWNlLmdldERpcmVjdG9yeUtleShcbiAgICAgIG9wdGlvbnMuZGlyZWN0b3J5SWQsXG4gICAgICBvcHRpb25zLmRpcmVjdG9yeUtleUlkXG4gICAgKTtcblxuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHJlY2VpdmVyU2hhcmVkS2V5LFxuICAgICAgb3B0aW9ucy5zaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uXG4gICAgKTtcblxuICAgIGxldCB3cmFwcGVkSXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgcmVjZWl2ZXJTaGFyZWRLZXksXG4gICAgICBkaXJlY3RvcnlLZXkuandrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICAvLyBUT0RPIGZldGNoIGFzc2VtYmx5S2V5SWQuIFdlIGFyZSBjaGFuZ2luZyBpdCBzdWNoIHRoYXQgdGhlcmUgaXMgYWx3YXlzIGFuIGFzc2VtYmx5XG4gICAgLy8gYmVmb3JlIHJlY2VpdmVycyBjYW4gYmUgYWRkZWQuXG4gICAgd3JhcHBlZEl0ZW1LZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIGFzc2VtYmx5S2V5LFxuICAgICAgd3JhcHBlZEl0ZW1LZXlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpcmVjdG9yeUlkOiBvcHRpb25zLmRpcmVjdG9yeUlkLFxuICAgICAgd3JhcHBlZEl0ZW1LZXksXG4gICAgICBhY2Nlc3NSb2xlOiBvcHRpb25zLmFjY2Vzc1JvbGUsXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVDcmVhdGVSZWNlaXZlcihcbiAgICBvcHRpb25zOiBDcmVhdGVSZWNlaXZlck9wdGlvbnMsXG4gICAgYXNzZW1ibHlLZXk6IEpXSy5LZXlcbiAgKSB7XG4gICAgY29uc3QgeyBzaGFyZWRLZXksIG11dGF0aW9uSW5wdXQgfSA9IGF3YWl0IHRoaXMucHJlcGFyZUNyZWF0ZVBhcnRpY2lwYW50KFxuICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBhZGREaXJlY3RvcmllcyA9XG4gICAgICBvcHRpb25zLmFkZERpcmVjdG9yaWVzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuYWRkRGlyZWN0b3JpZXMubWFwKCh4KSA9PlxuICAgICAgICAgIHRoaXMucHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleS5rZXksIGFzc2VtYmx5S2V5KVxuICAgICAgICApXG4gICAgICApKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5tdXRhdGlvbklucHV0LFxuICAgICAgYWRkRGlyZWN0b3JpZXMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVVwZGF0ZVJlY2VpdmVyKFxuICAgIG9wdGlvbnM6IFVwZGF0ZVJlY2VpdmVyT3B0aW9ucyxcbiAgICBhc3NlbWJseUtleTogSldLLktleSxcbiAgICBleGlzdGluZ1JlY2VpdmVyOiBTY2VuYXJpb1JlY2VpdmVyTm9kZVxuICApIHtcbiAgICBjb25zdCBzaGFyZWRLZXlJZCA9IGV4aXN0aW5nUmVjZWl2ZXIuc2hhcmVkS2V5LmlkO1xuXG4gICAgY29uc3QgZGVsZXRlRGlyZWN0b3JpZXNPcHRpb25zID0gb3B0aW9ucy5kZWxldGVEaXJlY3RvcmllcyB8fCBbXTtcbiAgICBjb25zdCB1cGRhdGVEaXJlY3Rvcmllc09wdGlvbnMgPSBvcHRpb25zLnVwZGF0ZURpcmVjdG9yaWVzIHx8IFtdO1xuXG4gICAgLy8gRmlsbCBpbiBhbnkgbWlzc2luZyB1cGRhdGUgZGlyZWN0b3JpZXNcbiAgICBtYXBFZGdlcyhleGlzdGluZ1JlY2VpdmVyLnJlY2VpdmVyRGlyZWN0b3JpZXMpLmZvckVhY2goXG4gICAgICAoZXhpc3RpbmdEaXJlY3RvcnkpID0+IHtcbiAgICAgICAgaWYgKGRlbGV0ZURpcmVjdG9yaWVzT3B0aW9ucy5pbmNsdWRlcyhleGlzdGluZ0RpcmVjdG9yeS5kaXJlY3RvcnkuaWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHVwZGF0ZURpcmVjdG9yaWVzT3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKHgpID0+IHguZGlyZWN0b3J5SWQgPT09IGV4aXN0aW5nRGlyZWN0b3J5LmRpcmVjdG9yeS5pZFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlRGlyZWN0b3JpZXNPcHRpb25zLnB1c2goe1xuICAgICAgICAgIGFjY2Vzc1JvbGU6IGV4aXN0aW5nRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXG4gICAgICAgICAgZGlyZWN0b3J5SWQ6IGV4aXN0aW5nRGlyZWN0b3J5LmRpcmVjdG9yeS5pZCxcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uOlxuICAgICAgICAgICAgZXhpc3RpbmdEaXJlY3Rvcnkuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHsgc2hhcmVkS2V5LCBtdXRhdGlvbklucHV0IH0gPSBhd2FpdCB0aGlzLnByZXBhcmVVcGRhdGVQYXJ0aWNpcGFudChcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzaGFyZWRLZXlJZFxuICAgICk7XG5cbiAgICBjb25zdCBhZGREaXJlY3RvcmllcyA9XG4gICAgICBvcHRpb25zLmFkZERpcmVjdG9yaWVzICYmXG4gICAgICAoYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG9wdGlvbnMuYWRkRGlyZWN0b3JpZXMubWFwKCh4KSA9PlxuICAgICAgICAgIHRoaXMucHJlcGFyZUFkZFJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleSwgYXNzZW1ibHlLZXkpXG4gICAgICAgIClcbiAgICAgICkpO1xuXG4gICAgY29uc3QgdXBkYXRlRGlyZWN0b3JpZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHVwZGF0ZURpcmVjdG9yaWVzT3B0aW9ucy5tYXAoKHgpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZVVwZGF0ZVJlY2VpdmVyRGlyZWN0b3J5KHgsIHNoYXJlZEtleSwgYXNzZW1ibHlLZXkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5tdXRhdGlvbklucHV0LFxuICAgICAgYWRkRGlyZWN0b3JpZXMsXG4gICAgICB1cGRhdGVEaXJlY3RvcmllcyxcbiAgICAgIGRlbGV0ZURpcmVjdG9yaWVzOiBvcHRpb25zLmRlbGV0ZURpcmVjdG9yaWVzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVFeGlzdGluZ1JlY2VpdmVyKFxuICAgIGV4aXN0aW5nUmVjZWl2ZXI6IFNjZW5hcmlvUmVjZWl2ZXJOb2RlLFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIGNvbnN0IHVwZGF0ZURpcmVjdG9yaWVzID0gbWFwRWRnZXMoXG4gICAgICBleGlzdGluZ1JlY2VpdmVyLnJlY2VpdmVyRGlyZWN0b3JpZXNcbiAgICApLm1hcCgocmVjZWl2ZXJEaXJlY3RvcnkpID0+ICh7XG4gICAgICBkaXJlY3RvcnlJZDogcmVjZWl2ZXJEaXJlY3RvcnkuZGlyZWN0b3J5LmlkLFxuICAgICAgZGlyZWN0b3J5S2V5SWQ6IHJlY2VpdmVyRGlyZWN0b3J5LmRpcmVjdG9yeS5rZXlJZCxcbiAgICAgIGFjY2Vzc1JvbGU6IHJlY2VpdmVyRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uOiByZWNlaXZlckRpcmVjdG9yeS5zaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uLFxuICAgIH0pKTtcblxuICAgIC8vIEZpbGwgaXQgaW4gd2l0aCBleGlzdGluZyByZWNlaXZlci5cbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlVXBkYXRlUmVjZWl2ZXIoXG4gICAgICB7XG4gICAgICAgIHRwSWQ6IGV4aXN0aW5nUmVjZWl2ZXIudHAuaWQsXG4gICAgICAgIHNoYXJlZENpcGhlckRhdGFDbGVhckpzb246IGV4aXN0aW5nUmVjZWl2ZXIuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgICAgICAgdXBkYXRlRGlyZWN0b3JpZXMsXG4gICAgICB9LFxuICAgICAgYXNzZW1ibHlLZXksXG4gICAgICBleGlzdGluZ1JlY2VpdmVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUV4aXN0aW5nUmVjZWl2ZXJzKFxuICAgIGV4aXN0aW5nUmVjZWl2ZXJzOiBTY2VuYXJpb1JlY2VpdmVyTm9kZVtdLFxuICAgIGFzc2VtYmx5S2V5OiBKV0suS2V5XG4gICkge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIGV4aXN0aW5nUmVjZWl2ZXJzLm1hcCgoZXhpc3RpbmdSZWNlaXZlcikgPT5cbiAgICAgICAgdGhpcy5wcmVwYXJlRXhpc3RpbmdSZWNlaXZlcihleGlzdGluZ1JlY2VpdmVyLCBhc3NlbWJseUtleSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ3JlYXRlUGFydGljaXBhbnQob3B0aW9uczogQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zKSB7XG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0V2l0aE5ld0tleShcbiAgICAgIG9wdGlvbnMudHBTaGFyZWRLZXlJZCxcbiAgICAgIG9wdGlvbnMuc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvblxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIG11dGF0aW9uSW5wdXQ6IHtcbiAgICAgICAgdHBJZDogb3B0aW9ucy50cElkLFxuICAgICAgICB0cFNoYXJlZEtleUlkOiBvcHRpb25zLnRwU2hhcmVkS2V5SWQsXG4gICAgICAgIHRwU2hhcmVkS2V5V3JhcHBlZFNoYXJlZEtleTogc2hhcmVkS2V5LndyYXBwZWRLZXksXG4gICAgICAgIHNoYXJlZENpcGhlckRhdGE6IHNoYXJlZEtleS5jaXBoZXIsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVVcGRhdGVQYXJ0aWNpcGFudChcbiAgICBvcHRpb25zOiBQYXJ0aWNpcGFudE9wdGlvbnMsXG4gICAgc2hhcmVkS2V5SWQ6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEp3a0tleShzaGFyZWRLZXlJZCk7XG5cbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICBvcHRpb25zLnNoYXJlZENpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIG11dGF0aW9uSW5wdXQ6IHtcbiAgICAgICAgdHBJZDogb3B0aW9ucy50cElkLFxuICAgICAgICBzaGFyZWRLZXlJZCxcbiAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUNyZWF0ZUNsYWltYW50KG9wdGlvbnM6IENyZWF0ZUNsYWltYW50T3B0aW9ucykge1xuICAgIGNvbnN0IHsgbXV0YXRpb25JbnB1dCB9ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ3JlYXRlUGFydGljaXBhbnQob3B0aW9ucyk7XG4gICAgcmV0dXJuIG11dGF0aW9uSW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVVcGRhdGVDbGFpbWFudChcbiAgICBvcHRpb25zOiBVcGRhdGVDbGFpbWFudE9wdGlvbnMsXG4gICAgc2hhcmVkS2V5SWQ6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCB7IG11dGF0aW9uSW5wdXQgfSA9IGF3YWl0IHRoaXMucHJlcGFyZVVwZGF0ZVBhcnRpY2lwYW50KFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHNoYXJlZEtleUlkXG4gICAgKTtcblxuICAgIHJldHVybiBtdXRhdGlvbklucHV0O1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZUNsYWltKHNjZW5hcmlvSWQ6IHN0cmluZywgc2hhcmVkQ2xhaW1JZDogc3RyaW5nKSB7XG4gICAgLy8gR2V0IGFsbCB0aGUgc2hhcmVkIGl0ZW1zXG4gICAgY29uc3Qgc2hhcmVkU2NlbmFyaW8gPSAoXG4gICAgICBhd2FpdCB0aGlzLmdldFNoYXJlZFNjZW5hcmlvKHNjZW5hcmlvSWQsIHNoYXJlZENsYWltSWQpXG4gICAgKS5zaGFyZWRTY2VuYXJpbztcblxuICAgIGlmIChzaGFyZWRTY2VuYXJpby5zdGF0ZSAhPT0gU2NlbmFyaW9TdGF0ZS5BUFBST1ZFRCkge1xuICAgICAgdGhyb3dDbGFpbU5vdEFwcHJvdmVkKCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXBwcm92YWxzID0gbWFwRWRnZXMoXG4gICAgICBzaGFyZWRTY2VuYXJpby5zaGFyZWRDbGFpbS5hc0NsYWltUmVjZWl2ZXIuYXBwcm92YWxzXG4gICAgKTtcblxuICAgIGNvbnN0IGFzc2VtYmx5S2V5ID0gYXdhaXQgdGhpcy5yZWNvdmVyQXNzZW1ibHlLZXkoYXBwcm92YWxzKTtcbiAgICBjb25zb2xlLmxvZygncmVjZWl2ZUNsYWltTXV0YXRpb24gYXNzZW1ibHlLZXknLCBhc3NlbWJseUtleSk7XG5cbiAgICAvLyBEZWNyeXB0IGFsbCBpdGVtc1xuICAgIGNvbnN0IHJlY2VpdmVyRGlyZWN0b3JpZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHNoYXJlZFNjZW5hcmlvLmFzUmVjZWl2ZXIucmVjZWl2ZXJEaXJlY3Rvcmllcy5lZGdlc1xuICAgICAgICAubWFwKChlZGdlKSA9PiBlZGdlLm5vZGUpXG4gICAgICAgIC5tYXAoYXN5bmMgKHJlY2VpdmVyRGlyZWN0b3J5KSA9PiB7XG4gICAgICAgICAgY29uc3Qgd3JhcHBlZEl0ZW1LZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgICAgICBhc3NlbWJseUtleSxcbiAgICAgICAgICAgIHJlY2VpdmVyRGlyZWN0b3J5LndyYXBwZWRJdGVtS2V5XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZWNlaXZlckRpcmVjdG9yeUlkOiByZWNlaXZlckRpcmVjdG9yeS5pZCxcbiAgICAgICAgICAgIHJlY2VpdmVyU2hhcmVkS2V5V3JhcHBlZEl0ZW1LZXk6IHdyYXBwZWRJdGVtS2V5LCAvLyB0aGUgd3JhcHBlZEl0ZW1LZXkgaXMgYWxyZWFkeSB3cmFwcGVkIGJ5IHJlY2VpdmVyU2hhcmVkS2V5XG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNjZW5hcmlvQ2xhaW1JZDogc2hhcmVkQ2xhaW1JZCxcbiAgICAgIHJlY2VpdmVyRGlyZWN0b3JpZXMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVjb3ZlckFzc2VtYmx5S2V5KFxuICAgIGFwcHJvdmFsczogU2hhcmVkU2NlbmFyaW9DbGFpbVJlY2VpdmVkQXBwcm92YWxOb2RlW11cbiAgKSB7XG4gICAgY29uc3QgcGFydGlhbHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGFwcHJvdmFscy5tYXAoKGFwcHJvdmFsKSA9PlxuICAgICAgICB0aGlzLmtleUdyYXBoLmRlY3J5cHRGcm9tU3RyaW5nPFBhcnRpYWxBc3NlbWJseUtleT4oXG4gICAgICAgICAgYXBwcm92YWwucHhrLmlkLFxuICAgICAgICAgIGFwcHJvdmFsLnJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuYXNzZW1ibHlDb250cm9sbGVyLnJlY292ZXJBc3NlbWJseUtleShwYXJ0aWFscyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFzQ2xhaW1BcHByb3ZlcnMoXG4gICAgc2hhcmVkU2NlbmFyaW9JZCxcbiAgICBjbGFpbUlkLFxuICAgIHN0YXRlOiBUcENsYWltQXBwcm92ZXJTdGF0ZVxuICApIHtcbiAgICBjb25zdCBzaGFyZWRTY2VuYXJpbyA9IChcbiAgICAgIGF3YWl0IHRoaXMuZ2V0U2hhcmVkU2NlbmFyaW8oc2hhcmVkU2NlbmFyaW9JZCwgY2xhaW1JZClcbiAgICApLnNoYXJlZFNjZW5hcmlvO1xuXG4gICAgcmV0dXJuIG1hcEVkZ2VzKHNoYXJlZFNjZW5hcmlvLnNoYXJlZENsYWltLmNsYWltLmFzQ2xhaW1BcHByb3ZlcnMpLmZpbHRlcihcbiAgICAgIChhc0NsYWltQXBwcm92ZXIpID0+IGFzQ2xhaW1BcHByb3Zlci5zdGF0ZSA9PT0gc3RhdGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQXBwcm92ZUNsYWltTXV0YXRpb25zKFxuICAgIHNoYXJlZFNjZW5hcmlvSWQ6IHN0cmluZyxcbiAgICBjbGFpbUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgLy8gVGhlIGN1cnJlbnQgdXNlciBtYXkgYmUgYWN0aW5nIGFzIGFwcHJvdmVycyBpbiBtdWx0aXBsZSBzdWItYXNzZW1ibGllcyBzb1xuICAgIC8vIHdlIGFwcHJvdmUgdGhlbSBhbGwuXG4gICAgY29uc3QgYXNDbGFpbUFwcHJvdmVycyA9IGF3YWl0IHRoaXMuYXNDbGFpbUFwcHJvdmVycyhcbiAgICAgIHNoYXJlZFNjZW5hcmlvSWQsXG4gICAgICBjbGFpbUlkLFxuICAgICAgVHBDbGFpbUFwcHJvdmVyU3RhdGUuQ0xBSU1FRFxuICAgICk7XG5cbiAgICByZXR1cm4gYXNDbGFpbUFwcHJvdmVycy5tYXAoXG4gICAgICBhc3luYyAoYXNDbGFpbUFwcHJvdmVyKSA9PlxuICAgICAgICBuZXcgTHJNdXRhdGlvbih7XG4gICAgICAgICAgbXV0YXRpb246IEFwcHJvdmVTY2VuYXJpb0NsYWltTXV0YXRpb24sXG4gICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICBpbnB1dDogYXdhaXQgdGhpcy5wcmVwYXJlQXBwcm92ZUNsYWltKGFzQ2xhaW1BcHByb3ZlciksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQXBwcm92ZUNsYWltKFxuICAgIGFzQ2xhaW1BcHByb3ZlcjogU2hhcmVkVHBDbGFpbUFwcHJvdmVyTm9kZVxuICApIHtcbiAgICBjb25zdCByZWNlaXZlckFwcHJvdmFscyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgbWFwRWRnZXMoYXNDbGFpbUFwcHJvdmVyLnJlY2VpdmVyQXBwcm92YWxzKS5tYXAoKHJlY2VpdmVyQXBwcm92YWwpID0+XG4gICAgICAgIHRoaXMucHJlcGFyZVJlY2VpdmVyQXBwcm92YWwoe1xuICAgICAgICAgIHJlY2VpdmVyQXBwcm92YWxJZDogcmVjZWl2ZXJBcHByb3ZhbC5pZCxcbiAgICAgICAgICByZWNlaXZlckFwcHJvdmFsUHhrSWQ6IHJlY2VpdmVyQXBwcm92YWwucHhrLmlkLFxuICAgICAgICAgIHNoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleUNsZWFySnNvbjpcbiAgICAgICAgICAgIGFzQ2xhaW1BcHByb3Zlci5zaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb24sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjbGFpbUFwcHJvdmVySWQ6IGFzQ2xhaW1BcHByb3Zlci5pZCxcbiAgICAgIHJlY2VpdmVyQXBwcm92YWxzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVSZWNlaXZlckFwcHJvdmFsKG9wdGlvbnM6IHtcbiAgICByZWNlaXZlckFwcHJvdmFsSWQ6IHN0cmluZztcbiAgICByZWNlaXZlckFwcHJvdmFsUHhrSWQ6IHN0cmluZztcbiAgICBzaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb246IEpTT05PYmplY3Q7XG4gIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVjZWl2ZXJBcHByb3ZhbElkOiBvcHRpb25zLnJlY2VpdmVyQXBwcm92YWxJZCxcbiAgICAgIC8vIFRPRE8gYWxsb3cgc2VuZGluZyBvZiBtZXNzYWdlcyB0byByZWNlaXZlci5cbiAgICAgIHJlY2VpdmVyQ2lwaGVyOiAnJyxcbiAgICAgIHJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5OiBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgb3B0aW9ucy5yZWNlaXZlckFwcHJvdmFsUHhrSWQsXG4gICAgICAgIG9wdGlvbnMuc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5Q2xlYXJKc29uXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVSZWplY3RDbGFpbU11dGF0aW9ucyhcbiAgICBzaGFyZWRTY2VuYXJpb0lkOiBzdHJpbmcsXG4gICAgY2xhaW1JZDogc3RyaW5nXG4gICkge1xuICAgIC8vIFRoZSBjdXJyZW50IHVzZXIgbWF5IGJlIGFjdGluZyBhcyBhcHByb3ZlcnMgaW4gbXVsdGlwbGUgc3ViLWFzc2VtYmxpZXMgc29cbiAgICAvLyB3ZSByZWplY3QgdGhlbSBhbGwuXG4gICAgY29uc3QgYXNDbGFpbUFwcHJvdmVycyA9IGF3YWl0IHRoaXMuYXNDbGFpbUFwcHJvdmVycyhcbiAgICAgIHNoYXJlZFNjZW5hcmlvSWQsXG4gICAgICBjbGFpbUlkLFxuICAgICAgVHBDbGFpbUFwcHJvdmVyU3RhdGUuQ0xBSU1FRFxuICAgICk7XG5cbiAgICByZXR1cm4gYXNDbGFpbUFwcHJvdmVycy5tYXAoXG4gICAgICBhc3luYyAoYXNDbGFpbUFwcHJvdmVyKSA9PlxuICAgICAgICBuZXcgTHJNdXRhdGlvbih7XG4gICAgICAgICAgbXV0YXRpb246IFJlamVjdFNjZW5hcmlvQ2xhaW1NdXRhdGlvbixcbiAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgIGlucHV0OiB7IGNsYWltQXBwcm92ZXJJZDogYXNDbGFpbUFwcHJvdmVyLmlkIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NjZW5hcmlvL3NjZW5hcmlvLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NSb2xlQ2hvaWNlIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7XG4gIENyZWF0ZVRwQXNzZW1ibHlJbnB1dCxcbiAgVXBkYXRlVHBBc3NlbWJseUlucHV0LFxufSBmcm9tICcuLi90cnVzdGVkLXBhcnRpZXMvdHAtYXNzZW1ibHkudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50T3B0aW9ucyB7XG4gIHRwSWQ6IHN0cmluZztcbiAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbjogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVBhcnRpY2lwYW50T3B0aW9ucyBleHRlbmRzIFBhcnRpY2lwYW50T3B0aW9ucyB7XG4gIC8qKiBUaGlzIGlzIHRoZSBUUC5zaGFyZWRLZXkgdXNlZCB0byB3cmFwIHRoZSBhcHByb3ZlciBzaGFyZWQga2V5IHdoaWNoIHdpbGwgYmUgY3JlYXRlZC4gKi9cbiAgdHBTaGFyZWRLZXlJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVXBkYXRlUGFydGljaXBhbnRPcHRpb25zID0gUGFydGljaXBhbnRPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVyRGlyZWN0b3J5T3B0aW9ucyB7XG4gIGRpcmVjdG9yeUlkOiBzdHJpbmc7XG4gIGRpcmVjdG9yeUtleUlkPzogc3RyaW5nO1xuICBhY2Nlc3NSb2xlOiBBY2Nlc3NSb2xlQ2hvaWNlO1xuICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVJlY2VpdmVyRGlyZWN0b3J5T3B0aW9ucyA9IFJlY2VpdmVyRGlyZWN0b3J5T3B0aW9ucztcbmV4cG9ydCB0eXBlIFVwZGF0ZVJlY2VpdmVyRGlyZWN0b3J5T3B0aW9ucyA9IFJlY2VpdmVyRGlyZWN0b3J5T3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSZWNlaXZlck9wdGlvbnMgZXh0ZW5kcyBDcmVhdGVQYXJ0aWNpcGFudE9wdGlvbnMge1xuICBhZGREaXJlY3Rvcmllcz86IENyZWF0ZVJlY2VpdmVyRGlyZWN0b3J5T3B0aW9uc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlY2VpdmVyT3B0aW9ucyBleHRlbmRzIFVwZGF0ZVBhcnRpY2lwYW50T3B0aW9ucyB7XG4gIGFkZERpcmVjdG9yaWVzPzogQ3JlYXRlUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zW107XG4gIHVwZGF0ZURpcmVjdG9yaWVzPzogVXBkYXRlUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zW107XG4gIGRlbGV0ZURpcmVjdG9yaWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNsYWltYW50T3B0aW9ucyA9IENyZWF0ZVBhcnRpY2lwYW50T3B0aW9ucztcbmV4cG9ydCB0eXBlIFVwZGF0ZUNsYWltYW50T3B0aW9ucyA9IFVwZGF0ZVBhcnRpY2lwYW50T3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTY2VuYXJpb09wdGlvbnMge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBjcmVhdGVBc3NlbWJseT86IENyZWF0ZVRwQXNzZW1ibHlJbnB1dDtcbiAgY3JlYXRlUmVjZWl2ZXJzPzogQ3JlYXRlUmVjZWl2ZXJPcHRpb25zW107XG4gIGNyZWF0ZUNsYWltYW50cz86IENyZWF0ZUNsYWltYW50T3B0aW9uc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNjZW5hcmlvT3B0aW9ucyB7XG4gIHNjZW5hcmlvSWQ6IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgdXBkYXRlQXNzZW1ibHk/OiBVcGRhdGVUcEFzc2VtYmx5SW5wdXQ7XG4gIGNyZWF0ZVJlY2VpdmVycz86IENyZWF0ZVJlY2VpdmVyT3B0aW9uc1tdO1xuICB1cGRhdGVSZWNlaXZlcnM/OiBVcGRhdGVSZWNlaXZlck9wdGlvbnNbXTtcbiAgZGVsZXRlUmVjZWl2ZXJzPzogc3RyaW5nW107XG4gIGNyZWF0ZUNsYWltYW50cz86IENyZWF0ZUNsYWltYW50T3B0aW9uc1tdO1xuICB1cGRhdGVDbGFpbWFudHM/OiBVcGRhdGVDbGFpbWFudE9wdGlvbnNbXTtcbiAgZGVsZXRlQ2xhaW1hbnRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRTY2VuYXJpb09wdGlvbnMge1xuICBzY2VuYXJpb0lkOiBzdHJpbmc7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG59XG4iXX0=
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NjZW5hcmlvL3NjZW5hcmlvLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NSb2xlQ2hvaWNlLCBKU09OT2JqZWN0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7XG4gIENyZWF0ZVRwQXNzZW1ibHlJbnB1dCxcbiAgVXBkYXRlVHBBc3NlbWJseUlucHV0LFxufSBmcm9tICcuLi90cnVzdGVkLXBhcnRpZXMvdHAtYXNzZW1ibHkudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50T3B0aW9ucyB7XG4gIHRwSWQ6IHN0cmluZztcbiAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbjogSlNPTk9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVQYXJ0aWNpcGFudE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWNpcGFudE9wdGlvbnMge1xuICAvKiogVGhpcyBpcyB0aGUgVFAuc2hhcmVkS2V5IHVzZWQgdG8gd3JhcCB0aGUgYXBwcm92ZXIgc2hhcmVkIGtleSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQuICovXG4gIHRwU2hhcmVkS2V5SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVBhcnRpY2lwYW50T3B0aW9ucyA9IFBhcnRpY2lwYW50T3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlckRpcmVjdG9yeU9wdGlvbnMge1xuICBkaXJlY3RvcnlJZDogc3RyaW5nO1xuICBkaXJlY3RvcnlLZXlJZD86IHN0cmluZztcbiAgYWNjZXNzUm9sZTogQWNjZXNzUm9sZUNob2ljZTtcbiAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbjogSlNPTk9iamVjdDtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zID0gUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zO1xuZXhwb3J0IHR5cGUgVXBkYXRlUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zID0gUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJlY2VpdmVyT3B0aW9ucyBleHRlbmRzIENyZWF0ZVBhcnRpY2lwYW50T3B0aW9ucyB7XG4gIGFkZERpcmVjdG9yaWVzPzogQ3JlYXRlUmVjZWl2ZXJEaXJlY3RvcnlPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVjZWl2ZXJPcHRpb25zIGV4dGVuZHMgVXBkYXRlUGFydGljaXBhbnRPcHRpb25zIHtcbiAgYWRkRGlyZWN0b3JpZXM/OiBDcmVhdGVSZWNlaXZlckRpcmVjdG9yeU9wdGlvbnNbXTtcbiAgdXBkYXRlRGlyZWN0b3JpZXM/OiBVcGRhdGVSZWNlaXZlckRpcmVjdG9yeU9wdGlvbnNbXTtcbiAgZGVsZXRlRGlyZWN0b3JpZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2xhaW1hbnRPcHRpb25zID0gQ3JlYXRlUGFydGljaXBhbnRPcHRpb25zO1xuZXhwb3J0IHR5cGUgVXBkYXRlQ2xhaW1hbnRPcHRpb25zID0gVXBkYXRlUGFydGljaXBhbnRPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVNjZW5hcmlvT3B0aW9ucyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGNyZWF0ZUFzc2VtYmx5PzogQ3JlYXRlVHBBc3NlbWJseUlucHV0O1xuICBjcmVhdGVSZWNlaXZlcnM/OiBDcmVhdGVSZWNlaXZlck9wdGlvbnNbXTtcbiAgY3JlYXRlQ2xhaW1hbnRzPzogQ3JlYXRlQ2xhaW1hbnRPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU2NlbmFyaW9PcHRpb25zIHtcbiAgc2NlbmFyaW9JZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICB1cGRhdGVBc3NlbWJseT86IFVwZGF0ZVRwQXNzZW1ibHlJbnB1dDtcbiAgY3JlYXRlUmVjZWl2ZXJzPzogQ3JlYXRlUmVjZWl2ZXJPcHRpb25zW107XG4gIHVwZGF0ZVJlY2VpdmVycz86IFVwZGF0ZVJlY2VpdmVyT3B0aW9uc1tdO1xuICBkZWxldGVSZWNlaXZlcnM/OiBzdHJpbmdbXTtcbiAgY3JlYXRlQ2xhaW1hbnRzPzogQ3JlYXRlQ2xhaW1hbnRPcHRpb25zW107XG4gIHVwZGF0ZUNsYWltYW50cz86IFVwZGF0ZUNsYWltYW50T3B0aW9uc1tdO1xuICBkZWxldGVDbGFpbWFudHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNldFNjZW5hcmlvT3B0aW9ucyB7XG4gIHNjZW5hcmlvSWQ6IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -234,4 +234,4 @@ mutation UpdateTpPasswordResetMutation($input: UpdateTpPasswordResetInput!) {
234
234
  }
235
235
  }
236
236
  }`;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQuZ3FsLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90cnVzdGVkLXBhcnRpZXMvdHAtcGFzc3dvcmQtcmVzZXQuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStEMUMsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFEakYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLFFBQVEsQ0FBbUM7Ozs7Ozs7Ozs7RUFVcEYsNkJBQTZCO0NBQzlCLENBQUM7QUFLRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQWtDOzs7Ozs7RUFNbEYsNkJBQTZCO0NBQzlCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxRQUFRLENBQTRDOzs7OztFQUt0RyxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsUUFBUSxDQUE0Qzs7Ozs7OztFQU90RyxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsUUFBUSxDQUFpRDs7Ozs7OztFQU9oSCxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsUUFBUSxDQUE4Qzs7Ozs7OztFQU8xRyxDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUE2Qzs7Ozs7Ozs7O0VBU3hHLENBQUM7QUFTSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxRQUFRLENBQTRDOzs7Ozs7Ozs7RUFTdEcsQ0FBQztBQTJDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXlDOUUsQ0FBQztBQWtESCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQTRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBOEN0RSxDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFxQzs7Ozs7OztFQU94RixDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFxQzs7Ozs7RUFLeEYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFFBQVEsQ0FBcUM7Ozs7Ozs7RUFPeEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNTY2FsYXIsIElEIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IGdxbFR5cGVkIH0gZnJvbSAnLi4vX2NvbW1vbi9hc3QnO1xuaW1wb3J0IHtcbiAgVHBDbGFpbVN0YXRlLFxuICBUcENsYWltQXBwcm92ZXJTdGF0ZSxcbn0gZnJvbSAnLi4vYXBpL3R5cGVzL2xyLWdyYXBocWwudHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICcuLi9hcGkvdHlwZXMvZ3JhcGhxbC50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQge1xuICBpZDogSUQ7XG4gIHRwOiB7XG4gICAgaWQ6IElEO1xuICAgIG90aGVyOiB7XG4gICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGFzc2VtYmx5OiB7XG4gICAgYXNBcHByb3ZlcnM6IHtcbiAgICAgIGVkZ2VzOiB7XG4gICAgICAgIG5vZGU6IHtcbiAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgc2hhcmVkS2V5OiB7XG4gICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbjogYW55O1xuICAgICAgICB9O1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIHNoYXJlZFJlcXVlc3Q6IHtcbiAgICBpZDogSUQ7XG4gICAgcHhrOiB7XG4gICAgICBpZDogSUQ7XG4gICAgICBwYms6IHN0cmluZztcbiAgICB9O1xuICAgIGNsYWltOiB7XG4gICAgICBpZDogSUQ7XG4gICAgICBzdGF0ZTogVHBDbGFpbVN0YXRlO1xuICAgICAgYXNDbGFpbUFwcHJvdmVyczoge1xuICAgICAgICBlZGdlczoge1xuICAgICAgICAgIG5vZGU6IHtcbiAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgIHN0YXRlOiBUcENsYWltQXBwcm92ZXJTdGF0ZTtcbiAgICAgICAgICAgIHNoYXJlZEtleToge1xuICAgICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyQXBwcm92YWxEYXRhOiBzdHJpbmc7XG4gICAgICAgICAgICBzaGFyZWRDaXBoZXJBcHByb3ZhbERhdGFDbGVhckpzb246IGFueTtcbiAgICAgICAgICAgIHNoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleTogc3RyaW5nO1xuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5Q2xlYXJKc29uOiBhbnk7XG4gICAgICAgICAgICByZWNlaXZlckFwcHJvdmFsczoge1xuICAgICAgICAgICAgICBlZGdlczoge1xuICAgICAgICAgICAgICAgIG5vZGU6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9W107XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1bXTtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn1cbmNvbnN0IFNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50ID0gZ3FsVHlwZWQ8U2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQ+YFxuZnJhZ21lbnQgU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnQgb24gU2hhcmVkVHBQYXNzd29yZFJlc2V0Tm9kZSB7XG4gIGlkXG4gIHRwIHtcbiAgICBpZFxuICAgIG90aGVyIHtcbiAgICAgIHVzZXJuYW1lXG4gICAgfVxuICB9XG4gIGFzc2VtYmx5IHtcbiAgICBhc0FwcHJvdmVycyB7XG4gICAgICBlZGdlcyB7XG4gICAgICAgIG5vZGUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgfVxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGFcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzaGFyZWRSZXF1ZXN0IHtcbiAgICBpZFxuICAgIHB4ayB7XG4gICAgICBpZFxuICAgICAgcGJrXG4gICAgfVxuICAgIGNsYWltIHtcbiAgICAgIGlkXG4gICAgICBzdGF0ZVxuICAgICAgYXNDbGFpbUFwcHJvdmVycyB7XG4gICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNoYXJlZENpcGhlckFwcHJvdmFsRGF0YVxuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgICAgICAgICByZWNlaXZlckFwcHJvdmFscyB7XG4gICAgICAgICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnlSZXN1bHQge1xuICBzaGFyZWRUcFBhc3N3b3JkUmVzZXRzOiB7XG4gICAgZWRnZXM6IHtcbiAgICAgIG5vZGU6IFNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50UmVzdWx0O1xuICAgIH1bXTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnkgPSBncWxUeXBlZDxTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnlSZXN1bHQ+YFxucXVlcnkgU2hhcmVkVHBQYXNzd29yZFJlc2V0c1F1ZXJ5IHtcbiAgc2hhcmVkVHBQYXNzd29yZFJlc2V0cyB7XG4gICAgZWRnZXMge1xuICAgICAgbm9kZSB7XG4gICAgICAgIC4uLlNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ke1NoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeVJlc3VsdCB7XG4gIHNoYXJlZFRwUGFzc3dvcmRSZXNldDogU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQ7XG59XG5leHBvcnQgY29uc3QgU2hhcmVkVHBQYXNzd29yZFJlc2V0UXVlcnkgPSBncWxUeXBlZDxTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeVJlc3VsdD5gXG5xdWVyeSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeSgkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICBzaGFyZWRUcFBhc3N3b3JkUmVzZXQoaWQ6ICRpZCkge1xuICAgIC4uLlNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50XG4gIH1cbn1cbiR7U2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgQ2FuY2VsVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8Q2FuY2VsVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0PmBcbm11dGF0aW9uIENhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbiB7XG4gIGNhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6IHt9KSB7XG4gICAgaWRcbiAgfVxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZU11dGF0aW9uUmVzdWx0IHtcbiAgY3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZToge1xuICAgIGNoYWxsZW5nZTogYW55O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IENyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2VNdXRhdGlvbiA9IGdxbFR5cGVkPENyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2VNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBDcmVhdGVUcEFzc2VtYmx5S2V5Q2hhbGxlbmdlTXV0YXRpb24oXG4gICRpbnB1dDogQ3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZUlucHV0IVxuKSB7XG4gIGNyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2UoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGNoYWxsZW5nZVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIHByZUNvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdDoge1xuICAgIGlkcFBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY29uc3QgUHJlQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24gPSBncWxUeXBlZDxQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbihcbiAgJGlucHV0OiBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RJbnB1dCFcbikge1xuICBwcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGlkcFBhc3N3b3JkXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0IHtcbiAgY29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0OiB7XG4gICAgaWQ6IElEO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IENvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8Q29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb25SZXN1bHQ+YFxubXV0YXRpb24gQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24oXG4gICRpbnB1dDogQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0SW5wdXQhXG4pIHtcbiAgY29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0KGlucHV0OiAkaW5wdXQpIHtcbiAgICBpZFxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0IHtcbiAgYXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBjbGFpbUFwcHJvdmVyOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8QXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uKFxuICAkaW5wdXQ6IEFwcHJvdmVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0SW5wdXQhXG4pIHtcbiAgYXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGNsYWltQXBwcm92ZXIge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIHJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBjbGFpbUFwcHJvdmVyOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBSZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24gPSBncWxUeXBlZDxSZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb25SZXN1bHQ+YFxubXV0YXRpb24gUmVqZWN0VHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uKFxuICAkaW5wdXQ6IFJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3RJbnB1dCFcbikge1xuICByZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0KGlucHV0OiAkaW5wdXQpIHtcbiAgICBjbGFpbUFwcHJvdmVyIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBUcFBhc3N3b3JkUmVzZXRVc2VyUXVlcnlSZXN1bHQge1xuICB0cFBhc3N3b3JkUmVzZXRVc2VyOiB7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICByZXNldFVzZXJuYW1lOiBzdHJpbmc7XG4gICAgc3RhdGU6IFRwQ2xhaW1TdGF0ZTtcbiAgICBwYXNzS2V5OiB7XG4gICAgICBpZDogSUQ7XG4gICAgICBwYXNzS2V5UGFyYW1zOiBHZW5lcmljU2NhbGFyO1xuICAgICAgcGFzc0lkcFBhcmFtczogR2VuZXJpY1NjYWxhcjtcbiAgICB9O1xuICAgIG1hc3RlcktleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gICAgcHhrOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICBzZXNzaW9uRW5jcnlwdGlvbktleTogc3RyaW5nO1xuICAgIGFzc2VtYmx5OiB7XG4gICAgICBzaW5nbGVSZWplY3Q6IGJvb2xlYW47XG4gICAgICBxdW9ydW06IG51bWJlcjtcbiAgICAgIHN1YkFzc2VtYmxpZXM6IHtcbiAgICAgICAgc2luZ2xlUmVqZWN0OiBib29sZWFuO1xuICAgICAgICBxdW9ydW06IG51bWJlcjtcbiAgICAgICAgYXBwcm92ZXJzOiB7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgc3RhdGU6IFRwQ2xhaW1BcHByb3ZlclN0YXRlO1xuICAgICAgICB9W107XG4gICAgICB9W107XG4gICAgfTtcbiAgICBhcHByb3ZhbHM6IHtcbiAgICAgIGlkOiBJRDtcbiAgICAgIG1vZGlmaWVkOiBEYXRlVGltZTtcbiAgICAgIGFwcHJvdmVyRW1haWw6IHN0cmluZztcbiAgICAgIHJlY2VpdmVyQ2lwaGVyOiBzdHJpbmc7XG4gICAgICByZWNlaXZlckNpcGhlclBhcnRpYWxBc3NlbWJseUtleTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBhc3NlbWJseUNpcGhlckRhdGE6IHN0cmluZztcbiAgICB3cmFwcGVkQXNzZW1ibHlLZXlWZXJpZmllclByazogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFRwUGFzc3dvcmRSZXNldFVzZXJRdWVyeSA9IGdxbFR5cGVkPFRwUGFzc3dvcmRSZXNldFVzZXJRdWVyeVJlc3VsdD5gXG5xdWVyeSBUcFBhc3N3b3JkUmVzZXRVc2VyUXVlcnkge1xuICB0cFBhc3N3b3JkUmVzZXRVc2VyIHtcbiAgICB1c2VybmFtZVxuICAgIHJlc2V0VXNlcm5hbWVcbiAgICBzdGF0ZVxuICAgIHBhc3NLZXkge1xuICAgICAgaWRcbiAgICAgIHBhc3NLZXlQYXJhbXNcbiAgICAgIHBhc3NJZHBQYXJhbXNcbiAgICB9XG4gICAgbWFzdGVyS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIHB4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICBzZXNzaW9uRW5jcnlwdGlvbktleVxuICAgIGFzc2VtYmx5IHtcbiAgICAgIHNpbmdsZVJlamVjdFxuICAgICAgcXVvcnVtXG4gICAgICBzdWJBc3NlbWJsaWVzIHtcbiAgICAgICAgc2luZ2xlUmVqZWN0XG4gICAgICAgIHF1b3J1bVxuICAgICAgICBhcHByb3ZlcnMge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHN0YXRlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXBwcm92YWxzIHtcbiAgICAgIGlkXG4gICAgICBtb2RpZmllZFxuICAgICAgYXBwcm92ZXJFbWFpbFxuICAgICAgcmVjZWl2ZXJDaXBoZXJcbiAgICAgIHJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgfVxuICAgIGFzc2VtYmx5Q2lwaGVyRGF0YVxuICAgIHdyYXBwZWRBc3NlbWJseUtleVZlcmlmaWVyUHJrXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRwUGFzc3dvcmRSZXNldFF1ZXJ5UmVzdWx0IHtcbiAgdHBQYXNzd29yZFJlc2V0OiB7XG4gICAgaWQ6IElEO1xuICAgIGFwcGxpZWQ6IGJvb2xlYW47XG4gICAgYXNzZW1ibHk6IHtcbiAgICAgIHNpbmdsZVJlamVjdDogYm9vbGVhbjtcbiAgICAgIHF1b3J1bTogbnVtYmVyO1xuICAgICAgY2FuTWVldFF1b3J1bTogYm9vbGVhbjtcbiAgICAgIHN1YmplY3RDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICBzdWJqZWN0Q2lwaGVyRGF0YUNsZWFySnNvbjogYW55O1xuICAgICAgc3ViamVjdEtleToge1xuICAgICAgICBpZDogSUQ7XG4gICAgICB9O1xuICAgICAgYXNzZW1ibHlLZXk6IHtcbiAgICAgICAgaWQ6IElEO1xuICAgICAgfTtcbiAgICAgIGFzc2VtYmx5Q2lwaGVyRGF0YTogc3RyaW5nO1xuICAgICAgc3ViQXNzZW1ibGllczoge1xuICAgICAgICBlZGdlczoge1xuICAgICAgICAgIG5vZGU6IHtcbiAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgIHNpbmdsZVJlamVjdDogYm9vbGVhbjtcbiAgICAgICAgICAgIHF1b3J1bTogbnVtYmVyO1xuICAgICAgICAgICAgc3ViamVjdENpcGhlckRhdGE6IHN0cmluZztcbiAgICAgICAgICAgIHN1YmplY3RDaXBoZXJEYXRhQ2xlYXJKc29uOiBhbnk7XG4gICAgICAgICAgICBzdWJqZWN0S2V5OiB7XG4gICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhcHByb3ZlcnM6IHtcbiAgICAgICAgICAgICAgZWRnZXM6IHtcbiAgICAgICAgICAgICAgICBub2RlOiB7XG4gICAgICAgICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgICAgICAgICB0cDoge1xuICAgICAgICAgICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgc2hhcmVkS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVtdO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9O1xuICAgICAgICB9W107XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVHBQYXNzd29yZFJlc2V0UXVlcnkgPSBncWxUeXBlZDxUcFBhc3N3b3JkUmVzZXRRdWVyeVJlc3VsdD5gXG5xdWVyeSBUcFBhc3N3b3JkUmVzZXRRdWVyeSB7XG4gIHRwUGFzc3dvcmRSZXNldCB7XG4gICAgaWRcbiAgICBhcHBsaWVkXG4gICAgYXNzZW1ibHkge1xuICAgICAgc2luZ2xlUmVqZWN0XG4gICAgICBxdW9ydW1cbiAgICAgIGNhbk1lZXRRdW9ydW1cbiAgICAgIHN1YmplY3RDaXBoZXJEYXRhXG4gICAgICBzdWJqZWN0S2V5IHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICAgIGFzc2VtYmx5S2V5IHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICAgIGFzc2VtYmx5Q2lwaGVyRGF0YVxuICAgICAgc3ViQXNzZW1ibGllcyB7XG4gICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzaW5nbGVSZWplY3RcbiAgICAgICAgICAgIHF1b3J1bVxuICAgICAgICAgICAgc3ViamVjdENpcGhlckRhdGFcbiAgICAgICAgICAgIHN1YmplY3RLZXkge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICAgICAgZWRnZXMge1xuICAgICAgICAgICAgICAgIG5vZGUge1xuICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgIHRwIHtcbiAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHNoYXJlZEtleSB7XG4gICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdCB7XG4gIGNyZWF0ZVRwUGFzc3dvcmRSZXNldDoge1xuICAgIHRwUGFzc3dvcmRSZXNldDoge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgQ3JlYXRlVHBQYXNzd29yZFJlc2V0TXV0YXRpb24gPSBncWxUeXBlZDxDcmVhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBDcmVhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbigkaW5wdXQ6IENyZWF0ZVRwUGFzc3dvcmRSZXNldElucHV0ISkge1xuICBjcmVhdGVUcFBhc3N3b3JkUmVzZXQoaW5wdXQ6ICRpbnB1dCkge1xuICAgIHRwUGFzc3dvcmRSZXNldCB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlVHBQYXNzd29yZFJlc2V0TXV0YXRpb25SZXN1bHQge1xuICBkZWxldGVUcFBhc3N3b3JkUmVzZXQ6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgRGVsZXRlVHBQYXNzd29yZFJlc2V0TXV0YXRpb24gPSBncWxUeXBlZDxEZWxldGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBEZWxldGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbiB7XG4gIGRlbGV0ZVRwUGFzc3dvcmRSZXNldChpbnB1dDoge30pIHtcbiAgICBpZFxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdCB7XG4gIHVwZGF0ZVRwUGFzc3dvcmRSZXNldDoge1xuICAgIHRwUGFzc3dvcmRSZXNldDoge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVXBkYXRlVHBQYXNzd29yZFJlc2V0TXV0YXRpb24gPSBncWxUeXBlZDxVcGRhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBVcGRhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbigkaW5wdXQ6IFVwZGF0ZVRwUGFzc3dvcmRSZXNldElucHV0ISkge1xuICB1cGRhdGVUcFBhc3N3b3JkUmVzZXQoaW5wdXQ6ICRpbnB1dCkge1xuICAgIHRwUGFzc3dvcmRSZXNldCB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQuZ3FsLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90cnVzdGVkLXBhcnRpZXMvdHAtcGFzc3dvcmQtcmVzZXQuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStEMUMsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFEakYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLFFBQVEsQ0FBbUM7Ozs7Ozs7Ozs7RUFVcEYsNkJBQTZCO0NBQzlCLENBQUM7QUFLRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQWtDOzs7Ozs7RUFNbEYsNkJBQTZCO0NBQzlCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxRQUFRLENBQTRDOzs7OztFQUt0RyxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsUUFBUSxDQUE0Qzs7Ozs7OztFQU90RyxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsUUFBUSxDQUFpRDs7Ozs7OztFQU9oSCxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsUUFBUSxDQUE4Qzs7Ozs7OztFQU8xRyxDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUE2Qzs7Ozs7Ozs7O0VBU3hHLENBQUM7QUFTSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxRQUFRLENBQTRDOzs7Ozs7Ozs7RUFTdEcsQ0FBQztBQTJDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXlDOUUsQ0FBQztBQWtESCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQTRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBOEN0RSxDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFxQzs7Ozs7OztFQU94RixDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFxQzs7Ozs7RUFLeEYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFFBQVEsQ0FBcUM7Ozs7Ozs7RUFPeEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNTY2FsYXIsIElEIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IGdxbFR5cGVkIH0gZnJvbSAnLi4vX2NvbW1vbi9hc3QnO1xuaW1wb3J0IHtcbiAgVHBDbGFpbVN0YXRlLFxuICBUcENsYWltQXBwcm92ZXJTdGF0ZSxcbn0gZnJvbSAnLi4vYXBpL3R5cGVzL2xyLWdyYXBocWwudHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIEpTT05PYmplY3QgfSBmcm9tICcuLi9hcGkvdHlwZXMvZ3JhcGhxbC50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQge1xuICBpZDogSUQ7XG4gIHRwOiB7XG4gICAgaWQ6IElEO1xuICAgIG90aGVyOiB7XG4gICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGFzc2VtYmx5OiB7XG4gICAgYXNBcHByb3ZlcnM6IHtcbiAgICAgIGVkZ2VzOiB7XG4gICAgICAgIG5vZGU6IHtcbiAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgc2hhcmVkS2V5OiB7XG4gICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbjogSlNPTk9iamVjdDtcbiAgICAgICAgfTtcbiAgICAgIH1bXTtcbiAgICB9O1xuICB9O1xuICBzaGFyZWRSZXF1ZXN0OiB7XG4gICAgaWQ6IElEO1xuICAgIHB4azoge1xuICAgICAgaWQ6IElEO1xuICAgICAgcGJrOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjbGFpbToge1xuICAgICAgaWQ6IElEO1xuICAgICAgc3RhdGU6IFRwQ2xhaW1TdGF0ZTtcbiAgICAgIGFzQ2xhaW1BcHByb3ZlcnM6IHtcbiAgICAgICAgZWRnZXM6IHtcbiAgICAgICAgICBub2RlOiB7XG4gICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgICBzdGF0ZTogVHBDbGFpbUFwcHJvdmVyU3RhdGU7XG4gICAgICAgICAgICBzaGFyZWRLZXk6IHtcbiAgICAgICAgICAgICAgaWQ6IElEO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNoYXJlZENpcGhlckFwcHJvdmFsRGF0YTogc3RyaW5nO1xuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyQXBwcm92YWxEYXRhQ2xlYXJKc29uOiBKU09OT2JqZWN0O1xuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5OiBzdHJpbmc7XG4gICAgICAgICAgICBzaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlDbGVhckpzb246IEpTT05PYmplY3Q7XG4gICAgICAgICAgICByZWNlaXZlckFwcHJvdmFsczoge1xuICAgICAgICAgICAgICBlZGdlczoge1xuICAgICAgICAgICAgICAgIG5vZGU6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9W107XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1bXTtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn1cbmNvbnN0IFNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50ID0gZ3FsVHlwZWQ8U2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQ+YFxuZnJhZ21lbnQgU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnQgb24gU2hhcmVkVHBQYXNzd29yZFJlc2V0Tm9kZSB7XG4gIGlkXG4gIHRwIHtcbiAgICBpZFxuICAgIG90aGVyIHtcbiAgICAgIHVzZXJuYW1lXG4gICAgfVxuICB9XG4gIGFzc2VtYmx5IHtcbiAgICBhc0FwcHJvdmVycyB7XG4gICAgICBlZGdlcyB7XG4gICAgICAgIG5vZGUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgfVxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGFcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzaGFyZWRSZXF1ZXN0IHtcbiAgICBpZFxuICAgIHB4ayB7XG4gICAgICBpZFxuICAgICAgcGJrXG4gICAgfVxuICAgIGNsYWltIHtcbiAgICAgIGlkXG4gICAgICBzdGF0ZVxuICAgICAgYXNDbGFpbUFwcHJvdmVycyB7XG4gICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNoYXJlZENpcGhlckFwcHJvdmFsRGF0YVxuICAgICAgICAgICAgc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgICAgICAgICByZWNlaXZlckFwcHJvdmFscyB7XG4gICAgICAgICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnlSZXN1bHQge1xuICBzaGFyZWRUcFBhc3N3b3JkUmVzZXRzOiB7XG4gICAgZWRnZXM6IHtcbiAgICAgIG5vZGU6IFNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50UmVzdWx0O1xuICAgIH1bXTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnkgPSBncWxUeXBlZDxTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnlSZXN1bHQ+YFxucXVlcnkgU2hhcmVkVHBQYXNzd29yZFJlc2V0c1F1ZXJ5IHtcbiAgc2hhcmVkVHBQYXNzd29yZFJlc2V0cyB7XG4gICAgZWRnZXMge1xuICAgICAgbm9kZSB7XG4gICAgICAgIC4uLlNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ke1NoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeVJlc3VsdCB7XG4gIHNoYXJlZFRwUGFzc3dvcmRSZXNldDogU2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnRSZXN1bHQ7XG59XG5leHBvcnQgY29uc3QgU2hhcmVkVHBQYXNzd29yZFJlc2V0UXVlcnkgPSBncWxUeXBlZDxTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeVJlc3VsdD5gXG5xdWVyeSBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeSgkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICBzaGFyZWRUcFBhc3N3b3JkUmVzZXQoaWQ6ICRpZCkge1xuICAgIC4uLlNoYXJlZFRwUGFzc3dvcmRSZXNldEZyYWdtZW50XG4gIH1cbn1cbiR7U2hhcmVkVHBQYXNzd29yZFJlc2V0RnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgQ2FuY2VsVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8Q2FuY2VsVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0PmBcbm11dGF0aW9uIENhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbiB7XG4gIGNhbmNlbFRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6IHt9KSB7XG4gICAgaWRcbiAgfVxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZU11dGF0aW9uUmVzdWx0IHtcbiAgY3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZToge1xuICAgIGNoYWxsZW5nZTogYW55O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IENyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2VNdXRhdGlvbiA9IGdxbFR5cGVkPENyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2VNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBDcmVhdGVUcEFzc2VtYmx5S2V5Q2hhbGxlbmdlTXV0YXRpb24oXG4gICRpbnB1dDogQ3JlYXRlVHBBc3NlbWJseUtleUNoYWxsZW5nZUlucHV0IVxuKSB7XG4gIGNyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2UoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGNoYWxsZW5nZVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIHByZUNvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdDoge1xuICAgIGlkcFBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY29uc3QgUHJlQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24gPSBncWxUeXBlZDxQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbihcbiAgJGlucHV0OiBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RJbnB1dCFcbikge1xuICBwcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGlkcFBhc3N3b3JkXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0IHtcbiAgY29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0OiB7XG4gICAgaWQ6IElEO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IENvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8Q29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb25SZXN1bHQ+YFxubXV0YXRpb24gQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24oXG4gICRpbnB1dDogQ29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0SW5wdXQhXG4pIHtcbiAgY29tcGxldGVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0KGlucHV0OiAkaW5wdXQpIHtcbiAgICBpZFxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uUmVzdWx0IHtcbiAgYXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBjbGFpbUFwcHJvdmVyOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uID0gZ3FsVHlwZWQ8QXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdD5gXG5tdXRhdGlvbiBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uKFxuICAkaW5wdXQ6IEFwcHJvdmVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0SW5wdXQhXG4pIHtcbiAgYXBwcm92ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3QoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGNsYWltQXBwcm92ZXIge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvblJlc3VsdCB7XG4gIHJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3Q6IHtcbiAgICBjbGFpbUFwcHJvdmVyOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBSZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24gPSBncWxUeXBlZDxSZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb25SZXN1bHQ+YFxubXV0YXRpb24gUmVqZWN0VHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uKFxuICAkaW5wdXQ6IFJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3RJbnB1dCFcbikge1xuICByZWplY3RUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0KGlucHV0OiAkaW5wdXQpIHtcbiAgICBjbGFpbUFwcHJvdmVyIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBUcFBhc3N3b3JkUmVzZXRVc2VyUXVlcnlSZXN1bHQge1xuICB0cFBhc3N3b3JkUmVzZXRVc2VyOiB7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICByZXNldFVzZXJuYW1lOiBzdHJpbmc7XG4gICAgc3RhdGU6IFRwQ2xhaW1TdGF0ZTtcbiAgICBwYXNzS2V5OiB7XG4gICAgICBpZDogSUQ7XG4gICAgICBwYXNzS2V5UGFyYW1zOiBHZW5lcmljU2NhbGFyO1xuICAgICAgcGFzc0lkcFBhcmFtczogR2VuZXJpY1NjYWxhcjtcbiAgICB9O1xuICAgIG1hc3RlcktleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gICAgcHhrOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICBzZXNzaW9uRW5jcnlwdGlvbktleTogc3RyaW5nO1xuICAgIGFzc2VtYmx5OiB7XG4gICAgICBzaW5nbGVSZWplY3Q6IGJvb2xlYW47XG4gICAgICBxdW9ydW06IG51bWJlcjtcbiAgICAgIHN1YkFzc2VtYmxpZXM6IHtcbiAgICAgICAgc2luZ2xlUmVqZWN0OiBib29sZWFuO1xuICAgICAgICBxdW9ydW06IG51bWJlcjtcbiAgICAgICAgYXBwcm92ZXJzOiB7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgc3RhdGU6IFRwQ2xhaW1BcHByb3ZlclN0YXRlO1xuICAgICAgICB9W107XG4gICAgICB9W107XG4gICAgfTtcbiAgICBhcHByb3ZhbHM6IHtcbiAgICAgIGlkOiBJRDtcbiAgICAgIG1vZGlmaWVkOiBEYXRlVGltZTtcbiAgICAgIGFwcHJvdmVyRW1haWw6IHN0cmluZztcbiAgICAgIHJlY2VpdmVyQ2lwaGVyOiBzdHJpbmc7XG4gICAgICByZWNlaXZlckNpcGhlclBhcnRpYWxBc3NlbWJseUtleTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBhc3NlbWJseUNpcGhlckRhdGE6IHN0cmluZztcbiAgICB3cmFwcGVkQXNzZW1ibHlLZXlWZXJpZmllclByazogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFRwUGFzc3dvcmRSZXNldFVzZXJRdWVyeSA9IGdxbFR5cGVkPFRwUGFzc3dvcmRSZXNldFVzZXJRdWVyeVJlc3VsdD5gXG5xdWVyeSBUcFBhc3N3b3JkUmVzZXRVc2VyUXVlcnkge1xuICB0cFBhc3N3b3JkUmVzZXRVc2VyIHtcbiAgICB1c2VybmFtZVxuICAgIHJlc2V0VXNlcm5hbWVcbiAgICBzdGF0ZVxuICAgIHBhc3NLZXkge1xuICAgICAgaWRcbiAgICAgIHBhc3NLZXlQYXJhbXNcbiAgICAgIHBhc3NJZHBQYXJhbXNcbiAgICB9XG4gICAgbWFzdGVyS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIHB4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICBzZXNzaW9uRW5jcnlwdGlvbktleVxuICAgIGFzc2VtYmx5IHtcbiAgICAgIHNpbmdsZVJlamVjdFxuICAgICAgcXVvcnVtXG4gICAgICBzdWJBc3NlbWJsaWVzIHtcbiAgICAgICAgc2luZ2xlUmVqZWN0XG4gICAgICAgIHF1b3J1bVxuICAgICAgICBhcHByb3ZlcnMge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHN0YXRlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXBwcm92YWxzIHtcbiAgICAgIGlkXG4gICAgICBtb2RpZmllZFxuICAgICAgYXBwcm92ZXJFbWFpbFxuICAgICAgcmVjZWl2ZXJDaXBoZXJcbiAgICAgIHJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5XG4gICAgfVxuICAgIGFzc2VtYmx5Q2lwaGVyRGF0YVxuICAgIHdyYXBwZWRBc3NlbWJseUtleVZlcmlmaWVyUHJrXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRwUGFzc3dvcmRSZXNldFF1ZXJ5UmVzdWx0IHtcbiAgdHBQYXNzd29yZFJlc2V0OiB7XG4gICAgaWQ6IElEO1xuICAgIGFwcGxpZWQ6IGJvb2xlYW47XG4gICAgYXNzZW1ibHk6IHtcbiAgICAgIHNpbmdsZVJlamVjdDogYm9vbGVhbjtcbiAgICAgIHF1b3J1bTogbnVtYmVyO1xuICAgICAgY2FuTWVldFF1b3J1bTogYm9vbGVhbjtcbiAgICAgIHN1YmplY3RDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICBzdWJqZWN0Q2lwaGVyRGF0YUNsZWFySnNvbjogSlNPTk9iamVjdDtcbiAgICAgIHN1YmplY3RLZXk6IHtcbiAgICAgICAgaWQ6IElEO1xuICAgICAgfTtcbiAgICAgIGFzc2VtYmx5S2V5OiB7XG4gICAgICAgIGlkOiBJRDtcbiAgICAgIH07XG4gICAgICBhc3NlbWJseUNpcGhlckRhdGE6IHN0cmluZztcbiAgICAgIHN1YkFzc2VtYmxpZXM6IHtcbiAgICAgICAgZWRnZXM6IHtcbiAgICAgICAgICBub2RlOiB7XG4gICAgICAgICAgICBpZDogSUQ7XG4gICAgICAgICAgICBzaW5nbGVSZWplY3Q6IGJvb2xlYW47XG4gICAgICAgICAgICBxdW9ydW06IG51bWJlcjtcbiAgICAgICAgICAgIHN1YmplY3RDaXBoZXJEYXRhOiBzdHJpbmc7XG4gICAgICAgICAgICBzdWJqZWN0Q2lwaGVyRGF0YUNsZWFySnNvbjogSlNPTk9iamVjdDtcbiAgICAgICAgICAgIHN1YmplY3RLZXk6IHtcbiAgICAgICAgICAgICAgaWQ6IElEO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGFwcHJvdmVyczoge1xuICAgICAgICAgICAgICBlZGdlczoge1xuICAgICAgICAgICAgICAgIG5vZGU6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgICAgICAgIHRwOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBzaGFyZWRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IElEO1xuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIHNoYXJlZENpcGhlckRhdGE6IHN0cmluZztcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9W107XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1bXTtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBUcFBhc3N3b3JkUmVzZXRRdWVyeSA9IGdxbFR5cGVkPFRwUGFzc3dvcmRSZXNldFF1ZXJ5UmVzdWx0PmBcbnF1ZXJ5IFRwUGFzc3dvcmRSZXNldFF1ZXJ5IHtcbiAgdHBQYXNzd29yZFJlc2V0IHtcbiAgICBpZFxuICAgIGFwcGxpZWRcbiAgICBhc3NlbWJseSB7XG4gICAgICBzaW5nbGVSZWplY3RcbiAgICAgIHF1b3J1bVxuICAgICAgY2FuTWVldFF1b3J1bVxuICAgICAgc3ViamVjdENpcGhlckRhdGFcbiAgICAgIHN1YmplY3RLZXkge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgICAgYXNzZW1ibHlLZXkge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgICAgYXNzZW1ibHlDaXBoZXJEYXRhXG4gICAgICBzdWJBc3NlbWJsaWVzIHtcbiAgICAgICAgZWRnZXMge1xuICAgICAgICAgIG5vZGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHNpbmdsZVJlamVjdFxuICAgICAgICAgICAgcXVvcnVtXG4gICAgICAgICAgICBzdWJqZWN0Q2lwaGVyRGF0YVxuICAgICAgICAgICAgc3ViamVjdEtleSB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcHByb3ZlcnMge1xuICAgICAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICAgICAgbm9kZSB7XG4gICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgdHAge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHNoYXJlZENpcGhlckRhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uUmVzdWx0IHtcbiAgY3JlYXRlVHBQYXNzd29yZFJlc2V0OiB7XG4gICAgdHBQYXNzd29yZFJlc2V0OiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDcmVhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbiA9IGdxbFR5cGVkPENyZWF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uUmVzdWx0PmBcbm11dGF0aW9uIENyZWF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uKCRpbnB1dDogQ3JlYXRlVHBQYXNzd29yZFJlc2V0SW5wdXQhKSB7XG4gIGNyZWF0ZVRwUGFzc3dvcmRSZXNldChpbnB1dDogJGlucHV0KSB7XG4gICAgdHBQYXNzd29yZFJlc2V0IHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvblJlc3VsdCB7XG4gIGRlbGV0ZVRwUGFzc3dvcmRSZXNldDoge1xuICAgIGlkOiBJRDtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBEZWxldGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbiA9IGdxbFR5cGVkPERlbGV0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uUmVzdWx0PmBcbm11dGF0aW9uIERlbGV0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uIHtcbiAgZGVsZXRlVHBQYXNzd29yZFJlc2V0KGlucHV0OiB7fSkge1xuICAgIGlkXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uUmVzdWx0IHtcbiAgdXBkYXRlVHBQYXNzd29yZFJlc2V0OiB7XG4gICAgdHBQYXNzd29yZFJlc2V0OiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBVcGRhdGVUcFBhc3N3b3JkUmVzZXRNdXRhdGlvbiA9IGdxbFR5cGVkPFVwZGF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uUmVzdWx0PmBcbm11dGF0aW9uIFVwZGF0ZVRwUGFzc3dvcmRSZXNldE11dGF0aW9uKCRpbnB1dDogVXBkYXRlVHBQYXNzd29yZFJlc2V0SW5wdXQhKSB7XG4gIHVwZGF0ZVRwUGFzc3dvcmRSZXNldChpbnB1dDogJGlucHV0KSB7XG4gICAgdHBQYXNzd29yZFJlc2V0IHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcbiJdfQ==
@@ -31,4 +31,4 @@ export class PassIdpApiResult {
31
31
  }
32
32
  export class TrustedPartyDetails {
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdXNlcnMvcHJvZmlsZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sY0FBYztDQU0xQjtBQUVELE1BQU0sT0FBTyxjQUFjO0NBTzFCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FNMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUFZLEtBQVU7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FPOUI7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0NBS25DO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtDQU1qQztBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUFxQjtDQUd6RDtBQUVELE1BQU0sT0FBTywwQkFBMEI7Q0FFdEM7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLGtEQUEwQixDQUFBO0lBQzFCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FTL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWN0Q2FyZCB9IGZyb20gJy4uL2FwaS9jb250YWN0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXNzSWRwUGFyYW1zLCBQYXNzS2V5IH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5pbXBvcnQgeyBVc2VyRGVsZXRlIH0gZnJvbSAnLi91c2VyLnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEN1cnJlbnRVc2VyS2V5IHtcbiAgcGFzc0tleT86IFBhc3NLZXk7XG4gIG1hc3RlcktleT86IHsgaWQ6IHN0cmluZyB9O1xuICByb290S2V5PzogeyBpZDogc3RyaW5nIH07XG4gIHB4az86IHsgaWQ6IHN0cmluZyB9O1xuICBzaWdQeGs/OiB7IGlkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUN1cnJlbnRVc2VyIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgY3VycmVudFVzZXJLZXk6IEN1cnJlbnRVc2VyS2V5O1xuICB1c2VyRGVsZXRlOiBVc2VyRGVsZXRlO1xuICBmZWF0dXJlczogYW55O1xuICBzZXNzaW9uRW5jcnlwdGlvbktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpQ29udGFjdENhcmQge1xuICBpZDogc3RyaW5nO1xuICBjaXBoZXJEYXRhOiBzdHJpbmc7XG4gIGtleToge1xuICAgIGlkOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDb250YWN0Q2FyZE5hbWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGlucHV0OiBhbnkpIHtcbiAgICB0aGlzLm5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIHRoaXMudGl0bGUgPSBpbnB1dC50aXRsZTtcbiAgICB0aGlzLmZpcnN0TmFtZSA9IGlucHV0LmZpcnN0TmFtZTtcbiAgICB0aGlzLmxhc3ROYW1lID0gaW5wdXQubGFzdE5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhY3RDYXJkQWRkcmVzcyB7XG4gIGZ1bGxBZGRyZXNzOiBzdHJpbmc7XG4gIHN0cmVldEFkZHJlc3M6IHN0cmluZztcbiAgc3VidXJiOiBzdHJpbmc7XG4gIHN0YXRlOiBzdHJpbmc7XG4gIHBvc3Rjb2RlOiBzdHJpbmc7XG4gIGNvdW50cnk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1haW5Db250YWN0Q2FyZFByb3BlcnR5PFQ+IHtcbiAgdmFsdWU6IFQ7XG4gIGhhc011bHRpcGxlOiBib29sZWFuO1xuXG4gIHZhbHVlcz86IHsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IFQgfVtdO1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkRmllbGRzIHtcbiAgbmFtZTogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8Q29udGFjdENhcmROYW1lPjtcbiAgZW1haWw6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PHN0cmluZz47XG4gIGltYWdlOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxzdHJpbmc+O1xuICBwaG9uZTogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8c3RyaW5nPjtcbiAgYWRkcmVzczogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8Q29udGFjdENhcmRBZGRyZXNzPjtcbn1cblxuZXhwb3J0IGNsYXNzIE1haW5Db250YWN0Q2FyZCBleHRlbmRzIE1haW5Db250YWN0Q2FyZEZpZWxkcyB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNYWluQ29udGFjdENhcmRQbGFpbkZpZWxkcyB7XG4gIG5hbWU6IENvbnRhY3RDYXJkTmFtZTtcbn1cblxuZXhwb3J0IGVudW0gUGFzc3dvcmRDaGFuZ2VTdGF0dXMge1xuICBJblByb2dyZXNzID0gJ0lOX1BST0dSRVNTJyxcbiAgUmVjb3ZlcnkgPSAnUkVDT1ZFUlknLFxufVxuXG5leHBvcnQgY2xhc3MgUGFzc0lkcEFwaVJlc3VsdCB7XG4gIHBhc3N3b3JkQ2hhbmdlU3RhdHVzPzogUGFzc3dvcmRDaGFuZ2VTdGF0dXM7XG4gIGN1cnJlbnRQYXNzSWRwUGFyYW1zOiBQYXNzSWRwUGFyYW1zO1xuICBuZXdQYXNzSWRwUGFyYW1zOiBQYXNzSWRwUGFyYW1zO1xuICB0cFBhc3N3b3JkUmVzZXQ6IHtcbiAgICBwYXNzSWRwUGFyYW1zOiBQYXNzSWRwUGFyYW1zO1xuICAgIHJlc2V0VXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eURldGFpbHMge1xuICBuYW1lOiBDb250YWN0Q2FyZE5hbWU7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBpbWFnZT86IHN0cmluZztcbiAgcGhvbmVzPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgYWRkcmVzc2VzPzoge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IENvbnRhY3RDYXJkQWRkcmVzcztcbiAgfVtdO1xufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdXNlcnMvcHJvZmlsZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sY0FBYztDQU0xQjtBQUVELE1BQU0sT0FBTyxjQUFjO0NBTzFCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FNMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUFZLEtBQVU7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FPOUI7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0NBS25DO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtDQU1qQztBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUFxQjtDQUd6RDtBQUVELE1BQU0sT0FBTywwQkFBMEI7Q0FFdEM7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLGtEQUEwQixDQUFBO0lBQzFCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FTL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWN0Q2FyZCB9IGZyb20gJy4uL2FwaS9jb250YWN0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyRGVsZXRlTm9kZSB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBQYXNzSWRwUGFyYW1zLCBQYXNzS2V5IH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50VXNlcktleSB7XG4gIHBhc3NLZXk/OiBQYXNzS2V5O1xuICBtYXN0ZXJLZXk/OiB7IGlkOiBzdHJpbmcgfTtcbiAgcm9vdEtleT86IHsgaWQ6IHN0cmluZyB9O1xuICBweGs/OiB7IGlkOiBzdHJpbmcgfTtcbiAgc2lnUHhrPzogeyBpZDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlDdXJyZW50VXNlciB7XG4gIGlkOiBzdHJpbmc7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIGN1cnJlbnRVc2VyS2V5OiBDdXJyZW50VXNlcktleTtcbiAgdXNlckRlbGV0ZTogVXNlckRlbGV0ZU5vZGU7XG4gIGZlYXR1cmVzOiBhbnk7XG4gIHNlc3Npb25FbmNyeXB0aW9uS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlDb250YWN0Q2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNpcGhlckRhdGE6IHN0cmluZztcbiAga2V5OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhY3RDYXJkTmFtZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGZpcnN0TmFtZT86IHN0cmluZztcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoaW5wdXQ6IGFueSkge1xuICAgIHRoaXMubmFtZSA9IGlucHV0Lm5hbWU7XG4gICAgdGhpcy50aXRsZSA9IGlucHV0LnRpdGxlO1xuICAgIHRoaXMuZmlyc3ROYW1lID0gaW5wdXQuZmlyc3ROYW1lO1xuICAgIHRoaXMubGFzdE5hbWUgPSBpbnB1dC5sYXN0TmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29udGFjdENhcmRBZGRyZXNzIHtcbiAgZnVsbEFkZHJlc3M6IHN0cmluZztcbiAgc3RyZWV0QWRkcmVzczogc3RyaW5nO1xuICBzdWJ1cmI6IHN0cmluZztcbiAgc3RhdGU6IHN0cmluZztcbiAgcG9zdGNvZGU6IHN0cmluZztcbiAgY291bnRyeTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8VD4ge1xuICB2YWx1ZTogVDtcbiAgaGFzTXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgdmFsdWVzPzogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogVCB9W107XG59XG5cbmV4cG9ydCBjbGFzcyBNYWluQ29udGFjdENhcmRGaWVsZHMge1xuICBuYW1lOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxDb250YWN0Q2FyZE5hbWU+O1xuICBlbWFpbDogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8c3RyaW5nPjtcbiAgaW1hZ2U6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PHN0cmluZz47XG4gIHBob25lOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxzdHJpbmc+O1xuICBhZGRyZXNzOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxDb250YWN0Q2FyZEFkZHJlc3M+O1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkIGV4dGVuZHMgTWFpbkNvbnRhY3RDYXJkRmllbGRzIHtcbiAgaWQ6IHN0cmluZztcbiAga2V5SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzIHtcbiAgbmFtZTogQ29udGFjdENhcmROYW1lO1xufVxuXG5leHBvcnQgZW51bSBQYXNzd29yZENoYW5nZVN0YXR1cyB7XG4gIEluUHJvZ3Jlc3MgPSAnSU5fUFJPR1JFU1MnLFxuICBSZWNvdmVyeSA9ICdSRUNPVkVSWScsXG59XG5cbmV4cG9ydCBjbGFzcyBQYXNzSWRwQXBpUmVzdWx0IHtcbiAgcGFzc3dvcmRDaGFuZ2VTdGF0dXM/OiBQYXNzd29yZENoYW5nZVN0YXR1cztcbiAgY3VycmVudFBhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gIG5ld1Bhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gIHRwUGFzc3dvcmRSZXNldDoge1xuICAgIHBhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gICAgcmVzZXRVc2VybmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFBhcnR5RGV0YWlscyB7XG4gIG5hbWU6IENvbnRhY3RDYXJkTmFtZTtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGltYWdlPzogc3RyaW5nO1xuICBwaG9uZXM/OiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICBhZGRyZXNzZXM/OiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogQ29udGFjdENhcmRBZGRyZXNzO1xuICB9W107XG59XG4iXX0=
@@ -76,4 +76,4 @@ UserService.decorators = [
76
76
  UserService.ctorParameters = () => [
77
77
  { type: LrApolloService }
78
78
  ];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi91c2Vycy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLFNBQVMsRUFFVCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUszRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUFHLENBQUM7SUFFM0MsY0FBYyxDQUFDLEtBQWE7O1lBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztLQUFBO0lBRUssaUJBQWlCLENBQUMsUUFBZ0I7O1lBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBZ0I7O1lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFnQjtnQkFDeEQsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFNBQVMsRUFBRTtvQkFDVCxLQUFLO29CQUNMLFFBQVE7aUJBQ1Q7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVLLGlCQUFpQjs7WUFDckIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBNkI7Z0JBQ2pFLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUMxQyxDQUFDO0tBQUE7SUFFSyxnQkFBZ0I7O1lBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQTRCO2dCQUNoRSxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFLEVBQUU7aUJBQ1Y7YUFDRixDQUFDLENBQUM7WUFFSCxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDakMsQ0FBQztLQUFBO0lBRUssWUFBWSxDQUFDLFFBQWdCLElBQUksRUFBRSxRQUFnQixJQUFJOztZQUMzRCxnQ0FBZ0M7WUFDaEMsb0RBQW9EO1lBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQXdCO2dCQUMzRCxLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsS0FBSztvQkFDTCxLQUFLO2lCQUNOO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzFCLENBQUM7S0FBQTs7OztZQTNERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyLCBHZXRVc2VySW5wdXQsIFVzZXJEZWxldGUgfSBmcm9tICcuL3VzZXIudHlwZXMnO1xuaW1wb3J0IHtcbiAgVXNlclF1ZXJ5LFxuICBVc2VyUXVlcnlUeXBlLFxuICBSZXF1ZXN0VXNlckRlbGV0ZU11dGF0aW9uLFxuICBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gIExvZ2luSGlzdG9yeVF1ZXJ5LFxufSBmcm9tICcuL3VzZXIuZ3FsJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSkge31cblxuICBhc3luYyBnZXRVc2VyQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcih7IGVtYWlsIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckJ5VXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoeyB1c2VybmFtZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXIoeyBlbWFpbCwgdXNlcm5hbWUgfTogR2V0VXNlcklucHV0KTogUHJvbWlzZTxVc2VyPiB7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PFVzZXJRdWVyeVR5cGU+KHtcbiAgICAgIHF1ZXJ5OiBVc2VyUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgZW1haWwsXG4gICAgICAgIHVzZXJuYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gdXNlcjtcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3RVc2VyRGVsZXRlKCk6IFByb21pc2U8VXNlckRlbGV0ZT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgcmVxdWVzdFVzZXJEZWxldGU6IGFueSB9Pih7XG4gICAgICBtdXRhdGlvbjogUmVxdWVzdFVzZXJEZWxldGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge30sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcy5yZXF1ZXN0VXNlckRlbGV0ZS51c2VyRGVsZXRlO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsVXNlckRlbGV0ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgY2FuY2VsVXNlckRlbGV0ZTogYW55IH0+KHtcbiAgICAgIG11dGF0aW9uOiBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHt9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMuY2FuY2VsVXNlckRlbGV0ZS5pZDtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luSGlzdG9yeShmaXJzdDogbnVtYmVyID0gbnVsbCwgYWZ0ZXI6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIGZpcnN0OiByZXR1cm4gZmlyc3QgbiBlbnRyaWVzXG4gICAgLy8gYWZ0ZXI6IHBhc3MgaW4gdGhlIHBhZ2VJbmZvLmVuZEN1cnNvciB0byBwYWdpbmF0ZVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8eyBsb2dpbkhpc3Rvcnk6IGFueSB9Pih7XG4gICAgICBxdWVyeTogTG9naW5IaXN0b3J5UXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgZmlyc3QsXG4gICAgICAgIGFmdGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMubG9naW5IaXN0b3J5O1xuICB9XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi91c2Vycy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLFNBQVMsRUFFVCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU0zRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUFHLENBQUM7SUFFM0MsY0FBYyxDQUFDLEtBQWE7O1lBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztLQUFBO0lBRUssaUJBQWlCLENBQUMsUUFBZ0I7O1lBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBZ0I7O1lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFnQjtnQkFDeEQsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFNBQVMsRUFBRTtvQkFDVCxLQUFLO29CQUNMLFFBQVE7aUJBQ1Q7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVLLGlCQUFpQjs7WUFDckIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBNkI7Z0JBQ2pFLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUMxQyxDQUFDO0tBQUE7SUFFSyxnQkFBZ0I7O1lBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQTRCO2dCQUNoRSxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFLEVBQUU7aUJBQ1Y7YUFDRixDQUFDLENBQUM7WUFFSCxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDakMsQ0FBQztLQUFBO0lBRUssWUFBWSxDQUFDLFFBQWdCLElBQUksRUFBRSxRQUFnQixJQUFJOztZQUMzRCxnQ0FBZ0M7WUFDaEMsb0RBQW9EO1lBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQXdCO2dCQUMzRCxLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsS0FBSztvQkFDTCxLQUFLO2lCQUNOO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzFCLENBQUM7S0FBQTs7OztZQTNERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUxRLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyLCBHZXRVc2VySW5wdXQgfSBmcm9tICcuL3VzZXIudHlwZXMnO1xuaW1wb3J0IHtcbiAgVXNlclF1ZXJ5LFxuICBVc2VyUXVlcnlUeXBlLFxuICBSZXF1ZXN0VXNlckRlbGV0ZU11dGF0aW9uLFxuICBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gIExvZ2luSGlzdG9yeVF1ZXJ5LFxufSBmcm9tICcuL3VzZXIuZ3FsJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyRGVsZXRlTm9kZSB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSkge31cblxuICBhc3luYyBnZXRVc2VyQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcih7IGVtYWlsIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlckJ5VXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoeyB1c2VybmFtZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXIoeyBlbWFpbCwgdXNlcm5hbWUgfTogR2V0VXNlcklucHV0KTogUHJvbWlzZTxVc2VyPiB7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PFVzZXJRdWVyeVR5cGU+KHtcbiAgICAgIHF1ZXJ5OiBVc2VyUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgZW1haWwsXG4gICAgICAgIHVzZXJuYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gdXNlcjtcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3RVc2VyRGVsZXRlKCk6IFByb21pc2U8VXNlckRlbGV0ZU5vZGU+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7IHJlcXVlc3RVc2VyRGVsZXRlOiBhbnkgfT4oe1xuICAgICAgbXV0YXRpb246IFJlcXVlc3RVc2VyRGVsZXRlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHt9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMucmVxdWVzdFVzZXJEZWxldGUudXNlckRlbGV0ZTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbFVzZXJEZWxldGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7IGNhbmNlbFVzZXJEZWxldGU6IGFueSB9Pih7XG4gICAgICBtdXRhdGlvbjogQ2FuY2VsVXNlckRlbGV0ZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7fSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzLmNhbmNlbFVzZXJEZWxldGUuaWQ7XG4gIH1cblxuICBhc3luYyBsb2dpbkhpc3RvcnkoZmlyc3Q6IG51bWJlciA9IG51bGwsIGFmdGVyOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxhbnk+IHtcbiAgICAvLyBmaXJzdDogcmV0dXJuIGZpcnN0IG4gZW50cmllc1xuICAgIC8vIGFmdGVyOiBwYXNzIGluIHRoZSBwYWdlSW5mby5lbmRDdXJzb3IgdG8gcGFnaW5hdGVcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PHsgbG9naW5IaXN0b3J5OiBhbnkgfT4oe1xuICAgICAgcXVlcnk6IExvZ2luSGlzdG9yeVF1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGZpcnN0LFxuICAgICAgICBhZnRlcixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzLmxvZ2luSGlzdG9yeTtcbiAgfVxufVxuIl19
@@ -1,5 +1 @@
1
- export var UserDeleteState;
2
- (function (UserDeleteState) {
3
- UserDeleteState["REQUESTED"] = "REQUESTED";
4
- })(UserDeleteState || (UserDeleteState = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdXNlcnMvdXNlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFOLElBQVksZUFFWDtBQUZELFdBQVksZUFBZTtJQUN6QiwwQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBRlcsZUFBZSxLQUFmLGVBQWUsUUFFMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXkgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VySW5wdXQge1xuICBlbWFpbD86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGlkPzogc3RyaW5nO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgaGF2ZVRwOiBib29sZWFuO1xuICBpc0N1cnJlbnRVc2VyOiBib29sZWFuO1xuICBjb250YWN0Q2FyZHM/OiBhbnk7XG4gIGN1cnJlbnRVc2VyS2V5OiB7XG4gICAgc2lnUHhrPzogS2V5O1xuICAgIHB4az86IEtleTtcbiAgfTtcbn1cblxuZXhwb3J0IGVudW0gVXNlckRlbGV0ZVN0YXRlIHtcbiAgUkVRVUVTVEVEID0gJ1JFUVVFU1RFRCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRlbGV0ZSB7XG4gIGNyZWF0ZWQ/OiBzdHJpbmc7XG4gIHN0YXRlOiBVc2VyRGVsZXRlU3RhdGU7XG59XG4iXX0=
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdXNlcnMvdXNlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VXNlcklucHV0IHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICBpZD86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGhhdmVUcDogYm9vbGVhbjtcbiAgaXNDdXJyZW50VXNlcjogYm9vbGVhbjtcbiAgY29udGFjdENhcmRzPzogYW55O1xuICBjdXJyZW50VXNlcktleToge1xuICAgIHNpZ1B4az86IEtleTtcbiAgICBweGs/OiBLZXk7XG4gIH07XG59XG4iXX0=
@@ -4693,6 +4693,15 @@ class LrService {
4693
4693
  function mapEdges(connection) {
4694
4694
  return connection.edges.map((edge) => edge.node);
4695
4695
  }
4696
+ var UserDeleteState;
4697
+ (function (UserDeleteState) {
4698
+ UserDeleteState["REQUESTED"] = "REQUESTED";
4699
+ })(UserDeleteState || (UserDeleteState = {}));
4700
+ var PlanState;
4701
+ (function (PlanState) {
4702
+ PlanState["ENABLED"] = "ENABLED";
4703
+ PlanState["DISABLED"] = "DISABLED";
4704
+ })(PlanState || (PlanState = {}));
4696
4705
  var AccessRoleChoice;
4697
4706
  (function (AccessRoleChoice) {
4698
4707
  AccessRoleChoice["READER"] = "READER";
@@ -9213,11 +9222,6 @@ ProfileDetailsService.ctorParameters = () => [
9213
9222
  { type: LifeReadyAuthService }
9214
9223
  ];
9215
9224
 
9216
- var UserDeleteState;
9217
- (function (UserDeleteState) {
9218
- UserDeleteState["REQUESTED"] = "REQUESTED";
9219
- })(UserDeleteState || (UserDeleteState = {}));
9220
-
9221
9225
  class LifeReadyModule {
9222
9226
  static forRoot(config) {
9223
9227
  return {
@@ -10012,7 +10016,8 @@ let KeyExchange2Service = class KeyExchange2Service {
10012
10016
  sigPxkId: initiatorSigPrk.id,
10013
10017
  };
10014
10018
  const sharedCipherData = yield this.encryptionService.encrypt(sharedCipherKey, initiatorContactCardFromInit.sharedCipherDataClearJson);
10015
- initiatorContactCardSharedCipherInput.sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(initiatorSigPrk.jwk, sharedCipherData));
10019
+ initiatorContactCardSharedCipherInput.sharedCipherDataSig =
10020
+ JSON.stringify(yield this.encryptionService.sign(initiatorSigPrk.jwk, sharedCipherData));
10016
10021
  }
10017
10022
  // TODO ideally we update the shared data in the contact card sent to the responder as well since that
10018
10023
  // CC was created by the responder.
@@ -12469,5 +12474,5 @@ ScenarioService = __decorate([
12469
12474
  * Generated bundle index. Do not edit.
12470
12475
  */
12471
12476
 
12472
- export { AcceptTrustedPartyInvite, AccessFields, AccessLevel, AccessRoleChoice, AccessRoleMethod, ApiContactCard, ApiCurrentUser, ArchiveDirectoryMutation, CancelTrustedPartyInvitationMutation, CancelUserDeleteMutation, Category, CategoryFields, CategoryFilter, CategoryMetaService, CategoryService, ClaimApproverState, ClaimState, CognitoChallengeUser, CommonProcessorsService, CompleteOtkMutation, Config, ConfirmTrustedPartyInvite, ContactCard2Service, ContactCardAddress, ContactCardName, CreateCategoryMutation, CreateContactCardMutation, CreateFileMutation, CreateFileQuery, CreateLbopQuery, CreateRecordContainerMutation, CreateRecordMutation, CreateVaultMutation, CurrentCategory, CurrentUser, CurrentUserKey, CurrentUserQuery, CurrentUserSharedKeyQuery, DEFAULT_BREADCRUMB_DEPTH, DEFAULT_DESCENDANTS_DEPTH, DeclineTrustedPartyInvitationMutation, DefaultCategory, DefaultProcessorOptions, DefaultVaultFilter, DeleteCategoryMutation, DeleteFileMutation, DeleteLbopQuery, DeleteRecordMutation, DeleteTrustedPartyMutation, DirectoryQuery, DirectoryType, FeatureAction, Features, FetchKeyGraphField, FileQuery, FileService, FileType, FileVersionOperation, FoundTrustedParty, GetAllTrustedPartiesQuery, GetCategoriesQuery, GetCategoryKeyIdQuery, GetCategoryQuery, GetMySharedCategoriesQuery, GetRecordQuery, GetRootDirectoryIdsQuery, GetTrustedPartiesQuery, GetTrustedPartyCategoriesQuery, GetTrustedPartyQuery, GetVaultsQuery, IdleService, InitiateOtkMutation, InviteTrustedParty, Item2Service, KeyExchange2Service, KeyExchangeFields, KeyExchangeMode, KeyExchangeOtkState, KeyExchangeQuery, KeyExchangeService, KeyExchangeState, KeyExchangeTokenQuery, KeyExchangesQuery, KeyGraphField, KeyGraphFragment, LR_CONFIG, LbopQuery, LbopService, LbopsQuery, LifeReadyAuthService, LifeReadyModule, LinkTypeField, LoadedCategoryTree, LockService, LockState, LoginHistoryQuery, LoginResult, LrApiErrorCode, LrApolloService, LrAuthException, LrBadArgumentException, LrBadLogicException, LrBadRequestException, LrBadStateException, LrCodeMismatchException, LrConcurrentAccessException, LrEncryptionException, LrError, LrErrorCode, LrException, LrExpiredCodeException, LrExpiredException, LrGraphQLService, LrLockedException, LrMergedMutation, LrMutation, LrMutationBase, LrNotFoundException, LrRecord, LrService, LrSuspiciousException, LrUnsupportedException, MainContactCard, MainContactCardFields, MainContactCardPlainFields, MainContactCardProperty, MessageQuery, MessageService, MoveDirectoryQuery, MoveFileQuery, NewAttachment, NewCategory, NewOrUpdatedAttachment, NewRecord, NotificationService, OtkState, OwnerPlainDataJson, PassIdpApiResult, PasswordChangeStatus, PasswordCheck, PasswordService, PersistService, Plan, PlanService, ProfileDetailsService, ProfileService, QueryProcessorService, RecordAttachment, RecordAttachmentFilter, RecordAttachmentService, RecordContentFilter, RecordField, RecordFieldType, RecordFilter, RecordService, RecordType, RecordTypeField, RecordTypeFieldOption, RecordTypeService, RecordTypeSummary, RecoveryStatus, RegisterResult, RegisterService, RequestUserDeleteMutation, RespondOtkMutation, RevertFileQuery, ScenarioService, ScenarioState, SendMessageMutation, ShareCategoryMutation, SharedAccess, SharedContactCard2Service, SharedTrustedPartyDetails, SharedVaultFeature, StripeBillingPortalSession, StripeCheckoutSession, Subscription, TPFeatures, TpAssemblyState, TpClaimApproverState, TpClaimState, TpPasswordResetRequestService, TpPasswordResetService, TpPasswordResetUserService, TrustedParties, TrustedParty, TrustedParty2Service, TrustedPartyDetails, TrustedPartyInvite, TrustedPartyInviteStatus, TrustedPartyProperties, TrustedPartyRole, TrustedPartyRoleType, TrustedPartyService, TrustedPartyType, TwoFactorService, UnarchiveDirectoryMutation, UnshareCategoryMutation, UpdateCategoryMutation, UpdateContactCardMutation, UpdateFileQuery, UpdateLbopQuery, UpdateRecordContainerMutation, UpdateRecordMutation, UpdatedCategory, UpdatedRecord, UserDeleteState, UserPlan, UserQuery, UserService, UserSharedKeyFields, Vault, VaultCategory, VaultFields, VaultRecord, VaultRecordType, awsFetch, configureAmplifyAuth, configureApollo, fragmentSpreadAstSelection, gqlTyped, handleApolloError, handleCognitoCallback, initialiseAuth, mapEdges, mapUserPlans, parentCategoriesField, processConnection, throwClaimIdMismatch, throwClaimNotApproved, ɵ0, KeyFactoryService as ɵa, WebCryptoService as ɵb, KeyService as ɵc, EncryptionService as ɵd, TimeService as ɵe, KeyGraphService as ɵf, KeyMetaService as ɵg, LrGraphQLService as ɵh, TpPasswordResetProcessorService as ɵi, RunOutsideAngular as ɵj, Slip39Service as ɵk, TpPasswordResetAssemblyController as ɵl, TpAssemblyController as ɵm, SharedContactCardFields as ɵn, SharedContactCardService as ɵo, LrService as ɵp, ScenarioAssemblyController as ɵq };
12477
+ export { AcceptTrustedPartyInvite, AccessFields, AccessLevel, AccessRoleChoice, AccessRoleMethod, ApiContactCard, ApiCurrentUser, ArchiveDirectoryMutation, CancelTrustedPartyInvitationMutation, CancelUserDeleteMutation, Category, CategoryFields, CategoryFilter, CategoryMetaService, CategoryService, ClaimApproverState, ClaimState, CognitoChallengeUser, CommonProcessorsService, CompleteOtkMutation, Config, ConfirmTrustedPartyInvite, ContactCard2Service, ContactCardAddress, ContactCardName, CreateCategoryMutation, CreateContactCardMutation, CreateFileMutation, CreateFileQuery, CreateLbopQuery, CreateRecordContainerMutation, CreateRecordMutation, CreateVaultMutation, CurrentCategory, CurrentUser, CurrentUserKey, CurrentUserQuery, CurrentUserSharedKeyQuery, DEFAULT_BREADCRUMB_DEPTH, DEFAULT_DESCENDANTS_DEPTH, DeclineTrustedPartyInvitationMutation, DefaultCategory, DefaultProcessorOptions, DefaultVaultFilter, DeleteCategoryMutation, DeleteFileMutation, DeleteLbopQuery, DeleteRecordMutation, DeleteTrustedPartyMutation, DirectoryQuery, DirectoryType, FeatureAction, Features, FetchKeyGraphField, FileQuery, FileService, FileType, FileVersionOperation, FoundTrustedParty, GetAllTrustedPartiesQuery, GetCategoriesQuery, GetCategoryKeyIdQuery, GetCategoryQuery, GetMySharedCategoriesQuery, GetRecordQuery, GetRootDirectoryIdsQuery, GetTrustedPartiesQuery, GetTrustedPartyCategoriesQuery, GetTrustedPartyQuery, GetVaultsQuery, IdleService, InitiateOtkMutation, InviteTrustedParty, Item2Service, KeyExchange2Service, KeyExchangeFields, KeyExchangeMode, KeyExchangeOtkState, KeyExchangeQuery, KeyExchangeService, KeyExchangeState, KeyExchangeTokenQuery, KeyExchangesQuery, KeyGraphField, KeyGraphFragment, LR_CONFIG, LbopQuery, LbopService, LbopsQuery, LifeReadyAuthService, LifeReadyModule, LinkTypeField, LoadedCategoryTree, LockService, LockState, LoginHistoryQuery, LoginResult, LrApiErrorCode, LrApolloService, LrAuthException, LrBadArgumentException, LrBadLogicException, LrBadRequestException, LrBadStateException, LrCodeMismatchException, LrConcurrentAccessException, LrEncryptionException, LrError, LrErrorCode, LrException, LrExpiredCodeException, LrExpiredException, LrGraphQLService, LrLockedException, LrMergedMutation, LrMutation, LrMutationBase, LrNotFoundException, LrRecord, LrService, LrSuspiciousException, LrUnsupportedException, MainContactCard, MainContactCardFields, MainContactCardPlainFields, MainContactCardProperty, MessageQuery, MessageService, MoveDirectoryQuery, MoveFileQuery, NewAttachment, NewCategory, NewOrUpdatedAttachment, NewRecord, NotificationService, OtkState, OwnerPlainDataJson, PassIdpApiResult, PasswordChangeStatus, PasswordCheck, PasswordService, PersistService, Plan, PlanService, PlanState, ProfileDetailsService, ProfileService, QueryProcessorService, RecordAttachment, RecordAttachmentFilter, RecordAttachmentService, RecordContentFilter, RecordField, RecordFieldType, RecordFilter, RecordService, RecordType, RecordTypeField, RecordTypeFieldOption, RecordTypeService, RecordTypeSummary, RecoveryStatus, RegisterResult, RegisterService, RequestUserDeleteMutation, RespondOtkMutation, RevertFileQuery, ScenarioService, ScenarioState, SendMessageMutation, ShareCategoryMutation, SharedAccess, SharedContactCard2Service, SharedTrustedPartyDetails, SharedVaultFeature, StripeBillingPortalSession, StripeCheckoutSession, Subscription, TPFeatures, TpAssemblyState, TpClaimApproverState, TpClaimState, TpPasswordResetRequestService, TpPasswordResetService, TpPasswordResetUserService, TrustedParties, TrustedParty, TrustedParty2Service, TrustedPartyDetails, TrustedPartyInvite, TrustedPartyInviteStatus, TrustedPartyProperties, TrustedPartyRole, TrustedPartyRoleType, TrustedPartyService, TrustedPartyType, TwoFactorService, UnarchiveDirectoryMutation, UnshareCategoryMutation, UpdateCategoryMutation, UpdateContactCardMutation, UpdateFileQuery, UpdateLbopQuery, UpdateRecordContainerMutation, UpdateRecordMutation, UpdatedCategory, UpdatedRecord, UserDeleteState, UserPlan, UserQuery, UserService, UserSharedKeyFields, Vault, VaultCategory, VaultFields, VaultRecord, VaultRecordType, awsFetch, configureAmplifyAuth, configureApollo, fragmentSpreadAstSelection, gqlTyped, handleApolloError, handleCognitoCallback, initialiseAuth, mapEdges, mapUserPlans, parentCategoriesField, processConnection, throwClaimIdMismatch, throwClaimNotApproved, ɵ0, KeyFactoryService as ɵa, WebCryptoService as ɵb, KeyService as ɵc, EncryptionService as ɵd, TimeService as ɵe, KeyGraphService as ɵf, KeyMetaService as ɵg, LrGraphQLService as ɵh, TpPasswordResetProcessorService as ɵi, RunOutsideAngular as ɵj, Slip39Service as ɵk, TpPasswordResetAssemblyController as ɵl, TpAssemblyController as ɵm, SharedContactCardFields as ɵn, SharedContactCardService as ɵo, LrService as ɵp, ScenarioAssemblyController as ɵq };
12473
12478
  //# sourceMappingURL=lifeready-core.js.map