taon 18.0.22 → 18.0.24

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 (71) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/create-context.mjs +8 -3
  3. package/browser/esm2022/lib/endpoint-context.mjs +12 -2
  4. package/browser/esm2022/lib/models.mjs +1 -1
  5. package/browser/esm2022/lib/orm.mjs +1 -1
  6. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +24 -26
  7. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +4 -9
  8. package/browser/fesm2022/taon.mjs +46 -35
  9. package/browser/fesm2022/taon.mjs.map +1 -1
  10. package/browser/lib/endpoint-context.d.ts +1 -0
  11. package/browser/lib/models.d.ts +1 -0
  12. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +1 -2
  13. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +0 -3
  14. package/client/esm2022/lib/create-context.mjs +8 -3
  15. package/client/esm2022/lib/endpoint-context.mjs +12 -2
  16. package/client/esm2022/lib/models.mjs +1 -1
  17. package/client/esm2022/lib/orm.mjs +1 -1
  18. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +24 -26
  19. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +4 -9
  20. package/client/fesm2022/taon.mjs +46 -35
  21. package/client/fesm2022/taon.mjs.map +1 -1
  22. package/client/lib/endpoint-context.d.ts +1 -0
  23. package/client/lib/models.d.ts +1 -0
  24. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +1 -2
  25. package/client/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +0 -3
  26. package/lib/base-classes/base-migration.d.ts +2 -2
  27. package/lib/base-classes/base-repository.d.ts +4 -4
  28. package/lib/base-classes/base-subscriber-for-entity.d.ts +2 -2
  29. package/lib/context-db-migrations.d.ts +2 -2
  30. package/lib/create-context.js +8 -2
  31. package/lib/create-context.js.map +1 -1
  32. package/lib/decorators/classes/entity-decorator.d.ts +2 -2
  33. package/lib/decorators/http/http-decorators.d.ts +2 -2
  34. package/lib/decorators/http/http-methods-decorators.d.ts +3 -3
  35. package/lib/endpoint-context.d.ts +2 -1
  36. package/lib/endpoint-context.js +93 -83
  37. package/lib/endpoint-context.js.map +1 -1
  38. package/lib/formly/fromly.d.ts +2 -2
  39. package/lib/models.d.ts +4 -3
  40. package/lib/models.js.map +1 -1
  41. package/lib/orm.d.ts +7 -3
  42. package/lib/orm.js +11 -2
  43. package/lib/orm.js.map +1 -1
  44. package/lib/ui/directives/index.js +2 -2
  45. package/lib/ui/directives/taon-long-press.directive.d.ts +1 -1
  46. package/lib/ui/index.js +2 -2
  47. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  48. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +2 -3
  49. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  50. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  51. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  52. package/lib/ui/taon-progress-bar/index.js +2 -2
  53. package/lib/ui/taon-session-passcode/index.js +2 -2
  54. package/lib/ui/taon-table/index.js +2 -2
  55. package/lib/ui/taon-table/taon-table.component.d.ts +1 -1
  56. package/lib/ui/taon.models.d.ts +2 -2
  57. package/package.json +7 -7
  58. package/tmp-environment.json +30 -29
  59. package/websql/esm2022/lib/create-context.mjs +8 -3
  60. package/websql/esm2022/lib/endpoint-context.mjs +24 -15
  61. package/websql/esm2022/lib/models.mjs +1 -1
  62. package/websql/esm2022/lib/orm.mjs +7 -2
  63. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +24 -26
  64. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +4 -9
  65. package/websql/fesm2022/taon.mjs +62 -48
  66. package/websql/fesm2022/taon.mjs.map +1 -1
  67. package/websql/lib/endpoint-context.d.ts +1 -0
  68. package/websql/lib/models.d.ts +1 -0
  69. package/websql/lib/orm.d.ts +5 -1
  70. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +1 -2
  71. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +0 -3
@@ -103,4 +103,4 @@ export var Models;
103
103
  })(Models || (Models = {}));
104
104
  ;
