@secrecy/lib 1.0.0-dev.25 → 1.0.0-dev.28

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 (155) hide show
  1. package/dist/BaseClient.d.ts +274 -0
  2. package/dist/BaseClient.js +2227 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +213 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +113 -0
  7. package/dist/cache.d.ts +7 -0
  8. package/dist/cache.js +5 -0
  9. package/dist/client/admin/index.d.ts +11 -0
  10. package/dist/client/admin/index.js +198 -0
  11. package/dist/client/convert/file.d.ts +5 -0
  12. package/dist/client/convert/file.js +39 -0
  13. package/dist/client/convert/folder.d.ts +8 -0
  14. package/dist/client/convert/folder.js +264 -0
  15. package/dist/client/convert/mail.d.ts +3 -0
  16. package/dist/client/convert/mail.js +46 -0
  17. package/dist/client/convert/vFile.d.ts +5 -0
  18. package/dist/client/convert/vFile.js +164 -0
  19. package/dist/client/helpers.d.ts +23 -0
  20. package/dist/client/helpers.js +114 -0
  21. package/dist/client/index.d.ts +172 -0
  22. package/dist/client/index.js +6169 -0
  23. package/dist/client/storage.d.ts +7 -0
  24. package/dist/client/storage.js +12 -0
  25. package/dist/client/types/File.d.ts +21 -0
  26. package/dist/client/types/File.js +3 -0
  27. package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
  28. package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
  29. package/dist/client/types/Folder.d.ts +68 -0
  30. package/dist/client/types/Folder.js +7 -0
  31. package/dist/client/types/Inputs.d.ts +21 -0
  32. package/dist/client/types/Inputs.js +3 -0
  33. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  34. package/dist/client/types/UserAppNotifications.js +3 -0
  35. package/dist/client/types/UserAppSettings.d.ts +7 -0
  36. package/dist/client/types/UserAppSettings.js +3 -0
  37. package/dist/client/types/VFile.d.ts +62 -0
  38. package/dist/client/types/VFile.js +4 -0
  39. package/dist/client/types/index.d.ts +154 -0
  40. package/dist/client/types/index.js +10 -0
  41. package/dist/client/types/queries.d.ts +535 -0
  42. package/dist/client/types/queries.js +192 -0
  43. package/dist/crypto/file.d.ts +14 -0
  44. package/dist/crypto/file.js +291 -0
  45. package/dist/crypto/index.d.ts +12 -0
  46. package/dist/crypto/index.js +45 -0
  47. package/dist/error.d.ts +30 -0
  48. package/dist/error.js +3 -0
  49. package/dist/index.d.ts +13 -3857
  50. package/dist/index.js +42 -255
  51. package/dist/minify/index.d.ts +2 -0
  52. package/dist/minify/index.js +28 -0
  53. package/dist/minify/lz4.d.ts +5 -0
  54. package/dist/minify/lz4.js +633 -0
  55. package/dist/sodium.d.ts +3 -0
  56. package/dist/sodium.js +28 -0
  57. package/dist/utils/store-buddy.d.ts +14 -0
  58. package/dist/utils/store-buddy.js +69 -0
  59. package/dist/utils/time.d.ts +10 -0
  60. package/dist/utils/time.js +22 -0
  61. package/dist/utils.d.ts +4 -0
  62. package/dist/utils.js +188 -0
  63. package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
  64. package/dist/worker/__mock__/sodium.worker.js +46 -0
  65. package/dist/worker/md5.d.ts +1 -0
  66. package/dist/worker/md5.js +43 -0
  67. package/dist/worker/sodium.d.ts +3 -0
  68. package/dist/worker/sodium.js +155 -0
  69. package/dist/worker/workerCodes.d.ts +2 -0
  70. package/dist/worker/workerCodes.js +3 -0
  71. package/dist/zeus/const.d.ts +2 -0
  72. package/dist/zeus/const.js +2267 -0
  73. package/dist/zeus/index.d.ts +4043 -0
  74. package/dist/zeus/index.js +549 -0
  75. package/package.json +24 -16
  76. package/CHANGELOG.md +0 -178
  77. package/__tests__/client/client.test.ts +0 -81
  78. package/__tests__/client/folder.test.ts +0 -302
  79. package/__tests__/client/mail.test.ts +0 -476
  80. package/__tests__/client/timing.test.ts +0 -35
  81. package/__tests__/client/utils.ts +0 -41
  82. package/__tests__/client/vFile.test.ts +0 -207
  83. package/__tests__/index.test.ts +0 -171
  84. package/commitlint.config.cjs +0 -3
  85. package/dist/index.js.map +0 -1
  86. package/dist/index.mjs +0 -255
  87. package/dist/index.mjs.map +0 -1
  88. package/docs/assets/css/main.css +0 -2660
  89. package/docs/assets/images/icons.png +0 -0
  90. package/docs/assets/images/icons@2x.png +0 -0
  91. package/docs/assets/images/widgets.png +0 -0
  92. package/docs/assets/images/widgets@2x.png +0 -0
  93. package/docs/assets/js/main.js +0 -248
  94. package/docs/assets/js/search.js +0 -1
  95. package/docs/classes/baseclient.baseclient-1.html +0 -1165
  96. package/docs/classes/client.secrecyclient.html +0 -2527
  97. package/docs/enums/index.sodium.base64_variants.html +0 -205
  98. package/docs/index.html +0 -198
  99. package/docs/interfaces/client_types.draftmail.html +0 -335
  100. package/docs/interfaces/client_types.filecontentbase.html +0 -231
  101. package/docs/interfaces/client_types.filecontentcloud.html +0 -244
  102. package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
  103. package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
  104. package/docs/interfaces/client_types.receivedmail.html +0 -363
  105. package/docs/interfaces/client_types.sentmail.html +0 -335
  106. package/docs/interfaces/crypto.keypair.html +0 -202
  107. package/docs/interfaces/index.sodium.cryptobox.html +0 -185
  108. package/docs/interfaces/index.sodium.cryptokx.html +0 -185
  109. package/docs/interfaces/index.sodium.keypair.html +0 -199
  110. package/docs/interfaces/index.sodium.messagetag.html +0 -185
  111. package/docs/interfaces/index.sodium.secretbox.html +0 -185
  112. package/docs/interfaces/index.sodium.stateaddress.html +0 -171
  113. package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
  114. package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
  115. package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
  116. package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
  117. package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
  118. package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
  119. package/docs/modules/baseclient.html +0 -929
  120. package/docs/modules/cache.html +0 -185
  121. package/docs/modules/client.html +0 -207
  122. package/docs/modules/client_convert_file.html +0 -216
  123. package/docs/modules/client_convert_folder.html +0 -303
  124. package/docs/modules/client_convert_vfile.html +0 -216
  125. package/docs/modules/client_helpers.html +0 -311
  126. package/docs/modules/client_storage.html +0 -167
  127. package/docs/modules/client_types.html +0 -1227
  128. package/docs/modules/client_types_file.html +0 -233
  129. package/docs/modules/client_types_filesonusersonapplications.html +0 -168
  130. package/docs/modules/client_types_folder.html +0 -383
  131. package/docs/modules/client_types_inputs.html +0 -263
  132. package/docs/modules/client_types_mail.html +0 -181
  133. package/docs/modules/client_types_queries.html +0 -199
  134. package/docs/modules/client_types_userappsettings.html +0 -163
  135. package/docs/modules/client_types_vfile.html +0 -364
  136. package/docs/modules/crypto.html +0 -366
  137. package/docs/modules/crypto_file.html +0 -344
  138. package/docs/modules/index.html +0 -779
  139. package/docs/modules/index.sodium.html +0 -6039
  140. package/docs/modules/minify.html +0 -183
  141. package/docs/modules/minify_lz4.html +0 -279
  142. package/docs/modules/popuptools.html +0 -259
  143. package/docs/modules/sodium.html +0 -167
  144. package/docs/modules/utils.html +0 -219
  145. package/docs/modules/utils_store_buddy.html +0 -208
  146. package/docs/modules/utils_time.html +0 -330
  147. package/docs/modules/worker_md5.html +0 -156
  148. package/docs/modules/worker_sodium.html +0 -231
  149. package/docs/modules/worker_workercodes.html +0 -157
  150. package/docs/modules.html +0 -235
  151. package/index.html +0 -21
  152. package/jest.config.ts +0 -27
  153. package/jest.setup.ts +0 -6
  154. package/release.config.cjs +0 -15
  155. package/tsup.config.ts +0 -23
@@ -0,0 +1,7 @@
1
+ import type { KeyPair } from "../index.js";
2
+ import type { StoreBuddy } from "../utils/store-buddy.js";
3
+ export declare function getStorage(session?: boolean | undefined): {
4
+ userAppKeys: StoreBuddy<KeyPair | null>;
5
+ userAppSession: StoreBuddy<string | null>;
6
+ jwt: StoreBuddy<string | null>;
7
+ };
@@ -0,0 +1,12 @@
1
+ import { storeBuddy } from "../utils/store-buddy.js";
2
+ export function getStorage(session) {
3
+ var userAppSession = storeBuddy("secrecy.user_app_session", session).init(null);
4
+ var userAppKeys = storeBuddy("secrecy.user_app_keys", session).init(null);
5
+ var jwt = storeBuddy("secrecy.jwt", session).init(null);
6
+ return {
7
+ userAppKeys: userAppKeys,
8
+ userAppSession: userAppSession,
9
+ jwt: jwt
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsVUFBVCxRQUEyQix5QkFBM0I7QUFFQSxPQUFPLFNBQVNDLFVBQVQsQ0FBb0JDLE9BQXBCLEVBSUw7QUFDQSxNQUFNQyxjQUFjLEdBQUdILFVBQVUsNkJBRS9CRSxPQUYrQixDQUFWLENBR3JCRSxJQUhxQixDQUdoQixJQUhnQixDQUF2QjtBQUlBLE1BQU1DLFdBQVcsR0FBR0wsVUFBVSwwQkFFNUJFLE9BRjRCLENBQVYsQ0FHbEJFLElBSGtCLENBR2IsSUFIYSxDQUFwQjtBQUlBLE1BQU1FLEdBQUcsR0FBR04sVUFBVSxnQkFBK0JFLE9BQS9CLENBQVYsQ0FBa0RFLElBQWxELENBQXVELElBQXZELENBQVo7QUFDQSxTQUFPO0FBQUVDLElBQUFBLFdBQVcsRUFBWEEsV0FBRjtBQUFlRixJQUFBQSxjQUFjLEVBQWRBLGNBQWY7QUFBK0JHLElBQUFBLEdBQUcsRUFBSEE7QUFBL0IsR0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcbmltcG9ydCB7IHN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0b3JhZ2Uoc2Vzc2lvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB7XG4gIHVzZXJBcHBLZXlzOiBTdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPjtcbiAgdXNlckFwcFNlc3Npb246IFN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD47XG4gIGp3dDogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbn0ge1xuICBjb25zdCB1c2VyQXBwU2Vzc2lvbiA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfc2Vzc2lvbmAsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IHVzZXJBcHBLZXlzID0gc3RvcmVCdWRkeTxLZXlQYWlyIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfa2V5c2AsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IGp3dCA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oYHNlY3JlY3kuand0YCwgc2Vzc2lvbikuaW5pdChudWxsKTtcbiAgcmV0dXJuIHsgdXNlckFwcEtleXMsIHVzZXJBcHBTZXNzaW9uLCBqd3QgfTtcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import type { FilesOnUsersOnApplications, GQLFilesOnUsersOnApplications } from "./FilesOnUsersOnApplications.js";
2
+ export declare type File = {
3
+ id: string;
4
+ size: bigint;
5
+ sizeBefore: bigint;
6
+ md5: string;
7
+ md5Encrypted: string;
8
+ createdAt: Date;
9
+ };
10
+ export declare type InternalFile = File & {
11
+ user: FilesOnUsersOnApplications | null;
12
+ };
13
+ export declare type GQLFile = {
14
+ id: string;
15
+ size: string;
16
+ sizeBefore: string;
17
+ createdAt: string;
18
+ md5: string;
19
+ md5Encrypted: string;
20
+ user?: GQLFilesOnUsersOnApplications | undefined;
21
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,9 @@
1
+ export declare type FilesOnUsersOnApplications = {
2
+ key: string;
3
+ userApp: {
4
+ keyPair?: {
5
+ pub: string;
6
+ };
7
+ };
8
+ };
9
+ export declare type GQLFilesOnUsersOnApplications = FilesOnUsersOnApplications;
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,68 @@
1
+ import type { Rights } from "../../zeus/index.js";
2
+ import type { PublicUser } from "./index.js";
3
+ import type { VFile, GQLVFile, InternalVFile } from "./VFile.js";
4
+ export declare type FoldersOnUsersOnApplications<T extends Record<string, unknown> = Record<string, unknown>> = T & {
5
+ rights: Rights;
6
+ isRoot: boolean;
7
+ userApp: {
8
+ user: {
9
+ id: string;
10
+ };
11
+ };
12
+ };
13
+ export declare type FolderBreadcrumbItem = {
14
+ id: string;
15
+ name: string;
16
+ pubKey: string;
17
+ };
18
+ declare type NameKey = {
19
+ nameKey?: string;
20
+ };
21
+ export declare type InternalFolderBreadcrumbItem = FolderBreadcrumbItem & NameKey;
22
+ export declare type Folder<T extends FolderBreadcrumbItem = FolderBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>> = {
23
+ id: string;
24
+ isFavorite: boolean;
25
+ createdAt: Date;
26
+ deletedAt: Date | null;
27
+ updatedAt: Date;
28
+ name: string;
29
+ breadcrumb: T[];
30
+ createdBy: PublicUser;
31
+ userApp?: FoldersOnUsersOnApplications<U>;
32
+ users: [PublicUser, Rights][];
33
+ };
34
+ export declare type FolderFull<T extends FolderBreadcrumbItem = FolderBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>, V extends Record<string, unknown> = VFile> = Folder<T, U> & {
35
+ vFiles: V[];
36
+ parentFolder: Folder<T, U> | null;
37
+ subfolders: Folder<T, U>[];
38
+ };
39
+ export declare type InternalFolder = Folder<InternalFolderBreadcrumbItem, NameKey>;
40
+ export declare type InternalFolderFull = FolderFull<InternalFolderBreadcrumbItem, NameKey, InternalVFile>;
41
+ export declare type GQLFolder = {
42
+ id: string;
43
+ isFavorite: boolean;
44
+ createdAt: string;
45
+ deletedAt?: string;
46
+ updatedAt: string;
47
+ name: string;
48
+ userApp?: FoldersOnUsersOnApplications<NameKey>;
49
+ createdBy: {
50
+ user: PublicUser;
51
+ };
52
+ userApps: {
53
+ rights: Rights;
54
+ isRoot: boolean;
55
+ userApp: {
56
+ user: PublicUser;
57
+ };
58
+ }[];
59
+ breadcrumb: InternalFolderBreadcrumbItem[];
60
+ };
61
+ export declare type GQLFolderFull = GQLFolder & {
62
+ vFiles: GQLVFile[];
63
+ parentFolder?: GQLFolder;
64
+ subfolders: GQLFolder[];
65
+ };
66
+ export declare function isFolder(obj: Folder | VFile): obj is Folder;
67
+ export declare function isFolderFull(obj: InternalFolder | InternalFolderFull): obj is FolderFull;
68
+ export {};
@@ -0,0 +1,7 @@
1
+ export function isFolder(obj) {
2
+ return "breadcrumb" in obj;
3
+ }
4
+ export function isFolderFull(obj) {
5
+ return "parentFolder" in obj && "subfolders" in obj && "vFiles" in obj;
6
+ }
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvRm9sZGVyLnRzIl0sIm5hbWVzIjpbImlzRm9sZGVyIiwib2JqIiwiaXNGb2xkZXJGdWxsIl0sIm1hcHBpbmdzIjoiQUF5RkEsT0FBTyxTQUFTQSxRQUFULENBQWtCQyxHQUFsQixFQUFzRDtBQUMzRCxTQUFPLGdCQUFnQkEsR0FBdkI7QUFDRDtBQUVELE9BQU8sU0FBU0MsWUFBVCxDQUNMRCxHQURLLEVBRWM7QUFDbkIsU0FBTyxrQkFBa0JBLEdBQWxCLElBQXlCLGdCQUFnQkEsR0FBekMsSUFBZ0QsWUFBWUEsR0FBbkU7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmlnaHRzIH0gZnJvbSBcIi4uLy4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgUHVibGljVXNlciB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFZGaWxlLCBHUUxWRmlsZSwgSW50ZXJuYWxWRmlsZSB9IGZyb20gXCIuL1ZGaWxlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIEZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnM8XG4gIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4+ID0gVCAmIHtcbiAgcmlnaHRzOiBSaWdodHM7XG4gIGlzUm9vdDogYm9vbGVhbjtcbiAgdXNlckFwcDoge1xuICAgIHVzZXI6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZvbGRlckJyZWFkY3J1bWJJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHB1YktleTogc3RyaW5nO1xufTtcblxudHlwZSBOYW1lS2V5ID0ge1xuICBuYW1lS2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxGb2xkZXJCcmVhZGNydW1iSXRlbSA9IEZvbGRlckJyZWFkY3J1bWJJdGVtICYgTmFtZUtleTtcblxuZXhwb3J0IHR5cGUgRm9sZGVyPFxuICBUIGV4dGVuZHMgRm9sZGVyQnJlYWRjcnVtYkl0ZW0gPSBGb2xkZXJCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJyZWFkY3J1bWI6IFRbXTtcbiAgY3JlYXRlZEJ5OiBQdWJsaWNVc2VyO1xuICB1c2VyQXBwPzogRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uczxVPjtcbiAgdXNlcnM6IFtQdWJsaWNVc2VyLCBSaWdodHNdW107XG59O1xuXG5leHBvcnQgdHlwZSBGb2xkZXJGdWxsPFxuICBUIGV4dGVuZHMgRm9sZGVyQnJlYWRjcnVtYkl0ZW0gPSBGb2xkZXJCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFZGaWxlXG4+ID0gRm9sZGVyPFQsIFU+ICYge1xuICB2RmlsZXM6IFZbXTtcbiAgcGFyZW50Rm9sZGVyOiBGb2xkZXI8VCwgVT4gfCBudWxsO1xuICBzdWJmb2xkZXJzOiBGb2xkZXI8VCwgVT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsRm9sZGVyID0gRm9sZGVyPEludGVybmFsRm9sZGVyQnJlYWRjcnVtYkl0ZW0sIE5hbWVLZXk+O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbEZvbGRlckZ1bGwgPSBGb2xkZXJGdWxsPFxuICBJbnRlcm5hbEZvbGRlckJyZWFkY3J1bWJJdGVtLFxuICBOYW1lS2V5LFxuICBJbnRlcm5hbFZGaWxlXG4+O1xuXG5leHBvcnQgdHlwZSBHUUxGb2xkZXIgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICBkZWxldGVkQXQ/OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHVzZXJBcHA/OiBGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zPE5hbWVLZXk+O1xuICBjcmVhdGVkQnk6IHtcbiAgICB1c2VyOiBQdWJsaWNVc2VyO1xuICB9O1xuICB1c2VyQXBwczoge1xuICAgIHJpZ2h0czogUmlnaHRzO1xuICAgIGlzUm9vdDogYm9vbGVhbjtcbiAgICB1c2VyQXBwOiB7XG4gICAgICB1c2VyOiBQdWJsaWNVc2VyO1xuICAgIH07XG4gIH1bXTtcbiAgYnJlYWRjcnVtYjogSW50ZXJuYWxGb2xkZXJCcmVhZGNydW1iSXRlbVtdO1xufTtcblxuZXhwb3J0IHR5cGUgR1FMRm9sZGVyRnVsbCA9IEdRTEZvbGRlciAmIHtcbiAgdkZpbGVzOiBHUUxWRmlsZVtdO1xuICBwYXJlbnRGb2xkZXI/OiBHUUxGb2xkZXI7XG4gIHN1YmZvbGRlcnM6IEdRTEZvbGRlcltdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKG9iajogRm9sZGVyIHwgVkZpbGUpOiBvYmogaXMgRm9sZGVyIHtcbiAgcmV0dXJuIFwiYnJlYWRjcnVtYlwiIGluIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyRnVsbChcbiAgb2JqOiBJbnRlcm5hbEZvbGRlciB8IEludGVybmFsRm9sZGVyRnVsbFxuKTogb2JqIGlzIEZvbGRlckZ1bGwge1xuICByZXR1cm4gXCJwYXJlbnRGb2xkZXJcIiBpbiBvYmogJiYgXCJzdWJmb2xkZXJzXCIgaW4gb2JqICYmIFwidkZpbGVzXCIgaW4gb2JqO1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ export declare type NameKeyInputFolders = {
2
+ id: string;
3
+ nameKey: string;
4
+ };
5
+ export declare type ShareFileKeyInput = {
6
+ id: string;
7
+ key: string;
8
+ };
9
+ export declare type NameKeyInput = {
10
+ id: string;
11
+ nameKey: string;
12
+ files: ShareFileKeyInput[];
13
+ };
14
+ export declare type ShareFoldersInput = {
15
+ folders: NameKeyInputFolders[];
16
+ vFiles: NameKeyInput[];
17
+ };
18
+ export declare type ShareFileInHistoryInput = {
19
+ fileId: string;
20
+ users: ShareFileKeyInput[];
21
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,6 @@
1
+ export declare type UserAppNotifications = {
2
+ enableAll: boolean;
3
+ mail: boolean;
4
+ cloud: boolean;
5
+ disableAllUntil: Date | null;
6
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,7 @@
1
+ export declare type UserAppSettings = {
2
+ cloudFileDaysForDelete: number;
3
+ cloudFolderDaysForDelete: number;
4
+ historyFileDaysForDelete?: number;
5
+ historyMaxFileCount: number;
6
+ autoDisconnectDelay?: number;
7
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,62 @@
1
+ import type { Folder, GQLFolder, InternalFolder } from "./Folder.js";
2
+ import type { File, GQLFile, InternalFile } from "./File.js";
3
+ import type { PublicUser } from "./index.js";
4
+ import type { Rights } from "../../zeus/index.js";
5
+ export declare type VFile<T extends File = File, U extends Record<string, unknown> = Record<string, unknown>> = {
6
+ id: string;
7
+ isFavorite: boolean;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ deletedAt: Date | null;
11
+ filename: string;
12
+ current: T;
13
+ history: T[];
14
+ createdBy: PublicUser;
15
+ userApp: VFilesOnUsersOnApplications<U>;
16
+ users: [PublicUser, Rights][];
17
+ };
18
+ export declare type VFileWithFolder<T extends File = File> = VFile<T> & {
19
+ folder: Folder;
20
+ };
21
+ export declare type VFilesOnUsersOnApplications<T extends Record<string, unknown> = Record<string, unknown>> = T & {
22
+ rights: Rights;
23
+ isRoot: boolean;
24
+ userApp: {
25
+ user: {
26
+ id: string;
27
+ };
28
+ };
29
+ };
30
+ declare type NameKey = {
31
+ nameKey: string;
32
+ };
33
+ export declare type InternalVFile = VFile<InternalFile, NameKey>;
34
+ export declare type InternalVFileWithFolder = InternalVFile & {
35
+ folder: InternalFolder;
36
+ };
37
+ export declare type GQLVFile = {
38
+ id: string;
39
+ isFavorite: boolean;
40
+ createdAt: string;
41
+ updatedAt: string;
42
+ deletedAt?: string;
43
+ filename: string;
44
+ createdBy: {
45
+ user: PublicUser;
46
+ };
47
+ userApps: {
48
+ rights: Rights;
49
+ isRoot: boolean;
50
+ userApp: {
51
+ user: PublicUser;
52
+ };
53
+ }[];
54
+ userApp?: VFilesOnUsersOnApplications<NameKey>;
55
+ current?: GQLFile;
56
+ history: GQLFile[];
57
+ };
58
+ export declare type GQLVFileWithFolder = GQLVFile & {
59
+ folder: GQLFolder;
60
+ };
61
+ export declare function isVFile(obj: Folder | VFile): obj is VFile;
62
+ export {};
@@ -0,0 +1,4 @@
1
+ export function isVFile(obj) {
2
+ return "history" in obj && "filename" in obj;
3
+ }
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvVkZpbGUudHMiXSwibmFtZXMiOlsiaXNWRmlsZSIsIm9iaiJdLCJtYXBwaW5ncyI6IkFBMEVBLE9BQU8sU0FBU0EsT0FBVCxDQUFpQkMsR0FBakIsRUFBb0Q7QUFDekQsU0FBTyxhQUFhQSxHQUFiLElBQW9CLGNBQWNBLEdBQXpDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvbGRlciwgR1FMRm9sZGVyLCBJbnRlcm5hbEZvbGRlciB9IGZyb20gXCIuL0ZvbGRlci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlLCBHUUxGaWxlLCBJbnRlcm5hbEZpbGUgfSBmcm9tIFwiLi9GaWxlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFB1YmxpY1VzZXIgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSaWdodHMgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuXG5leHBvcnQgdHlwZSBWRmlsZTxcbiAgVCBleHRlbmRzIEZpbGUgPSBGaWxlLFxuICBVIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgaXNGYXZvcml0ZTogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBEYXRlO1xuICB1cGRhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdDogRGF0ZSB8IG51bGw7XG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIGN1cnJlbnQ6IFQ7XG4gIGhpc3Rvcnk6IFRbXTtcbiAgY3JlYXRlZEJ5OiBQdWJsaWNVc2VyO1xuICB1c2VyQXBwOiBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8VT47XG4gIHVzZXJzOiBbUHVibGljVXNlciwgUmlnaHRzXVtdO1xufTtcblxuZXhwb3J0IHR5cGUgVkZpbGVXaXRoRm9sZGVyPFQgZXh0ZW5kcyBGaWxlID0gRmlsZT4gPSBWRmlsZTxUPiAmIHtcbiAgZm9sZGVyOiBGb2xkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8XG4gIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4+ID0gVCAmIHtcbiAgcmlnaHRzOiBSaWdodHM7XG4gIGlzUm9vdDogYm9vbGVhbjtcbiAgdXNlckFwcDoge1xuICAgIHVzZXI6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5cbnR5cGUgTmFtZUtleSA9IHtcbiAgbmFtZUtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxWRmlsZSA9IFZGaWxlPEludGVybmFsRmlsZSwgTmFtZUtleT47XG5cbmV4cG9ydCB0eXBlIEludGVybmFsVkZpbGVXaXRoRm9sZGVyID0gSW50ZXJuYWxWRmlsZSAmIHtcbiAgZm9sZGVyOiBJbnRlcm5hbEZvbGRlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEdRTFZGaWxlID0ge1xuICBpZDogc3RyaW5nO1xuICBpc0Zhdm9yaXRlOiBib29sZWFuO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGV0ZWRBdD86IHN0cmluZztcbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgY3JlYXRlZEJ5OiB7XG4gICAgdXNlcjogUHVibGljVXNlcjtcbiAgfTtcbiAgdXNlckFwcHM6IHtcbiAgICByaWdodHM6IFJpZ2h0cztcbiAgICBpc1Jvb3Q6IGJvb2xlYW47XG4gICAgdXNlckFwcDoge1xuICAgICAgdXNlcjogUHVibGljVXNlcjtcbiAgICB9O1xuICB9W107XG4gIHVzZXJBcHA/OiBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8TmFtZUtleT47XG4gIGN1cnJlbnQ/OiBHUUxGaWxlO1xuICBoaXN0b3J5OiBHUUxGaWxlW107XG59O1xuXG5leHBvcnQgdHlwZSBHUUxWRmlsZVdpdGhGb2xkZXIgPSBHUUxWRmlsZSAmIHtcbiAgZm9sZGVyOiBHUUxGb2xkZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWRmlsZShvYmo6IEZvbGRlciB8IFZGaWxlKTogb2JqIGlzIFZGaWxlIHtcbiAgcmV0dXJuIFwiaGlzdG9yeVwiIGluIG9iaiAmJiBcImZpbGVuYW1lXCIgaW4gb2JqO1xufVxuIl19
@@ -0,0 +1,154 @@
1
+ import type { KeyPair } from "../../index.js";
2
+ export * from "./File.js";
3
+ export * from "./FilesOnUsersOnApplications.js";
4
+ export * from "./Folder.js";
5
+ export * from "./VFile.js";
6
+ export * from "./UserAppSettings.js";
7
+ export * from "./UserAppNotifications.js";
8
+ export * from "./Inputs.js";
9
+ export declare type SecrecyUserApp = {
10
+ keys: KeyPair;
11
+ jwt: string;
12
+ uaSession: string;
13
+ };
14
+ export interface FileContentPart {
15
+ contentUrl: string;
16
+ order: number;
17
+ md5: string;
18
+ }
19
+ export declare type FilePartResponse = {
20
+ order: number;
21
+ fields: Record<string, string>;
22
+ url: string;
23
+ };
24
+ export declare type MailFileInput = {
25
+ id: string;
26
+ name: string;
27
+ fileKey: string;
28
+ };
29
+ export declare type MailIntegrity = {
30
+ id: string;
31
+ hash: string;
32
+ hashKey: string;
33
+ replyTo?: {
34
+ id: string;
35
+ };
36
+ temporaryRecipients: TemporaryMailUser[];
37
+ recipients: PublicUser[];
38
+ };
39
+ export declare type MailIntegrityDraft = MailIntegrity & {
40
+ recipients: PublicUser[];
41
+ };
42
+ export declare type TemporaryMailUser = {
43
+ email?: string;
44
+ };
45
+ export declare type InternalWaitingReceivedMail = {
46
+ sender: PublicUser;
47
+ date: string;
48
+ attachmentsCount: number;
49
+ recipients: PublicUser[];
50
+ temporaryRecipients: TemporaryMailUser[];
51
+ };
52
+ export declare type WaitingReceivedMail = {
53
+ id: string;
54
+ sender: PublicUser;
55
+ date: Date;
56
+ attachmentsCount: number;
57
+ recipients: PublicUser[];
58
+ temporaryRecipients: TemporaryMailUser[];
59
+ };
60
+ export declare type MailFile = {
61
+ fileKey: string;
62
+ filename: string;
63
+ file: {
64
+ id: string;
65
+ };
66
+ };
67
+ export declare type MailType = "sent" | "received" | "draft";
68
+ export declare type InternalMail = {
69
+ type: MailType;
70
+ id: string;
71
+ body: string;
72
+ subject: string;
73
+ openedAt?: string;
74
+ createdAt: string;
75
+ deletedAt?: string;
76
+ recipient: PublicUser;
77
+ recipients: PublicUser[];
78
+ sender: PublicUser;
79
+ mailIntegrity?: MailIntegrity;
80
+ mailIntegrityDraft?: MailIntegrityDraft;
81
+ files: MailFile[];
82
+ };
83
+ export declare type InternalReceivedMail = {
84
+ user: {
85
+ receivedMails: InternalMail[];
86
+ };
87
+ };
88
+ export declare type BaseMail = {
89
+ type: MailType;
90
+ id: string;
91
+ mailIntegrityId: string;
92
+ replyTo?: string;
93
+ body: string;
94
+ subject: string;
95
+ createdAt: Date;
96
+ deletedAt: Date | null;
97
+ openedAt: Date | null;
98
+ isAltered: boolean;
99
+ recipients: PublicUser[];
100
+ temporaryRecipients: TemporaryMailUser[];
101
+ files: {
102
+ id: string;
103
+ name: string;
104
+ key: string;
105
+ }[];
106
+ };
107
+ export declare type PublicUser = {
108
+ id: string;
109
+ firstname: string;
110
+ lastname: string;
111
+ email: string;
112
+ publicKey: string;
113
+ };
114
+ export interface ReceivedMail extends BaseMail {
115
+ type: "received";
116
+ sender: PublicUser;
117
+ }
118
+ export declare type InternalSentMail = {
119
+ user: {
120
+ sentMails: InternalMail[];
121
+ };
122
+ };
123
+ export declare type InternalDraftMails = {
124
+ user: {
125
+ draftMails: InternalMail[];
126
+ };
127
+ };
128
+ export interface SentMail extends BaseMail {
129
+ type: "sent";
130
+ }
131
+ export interface DraftMail extends BaseMail {
132
+ type: "draft";
133
+ }
134
+ export declare type Mail = DraftMail | SentMail | ReceivedMail;
135
+ export declare type Session = {
136
+ id: string;
137
+ lastActivity: Date | undefined;
138
+ userAgent: string | undefined;
139
+ ip: string | undefined;
140
+ city: string | undefined;
141
+ country: string | undefined;
142
+ };
143
+ export declare type AppSession = Session & {
144
+ app: string;
145
+ };
146
+ export declare type UserSession = Session & {
147
+ appSessions: AppSession[];
148
+ };
149
+ export declare type MailRecipientInput = {
150
+ body: string;
151
+ subject: string;
152
+ recipientId: string;
153
+ files: MailFileInput[];
154
+ };
@@ -0,0 +1,10 @@
1
+ export * from "./File.js";
2
+ export * from "./FilesOnUsersOnApplications.js";
3
+ export * from "./Folder.js";
4
+ export * from "./VFile.js";
5
+ export * from "./UserAppSettings.js";
6
+ export * from "./UserAppNotifications.js";
7
+ export * from "./Inputs.js";
8
+ export {};
9
+ export {};
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxXQUFkO0FBQ0EsY0FBYyxpQ0FBZDtBQUNBLGNBQWMsYUFBZDtBQUNBLGNBQWMsWUFBZDtBQUNBLGNBQWMsc0JBQWQ7QUFDQSxjQUFjLDJCQUFkO0FBQ0EsY0FBYyxhQUFkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRm9sZGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WRmlsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXNlckFwcFNldHRpbmdzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VyQXBwTm90aWZpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW5wdXRzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFNlY3JlY3lVc2VyQXBwID0ge1xuICBrZXlzOiBLZXlQYWlyO1xuICBqd3Q6IHN0cmluZztcbiAgdWFTZXNzaW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDb250ZW50UGFydCB7XG4gIGNvbnRlbnRVcmw6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbiAgbWQ1OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEZpbGVQYXJ0UmVzcG9uc2UgPSB7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZUlucHV0ID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGZpbGVLZXk6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5ID0ge1xuICBpZDogc3RyaW5nO1xuICBoYXNoOiBzdHJpbmc7XG4gIGhhc2hLZXk6IHN0cmluZztcbiAgcmVwbHlUbz86IHtcbiAgICBpZDogc3RyaW5nO1xuICB9O1xuICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBUZW1wb3JhcnlNYWlsVXNlcltdO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5RHJhZnQgPSBNYWlsSW50ZWdyaXR5ICYge1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBUZW1wb3JhcnlNYWlsVXNlciA9IHtcbiAgZW1haWw/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBhdHRhY2htZW50c0NvdW50OiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogRGF0ZTtcbiAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZSA9IHtcbiAgZmlsZUtleTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBmaWxlOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxUeXBlID0gXCJzZW50XCIgfCBcInJlY2VpdmVkXCIgfCBcImRyYWZ0XCI7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTWFpbCA9IHtcbiAgdHlwZTogTWFpbFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICBvcGVuZWRBdD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGV0ZWRBdD86IHN0cmluZztcbiAgcmVjaXBpZW50OiBQdWJsaWNVc2VyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgbWFpbEludGVncml0eT86IE1haWxJbnRlZ3JpdHk7XG4gIG1haWxJbnRlZ3JpdHlEcmFmdD86IE1haWxJbnRlZ3JpdHlEcmFmdDtcbiAgZmlsZXM6IE1haWxGaWxlW107XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFJlY2VpdmVkTWFpbCA9IHtcbiAgdXNlcjoge1xuICAgIHJlY2VpdmVkTWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFzZU1haWwgPSB7XG4gIHR5cGU6IE1haWxUeXBlO1xuICBpZDogc3RyaW5nO1xuICBtYWlsSW50ZWdyaXR5SWQ6IHN0cmluZztcbiAgcmVwbHlUbz86IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgb3BlbmVkQXQ6IERhdGUgfCBudWxsO1xuICBpc0FsdGVyZWQ6IGJvb2xlYW47XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbiAgZmlsZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W107XG59O1xuXG5leHBvcnQgdHlwZSBQdWJsaWNVc2VyID0ge1xuICBpZDogc3RyaW5nO1xuICBmaXJzdG5hbWU6IHN0cmluZztcbiAgbGFzdG5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcHVibGljS2V5OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVkTWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJyZWNlaXZlZFwiO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsU2VudE1haWwgPSB7XG4gIHVzZXI6IHtcbiAgICBzZW50TWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxEcmFmdE1haWxzID0ge1xuICB1c2VyOiB7XG4gICAgZHJhZnRNYWlsczogSW50ZXJuYWxNYWlsW107XG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbnRNYWlsIGV4dGVuZHMgQmFzZU1haWwge1xuICB0eXBlOiBcInNlbnRcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFmdE1haWwgZXh0ZW5kcyBCYXNlTWFpbCB7XG4gIHR5cGU6IFwiZHJhZnRcIjtcbn1cblxuZXhwb3J0IHR5cGUgTWFpbCA9IERyYWZ0TWFpbCB8IFNlbnRNYWlsIHwgUmVjZWl2ZWRNYWlsO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICBpZDogc3RyaW5nO1xuICBsYXN0QWN0aXZpdHk6IERhdGUgfCB1bmRlZmluZWQ7XG4gIHVzZXJBZ2VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjaXR5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvdW50cnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcFNlc3Npb24gPSBTZXNzaW9uICYge1xuICBhcHA6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJTZXNzaW9uID0gU2Vzc2lvbiAmIHtcbiAgYXBwU2Vzc2lvbnM6IEFwcFNlc3Npb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxSZWNpcGllbnRJbnB1dCA9IHtcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIHJlY2lwaWVudElkOiBzdHJpbmc7XG4gIGZpbGVzOiBNYWlsRmlsZUlucHV0W107XG59O1xuIl19