105
105
  ({}); // @--end-of-file-for-module=taon lib/models.ts
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE1BQU0sS0FBVyxNQUFNLENBcVZ0QjtBQXJWRCxXQUFpQixNQUFNO0lBU3JCLElBQVksU0FPWDtJQVBELFdBQVksU0FBUztRQUNuQiw4QkFBaUIsQ0FBQTtRQUNqQixzQ0FBeUIsQ0FBQTtRQUN6QixzQ0FBeUIsQ0FBQTtRQUN6QixrQ0FBcUIsQ0FBQTtRQUNyQixzQ0FBeUIsQ0FBQTtRQUN6QixvQ0FBdUIsQ0FBQTtJQUN6QixDQUFDLEVBUFcsU0FBUyxHQUFULGdCQUFTLEtBQVQsZ0JBQVMsUUFPcEI7SUFFWSxtQkFBWSxHQUFHO1FBQzFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVU7UUFDOUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxjQUFjO1FBQ3RDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVc7UUFDakMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZO0tBR3BDLENBQUM7SUEwQkYsTUFBYSxxQkFBcUI7S0EwQmpDO0lBMUJZLDRCQUFxQix3QkEwQmpDLENBQUE7SUFJRCxNQUFhLGNBQWUsU0FBUSxxQkFBcUI7UUFTdkQsTUFBTSxDQUFDLElBQUksQ0FDVCxxQkFLQztZQUVELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELElBQUkscUJBQXFCO1lBQzdCLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztLQUNGO0lBckNZLHFCQUFjLGlCQXFDMUIsQ0FBQTtJQTJFRCxNQUFhLG9CQUFvQjtLQUVoQztJQUZZLDJCQUFvQix1QkFFaEMsQ0FBQTtJQUlELE1BQWEsV0FBVztLQU12QjtJQU5ZLGtCQUFXLGNBTXZCLENBQUE7SUFJRCxNQUFhLFlBQVk7UUFBekI7WUFpQkYsS0FBSztZQUNMLEtBQUs7WUFFRCxlQUFVLEdBQXlDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFyQlksbUJBQVksZUFxQnhCLENBQUE7SUFJRCxNQUFhLGdCQUFpQixTQUFRLG9CQUFvQjtRQUExRDs7WUFJRSxZQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0tBQUE7SUFMWSx1QkFBZ0IsbUJBSzVCLENBQUE7SUFJRCxNQUFhLHVCQUF3QixTQUFRLGdCQUFnQjtLQUc1RDtJQUhZLDhCQUF1QiwwQkFHbkMsQ0FBQTtJQUlELElBQWlCLElBQUksQ0E2RXBCO0lBN0VELFdBQWlCLElBQUk7UUFDTCxTQUFJLEdBQUcsYUFBYSxDQUFDO1FBdUNuQyxNQUFhLE1BQU07WUFLakIsWUFDUyxPQUFlLEVBQ2QsT0FBK0IsR0FBRztnQkFEbkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtnQkFDZCxTQUFJLEdBQUosSUFBSSxDQUE4QjtnQkFOckMsYUFBUSxHQUFHLEdBQVcsRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QixDQUFDLENBQUM7WUFLQyxDQUFDO1lBRUksTUFBTSxDQUFDLE1BQU0sQ0FDbkIsT0FBZSxFQUNmLE9BQStCLEdBQUc7Z0JBRWxDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWlCO2dCQUM1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLFVBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNuRCxDQUFDO1lBQ0osQ0FBQztZQUVNLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE9BQWUsRUFDZixPQUErQixHQUFHO2dCQUVsQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRjtRQTdCWSxXQUFNLFNBNkJsQixDQUFBO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDLEVBN0VnQixJQUFJLEdBQUosV0FBSSxLQUFKLFdBQUksUUE2RXBCO0FBWUgsQ0FBQyxFQXJWZ0IsTUFBTSxLQUFOLE1BQU0sUUFxVnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyAgIFJlc3BvbnNlIGFzIEV4cHJlc3NSZXNwb25zZSwgICBSZXF1ZXN0IGFzIEV4cHJlc3NSZXF1ZXN0LCB9IGZyb20gJ2V4cHJlc3MnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTW9kZWxzIGFzIE1vZGVsc05nMlJlc3QgfSBmcm9tICduZzItcmVzdC9icm93c2VyJztcbmltcG9ydCB7IENsYXNzSGVscGVycyB9IGZyb20gJy4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgVGFvbkNvbnRyb2xsZXJPcHRpb25zIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2NsYXNzZXMvY29udHJvbGxlci1kZWNvcmF0b3InO1xuaW1wb3J0IHR5cGUgeyBUYW9uRW50aXR5T3B0aW9ucyB9IGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2VudGl0eS1kZWNvcmF0b3InO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya01vZGUgPVxuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQodGNwK3VkcCknXG4gICAgfCAncmVtb3RlLWJhY2tlbmQodGNwK3VkcCknXG4gICAgfCAnYmFja2VuZC1mcm9udGVuZChpcGMtZWxlY3Ryb24pJ1xuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQod2Vic3FsLWVsZWN0cm9uKSdcbiAgICB8ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbCknO1xuXG5cbiAgZXhwb3J0IGVudW0gQ2xhc3NUeXBlIHtcbiAgICBFTlRJVFkgPSAnRU5USVRZJyxcbiAgICBDT05UUk9MTEVSID0gJ0NPTlRST0xMRVInLFxuICAgIFJFUE9TSVRPUlkgPSAnUkVQT1NJVE9SWScsXG4gICAgUFJPVklERVIgPSAnUFJPVklERVInLFxuICAgIFNVQlNDUklCRVIgPSAnU1VCU0NSSUJFUicsXG4gICAgTUlHUkFUSU9OID0gJ01JR1JBVElPTicsXG4gIH1cblxuICBleHBvcnQgY29uc3QgQ2xhc3NUeXBlS2V5ID0ge1xuICAgIFtDbGFzc1R5cGUuRU5USVRZXTogJ2VudGl0aWVzJyxcbiAgICBbQ2xhc3NUeXBlLkNPTlRST0xMRVJdOiAnY29udHJvbGxlcnMnLFxuICAgIFtDbGFzc1R5cGUuUkVQT1NJVE9SWV06ICdyZXBvc2l0b3JpZXMnLFxuICAgIFtDbGFzc1R5cGUuUFJPVklERVJdOiAncHJvdmlkZXJzJyxcbiAgICBbQ2xhc3NUeXBlLlNVQlNDUklCRVJdOiAnc3Vic2NyaWJlcnMnLFxuICAgIFtDbGFzc1R5cGUuTUlHUkFUSU9OXTogJ21pZ3JhdGlvbnMnLFxuICB9IGFzIHtcbiAgICBba2V5IGluIENsYXNzVHlwZV06IGtleW9mIENvbnRleHRPcHRpb25zPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG4gIH07XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgTWlkZGxld2FyZVR5cGUgPSBbRnVuY3Rpb24sIGFueVtdXTtcblxuXG5cbiAgLyoqXG4gICAqIERST1BfREIrTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgZGV2ZWxvcG1lbnQpXG4gICAqIERyb3AgYWxsIHRhYmxlcyArIHJlY3JlYXRlIHRoZW0gKyBydW4gbWlncmF0aW9uc1xuICAgKiBzeW5jaHJvbml6ZTogdHJ1ZSAsIGRyb3BTY2hlbWE6IHRydWVcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICpcbiAgICogTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgcHJvZHVjdGlvbilcbiAgICogRG8gbm90IGRyb3AgdGFibGVzLCBvbmx5IHJ1biBtaWdyYXRpb25zXG4gICAqIHN5bmNocm9uaXplOiBmYWxzZSwgZHJvcFNjaGVtYTogZmFsc2VcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICovXG4gIGV4cG9ydCB0eXBlIERCUmVjcmVhdGVNb2RlID1cbiAgICB8ICdEUk9QX0RCK01JR1JBVElPTlMnXG4gICAgfCAnUFJFU0VSVkVfREFUQStNSUdSQVRJT05TJztcblxuXG5cbiAgZXhwb3J0IGNsYXNzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogZGF0YWJhc2UgbmFtZVxuICAgICAqL1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIG9ubHkgZm9yIGZpbGUgYmFzZSBkYjogc3FsaXRlLCBzcWxqc1xuICAgICAqL1xuICAgIGxvY2F0aW9uPzogc3RyaW5nO1xuICAgIHN5bmNocm9uaXplOiBib29sZWFuO1xuICAgIGRyb3BTY2hlbWE6IGJvb2xlYW47XG4gICAgdHlwZT86IENvcmVNb2RlbHMuRGF0YWJhc2VUeXBlO1xuICAgIC8qKlxuICAgICAqIFBlcnNpc3RzIGRiIG9uIGRpc2svbG9jYWwtc3RvcmFnZSBpZiBzZXJ2ZXJsZXNzIGRiXG4gICAgICovXG4gICAgYXV0b1NhdmU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGZvciB3ZWJzcWwgZGIgbW9kZVxuICAgICAqIHRydWUgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIHVzZUxvY2FsRm9yYWdlPzogYm9vbGVhbjtcbiAgICBsb2dnaW5nOiBib29sZWFuO1xuICAgIGRhdGFiYXNlUG9ydD86IG51bWJlcjtcbiAgICBkYXRhYmFzZUhvc3Q/OiBzdHJpbmc7XG4gICAgZGF0YWJhc2VVc2VybmFtZT86IHN0cmluZztcbiAgICBkYXRhYmFzZVBhc3N3b3JkPzogc3RyaW5nO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBEYXRhYmFzZUNvbmZpZyBleHRlbmRzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSAnRFJPUF9BTEwnLlxuICAgICAqXG4gICAgICogVGVsbCBmcmFtZXdvcmsgd2hhdCBpcyBoYXBwZW5pbmcgd2l0aCBkYlxuICAgICAqIHdoZW4gY29udGV4dCBpcyBzdGFydGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVjcmVhdGVNb2RlPzogREJSZWNyZWF0ZU1vZGU7XG5cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgIGRhdGFiYXNlUGFydGlhbENvbmZpZzogUGFydGlhbDxcbiAgICAgICAgT21pdDxcbiAgICAgICAgICBEYXRhYmFzZUNvbmZpZyxcbiAgICAgICAgICAnc3luY2hyb25pemUnIHwgJ2Ryb3BTY2hlbWEnIHwgJ2RhdGFiYXNlQ29uZmlnVHlwZU9STSdcbiAgICAgICAgPlxuICAgICAgPixcbiAgICApOiBEYXRhYmFzZUNvbmZpZyB7XG4gICAgICByZXR1cm4gXy5tZXJnZShuZXcgRGF0YWJhc2VDb25maWcoKSwgZGF0YWJhc2VQYXJ0aWFsQ29uZmlnKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YWJhc2VDb25maWdUeXBlT1JNKCk6IERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBleHBvcnQgdHlwZSBJU2Vzc2lvbiA9IHtcbiAgICBzZWNyZXQ/OiBzdHJpbmc7XG4gICAgc2F2ZVVuaW5pdGlhbGl6ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIG1heCBhZ2Ugb2Ygc2Vzc2lvblxuICAgICAqL1xuICAgIGNvb2tpZU1heEFnZT86IG51bWJlcjtcbiAgICBzZWN1cmU/OiBib29sZWFuO1xuICAgIHJlc2F2ZT86IGJvb2xlYW47XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIENvbm5lY3Rpb25PcHRpb25zTG9ncyA9IHtcbiAgICBodHRwPzogYm9vbGVhbjtcbiAgICByZWFsdGltZT86IGJvb2xlYW47XG4gICAgZnJhbWV3b3JrPzogYm9vbGVhbjtcbiAgICBkYj86IGJvb2xlYW47XG4gICAgbWlncmF0aW9ucz86IGJvb2xlYW47XG4gIH07XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE9wdGlvbnM8XG4gICAgQ09OVEVYVFMsXG4gICAgQ09OVFJPTExFUlMsXG4gICAgRU5USVRJRVMsXG4gICAgUkVQT1NJVE9SSUVTLFxuICAgIFBST1ZJREVSUyxcbiAgICBTVUJTQ1JJQkVSUyxcbiAgICBNSUdSQVRJT05TLFxuICA+IHtcbiAgICBjb250ZXh0TmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGhvc3QvcG9ydCBmb3IgaW5pdGluZyBiYWNrZW5kIHNlcnZlclxuICAgICAqL1xuICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogZnJvbnRlbmQgaG9zdCBvbmx5IG5lZWRlZCB3aGVuIHdlIGFyZVxuICAgICAqIHVzaW5nIHdpdGhDcmVkZW50aWFscyBmb3IgYXhpb3NcbiAgICAgKiBhbmQgc2Vzc2lvbiBjb29raWVcbiAgICAgKiBvciByZWFsdGltZSBjb21tdW5pY2F0aW9uXG4gICAgICovXG4gICAgZnJvbnRlbmRIb3N0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGJhY2tlbmQgd2F5IG9mIGNvbW11bmljYXRpb25cbiAgICAgKiBiZXR3ZWVuIHRhb24gYmFja2VuZHMvcHJvY2Vzc2VzXG4gICAgICovXG4gICAgcmVtb3RlSG9zdD86IHN0cmluZztcbiAgICB1c2VJcGNXaGVuRWxlY3Ryb24/OiBib29sZWFuO1xuICAgIGNvbnRleHRzPzogQ09OVEVYVFM7XG4gICAgY29udHJvbGxlcnM/OiBDT05UUk9MTEVSUztcbiAgICBlbnRpdGllcz86IEVOVElUSUVTO1xuICAgIHJlcG9zaXRvcmllcz86IFJFUE9TSVRPUklFUztcbiAgICBwcm92aWRlcnM/OiBQUk9WSURFUlM7XG4gICAgc3Vic2NyaWJlcnM/OiBTVUJTQ1JJQkVSUztcbiAgICBtaWdyYXRpb25zPzogTUlHUkFUSU9OUztcbiAgICBzZXNzaW9uPzogSVNlc3Npb247XG4gICAgcHJvZHVjdGlvbk1vZGU/OiBib29sZWFuO1xuICAgIGFic3RyYWN0PzogYm9vbGVhbjtcbiAgICBsb2dzPzogYm9vbGVhbiB8IENvbm5lY3Rpb25PcHRpb25zTG9ncztcbiAgICBkYXRhYmFzZT86IGJvb2xlYW4gfCBQYXJ0aWFsPERhdGFiYXNlQ29uZmlnPjtcbiAgICBkaXNhYmxlZFJlYWx0aW1lPzogYm9vbGVhbjtcbiAgICBodHRwcz86IHtcbiAgICAgIGtleTogc3RyaW5nO1xuICAgICAgY2VydDogc3RyaW5nO1xuICAgIH07XG4gICAgcHVibGljQXNzZXRzPzogeyBzZXJ2ZXJQYXRoOiBzdHJpbmc7IGxvY2F0aW9uT25EaXNrOiBzdHJpbmcgfVtdO1xuICAgIG1pZGRsZXdhcmVzPzogTWlkZGxld2FyZVR5cGVbXTtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgRGVjb3JhdG9yQWJzdHJhY3RPcHQge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBQYXJhbUNvbmZpZyB7XG4gICAgcGFyYW1OYW1lOiBzdHJpbmc7XG4gICAgcGFyYW1UeXBlOiBDb3JlTW9kZWxzLlBhcmFtVHlwZTtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGRlZmF1bHRUeXBlOiBhbnk7XG4gICAgZXhwaXJlSW5TZWNvbmRzPzogbnVtYmVyO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBNZXRob2RDb25maWcge1xuICAgIG1ldGhvZE5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBwYXRoIGlzIGdsb2JhbCBpbiBleHByZXNzIGFwcFxuICAgICAqL1xuICAgIGdsb2JhbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogb3ZlcnJpZGUgZGVmYXVsdCBjb250ZW50IHR5cGVcbiAgICAgKi9cbiAgICBjb250ZW50VHlwZT86IGFueTtcbiAgICAvKipcbiAgICAgKiBvdmVycmlkZSBkZWZhdWx0IGF4aXNvIHJlc3BvbnNlIHR5cGVcbiAgICAgKi9cbiAgICByZXNwb25zZVR5cGU/OiBhbnk7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICB0eXBlOiBDb3JlTW9kZWxzLkh0dHBNZXRob2Q7XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcGFyYW1ldGVyczogeyBbcGFyYW1OYW1lOiBzdHJpbmddOiBQYXJhbUNvbmZpZyB9ID0ge307XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIENvbnRyb2xsZXJDb25maWcgZXh0ZW5kcyBEZWNvcmF0b3JBYnN0cmFjdE9wdCB7XG4gICAgcmVhbHRpbWU/OiBib29sZWFuO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICB1bmlxdWVLZXk/OiBzdHJpbmc7XG4gICAgbWV0aG9kczogeyBbbWV0aG9kTmFtZTogc3RyaW5nXTogTWV0aG9kQ29uZmlnIH0gPSB7fTtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgUnVudGltZUNvbnRyb2xsZXJDb25maWcgZXh0ZW5kcyBDb250cm9sbGVyQ29uZmlnIHtcbiAgICBjYWxjdWxhdGVkUGF0aD86IHN0cmluZztcbiAgICBicm93c2VyVHJhbnNmb3JtRm4/OiAoZW50aXR5OiBhbnkpID0+IGFueTtcbiAgfVxuXG5cblxuICBleHBvcnQgbmFtZXNwYWNlIEh0dHAge1xuICAgIGV4cG9ydCBpbXBvcnQgUmVzdCA9IE1vZGVsc05nMlJlc3Q7XG5cbiAgICBleHBvcnQgdHlwZSBDb250ZXh0RU5EUE9JTlQgPSB7IHRhcmdldDogRnVuY3Rpb247IGluaXRGTjogRnVuY3Rpb24gfTtcblxuICAgIGV4cG9ydCB0eXBlIEZvcm1seUZyb21UeXBlID0gJ21hdGVyaWFsJyB8ICdib290c3RyYXAnO1xuXG4gICAgZXhwb3J0IHR5cGUgRXhwcmVzc0NvbnRleHQ8VD4gPSAoXG4gICAgICByZXE6IEV4cHJlc3NSZXF1ZXN0LFxuICAgICAgcmVzOiBFeHByZXNzUmVzcG9uc2UsXG4gICAgKSA9PiBUO1xuXG4gICAgZXhwb3J0IHR5cGUgU3luY1Jlc3BvbnNlPFQ+ID0gc3RyaW5nIHwgVDtcblxuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlRnVuY09wdDxUPiA9IHtcbiAgICAgIGxpbWl0U2l6ZT86IChcbiAgICAgICAgZW50aWVzOiBGdW5jdGlvbiB8IEZ1bmN0aW9uW10sXG4gICAgICAgIGluY2x1ZGU6IHN0cmluZ1tdLFxuICAgICAgICBleGNsdWRlOiBzdHJpbmdbXSxcbiAgICAgICkgPT4gdm9pZDtcbiAgICB9O1xuXG4gICAgZXhwb3J0IHR5cGUgU3luY1Jlc3BvbnNlRnVuYzxUPiA9IChcbiAgICAgIG9wdGlvbnM/OiBSZXNwb25zZUZ1bmNPcHQ8VD4sXG4gICAgKSA9PiBTeW5jUmVzcG9uc2U8VD47XG4gICAgZXhwb3J0IHR5cGUgTWl4UmVzcG9uc2U8VD4gPSBTeW5jUmVzcG9uc2U8VD4gfCBFeHByZXNzQ29udGV4dDxUPjtcblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50QWN0aW9uPFQ+IHtcbiAgICAgIHJlY2VpdmVkPzogUmVzdC5Qcm9taXNlT2JzZXJ2YWJsZU1peDxSZXN0Lkh0dHBSZXNwb25zZTxUPj47XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBBc3luY1Jlc3BvbnNlPFQ+IHtcbiAgICAgIChcbiAgICAgICAgcmVxPzogRXhwcmVzc1JlcXVlc3QsXG4gICAgICAgIHJlcz86IEV4cHJlc3NSZXNwb25zZSxcbiAgICAgICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPFQ+IHwgU3luY1Jlc3BvbnNlRnVuYzxUPj47XG4gICAgfVxuXG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2U8VCA9IHN0cmluZz4gPSBBc3luY1Jlc3BvbnNlPFQ+ICYgQ2xpZW50QWN0aW9uPFQ+O1xuXG4gICAgZXhwb3J0IGNsYXNzIEVycm9ycyB7XG4gICAgICBwdWJsaWMgdG9TdHJpbmcgPSAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcbiAgICAgIH07XG5cbiAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgY29kZTogTW9kZWxzTmcyUmVzdC5IdHRwQ29kZSA9IDQwMCxcbiAgICAgICkge31cblxuICAgICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGU6IE1vZGVsc05nMlJlc3QuSHR0cENvZGUgPSA0MDAsXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvcnMobWVzc2FnZSwgY29kZSk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBzdGF0aWMgZW50aXR5Tm90Rm91bmQoZW50aXR5PzogRnVuY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIEVycm9ycy5jcmVhdGUoXG4gICAgICAgICAgYEVudGl0eSAke0NsYXNzSGVscGVycy5nZXROYW1lKGVudGl0eSl9IG5vdCBmb3VuZGAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBzdGF0aWMgY3VzdG9tKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGU6IE1vZGVsc05nMlJlc3QuSHR0cENvZGUgPSA0MDAsXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIEVycm9ycy5jcmVhdGUobWVzc2FnZSwgY29kZSk7XG4gICAgICB9XG4gICAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBTdGFydFBhcmFtcyB7XG4gICAgcG9ydDogbnVtYmVyO1xuICAgIGFyZ3M6IHN0cmluZ1tdO1xuICAgIG9ubHlNaWdyYXRpb25SdW4/OiBib29sZWFuO1xuICAgIG9ubHlNaWdyYXRpb25SZXZlcnRUb1RpbWVzdGFtcD86IG51bWJlcjtcbiAgfVxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL21vZGVscy50cyJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE1BQU0sS0FBVyxNQUFNLENBc1Z0QjtBQXRWRCxXQUFpQixNQUFNO0lBU3JCLElBQVksU0FPWDtJQVBELFdBQVksU0FBUztRQUNuQiw4QkFBaUIsQ0FBQTtRQUNqQixzQ0FBeUIsQ0FBQTtRQUN6QixzQ0FBeUIsQ0FBQTtRQUN6QixrQ0FBcUIsQ0FBQTtRQUNyQixzQ0FBeUIsQ0FBQTtRQUN6QixvQ0FBdUIsQ0FBQTtJQUN6QixDQUFDLEVBUFcsU0FBUyxHQUFULGdCQUFTLEtBQVQsZ0JBQVMsUUFPcEI7SUFFWSxtQkFBWSxHQUFHO1FBQzFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVU7UUFDOUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxjQUFjO1FBQ3RDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVc7UUFDakMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZO0tBR3BDLENBQUM7SUEwQkYsTUFBYSxxQkFBcUI7S0EwQmpDO0lBMUJZLDRCQUFxQix3QkEwQmpDLENBQUE7SUFJRCxNQUFhLGNBQWUsU0FBUSxxQkFBcUI7UUFTdkQsTUFBTSxDQUFDLElBQUksQ0FDVCxxQkFLQztZQUVELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELElBQUkscUJBQXFCO1lBQzdCLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztLQUNGO0lBckNZLHFCQUFjLGlCQXFDMUIsQ0FBQTtJQTRFRCxNQUFhLG9CQUFvQjtLQUVoQztJQUZZLDJCQUFvQix1QkFFaEMsQ0FBQTtJQUlELE1BQWEsV0FBVztLQU12QjtJQU5ZLGtCQUFXLGNBTXZCLENBQUE7SUFJRCxNQUFhLFlBQVk7UUFBekI7WUFpQkYsS0FBSztZQUNMLEtBQUs7WUFFRCxlQUFVLEdBQXlDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFyQlksbUJBQVksZUFxQnhCLENBQUE7SUFJRCxNQUFhLGdCQUFpQixTQUFRLG9CQUFvQjtRQUExRDs7WUFJRSxZQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0tBQUE7SUFMWSx1QkFBZ0IsbUJBSzVCLENBQUE7SUFJRCxNQUFhLHVCQUF3QixTQUFRLGdCQUFnQjtLQUc1RDtJQUhZLDhCQUF1QiwwQkFHbkMsQ0FBQTtJQUlELElBQWlCLElBQUksQ0E2RXBCO0lBN0VELFdBQWlCLElBQUk7UUFDTCxTQUFJLEdBQUcsYUFBYSxDQUFDO1FBdUNuQyxNQUFhLE1BQU07WUFLakIsWUFDUyxPQUFlLEVBQ2QsT0FBK0IsR0FBRztnQkFEbkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtnQkFDZCxTQUFJLEdBQUosSUFBSSxDQUE4QjtnQkFOckMsYUFBUSxHQUFHLEdBQVcsRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QixDQUFDLENBQUM7WUFLQyxDQUFDO1lBRUksTUFBTSxDQUFDLE1BQU0sQ0FDbkIsT0FBZSxFQUNmLE9BQStCLEdBQUc7Z0JBRWxDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWlCO2dCQUM1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLFVBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNuRCxDQUFDO1lBQ0osQ0FBQztZQUVNLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE9BQWUsRUFDZixPQUErQixHQUFHO2dCQUVsQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRjtRQTdCWSxXQUFNLFNBNkJsQixDQUFBO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDLEVBN0VnQixJQUFJLEdBQUosV0FBSSxLQUFKLFdBQUksUUE2RXBCO0FBWUgsQ0FBQyxFQXRWZ0IsTUFBTSxLQUFOLE1BQU0sUUFzVnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyAgIFJlc3BvbnNlIGFzIEV4cHJlc3NSZXNwb25zZSwgICBSZXF1ZXN0IGFzIEV4cHJlc3NSZXF1ZXN0LCB9IGZyb20gJ2V4cHJlc3MnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTW9kZWxzIGFzIE1vZGVsc05nMlJlc3QgfSBmcm9tICduZzItcmVzdC9icm93c2VyJztcbmltcG9ydCB7IENsYXNzSGVscGVycyB9IGZyb20gJy4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgVGFvbkNvbnRyb2xsZXJPcHRpb25zIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2NsYXNzZXMvY29udHJvbGxlci1kZWNvcmF0b3InO1xuaW1wb3J0IHR5cGUgeyBUYW9uRW50aXR5T3B0aW9ucyB9IGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2VudGl0eS1kZWNvcmF0b3InO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya01vZGUgPVxuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQodGNwK3VkcCknXG4gICAgfCAncmVtb3RlLWJhY2tlbmQodGNwK3VkcCknXG4gICAgfCAnYmFja2VuZC1mcm9udGVuZChpcGMtZWxlY3Ryb24pJ1xuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQod2Vic3FsLWVsZWN0cm9uKSdcbiAgICB8ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbCknO1xuXG5cbiAgZXhwb3J0IGVudW0gQ2xhc3NUeXBlIHtcbiAgICBFTlRJVFkgPSAnRU5USVRZJyxcbiAgICBDT05UUk9MTEVSID0gJ0NPTlRST0xMRVInLFxuICAgIFJFUE9TSVRPUlkgPSAnUkVQT1NJVE9SWScsXG4gICAgUFJPVklERVIgPSAnUFJPVklERVInLFxuICAgIFNVQlNDUklCRVIgPSAnU1VCU0NSSUJFUicsXG4gICAgTUlHUkFUSU9OID0gJ01JR1JBVElPTicsXG4gIH1cblxuICBleHBvcnQgY29uc3QgQ2xhc3NUeXBlS2V5ID0ge1xuICAgIFtDbGFzc1R5cGUuRU5USVRZXTogJ2VudGl0aWVzJyxcbiAgICBbQ2xhc3NUeXBlLkNPTlRST0xMRVJdOiAnY29udHJvbGxlcnMnLFxuICAgIFtDbGFzc1R5cGUuUkVQT1NJVE9SWV06ICdyZXBvc2l0b3JpZXMnLFxuICAgIFtDbGFzc1R5cGUuUFJPVklERVJdOiAncHJvdmlkZXJzJyxcbiAgICBbQ2xhc3NUeXBlLlNVQlNDUklCRVJdOiAnc3Vic2NyaWJlcnMnLFxuICAgIFtDbGFzc1R5cGUuTUlHUkFUSU9OXTogJ21pZ3JhdGlvbnMnLFxuICB9IGFzIHtcbiAgICBba2V5IGluIENsYXNzVHlwZV06IGtleW9mIENvbnRleHRPcHRpb25zPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG4gIH07XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgTWlkZGxld2FyZVR5cGUgPSBbRnVuY3Rpb24sIGFueVtdXTtcblxuXG5cbiAgLyoqXG4gICAqIERST1BfREIrTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgZGV2ZWxvcG1lbnQpXG4gICAqIERyb3AgYWxsIHRhYmxlcyArIHJlY3JlYXRlIHRoZW0gKyBydW4gbWlncmF0aW9uc1xuICAgKiBzeW5jaHJvbml6ZTogdHJ1ZSAsIGRyb3BTY2hlbWE6IHRydWVcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICpcbiAgICogTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgcHJvZHVjdGlvbilcbiAgICogRG8gbm90IGRyb3AgdGFibGVzLCBvbmx5IHJ1biBtaWdyYXRpb25zXG4gICAqIHN5bmNocm9uaXplOiBmYWxzZSwgZHJvcFNjaGVtYTogZmFsc2VcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICovXG4gIGV4cG9ydCB0eXBlIERCUmVjcmVhdGVNb2RlID1cbiAgICB8ICdEUk9QX0RCK01JR1JBVElPTlMnXG4gICAgfCAnUFJFU0VSVkVfREFUQStNSUdSQVRJT05TJztcblxuXG5cbiAgZXhwb3J0IGNsYXNzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogZGF0YWJhc2UgbmFtZVxuICAgICAqL1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIG9ubHkgZm9yIGZpbGUgYmFzZSBkYjogc3FsaXRlLCBzcWxqc1xuICAgICAqL1xuICAgIGxvY2F0aW9uPzogc3RyaW5nO1xuICAgIHN5bmNocm9uaXplOiBib29sZWFuO1xuICAgIGRyb3BTY2hlbWE6IGJvb2xlYW47XG4gICAgdHlwZT86IENvcmVNb2RlbHMuRGF0YWJhc2VUeXBlO1xuICAgIC8qKlxuICAgICAqIFBlcnNpc3RzIGRiIG9uIGRpc2svbG9jYWwtc3RvcmFnZSBpZiBzZXJ2ZXJsZXNzIGRiXG4gICAgICovXG4gICAgYXV0b1NhdmU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGZvciB3ZWJzcWwgZGIgbW9kZVxuICAgICAqIHRydWUgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIHVzZUxvY2FsRm9yYWdlPzogYm9vbGVhbjtcbiAgICBsb2dnaW5nOiBib29sZWFuO1xuICAgIGRhdGFiYXNlUG9ydD86IG51bWJlcjtcbiAgICBkYXRhYmFzZUhvc3Q/OiBzdHJpbmc7XG4gICAgZGF0YWJhc2VVc2VybmFtZT86IHN0cmluZztcbiAgICBkYXRhYmFzZVBhc3N3b3JkPzogc3RyaW5nO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBEYXRhYmFzZUNvbmZpZyBleHRlbmRzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSAnRFJPUF9BTEwnLlxuICAgICAqXG4gICAgICogVGVsbCBmcmFtZXdvcmsgd2hhdCBpcyBoYXBwZW5pbmcgd2l0aCBkYlxuICAgICAqIHdoZW4gY29udGV4dCBpcyBzdGFydGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVjcmVhdGVNb2RlPzogREJSZWNyZWF0ZU1vZGU7XG5cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgIGRhdGFiYXNlUGFydGlhbENvbmZpZzogUGFydGlhbDxcbiAgICAgICAgT21pdDxcbiAgICAgICAgICBEYXRhYmFzZUNvbmZpZyxcbiAgICAgICAgICAnc3luY2hyb25pemUnIHwgJ2Ryb3BTY2hlbWEnIHwgJ2RhdGFiYXNlQ29uZmlnVHlwZU9STSdcbiAgICAgICAgPlxuICAgICAgPixcbiAgICApOiBEYXRhYmFzZUNvbmZpZyB7XG4gICAgICByZXR1cm4gXy5tZXJnZShuZXcgRGF0YWJhc2VDb25maWcoKSwgZGF0YWJhc2VQYXJ0aWFsQ29uZmlnKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YWJhc2VDb25maWdUeXBlT1JNKCk6IERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBleHBvcnQgdHlwZSBJU2Vzc2lvbiA9IHtcbiAgICBzZWNyZXQ/OiBzdHJpbmc7XG4gICAgc2F2ZVVuaW5pdGlhbGl6ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIG1heCBhZ2Ugb2Ygc2Vzc2lvblxuICAgICAqL1xuICAgIGNvb2tpZU1heEFnZT86IG51bWJlcjtcbiAgICBzZWN1cmU/OiBib29sZWFuO1xuICAgIHJlc2F2ZT86IGJvb2xlYW47XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIENvbm5lY3Rpb25PcHRpb25zTG9ncyA9IHtcbiAgICBodHRwPzogYm9vbGVhbjtcbiAgICByZWFsdGltZT86IGJvb2xlYW47XG4gICAgZnJhbWV3b3JrPzogYm9vbGVhbjtcbiAgICBkYj86IGJvb2xlYW47XG4gICAgbWlncmF0aW9ucz86IGJvb2xlYW47XG4gIH07XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE9wdGlvbnM8XG4gICAgQ09OVEVYVFMsXG4gICAgQ09OVFJPTExFUlMsXG4gICAgRU5USVRJRVMsXG4gICAgUkVQT1NJVE9SSUVTLFxuICAgIFBST1ZJREVSUyxcbiAgICBTVUJTQ1JJQkVSUyxcbiAgICBNSUdSQVRJT05TLFxuICA+IHtcbiAgICBjb250ZXh0TmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGhvc3QvcG9ydCBmb3IgaW5pdGluZyBiYWNrZW5kIHNlcnZlclxuICAgICAqL1xuICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogZnJvbnRlbmQgaG9zdCBvbmx5IG5lZWRlZCB3aGVuIHdlIGFyZVxuICAgICAqIHVzaW5nIHdpdGhDcmVkZW50aWFscyBmb3IgYXhpb3NcbiAgICAgKiBhbmQgc2Vzc2lvbiBjb29raWVcbiAgICAgKiBvciByZWFsdGltZSBjb21tdW5pY2F0aW9uXG4gICAgICovXG4gICAgZnJvbnRlbmRIb3N0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGJhY2tlbmQgd2F5IG9mIGNvbW11bmljYXRpb25cbiAgICAgKiBiZXR3ZWVuIHRhb24gYmFja2VuZHMvcHJvY2Vzc2VzXG4gICAgICovXG4gICAgcmVtb3RlSG9zdD86IHN0cmluZztcbiAgICB1c2VJcGNXaGVuRWxlY3Ryb24/OiBib29sZWFuO1xuICAgIGNvbnRleHRzPzogQ09OVEVYVFM7XG4gICAgY29udHJvbGxlcnM/OiBDT05UUk9MTEVSUztcbiAgICBlbnRpdGllcz86IEVOVElUSUVTO1xuICAgIHJlcG9zaXRvcmllcz86IFJFUE9TSVRPUklFUztcbiAgICBwcm92aWRlcnM/OiBQUk9WSURFUlM7XG4gICAgc3Vic2NyaWJlcnM/OiBTVUJTQ1JJQkVSUztcbiAgICBtaWdyYXRpb25zPzogTUlHUkFUSU9OUztcbiAgICBzZXNzaW9uPzogSVNlc3Npb247XG4gICAgc2tpcFdyaXRpbmdTZXJ2ZXJSb3V0ZXM/OiBib29sZWFuO1xuICAgIHByb2R1Y3Rpb25Nb2RlPzogYm9vbGVhbjtcbiAgICBhYnN0cmFjdD86IGJvb2xlYW47XG4gICAgbG9ncz86IGJvb2xlYW4gfCBDb25uZWN0aW9uT3B0aW9uc0xvZ3M7XG4gICAgZGF0YWJhc2U/OiBib29sZWFuIHwgUGFydGlhbDxEYXRhYmFzZUNvbmZpZz47XG4gICAgZGlzYWJsZWRSZWFsdGltZT86IGJvb2xlYW47XG4gICAgaHR0cHM/OiB7XG4gICAgICBrZXk6IHN0cmluZztcbiAgICAgIGNlcnQ6IHN0cmluZztcbiAgICB9O1xuICAgIHB1YmxpY0Fzc2V0cz86IHsgc2VydmVyUGF0aDogc3RyaW5nOyBsb2NhdGlvbk9uRGlzazogc3RyaW5nIH1bXTtcbiAgICBtaWRkbGV3YXJlcz86IE1pZGRsZXdhcmVUeXBlW107XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIERlY29yYXRvckFic3RyYWN0T3B0IHtcbiAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgUGFyYW1Db25maWcge1xuICAgIHBhcmFtTmFtZTogc3RyaW5nO1xuICAgIHBhcmFtVHlwZTogQ29yZU1vZGVscy5QYXJhbVR5cGU7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICBkZWZhdWx0VHlwZTogYW55O1xuICAgIGV4cGlyZUluU2Vjb25kcz86IG51bWJlcjtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgTWV0aG9kQ29uZmlnIHtcbiAgICBtZXRob2ROYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogcGF0aCBpcyBnbG9iYWwgaW4gZXhwcmVzcyBhcHBcbiAgICAgKi9cbiAgICBnbG9iYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIG92ZXJyaWRlIGRlZmF1bHQgY29udGVudCB0eXBlXG4gICAgICovXG4gICAgY29udGVudFR5cGU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogb3ZlcnJpZGUgZGVmYXVsdCBheGlzbyByZXNwb25zZSB0eXBlXG4gICAgICovXG4gICAgcmVzcG9uc2VUeXBlPzogYW55O1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgdHlwZTogQ29yZU1vZGVscy5IdHRwTWV0aG9kO1xuLyogKi9cbi8qICovXG4gIFxuICAgIHBhcmFtZXRlcnM6IHsgW3BhcmFtTmFtZTogc3RyaW5nXTogUGFyYW1Db25maWcgfSA9IHt9O1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBDb250cm9sbGVyQ29uZmlnIGV4dGVuZHMgRGVjb3JhdG9yQWJzdHJhY3RPcHQge1xuICAgIHJlYWx0aW1lPzogYm9vbGVhbjtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdW5pcXVlS2V5Pzogc3RyaW5nO1xuICAgIG1ldGhvZHM6IHsgW21ldGhvZE5hbWU6IHN0cmluZ106IE1ldGhvZENvbmZpZyB9ID0ge307XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb250cm9sbGVyQ29uZmlnIGV4dGVuZHMgQ29udHJvbGxlckNvbmZpZyB7XG4gICAgY2FsY3VsYXRlZFBhdGg/OiBzdHJpbmc7XG4gICAgYnJvd3NlclRyYW5zZm9ybUZuPzogKGVudGl0eTogYW55KSA9PiBhbnk7XG4gIH1cblxuXG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBIdHRwIHtcbiAgICBleHBvcnQgaW1wb3J0IFJlc3QgPSBNb2RlbHNOZzJSZXN0O1xuXG4gICAgZXhwb3J0IHR5cGUgQ29udGV4dEVORFBPSU5UID0geyB0YXJnZXQ6IEZ1bmN0aW9uOyBpbml0Rk46IEZ1bmN0aW9uIH07XG5cbiAgICBleHBvcnQgdHlwZSBGb3JtbHlGcm9tVHlwZSA9ICdtYXRlcmlhbCcgfCAnYm9vdHN0cmFwJztcblxuICAgIGV4cG9ydCB0eXBlIEV4cHJlc3NDb250ZXh0PFQ+ID0gKFxuICAgICAgcmVxOiBFeHByZXNzUmVxdWVzdCxcbiAgICAgIHJlczogRXhwcmVzc1Jlc3BvbnNlLFxuICAgICkgPT4gVDtcblxuICAgIGV4cG9ydCB0eXBlIFN5bmNSZXNwb25zZTxUPiA9IHN0cmluZyB8IFQ7XG5cbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUZ1bmNPcHQ8VD4gPSB7XG4gICAgICBsaW1pdFNpemU/OiAoXG4gICAgICAgIGVudGllczogRnVuY3Rpb24gfCBGdW5jdGlvbltdLFxuICAgICAgICBpbmNsdWRlOiBzdHJpbmdbXSxcbiAgICAgICAgZXhjbHVkZTogc3RyaW5nW10sXG4gICAgICApID0+IHZvaWQ7XG4gICAgfTtcblxuICAgIGV4cG9ydCB0eXBlIFN5bmNSZXNwb25zZUZ1bmM8VD4gPSAoXG4gICAgICBvcHRpb25zPzogUmVzcG9uc2VGdW5jT3B0PFQ+LFxuICAgICkgPT4gU3luY1Jlc3BvbnNlPFQ+O1xuICAgIGV4cG9ydCB0eXBlIE1peFJlc3BvbnNlPFQ+ID0gU3luY1Jlc3BvbnNlPFQ+IHwgRXhwcmVzc0NvbnRleHQ8VD47XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIENsaWVudEFjdGlvbjxUPiB7XG4gICAgICByZWNlaXZlZD86IFJlc3QuUHJvbWlzZU9ic2VydmFibGVNaXg8UmVzdC5IdHRwUmVzcG9uc2U8VD4+O1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQXN5bmNSZXNwb25zZTxUPiB7XG4gICAgICAoXG4gICAgICAgIHJlcT86IEV4cHJlc3NSZXF1ZXN0LFxuICAgICAgICByZXM/OiBFeHByZXNzUmVzcG9uc2UsXG4gICAgICApOiBQcm9taXNlPFN5bmNSZXNwb25zZTxUPiB8IFN5bmNSZXNwb25zZUZ1bmM8VD4+O1xuICAgIH1cblxuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlPFQgPSBzdHJpbmc+ID0gQXN5bmNSZXNwb25zZTxUPiAmIENsaWVudEFjdGlvbjxUPjtcblxuICAgIGV4cG9ydCBjbGFzcyBFcnJvcnMge1xuICAgICAgcHVibGljIHRvU3RyaW5nID0gKCk6IHN0cmluZyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2U7XG4gICAgICB9O1xuXG4gICAgICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBwcml2YXRlIGNvZGU6IE1vZGVsc05nMlJlc3QuSHR0cENvZGUgPSA0MDAsXG4gICAgICApIHt9XG5cbiAgICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZShcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBjb2RlOiBNb2RlbHNOZzJSZXN0Lkh0dHBDb2RlID0gNDAwLFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBuZXcgRXJyb3JzKG1lc3NhZ2UsIGNvZGUpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgc3RhdGljIGVudGl0eU5vdEZvdW5kKGVudGl0eT86IEZ1bmN0aW9uKSB7XG4gICAgICAgIHJldHVybiBFcnJvcnMuY3JlYXRlKFxuICAgICAgICAgIGBFbnRpdHkgJHtDbGFzc0hlbHBlcnMuZ2V0TmFtZShlbnRpdHkpfSBub3QgZm91bmRgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgc3RhdGljIGN1c3RvbShcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBjb2RlOiBNb2RlbHNOZzJSZXN0Lkh0dHBDb2RlID0gNDAwLFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBFcnJvcnMuY3JlYXRlKG1lc3NhZ2UsIGNvZGUpO1xuICAgICAgfVxuICAgIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3RhcnRQYXJhbXMge1xuICAgIHBvcnQ6IG51bWJlcjtcbiAgICBhcmdzOiBzdHJpbmdbXTtcbiAgICBvbmx5TWlncmF0aW9uUnVuPzogYm9vbGVhbjtcbiAgICBvbmx5TWlncmF0aW9uUmV2ZXJ0VG9UaW1lc3RhbXA/OiBudW1iZXI7XG4gIH1cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9tb2RlbHMudHMiXX0=
@@ -3,4 +3,4 @@
3
3
  ;
4
4
  ({}); // @--end-of-file-for-module=taon lib/orm.ts
5
5
  export {};
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLEtBQUs7QUFDTCxLQUFLO0FBMkVKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgbmFtZXNwYWNlIE9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvb3JtLnRzIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLEtBQUs7QUFDTCxLQUFLO0FBa0ZKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuXG5leHBvcnQgbmFtZXNwYWNlIE9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvb3JtLnRzIl19
@@ -30,20 +30,19 @@ import { TaonNotificationsModule } from '../taon-notifications';
30
30
  import { TaonSessionPasscodeComponent } from '../taon-session-passcode';
31
31
  import * as i0 from "@angular/core";
32
32
  import * as i1 from "static-columns/browser";
33
- import * as i2 from "./taon-admin.service";
34
- import * as i3 from "@angular/common";
35
- import * as i4 from "@angular/forms";
36
- import * as i5 from "ngx-scrollbar";
37
- import * as i6 from "@angular/cdk/drag-drop";
38
- import * as i7 from "@angular/material/button";
39
- import * as i8 from "@angular/material/card";
40
- import * as i9 from "@angular/material/checkbox";
41
- import * as i10 from "@angular/material/icon";
42
- import * as i11 from "@angular/material/sidenav";
43
- import * as i12 from "@angular/material/tabs";
33
+ import * as i2 from "@angular/common";
34
+ import * as i3 from "@angular/forms";
35
+ import * as i4 from "ngx-scrollbar";
36
+ import * as i5 from "@angular/cdk/drag-drop";
37
+ import * as i6 from "@angular/material/button";
38
+ import * as i7 from "@angular/material/card";
39
+ import * as i8 from "@angular/material/checkbox";
40
+ import * as i9 from "@angular/material/icon";
41
+ import * as i10 from "@angular/material/sidenav";
42
+ import * as i11 from "@angular/material/tabs";
44
43
  export class TaonAdminModeConfigurationComponent {
45
44
  get opened() {
46
- return !this.isIframe && this.admin.adminPanelIsOpen;
45
+ return !this.isIframe && this.taonAdminService.adminPanelIsOpen;
47
46
  }
48
47
  set opened(v) {
49
48
  if (v && !this.openedOnce) {
@@ -51,16 +50,15 @@ export class TaonAdminModeConfigurationComponent {
51
50
  }
52
51
  if (this.wasOpenDraggablePopup) {
53
52
  this.wasOpenDraggablePopup = false;
54
- this.admin.draggablePopupMode = true;
53
+ this.taonAdminService.draggablePopupMode = true;
55
54
  }
56
- this.admin.adminPanelIsOpen = v;
55
+ this.taonAdminService.adminPanelIsOpen = v;
57
56
  }
58
- constructor(breakpointsService, admin) {
57
+ constructor(breakpointsService) {
59
58
  this.breakpointsService = breakpointsService;
60
- this.admin = admin;
61
59
  this.$destroy = new Subject();
62
60
  this.cdr = inject(ChangeDetectorRef);
63
- this.taonAdminService = inject(TaonAdminService);
61
+ this.taonAdminService = TaonAdminService.Instance;
64
62
  this.isWebSQLMode = Helpers.isWebSQL;
65
63
  this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
66
64
  this.isIframe = window.location !== window.parent.location;
@@ -97,7 +95,7 @@ export class TaonAdminModeConfigurationComponent {
97
95
  //Add 'implements AfterViewInit' to the class.
98
96
  setTimeout(() => {
99
97
  this.height = window.innerHeight;
100
- if (this.admin.draggablePopupMode) {
98
+ if (this.taonAdminService.draggablePopupMode) {
101
99
  this.reloadTabs();
102
100
  }
103
101
  });
@@ -123,9 +121,9 @@ export class TaonAdminModeConfigurationComponent {
123
121
  this.opened = !this.opened;
124
122
  }
125
123
  async toogleFullScreen() {
126
- this.admin.draggablePopupMode = true;
127
- this.admin.draggablePopupModeFullScreen =
128
- !this.admin.draggablePopupModeFullScreen;
124
+ this.taonAdminService.draggablePopupMode = true;
125
+ this.taonAdminService.draggablePopupModeFullScreen =
126
+ !this.taonAdminService.draggablePopupModeFullScreen;
129
127
  this.resetDrag();
130
128
  }
131
129
  resetDrag() {
@@ -140,8 +138,8 @@ export class TaonAdminModeConfigurationComponent {
140
138
  scrollTabs(event) {
141
139
  return;
142
140
  }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1.BreakpointsService }, { token: i2.TaonAdminService }], target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { kind: "component", type: i1.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1.DirectiveGrow, selector: "[grow]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i5.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i11.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i11.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i12.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i12.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: // TODO import only partial things
141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { kind: "component", type: i1.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1.DirectiveGrow, selector: "[grow]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: // TODO import only partial things
145
143
  TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
146
144
  }
147
145
  __decorate([
@@ -179,8 +177,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
179
177
  TaonNotificationsModule,
180
178
  TaonFullMaterialModule, // TODO import only partial things
181
179
  TaonSessionPasscodeComponent,
182
- ], template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
183
- }], ctorParameters: () => [{ type: i1.BreakpointsService }, { type: i2.TaonAdminService }], propDecorators: { tabGroup: [{
180
+ ], template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
181
+ }], ctorParameters: () => [{ type: i1.BreakpointsService }], propDecorators: { tabGroup: [{
184
182
  type: ViewChild,
185
183
  args: ['tabGroup']
186
184
  }], taonAdminModeConfigurationDataChanged: [{
@@ -193,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
193
191
  }] } });
194
192
  ;
195
193
  ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksWUFBWSxFQUFJLFlBQVksRUFBZ0IsS0FBSyxFQUFjLE1BQU0sRUFBSSxTQUFTLEVBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUN2SyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFN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QUF0QyxLQUFLO2dCQXNFTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztBQTJEMUMsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpSEFBaUgiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyAgIENoYW5nZURldGVjdG9yUmVmLCAgIENvbXBvbmVudCwgICBFdmVudEVtaXR0ZXIsICAgSG9zdExpc3RlbmVyLCAgIEluamVjdG9yLCAgIElucHV0LCAgIE9uSW5pdCwgICBPdXRwdXQsICAgVmlld0NoaWxkLCAgIGluamVjdCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgSGVscGVycywgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgVGFvbkFkbWluU2VydmljZSB9IGZyb20gJy4vdGFvbi1hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3IgfSBmcm9tICd0YW9uLXN0b3JhZ2UvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIENka0RyYWcsICAgQ2RrRHJhZ0VuZCwgICBDZGtEcmFnTW92ZSwgICBDZGtEcmFnUmVsZWFzZSwgICBQb2ludCwgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEJyZWFrcG9pbnRzU2VydmljZSB9IGZyb20gJ3N0YXRpYy1jb2x1bW5zL2Jyb3dzZXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi90YW9uLWZ1bGwtbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFN0YXRpY0NvbHVtbnNNb2R1bGUgfSBmcm9tICdzdGF0aWMtY29sdW1ucy9icm93c2VyJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdTY3JvbGxiYXJNb2R1bGUgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcbmltcG9ydCB7IFRhb25Qcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJy4uL3Rhb24tcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IFRhb25Ob3RpZmljYXRpb25zTW9kdWxlIH0gZnJvbSAnLi4vdGFvbi1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQgfSBmcm9tICcuLi90YW9uLXNlc3Npb24tcGFzc2NvZGUnO1xuXG5cblxuZGVjbGFyZSBjb25zdCBFTlY6IGFueTtcbkBDb21wb25lbnQoe1xuXG4gIHNlbGVjdG9yOiAndGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0YXRpY0NvbHVtbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdTY3JvbGxiYXJNb2R1bGUsXG4gICAgVGFvblByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRhb25Ob3RpZmljYXRpb25zTW9kdWxlLFxuICAgIFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUsIC8vIFRPRE8gaW1wb3J0IG9ubHkgcGFydGlhbCB0aGluZ3NcblxuICAgIFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQsXG4gIF0sXG5cbn0pXG5leHBvcnQgY2xhc3MgVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICRkZXN0cm95ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHB1YmxpYyByZWFkb25seSB0YW9uQWRtaW5TZXJ2aWNlID0gaW5qZWN0KFRhb25BZG1pblNlcnZpY2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNEZXNrdG9wOiBib29sZWFuO1xuICBwdWJsaWMgaXNXZWJTUUxNb2RlOiBib29sZWFuID0gSGVscGVycy5pc1dlYlNRTDtcbiAgcHVibGljIGhpZGVUYW9uVG9vbHNJblByb2R1Y3Rpb246IGJvb2xlYW4gPVxuICAgIEVOVi5oaWRlVGFvblRvb2xzSW5Qcm9kdWN0aW9uICYmIEVOVi5hbmd1bGFyUHJvZDtcbiAgcHVibGljIGlzSWZyYW1lOiBib29sZWFuID0gd2luZG93LmxvY2F0aW9uICE9PSB3aW5kb3cucGFyZW50LmxvY2F0aW9uO1xuICBwdWJsaWMgaGVpZ2h0OiBudW1iZXIgPSAxMDA7XG4gIHB1YmxpYyBvcGVuZWRPbmNlID0gZmFsc2U7XG4gIHB1YmxpYyByZWxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dQYXNzY29kZTogYm9vbGVhbiA9XG4gICAgXy5pc1N0cmluZyhFTlYucGFzc2NvZGUpIHx8IF8uaXNPYmplY3QoRU5WLnBhc3Njb2RlKTtcbiAgcHVibGljIHBhc3Njb2RlOiBzdHJpbmcgPSBfLmlzU3RyaW5nKEVOVi5wYXNzY29kZSlcbiAgICA/IEVOVi5wYXNzY29kZVxuICAgIDogXy5pc09iamVjdChFTlYucGFzc2NvZGUpXG4gICAgICA/IEVOVi5wYXNzY29kZS5jb2RlXG4gICAgICA6ICcnO1xuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gXy5pc09iamVjdChFTlYucGFzc2NvZGUpXG4gICAgPyBFTlYucGFzc2NvZGUubWVzc2FnZVxuICAgIDogdm9pZCAwO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMCkpXG4gIGRyYWdQb3NpdGlvblg6IG51bWJlcjtcblxuICAvLyBAdHMtaWdub3JlXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKDApKVxuICBkcmFnUG9zaXRpb25ZOiBudW1iZXI7XG5cbiAgZHJhZ1Bvc2l0aW9uWmVybyA9IHsgeDogMCwgeTogMCB9IGFzIFBvaW50O1xuICBkcmFnUG9zaXRpb246IFBvaW50O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMCkpXG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcblxuICBAVmlld0NoaWxkKCd0YWJHcm91cCcpIHRhYkdyb3VwO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpKVxuICB3YXNPcGVuRHJhZ2dhYmxlUG9wdXA6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uRGF0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uRGF0YTogYW55ID0ge307XG4gIHB1YmxpYyBnZXQgb3BlbmVkKCkge1xuICAgIHJldHVybiAhdGhpcy5pc0lmcmFtZSAmJiB0aGlzLmFkbWluLmFkbWluUGFuZWxJc09wZW47XG4gIH1cbiAgcHVibGljIHNldCBvcGVuZWQodikge1xuICAgIGlmICh2ICYmICF0aGlzLm9wZW5lZE9uY2UpIHtcbiAgICAgIHRoaXMub3BlbmVkT25jZSA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLndhc09wZW5EcmFnZ2FibGVQb3B1cCkge1xuICAgICAgdGhpcy53YXNPcGVuRHJhZ2dhYmxlUG9wdXAgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5hZG1pbi5hZG1pblBhbmVsSXNPcGVuID0gdjtcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRzU2VydmljZTogQnJlYWtwb2ludHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBhZG1pbjogVGFvbkFkbWluU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5icmVha3BvaW50c1NlcnZpY2VcbiAgICAgIC5saXN0ZW5UbygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKGJyZWFrcG9pbnQgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuaXNEZXNrdG9wID0gYnJlYWtwb2ludCA9PT0gJ2Rlc2t0b3AnO1xuICAgICAgfSk7XG4gIH1cblxuXG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgU3Rvci5hd2FpdFBlbmRpbmdPcGVyYXRpb3MoKTtcblxuXG5cbiAgICB0aGlzLmRyYWdQb3NpdGlvbiA9IHsgeDogdGhpcy5kcmFnUG9zaXRpb25YLCB5OiB0aGlzLmRyYWdQb3NpdGlvblkgfTtcbiAgICB0aGlzLm9wZW5lZE9uY2UgPSB0aGlzLm9wZW5lZDtcblxuXG5cblxuXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQnIHRvIHRoZSBjbGFzcy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG5cbiAgICAgIGlmICh0aGlzLmFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSkge1xuICAgICAgICB0aGlzLnJlbG9hZFRhYnMoKTtcbiAgICAgIH1cblxuXG5cblxuXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRkZXN0cm95Lm5leHQodm9pZCAwKTtcbiAgICB0aGlzLiRkZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIH1cblxuXG5cblxuICBhc3luYyByZWxvYWRUYWJzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBjb25zb2xlLmxvZygncmVsb2FkaW5nIGRvbmUnKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB0b29nbGUoKSB7XG5cbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcbiAgfVxuXG4gIGFzeW5jIHRvb2dsZUZ1bGxTY3JlZW4oKSB7XG4gICAgdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlO1xuICAgIHRoaXMuYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbiA9XG4gICAgICAhdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuO1xuICAgIHRoaXMucmVzZXREcmFnKCk7XG4gIH1cblxuICByZXNldERyYWcoKSB7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25YID0gMDtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblkgPSAwO1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0geyB4OiB0aGlzLmRyYWdQb3NpdGlvblgsIHk6IHRoaXMuZHJhZ1Bvc2l0aW9uWSB9O1xuICB9XG5cbiAgbW92ZWQoYzogQ2RrRHJhZ0VuZCkge1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWCArPSBjLmRpc3RhbmNlLng7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25ZICs9IGMuZGlzdGFuY2UueTtcbiAgfVxuXG4gIHNjcm9sbFRhYnMoZXZlbnQpIHtcbiAgICByZXR1cm47XG5cblxuXG5cblxuXG5cblxuXG5cbiAgfVxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIjwhLS0gI3JlZ2lvbiBiYXNpYyBnbG9iYWwgY29tcG9uZW50cyAgLS0+XG48dGFvbi1zZXNzaW9uLXBhc3Njb2RlXG4gICpuZ0lmPVwic2hvd1Bhc3Njb2RlXCJcbiAgW3Bhc3Njb2RlXT1cInBhc3Njb2RlXCJcbiAgW21lc3NhZ2VdPVwibWVzc2FnZVwiIC8+XG48IS0tIDx0YW9uLXByb2dyZXNzLWJhciBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiPjwvdGFvbi1wcm9ncmVzcy1iYXI+IC0tPlxuPCEtLSA8dGFvbi1ub3RpZmljYXRpb25zPjwvdGFvbi1ub3RpZmljYXRpb25zPiAtLT5cbjxidXR0b25cbiAgbWF0LWZhYlxuICBjbGFzcz1cImZhYi1idXR0b25cIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIGFyaWEtbGFiZWw9XCJUYW9uIEFkbWluIE1vZGVcIlxuICAqbmdJZj1cIlxuICAgICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICBpc0Rlc2t0b3AgJiZcbiAgICAhaXNJZnJhbWUgJiZcbiAgICAhaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvblxuICBcIlxuICAoY2xpY2spPVwidG9vZ2xlKClcIj5cbiAgPG1hdC1pY29uPmJ1aWxkPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwgaGlkZGVuIGJ1dHRvbiAtLT5cbjwhLS0gPGJ1dHRvbiBjbGFzcz1cImFkbWluLXNob3ctYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCIhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmIGlzRGVza3RvcFwiXG4gICAgICAgIChjbGljayk9XCJ0b29nbGUoKVwiPiBBZG1pbiA8L2J1dHRvbj4gLS0+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudE5vU2Nyb2xsPlxuICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctc2Nyb2xsYmFyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudE5vU2Nyb2xsXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctc2Nyb2xsYmFyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSAjcmVnaW9uIGFkbWluIHRhYnMgLS0+XG48bmctdGVtcGxhdGUgI2FkbWluVGFicz5cbiAgPCEtLSAjcmVnaW9uIGFkbWluIHRhYnMgLyBoZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJ0YW9uLWhlYWRlci1hZG1pbi13cmFwcGVyXCI+XG4gICAgPGNvbHVtbnMtY29udGFpbmVyXG4gICAgICBjbGFzcz1cInRhb24taGVhZGVyLWFkbWluXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgICAgPGNvbHVtblxuICAgICAgICB3aWR0aD1cIjIwMFwiXG4gICAgICAgIGNsYXNzPVwibG9nby1oZWFkZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICpuZ0lmPVwib3BlbmVkT25jZVwiXG4gICAgICAgICAgc3JjPVwiL1RUVFRUVFRUT09PT09PT09fX19fX19fX1JSUlJSUlJSRUVFRUVFRUVNTU1NTU1NTU9PT09PT09PVlZWVlZWVlZFRUVFRUVFRWFzc2V0cy9hc3NldHMtZm9yL3Rhb24vc2hhcmVkL2xvZ28taGVhZGVyLWFkbWluLW1vZGUucG5nXCIgLz5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uIGdyb3c+XG4gICAgICAgIDwhLS0gPHNwYW4+U3VwZXIgQWRtaW4gTW9kZTwvc3Bhbj4gLS0+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtblxuICAgICAgICB3aWR0aD1cIjQwXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbiAmJiAhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlXG4gICAgICAgIFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgIGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgb3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB3YXNPcGVuRHJhZ2dhYmxlUG9wdXAgPSB0cnVlXG4gICAgICAgICAgXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZSA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlKClcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtbiB3aWR0aD1cIjQwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvb2dsZUZ1bGxTY3JlZW4oKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlRnVsbFNjcmVlbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlX2Z1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uXG4gICAgICAgIHdpZHRoPVwiNDBcIlxuICAgICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5sYXVuY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgPSBmYWxzZTsgcmVzZXREcmFnKClcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKVwiPmxvZ2luPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2NvbHVtbj5cbiAgICA8L2NvbHVtbnMtY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG4gIDxjb2x1bW5zLWNvbnRhaW5lclxuICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgIDxjb2x1bW4gZ3Jvdz5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgICAgKHdoZWVsKT1cInNjcm9sbFRhYnMoJGV2ZW50KVwiXG4gICAgICAgICN0YWJHcm91cFxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudFwiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkRCL0NhY2hlXCI+XG4gICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPldFQlNRTCBNT0RFPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNXZWJTUUxNb2RlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFkbWluLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZFwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBhZG1pbi5zZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQoJGV2ZW50LmNoZWNrZWQpXG4gICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgIERvbid0IHJlbW92ZSBkYXRhIHdoZW4gcmVsb2FkaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDx0YW9uLWRiLWFkbWluIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICA8L2NvbHVtbj5cbiAgPC9jb2x1bW5zLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBzbWFsbC9tb2JpbGUgZHJhZ2dhYmxlIHBvcHVwIHdpbmRvd3MgLS0+XG48ZGl2XG4gIGNsYXNzPVwiZHJhZ2dhYmxlLXBvcHVwLW1vZGUtd2luZG93XCJcbiAgKm5nSWY9XCJcbiAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4gJiYgIWlzSWZyYW1lXG4gIFwiXG4gIGNka0RyYWdcbiAgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblwiXG4gIChjZGtEcmFnRW5kZWQpPVwibW92ZWQoJGV2ZW50KVwiPlxuICA8bmctc2Nyb2xsYmFyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctc2Nyb2xsYmFyPlxuPC9kaXY+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBmdWxsc2NyZWVuIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3cgLS0+XG48ZGl2XG4gIGNsYXNzPVwiZHJhZ2dhYmxlLXBvcHVwLW1vZGUtd2luZG93LWZ1bGxcIlxuICAqbmdJZj1cIlxuICAgIGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSAmJlxuICAgIGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4gJiZcbiAgICAhaXNJZnJhbWUgJiZcbiAgICAhcmVsb2FkaW5nXG4gIFwiXG4gIGNka0RyYWdcbiAgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblplcm9cIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhZG1pblRhYnNcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gY29udGVudCB3aGVuIG5vdCBpbiBkcmFnZ2FibGUgKG9yIGZ1bGxzY3JlZW4gZHJhZ2dhYmxlKSBwb3B1cCAtLT5cbjxkaXZcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICAqbmdJZj1cIlxuICAgIChpc0lmcmFtZSB8fFxuICAgICAgIWlzRGVza3RvcCB8fFxuICAgICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlIHx8XG4gICAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuKSAmJlxuICAgICFyZWxvYWRpbmdcbiAgXCJcbiAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2tcIlxuICBjbGFzcz1cImNvbnRlbnRcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgYWRtaW4uc2Nyb2xsYWJsZUVuYWJsZWQgPyBjb250ZW50IDogY29udGVudE5vU2Nyb2xsXG4gICAgXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3cgLS0+XG48bWF0LWRyYXdlci1jb250YWluZXJcbiAgKm5nSWY9XCIhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmIGlzRGVza3RvcCAmJiAhaXNJZnJhbWVcIlxuICBjbGFzcz1cImV4YW1wbGUtY29udGFpbmVyXCJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XCJcbiAgKGJhY2tkcm9wQ2xpY2spPVwib3BlbmVkID0gZmFsc2VcIlxuICBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj5cbiAgPG1hdC1kcmF3ZXJcbiAgICAjZHJhd2VyXG4gICAgc3R5bGU9XCJ3aWR0aDogNTgwcHhcIlxuICAgIFtvcGVuZWRdPVwib3BlbmVkXCJcbiAgICBbbW9kZV09XCInc2lkZSdcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkbWluVGFic1wiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC1kcmF3ZXI+XG4gIDxtYXQtZHJhd2VyLWNvbnRlbnQgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCIhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmICFyZWxvYWRpbmdcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgICAgIGFkbWluLnNjcm9sbGFibGVFbmFibGVkID8gY29udGVudCA6IGNvbnRlbnROb1Njcm9sbFxuICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRyYXdlci1jb250ZW50PlxuPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksWUFBWSxFQUFJLFlBQVksRUFBZ0IsS0FBSyxFQUFjLE1BQU0sRUFBSSxTQUFTLEVBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUN2SyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFN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QUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUEyRDFDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUhBQWlIIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgICBDaGFuZ2VEZXRlY3RvclJlZiwgICBDb21wb25lbnQsICAgRXZlbnRFbWl0dGVyLCAgIEhvc3RMaXN0ZW5lciwgICBJbmplY3RvciwgICBJbnB1dCwgICBPbkluaXQsICAgT3V0cHV0LCAgIFZpZXdDaGlsZCwgICBpbmplY3QsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEhlbHBlcnMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFRhb25BZG1pblNlcnZpY2UgfSBmcm9tICcuL3Rhb24tYWRtaW4uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yIH0gZnJvbSAndGFvbi1zdG9yYWdlL2Jyb3dzZXInO1xuaW1wb3J0IHsgICBDZGtEcmFnLCAgIENka0RyYWdFbmQsICAgQ2RrRHJhZ01vdmUsICAgQ2RrRHJhZ1JlbGVhc2UsICAgUG9pbnQsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCcmVha3BvaW50c1NlcnZpY2UgfSBmcm9tICdzdGF0aWMtY29sdW1ucy9icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYW9uRnVsbE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vdGFvbi1mdWxsLW1hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBTdGF0aWNDb2x1bW5zTW9kdWxlIH0gZnJvbSAnc3RhdGljLWNvbHVtbnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5pbXBvcnQgeyBUYW9uUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICcuLi90YW9uLXByb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBUYW9uTm90aWZpY2F0aW9uc01vZHVsZSB9IGZyb20gJy4uL3Rhb24tbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgeyBUYW9uU2Vzc2lvblBhc3Njb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFvbi1zZXNzaW9uLXBhc3Njb2RlJztcblxuXG5cbmRlY2xhcmUgY29uc3QgRU5WOiBhbnk7XG5AQ29tcG9uZW50KHtcblxuICBzZWxlY3RvcjogJ3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdGF0aWNDb2x1bW5zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nU2Nyb2xsYmFyTW9kdWxlLFxuICAgIFRhb25Qcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBUYW9uTm90aWZpY2F0aW9uc01vZHVsZSxcbiAgICBUYW9uRnVsbE1hdGVyaWFsTW9kdWxlLCAvLyBUT0RPIGltcG9ydCBvbmx5IHBhcnRpYWwgdGhpbmdzXG5cbiAgICBUYW9uU2Vzc2lvblBhc3Njb2RlQ29tcG9uZW50LFxuICBdLFxuXG59KVxuZXhwb3J0IGNsYXNzIFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAkZGVzdHJveSA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFvbkFkbWluU2VydmljZTogVGFvbkFkbWluU2VydmljZSA9XG4gICAgVGFvbkFkbWluU2VydmljZS5JbnN0YW5jZTtcbiAgcHVibGljIHJlYWRvbmx5IGlzRGVza3RvcDogYm9vbGVhbjtcbiAgcHVibGljIGlzV2ViU1FMTW9kZTogYm9vbGVhbiA9IEhlbHBlcnMuaXNXZWJTUUw7XG4gIHB1YmxpYyBoaWRlVGFvblRvb2xzSW5Qcm9kdWN0aW9uOiBib29sZWFuID1cbiAgICBFTlYuaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvbiAmJiBFTlYuYW5ndWxhclByb2Q7XG4gIHB1YmxpYyBpc0lmcmFtZTogYm9vbGVhbiA9IHdpbmRvdy5sb2NhdGlvbiAhPT0gd2luZG93LnBhcmVudC5sb2NhdGlvbjtcbiAgcHVibGljIGhlaWdodDogbnVtYmVyID0gMTAwO1xuICBwdWJsaWMgb3BlbmVkT25jZSA9IGZhbHNlO1xuICBwdWJsaWMgcmVsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UGFzc2NvZGU6IGJvb2xlYW4gPVxuICAgIF8uaXNTdHJpbmcoRU5WLnBhc3Njb2RlKSB8fCBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSk7XG4gIHB1YmxpYyBwYXNzY29kZTogc3RyaW5nID0gXy5pc1N0cmluZyhFTlYucGFzc2NvZGUpXG4gICAgPyBFTlYucGFzc2NvZGVcbiAgICA6IF8uaXNPYmplY3QoRU5WLnBhc3Njb2RlKVxuICAgICAgPyBFTlYucGFzc2NvZGUuY29kZVxuICAgICAgOiAnJztcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZyA9IF8uaXNPYmplY3QoRU5WLnBhc3Njb2RlKVxuICAgID8gRU5WLnBhc3Njb2RlLm1lc3NhZ2VcbiAgICA6IHZvaWQgMDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKDApKVxuICBkcmFnUG9zaXRpb25YOiBudW1iZXI7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZSgwKSlcbiAgZHJhZ1Bvc2l0aW9uWTogbnVtYmVyO1xuXG4gIGRyYWdQb3NpdGlvblplcm8gPSB7IHg6IDAsIHk6IDAgfSBhcyBQb2ludDtcbiAgZHJhZ1Bvc2l0aW9uOiBQb2ludDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKDApKVxuICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKGZhbHNlKSlcbiAgd2FzT3BlbkRyYWdnYWJsZVBvcHVwOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSB0YW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkRhdGFDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB0YW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkRhdGE6IGFueSA9IHt9O1xuICBwdWJsaWMgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNJZnJhbWUgJiYgdGhpcy50YW9uQWRtaW5TZXJ2aWNlLmFkbWluUGFuZWxJc09wZW47XG4gIH1cbiAgcHVibGljIHNldCBvcGVuZWQodikge1xuICAgIGlmICh2ICYmICF0aGlzLm9wZW5lZE9uY2UpIHtcbiAgICAgIHRoaXMub3BlbmVkT25jZSA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLndhc09wZW5EcmFnZ2FibGVQb3B1cCkge1xuICAgICAgdGhpcy53YXNPcGVuRHJhZ2dhYmxlUG9wdXAgPSBmYWxzZTtcbiAgICAgIHRoaXMudGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnRhb25BZG1pblNlcnZpY2UuYWRtaW5QYW5lbElzT3BlbiA9IHY7XG4gIH1cblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBicmVha3BvaW50c1NlcnZpY2U6IEJyZWFrcG9pbnRzU2VydmljZSkge1xuICAgIHRoaXMuYnJlYWtwb2ludHNTZXJ2aWNlXG4gICAgICAubGlzdGVuVG8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuJGRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZShicmVha3BvaW50ID0+IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLmlzRGVza3RvcCA9IGJyZWFrcG9pbnQgPT09ICdkZXNrdG9wJztcbiAgICAgIH0pO1xuICB9XG5cblxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGF3YWl0IFN0b3IuYXdhaXRQZW5kaW5nT3BlcmF0aW9zKCk7XG5cblxuXG4gICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7IHg6IHRoaXMuZHJhZ1Bvc2l0aW9uWCwgeTogdGhpcy5kcmFnUG9zaXRpb25ZIH07XG4gICAgdGhpcy5vcGVuZWRPbmNlID0gdGhpcy5vcGVuZWQ7XG5cblxuXG5cblxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIG5nQWZ0ZXJDb250ZW50SW5pdCB3aGVuIHRoZSBjb21wb25lbnQncyB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdJbml0JyB0byB0aGUgY2xhc3MuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuXG4gICAgICBpZiAodGhpcy50YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSkge1xuICAgICAgICB0aGlzLnJlbG9hZFRhYnMoKTtcbiAgICAgIH1cblxuXG5cblxuXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRkZXN0cm95Lm5leHQodm9pZCAwKTtcbiAgICB0aGlzLiRkZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIH1cblxuXG5cblxuICBhc3luYyByZWxvYWRUYWJzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBjb25zb2xlLmxvZygncmVsb2FkaW5nIGRvbmUnKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB0b29nbGUoKSB7XG5cbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcbiAgfVxuXG4gIGFzeW5jIHRvb2dsZUZ1bGxTY3JlZW4oKSB7XG4gICAgdGhpcy50YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSA9IHRydWU7XG4gICAgdGhpcy50YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4gPVxuICAgICAgIXRoaXMudGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuO1xuICAgIHRoaXMucmVzZXREcmFnKCk7XG4gIH1cblxuICByZXNldERyYWcoKSB7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25YID0gMDtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblkgPSAwO1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0geyB4OiB0aGlzLmRyYWdQb3NpdGlvblgsIHk6IHRoaXMuZHJhZ1Bvc2l0aW9uWSB9O1xuICB9XG5cbiAgbW92ZWQoYzogQ2RrRHJhZ0VuZCkge1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWCArPSBjLmRpc3RhbmNlLng7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25ZICs9IGMuZGlzdGFuY2UueTtcbiAgfVxuXG4gIHNjcm9sbFRhYnMoZXZlbnQpIHtcbiAgICByZXR1cm47XG5cblxuXG5cblxuXG5cblxuXG5cbiAgfVxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIjwhLS0gI3JlZ2lvbiBiYXNpYyBnbG9iYWwgY29tcG9uZW50cyAgLS0+XG48dGFvbi1zZXNzaW9uLXBhc3Njb2RlXG4gICpuZ0lmPVwic2hvd1Bhc3Njb2RlXCJcbiAgW3Bhc3Njb2RlXT1cInBhc3Njb2RlXCJcbiAgW21lc3NhZ2VdPVwibWVzc2FnZVwiIC8+XG48IS0tIDx0YW9uLXByb2dyZXNzLWJhciBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiPjwvdGFvbi1wcm9ncmVzcy1iYXI+IC0tPlxuPCEtLSA8dGFvbi1ub3RpZmljYXRpb25zPjwvdGFvbi1ub3RpZmljYXRpb25zPiAtLT5cbjxidXR0b25cbiAgbWF0LWZhYlxuICBjbGFzcz1cImZhYi1idXR0b25cIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIGFyaWEtbGFiZWw9XCJUYW9uIEFkbWluIE1vZGVcIlxuICAqbmdJZj1cIlxuICAgICF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSAmJlxuICAgIGlzRGVza3RvcCAmJlxuICAgICFpc0lmcmFtZSAmJlxuICAgICFoaWRlVGFvblRvb2xzSW5Qcm9kdWN0aW9uXG4gIFwiXG4gIChjbGljayk9XCJ0b29nbGUoKVwiPlxuICA8bWF0LWljb24+YnVpbGQ8L21hdC1pY29uPlxuPC9idXR0b24+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBzbWFsbCBoaWRkZW4gYnV0dG9uIC0tPlxuPCEtLSA8YnV0dG9uIGNsYXNzPVwiYWRtaW4tc2hvdy1idXR0b25cIlxuICAgICAgICAqbmdJZj1cIiF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSAmJiBpc0Rlc2t0b3BcIlxuICAgICAgICAoY2xpY2spPVwidG9vZ2xlKClcIj4gQWRtaW4gPC9idXR0b24+IC0tPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnROb1Njcm9sbD5cbiAgPG5nLWNvbnRlbnQ+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLXNjcm9sbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnROb1Njcm9sbFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXNjcm9sbGJhcj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gI3JlZ2lvbiBhZG1pbiB0YWJzIC0tPlxuPG5nLXRlbXBsYXRlICNhZG1pblRhYnM+XG4gIDwhLS0gI3JlZ2lvbiBhZG1pbiB0YWJzIC8gaGVhZGVyIC0tPlxuICA8ZGl2IGNsYXNzPVwidGFvbi1oZWFkZXItYWRtaW4td3JhcHBlclwiPlxuICAgIDxjb2x1bW5zLWNvbnRhaW5lclxuICAgICAgY2xhc3M9XCJ0YW9uLWhlYWRlci1hZG1pblwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdkcmFnZ2FibGUtY29sdW1uJzogdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgICAgPGNvbHVtblxuICAgICAgICB3aWR0aD1cIjIwMFwiXG4gICAgICAgIGNsYXNzPVwibG9nby1oZWFkZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICpuZ0lmPVwib3BlbmVkT25jZVwiXG4gICAgICAgICAgc3JjPVwiL1RUVFRUVFRUT09PT09PT09fX19fX19fX1JSUlJSUlJSRUVFRUVFRUVNTU1NTU1NTU9PT09PT09PVlZWVlZWVlZFRUVFRUVFRWFzc2V0cy9hc3NldHMtZm9yL3Rhb24vc2hhcmVkL2xvZ28taGVhZGVyLWFkbWluLW1vZGUucG5nXCIgLz5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uIGdyb3c+XG4gICAgICAgIDwhLS0gPHNwYW4+U3VwZXIgQWRtaW4gTW9kZTwvc3Bhbj4gLS0+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtblxuICAgICAgICB3aWR0aD1cIjQwXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmXG4gICAgICAgICAgIXRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlXG4gICAgICAgIFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJ0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIG9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgd2FzT3BlbkRyYWdnYWJsZVBvcHVwID0gdHJ1ZVxuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2UgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIXRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlKClcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtbiB3aWR0aD1cIjQwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlRnVsbFNjcmVlbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwidGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvb2dsZUZ1bGxTY3JlZW4oKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZV9mdWxsc2NyZWVuPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtblxuICAgICAgICB3aWR0aD1cIjQwXCJcbiAgICAgICAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlID0gdHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24+bGF1bmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwidGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJ0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSA9IGZhbHNlOyByZXNldERyYWcoKVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXCI+bG9naW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuICAgIDwvY29sdW1ucy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8IS0tICNlbmRyZWdpb24gLS0+XG5cbiAgPGNvbHVtbnMtY29udGFpbmVyXG4gICAgW25nQ2xhc3NdPVwieyAnZHJhZ2dhYmxlLWNvbHVtbic6IHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlIH1cIj5cbiAgICA8Y29sdW1uIGdyb3c+XG4gICAgICA8bWF0LXRhYi1ncm91cFxuICAgICAgICBkeW5hbWljSGVpZ2h0XG4gICAgICAgICh3aGVlbCk9XCJzY3JvbGxUYWJzKCRldmVudClcIlxuICAgICAgICAjdGFiR3JvdXBcbiAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRJbmRleFwiXG4gICAgICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cInNlbGVjdGVkSW5kZXggPSAkZXZlbnRcIj5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJEQi9DYWNoZVwiPlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZT5XRUJTUUwgTU9ERTwvbWF0LWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzV2ViU1FMTW9kZVwiXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0YW9uQWRtaW5TZXJ2aWNlLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZFwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB0YW9uQWRtaW5TZXJ2aWNlLnNldEtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZChcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgIERvbid0IHJlbW92ZSBkYXRhIHdoZW4gcmVsb2FkaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDx0YW9uLWRiLWFkbWluIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICA8L2NvbHVtbj5cbiAgPC9jb2x1bW5zLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBzbWFsbC9tb2JpbGUgZHJhZ2dhYmxlIHBvcHVwIHdpbmRvd3MgLS0+XG48ZGl2XG4gIGNsYXNzPVwiZHJhZ2dhYmxlLXBvcHVwLW1vZGUtd2luZG93XCJcbiAgKm5nSWY9XCJcbiAgICB0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSAmJlxuICAgICF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4gJiZcbiAgICAhaXNJZnJhbWVcbiAgXCJcbiAgY2RrRHJhZ1xuICBbY2RrRHJhZ0ZyZWVEcmFnUG9zaXRpb25dPVwiZHJhZ1Bvc2l0aW9uXCJcbiAgKGNka0RyYWdFbmRlZCk9XCJtb3ZlZCgkZXZlbnQpXCI+XG4gIDxuZy1zY3JvbGxiYXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhZG1pblRhYnNcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1zY3JvbGxiYXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGZ1bGxzY3JlZW4gZHJhZ2dhYmxlIHBvcHVwIHdpbmRvdyAtLT5cbjxkaXZcbiAgY2xhc3M9XCJkcmFnZ2FibGUtcG9wdXAtbW9kZS13aW5kb3ctZnVsbFwiXG4gICpuZ0lmPVwiXG4gICAgdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICB0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4gJiZcbiAgICAhaXNJZnJhbWUgJiZcbiAgICAhcmVsb2FkaW5nXG4gIFwiXG4gIGNka0RyYWdcbiAgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblplcm9cIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhZG1pblRhYnNcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gY29udGVudCB3aGVuIG5vdCBpbiBkcmFnZ2FibGUgKG9yIGZ1bGxzY3JlZW4gZHJhZ2dhYmxlKSBwb3B1cCAtLT5cbjxkaXZcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICAqbmdJZj1cIlxuICAgIChpc0lmcmFtZSB8fFxuICAgICAgIWlzRGVza3RvcCB8fFxuICAgICAgdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgfHxcbiAgICAgIHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbikgJiZcbiAgICAhcmVsb2FkaW5nXG4gIFwiXG4gIHN0eWxlPVwid2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrXCJcbiAgY2xhc3M9XCJjb250ZW50XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgIHRhb25BZG1pblNlcnZpY2Uuc2Nyb2xsYWJsZUVuYWJsZWQgPyBjb250ZW50IDogY29udGVudE5vU2Nyb2xsXG4gICAgXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3cgLS0+XG48bWF0LWRyYXdlci1jb250YWluZXJcbiAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgaXNEZXNrdG9wICYmICFpc0lmcmFtZVwiXG4gIGNsYXNzPVwiZXhhbXBsZS1jb250YWluZXJcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcIlxuICAoYmFja2Ryb3BDbGljayk9XCJvcGVuZWQgPSBmYWxzZVwiXG4gIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiPlxuICA8bWF0LWRyYXdlclxuICAgICNkcmF3ZXJcbiAgICBzdHlsZT1cIndpZHRoOiA1ODBweFwiXG4gICAgW29wZW5lZF09XCJvcGVuZWRcIlxuICAgIFttb2RlXT1cIidzaWRlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRyYXdlcj5cbiAgPG1hdC1kcmF3ZXItY29udGVudCBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSAmJiAhcmVsb2FkaW5nXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICB0YW9uQWRtaW5TZXJ2aWNlLnNjcm9sbGFibGVFbmFibGVkID8gY29udGVudCA6IGNvbnRlbnROb1Njcm9sbFxuICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRyYXdlci1jb250ZW50PlxuPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cbiJdfQ==
@@ -2,11 +2,12 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { Stor } from 'taon-storage/browser';
3
3
  import { Helpers } from 'tnp-core/browser';
4
4
  import { Subject } from 'rxjs';
5
- import { Injectable } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
5
  const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
8
6
  export class TaonAdminService {
9
7
  static get Instance() {
8
+ if (!this._instance) {
9
+ this._instance = new TaonAdminService();
10
+ }
10
11
  return this._instance;
11
12
  }
12
13
  constructor() {
@@ -32,8 +33,6 @@ export class TaonAdminService {
32
33
  this.adminPanelIsOpen = true;
33
34
  }
34
35
  logout() { }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
37
36
  }
38
37
  __decorate([
39
38
  (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
@@ -51,10 +50,6 @@ __decorate([
51
50
  (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
52
51
  __metadata("design:type", Boolean)
53
52
  ], TaonAdminService.prototype, "keepWebsqlDbDataAfterReload", void 0);
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
55
- type: Injectable,
56
- args: [{ providedIn: 'root' }]
57
- }], ctorParameters: () => [] });
58
53
  ;
59
54
  ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin.service.ts
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFHcEIsTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFxQ0Q7UUFqQ08sc0JBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsd0JBQXdCO1FBQ2xELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWlEN0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFqQmYsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQztJQUN4RCxDQUFDO0lBSUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQWM7UUFJM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBSUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxLQUFJLENBQUM7OEdBeEVBLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs7QUFpQnZCO0lBRE4sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7OzBEQUM3QztBQU0xQjtJQUROLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOzs0REFDM0M7QUFNNUI7SUFETixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7c0VBQ2pDO0FBUXRDO0lBRE4sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7O3FFQUNsQzsyRkFwQ2pDLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBNkVqQyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDRGQUE0RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IFN0b3IgfSBmcm9tICd0YW9uLXN0b3JhZ2UvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IGdsb2JhbFB1YmxpY1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9zdG9yYWdlJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuY29uc3QgRU5WID0gSGVscGVycy5pc0Jyb3dzZXIgPyB3aW5kb3dbJ0VOViddIDogZ2xvYmFsWydFTlYnXTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYW9uQWRtaW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IFRhb25BZG1pblNlcnZpY2U7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZTtcbiAgfVxuXG5cblxuICBwdWJsaWMgc2Nyb2xsYWJsZUVuYWJsZWQgPSBmYWxzZTsgLy8gVE9PRCBmYWxzZSBieSBkZWZhdWx0XG4gIHByaXZhdGUgb25FZGl0TW9kZSA9IG5ldyBTdWJqZWN0KCk7XG4gIG9uRWRpdE1vZGUkID0gdGhpcy5vbkVkaXRNb2RlLmFzT2JzZXJ2YWJsZSgpO1xuXG5cblxuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlLmZvcihUYW9uQWRtaW5TZXJ2aWNlKS53aXRoRGVmYXVsdFZhbHVlKGZhbHNlKSlcbiAgcHVibGljIGFkbWluUGFuZWxJc09wZW46IGJvb2xlYW47XG5cblxuXG5cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBkcmFnZ2FibGVQb3B1cE1vZGU6IGJvb2xlYW47XG5cblxuXG5cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBkcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuOiBib29sZWFuO1xuXG5cblxuICAvKipcbiAgICogUHJvcGVydHkgdXNlZCBpbiB0YW9uXG4gICAqL1xuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlLmZvcihUYW9uQWRtaW5TZXJ2aWNlKS53aXRoRGVmYXVsdFZhbHVlKGZhbHNlKSlcbiAgcHVibGljIGtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZDogYm9vbGVhbjtcblxuXG5cblxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIFRhb25BZG1pblNlcnZpY2UuX2luc3RhbmNlID0gdGhpcztcbiAgICB0aGlzLnNjcm9sbGFibGVFbmFibGVkID0gISFFTlY/LnVzZUdsb2JhbE5neFNjcm9sbGJhcjtcbiAgfVxuXG5cblxuICBzZXRFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMub25FZGl0TW9kZS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHNldEtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZCh2YWx1ZTogYm9vbGVhbikge1xuXG5cblxuICAgIHRoaXMua2VlcFdlYnNxbERiRGF0YUFmdGVyUmVsb2FkID0gdmFsdWU7XG4gIH1cblxuICBlbmFibGVkVGFicyA9IFtdO1xuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5kcmFnZ2FibGVQb3B1cE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmFkbWluUGFuZWxJc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5kcmFnZ2FibGVQb3B1cE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmFkbWluUGFuZWxJc09wZW4gPSB0cnVlO1xuICB9XG5cbiAgbG9nb3V0KCkge31cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi5zZXJ2aWNlLnRzIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBT3JELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFHcEIsTUFBTSxLQUFLLFFBQVE7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFxQ0Q7UUFqQ08sc0JBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsd0JBQXdCO1FBQ2xELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWlEN0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFqQmYsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQztJQUN4RCxDQUFDO0lBSUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQWM7UUFJM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBSUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxLQUFJLENBQUM7Q0FFWjtBQTFEUTtJQUROLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOzswREFDN0M7QUFNMUI7SUFETixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7NERBQzNDO0FBTTVCO0lBRE4sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7O3NFQUNqQztBQVF0QztJQUROLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOztxRUFDbEM7QUF3QzdDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEZBQTRGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgU3RvciB9IGZyb20gJ3Rhb24tc3RvcmFnZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2xvYmFsUHVibGljU3RvcmFnZSB9IGZyb20gJy4uLy4uL3N0b3JhZ2UnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5jb25zdCBFTlYgPSBIZWxwZXJzLmlzQnJvd3NlciA/IHdpbmRvd1snRU5WJ10gOiBnbG9iYWxbJ0VOViddO1xuXG5cbmV4cG9ydCBjbGFzcyBUYW9uQWRtaW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IFRhb25BZG1pblNlcnZpY2U7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCkge1xuICAgIGlmICghdGhpcy5faW5zdGFuY2UpIHtcblxuICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgVGFvbkFkbWluU2VydmljZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XG4gIH1cblxuXG5cbiAgcHVibGljIHNjcm9sbGFibGVFbmFibGVkID0gZmFsc2U7IC8vIFRPT0QgZmFsc2UgYnkgZGVmYXVsdFxuICBwcml2YXRlIG9uRWRpdE1vZGUgPSBuZXcgU3ViamVjdCgpO1xuICBvbkVkaXRNb2RlJCA9IHRoaXMub25FZGl0TW9kZS5hc09ic2VydmFibGUoKTtcblxuXG5cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBhZG1pblBhbmVsSXNPcGVuOiBib29sZWFuO1xuXG5cblxuXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2UuZm9yKFRhb25BZG1pblNlcnZpY2UpLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpKVxuICBwdWJsaWMgZHJhZ2dhYmxlUG9wdXBNb2RlOiBib29sZWFuO1xuXG5cblxuXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2UuZm9yKFRhb25BZG1pblNlcnZpY2UpLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpKVxuICBwdWJsaWMgZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbjogYm9vbGVhbjtcblxuXG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IHVzZWQgaW4gdGFvblxuICAgKi9cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBrZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQ6IGJvb2xlYW47XG5cblxuXG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBUYW9uQWRtaW5TZXJ2aWNlLl9pbnN0YW5jZSA9IHRoaXM7XG4gICAgdGhpcy5zY3JvbGxhYmxlRW5hYmxlZCA9ICEhRU5WPy51c2VHbG9iYWxOZ3hTY3JvbGxiYXI7XG4gIH1cblxuXG5cbiAgc2V0RWRpdE1vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9uRWRpdE1vZGUubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBzZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQodmFsdWU6IGJvb2xlYW4pIHtcblxuXG5cbiAgICB0aGlzLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZCA9IHZhbHVlO1xuICB9XG5cbiAgZW5hYmxlZFRhYnMgPSBbXTtcblxuICBoaWRlKCkge1xuICAgIHRoaXMuZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZG1pblBhbmVsSXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICBzaG93KCkge1xuICAgIHRoaXMuZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZG1pblBhbmVsSXNPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIGxvZ291dCgpIHt9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uL3Rhb24tYWRtaW4uc2VydmljZS50cyJdfQ==