@secrecy/lib 1.0.0-dev.69 → 1.0.0-dev.70

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 (78) hide show
  1. package/dist/BaseClient.d.ts +104 -0
  2. package/dist/BaseClient.js +430 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +196 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +65 -0
  7. package/dist/cache.d.ts +6 -0
  8. package/dist/cache.js +4 -0
  9. package/dist/client/SecrecyAppClient.d.ts +17 -0
  10. package/dist/client/SecrecyAppClient.js +227 -0
  11. package/dist/client/SecrecyCloudClient.d.ts +89 -0
  12. package/dist/client/SecrecyCloudClient.js +1411 -0
  13. package/dist/client/SecrecyDbClient.d.ts +21 -0
  14. package/dist/client/SecrecyDbClient.js +177 -0
  15. package/dist/client/SecrecyMailClient.d.ts +42 -0
  16. package/dist/client/SecrecyMailClient.js +1022 -0
  17. package/dist/client/SecrecyPayClient.d.ts +7 -0
  18. package/dist/client/SecrecyPayClient.js +36 -0
  19. package/dist/client/SecrecyWalletClient.d.ts +30 -0
  20. package/dist/client/SecrecyWalletClient.js +73 -0
  21. package/dist/client/convert/file.d.ts +5 -0
  22. package/dist/client/convert/file.js +33 -0
  23. package/dist/client/convert/mail.d.ts +3 -0
  24. package/dist/client/convert/mail.js +43 -0
  25. package/dist/client/convert/node.d.ts +9 -0
  26. package/dist/client/convert/node.js +88 -0
  27. package/dist/client/helpers.d.ts +28 -0
  28. package/dist/client/helpers.js +119 -0
  29. package/dist/client/index.d.ts +34 -0
  30. package/dist/client/index.js +46 -0
  31. package/dist/client/storage.d.ts +7 -0
  32. package/dist/client/storage.js +12 -0
  33. package/dist/client/types/File.d.ts +14 -0
  34. package/dist/client/types/File.js +3 -0
  35. package/dist/client/types/Inputs.d.ts +16 -0
  36. package/dist/client/types/Inputs.js +3 -0
  37. package/dist/client/types/Node.d.ts +56 -0
  38. package/dist/client/types/Node.js +3 -0
  39. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  40. package/dist/client/types/UserAppNotifications.js +3 -0
  41. package/dist/client/types/UserAppSettings.d.ts +5 -0
  42. package/dist/client/types/UserAppSettings.js +3 -0
  43. package/dist/client/types/index.d.ts +120 -0
  44. package/dist/client/types/index.js +8 -0
  45. package/dist/client/types/selectors.d.ts +400 -0
  46. package/dist/client/types/selectors.js +135 -0
  47. package/dist/crypto/file.d.ts +14 -0
  48. package/dist/crypto/file.js +195 -0
  49. package/dist/crypto/index.d.ts +12 -0
  50. package/dist/crypto/index.js +45 -0
  51. package/dist/error.d.ts +33 -0
  52. package/dist/error.js +3 -0
  53. package/dist/index.d.ts +12 -5017
  54. package/dist/index.js +9 -257
  55. package/dist/minify/index.d.ts +2 -0
  56. package/dist/minify/index.js +23 -0
  57. package/dist/minify/lz4.d.ts +5 -0
  58. package/dist/minify/lz4.js +539 -0
  59. package/dist/sodium.d.ts +3 -0
  60. package/dist/sodium.js +6 -0
  61. package/dist/utils/store-buddy.d.ts +14 -0
  62. package/dist/utils/store-buddy.js +58 -0
  63. package/dist/utils/time.d.ts +10 -0
  64. package/dist/utils/time.js +12 -0
  65. package/dist/utils/utils.d.ts +4 -0
  66. package/dist/utils/utils.js +47 -0
  67. package/dist/worker/md5.d.ts +1 -0
  68. package/dist/worker/md5.js +24 -0
  69. package/dist/worker/sodium.d.ts +3 -0
  70. package/dist/worker/sodium.js +118 -0
  71. package/dist/worker/workerCodes.d.ts +2 -0
  72. package/dist/worker/workerCodes.js +255 -0
  73. package/dist/zeus/const.d.ts +7 -0
  74. package/dist/zeus/const.js +1765 -0
  75. package/dist/zeus/index.d.ts +8216 -0
  76. package/dist/zeus/index.js +567 -0
  77. package/package.json +20 -18
  78. package/dist/index.cjs +0 -257
@@ -0,0 +1,46 @@
1
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
3
+ /* eslint-disable @typescript-eslint/naming-convention */
4
+ import { BaseClient } from "../BaseClient.js";
5
+ import { encryptSecretstream } from "../crypto/file.js";
6
+ import { sodium } from "../sodium.js";
7
+ import { SecrecyCloudClient } from "./SecrecyCloudClient.js";
8
+ import { SecrecyMailClient } from "./SecrecyMailClient.js";
9
+ import { SecrecyAppClient } from "./SecrecyAppClient.js";
10
+ import { nodesCache, filesCache } from "../cache.js";
11
+ import { SecrecyDbClient } from "./SecrecyDbClient.js";
12
+ import { SecrecyWalletClient } from "./SecrecyWalletClient.js";
13
+ import { SecrecyPayClient } from "./SecrecyPayClient.js";
14
+ export const encryptName = async (name, nameKey) => {
15
+ const {
16
+ data
17
+ } = await encryptSecretstream(sodium.from_hex(nameKey), sodium.from_string(name));
18
+ const nameEncrypted = sodium.to_hex(data);
19
+ return nameEncrypted;
20
+ };
21
+ var _keys = /*#__PURE__*/_classPrivateFieldLooseKey("keys");
22
+ export class SecrecyClient extends BaseClient {
23
+ constructor(uaSession, uaKeys, uaJwt, env) {
24
+ super(uaSession, env);
25
+ Object.defineProperty(this, _keys, {
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ _classPrivateFieldLooseBase(this, _keys)[_keys] = uaKeys;
30
+ this.cloud = new SecrecyCloudClient(this, _classPrivateFieldLooseBase(this, _keys)[_keys], this.thunder);
31
+ this.mail = new SecrecyMailClient(this, _classPrivateFieldLooseBase(this, _keys)[_keys], this.thunder);
32
+ this.app = new SecrecyAppClient(uaJwt, this, _classPrivateFieldLooseBase(this, _keys)[_keys], this.thunder);
33
+ this.db = new SecrecyDbClient(this, _classPrivateFieldLooseBase(this, _keys)[_keys], this.thunder);
34
+ this.wallet = new SecrecyWalletClient(this);
35
+ this.pay = new SecrecyPayClient(this, _classPrivateFieldLooseBase(this, _keys)[_keys], this.thunder);
36
+ }
37
+ get publicKey() {
38
+ return _classPrivateFieldLooseBase(this, _keys)[_keys].publicKey;
39
+ }
40
+ async logout(sessionId) {
41
+ nodesCache.clear();
42
+ filesCache.clear();
43
+ await super.logout(sessionId);
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ2xpZW50IiwiZW5jcnlwdFNlY3JldHN0cmVhbSIsInNvZGl1bSIsIlNlY3JlY3lDbG91ZENsaWVudCIsIlNlY3JlY3lNYWlsQ2xpZW50IiwiU2VjcmVjeUFwcENsaWVudCIsIm5vZGVzQ2FjaGUiLCJmaWxlc0NhY2hlIiwiU2VjcmVjeURiQ2xpZW50IiwiU2VjcmVjeVdhbGxldENsaWVudCIsIlNlY3JlY3lQYXlDbGllbnQiLCJlbmNyeXB0TmFtZSIsIm5hbWUiLCJuYW1lS2V5IiwiZGF0YSIsImZyb21faGV4IiwiZnJvbV9zdHJpbmciLCJuYW1lRW5jcnlwdGVkIiwidG9faGV4IiwiU2VjcmVjeUNsaWVudCIsImNvbnN0cnVjdG9yIiwidWFTZXNzaW9uIiwidWFLZXlzIiwidWFKd3QiLCJlbnYiLCJjbG91ZCIsInRodW5kZXIiLCJtYWlsIiwiYXBwIiwiZGIiLCJ3YWxsZXQiLCJwYXkiLCJwdWJsaWNLZXkiLCJsb2dvdXQiLCJzZXNzaW9uSWQiLCJjbGVhciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgeyBCYXNlQ2xpZW50IH0gZnJvbSBcIi4uL0Jhc2VDbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgUHJvZ3Jlc3MgfSBmcm9tIFwiLi4vY3J5cHRvL2ZpbGUuanNcIjtcbmltcG9ydCB7IGVuY3J5cHRTZWNyZXRzdHJlYW0gfSBmcm9tIFwiLi4vY3J5cHRvL2ZpbGUuanNcIjtcbmltcG9ydCB7IHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5UGFpciB9IGZyb20gXCIuLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgU2VjcmVjeUVudiB9IGZyb20gXCIuL2hlbHBlcnMuanNcIjtcbmltcG9ydCB7IFNlY3JlY3lDbG91ZENsaWVudCB9IGZyb20gXCIuL1NlY3JlY3lDbG91ZENsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VjcmVjeU1haWxDbGllbnQgfSBmcm9tIFwiLi9TZWNyZWN5TWFpbENsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VjcmVjeUFwcENsaWVudCB9IGZyb20gXCIuL1NlY3JlY3lBcHBDbGllbnQuanNcIjtcbmltcG9ydCB7IG5vZGVzQ2FjaGUsIGZpbGVzQ2FjaGUgfSBmcm9tIFwiLi4vY2FjaGUuanNcIjtcbmltcG9ydCB7IFNlY3JlY3lEYkNsaWVudCB9IGZyb20gXCIuL1NlY3JlY3lEYkNsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VjcmVjeVdhbGxldENsaWVudCB9IGZyb20gXCIuL1NlY3JlY3lXYWxsZXRDbGllbnQuanNcIjtcbmltcG9ydCB7IFNlY3JlY3lQYXlDbGllbnQgfSBmcm9tIFwiLi9TZWNyZWN5UGF5Q2xpZW50LmpzXCI7XG5cbmV4cG9ydCB0eXBlIE5ld01haWwgPSB7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICBmaWxlczogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVtdO1xuICByZWNpcGllbnRzSWRzOiBzdHJpbmdbXTtcbiAgcmVwbHlUbz86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NDYWxsYmFjayA9IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBjb25zdCBlbmNyeXB0TmFtZSA9IGFzeW5jIChcbiAgbmFtZTogc3RyaW5nLFxuICBuYW1lS2V5OiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgZW5jcnlwdFNlY3JldHN0cmVhbShcbiAgICBzb2RpdW0uZnJvbV9oZXgobmFtZUtleSksXG4gICAgc29kaXVtLmZyb21fc3RyaW5nKG5hbWUpXG4gICk7XG4gIGNvbnN0IG5hbWVFbmNyeXB0ZWQgPSBzb2RpdW0udG9faGV4KGRhdGEpO1xuICByZXR1cm4gbmFtZUVuY3J5cHRlZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBTZWNyZWN5Q2xpZW50IGV4dGVuZHMgQmFzZUNsaWVudCB7XG4gICNrZXlzOiBLZXlQYWlyO1xuXG4gIGNsb3VkOiBTZWNyZWN5Q2xvdWRDbGllbnQ7XG5cbiAgbWFpbDogU2VjcmVjeU1haWxDbGllbnQ7XG5cbiAgYXBwOiBTZWNyZWN5QXBwQ2xpZW50O1xuXG4gIGRiOiBTZWNyZWN5RGJDbGllbnQ7XG5cbiAgd2FsbGV0OiBTZWNyZWN5V2FsbGV0Q2xpZW50O1xuXG4gIHBheTogU2VjcmVjeVBheUNsaWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1YVNlc3Npb246IHN0cmluZyxcbiAgICB1YUtleXM6IEtleVBhaXIsXG4gICAgdWFKd3Q6IHN0cmluZyxcbiAgICBlbnY6IFNlY3JlY3lFbnZcbiAgKSB7XG4gICAgc3VwZXIodWFTZXNzaW9uLCBlbnYpO1xuICAgIHRoaXMuI2tleXMgPSB1YUtleXM7XG4gICAgdGhpcy5jbG91ZCA9IG5ldyBTZWNyZWN5Q2xvdWRDbGllbnQodGhpcywgdGhpcy4ja2V5cywgdGhpcy50aHVuZGVyKTtcbiAgICB0aGlzLm1haWwgPSBuZXcgU2VjcmVjeU1haWxDbGllbnQodGhpcywgdGhpcy4ja2V5cywgdGhpcy50aHVuZGVyKTtcbiAgICB0aGlzLmFwcCA9IG5ldyBTZWNyZWN5QXBwQ2xpZW50KHVhSnd0LCB0aGlzLCB0aGlzLiNrZXlzLCB0aGlzLnRodW5kZXIpO1xuICAgIHRoaXMuZGIgPSBuZXcgU2VjcmVjeURiQ2xpZW50KHRoaXMsIHRoaXMuI2tleXMsIHRoaXMudGh1bmRlcik7XG4gICAgdGhpcy53YWxsZXQgPSBuZXcgU2VjcmVjeVdhbGxldENsaWVudCh0aGlzKTtcbiAgICB0aGlzLnBheSA9IG5ldyBTZWNyZWN5UGF5Q2xpZW50KHRoaXMsIHRoaXMuI2tleXMsIHRoaXMudGh1bmRlcik7XG4gIH1cblxuICBnZXQgcHVibGljS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2tleXMucHVibGljS2V5O1xuICB9XG5cbiAgYXN5bmMgbG9nb3V0KHNlc3Npb25JZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBub2Rlc0NhY2hlLmNsZWFyKCk7XG4gICAgZmlsZXNDYWNoZS5jbGVhcigpO1xuICAgIGF3YWl0IHN1cGVyLmxvZ291dChzZXNzaW9uSWQpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxVQUFVLFFBQVEsa0JBQWtCO0FBRTdDLFNBQVNDLG1CQUFtQixRQUFRLG1CQUFtQjtBQUN2RCxTQUFTQyxNQUFNLFFBQVEsY0FBYztBQUdyQyxTQUFTQyxrQkFBa0IsUUFBUSx5QkFBeUI7QUFDNUQsU0FBU0MsaUJBQWlCLFFBQVEsd0JBQXdCO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVCQUF1QjtBQUN4RCxTQUFTQyxVQUFVLEVBQUVDLFVBQVUsUUFBUSxhQUFhO0FBQ3BELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFDdEQsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQTBCO0FBQzlELFNBQVNDLGdCQUFnQixRQUFRLHVCQUF1QjtBQVd4RCxPQUFPLE1BQU1DLFdBQVcsR0FBRyxPQUN6QkMsSUFBWSxFQUNaQyxPQUFlLEtBQ0s7RUFDcEIsTUFBTTtJQUFFQztFQUFLLENBQUMsR0FBRyxNQUFNYixtQkFBbUIsQ0FDeENDLE1BQU0sQ0FBQ2EsUUFBUSxDQUFDRixPQUFPLENBQUMsRUFDeEJYLE1BQU0sQ0FBQ2MsV0FBVyxDQUFDSixJQUFJLENBQUMsQ0FDekI7RUFDRCxNQUFNSyxhQUFhLEdBQUdmLE1BQU0sQ0FBQ2dCLE1BQU0sQ0FBQ0osSUFBSSxDQUFDO0VBQ3pDLE9BQU9HLGFBQWE7QUFDdEIsQ0FBQztBQUFDO0FBRUYsT0FBTyxNQUFNRSxhQUFhLFNBQVNuQixVQUFVLENBQUM7RUFlNUNvQixXQUFXLENBQ1RDLFNBQWlCLEVBQ2pCQyxNQUFlLEVBQ2ZDLEtBQWEsRUFDYkMsR0FBZSxFQUNmO0lBQ0EsS0FBSyxDQUFDSCxTQUFTLEVBQUVHLEdBQUcsQ0FBQztJQUFDO01BQUE7TUFBQTtJQUFBO0lBQ3RCLGdDQUFJLGtCQUFTRixNQUFNO0lBQ25CLElBQUksQ0FBQ0csS0FBSyxHQUFHLElBQUl0QixrQkFBa0IsQ0FBQyxJQUFJLDhCQUFFLElBQUksaUJBQVEsSUFBSSxDQUFDdUIsT0FBTyxDQUFDO0lBQ25FLElBQUksQ0FBQ0MsSUFBSSxHQUFHLElBQUl2QixpQkFBaUIsQ0FBQyxJQUFJLDhCQUFFLElBQUksaUJBQVEsSUFBSSxDQUFDc0IsT0FBTyxDQUFDO0lBQ2pFLElBQUksQ0FBQ0UsR0FBRyxHQUFHLElBQUl2QixnQkFBZ0IsQ0FBQ2tCLEtBQUssRUFBRSxJQUFJLDhCQUFFLElBQUksaUJBQVEsSUFBSSxDQUFDRyxPQUFPLENBQUM7SUFDdEUsSUFBSSxDQUFDRyxFQUFFLEdBQUcsSUFBSXJCLGVBQWUsQ0FBQyxJQUFJLDhCQUFFLElBQUksaUJBQVEsSUFBSSxDQUFDa0IsT0FBTyxDQUFDO0lBQzdELElBQUksQ0FBQ0ksTUFBTSxHQUFHLElBQUlyQixtQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDM0MsSUFBSSxDQUFDc0IsR0FBRyxHQUFHLElBQUlyQixnQkFBZ0IsQ0FBQyxJQUFJLDhCQUFFLElBQUksaUJBQVEsSUFBSSxDQUFDZ0IsT0FBTyxDQUFDO0VBQ2pFO0VBRUEsSUFBSU0sU0FBUyxHQUFXO0lBQ3RCLE9BQU8sZ0NBQUksZ0JBQU9BLFNBQVM7RUFDN0I7RUFFQSxNQUFNQyxNQUFNLENBQUNDLFNBQXFDLEVBQWlCO0lBQ2pFNUIsVUFBVSxDQUFDNkIsS0FBSyxFQUFFO0lBQ2xCNUIsVUFBVSxDQUFDNEIsS0FBSyxFQUFFO0lBQ2xCLE1BQU0sS0FBSyxDQUFDRixNQUFNLENBQUNDLFNBQVMsQ0FBQztFQUMvQjtBQUNGIn0=
@@ -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
+ const userAppSession = storeBuddy(`secrecy.user_app_session`, session).init(null);
4
+ const userAppKeys = storeBuddy(`secrecy.user_app_keys`, session).init(null);
5
+ const jwt = storeBuddy(`secrecy.jwt`, session).init(null);
6
+ return {
7
+ userAppKeys,
8
+ userAppSession,
9
+ jwt
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgU3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuaW1wb3J0IHsgc3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZShzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHtcbiAgdXNlckFwcEtleXM6IFN0b3JlQnVkZHk8S2V5UGFpciB8IG51bGw+O1xuICB1c2VyQXBwU2Vzc2lvbjogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbiAgand0OiBTdG9yZUJ1ZGR5PHN0cmluZyB8IG51bGw+O1xufSB7XG4gIGNvbnN0IHVzZXJBcHBTZXNzaW9uID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9zZXNzaW9uYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3QgdXNlckFwcEtleXMgPSBzdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9rZXlzYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3Qgand0ID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihgc2VjcmVjeS5qd3RgLCBzZXNzaW9uKS5pbml0KG51bGwpO1xuICByZXR1cm4geyB1c2VyQXBwS2V5cywgdXNlckFwcFNlc3Npb24sIGp3dCB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxVQUFVLFFBQVEseUJBQXlCO0FBRXBELE9BQU8sU0FBU0MsVUFBVSxDQUFDQyxPQUE2QixFQUl0RDtFQUNBLE1BQU1DLGNBQWMsR0FBR0gsVUFBVSxDQUM5QiwwQkFBeUIsRUFDMUJFLE9BQU8sQ0FDUixDQUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQ1osTUFBTUMsV0FBVyxHQUFHTCxVQUFVLENBQzNCLHVCQUFzQixFQUN2QkUsT0FBTyxDQUNSLENBQUNFLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDWixNQUFNRSxHQUFHLEdBQUdOLFVBQVUsQ0FBaUIsYUFBWSxFQUFFRSxPQUFPLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQztFQUN4RSxPQUFPO0lBQUVDLFdBQVc7SUFBRUYsY0FBYztJQUFFRztFQUFJLENBQUM7QUFDN0MifQ==
@@ -0,0 +1,14 @@
1
+ import type { GraphQLTypes, InputType } from "../../zeus/index.js";
2
+ import type { fileSelector } from "./selectors.js";
3
+ export declare type FileMetadata = {
4
+ id: string;
5
+ size: bigint;
6
+ sizeBefore: bigint;
7
+ md5: string;
8
+ md5Encrypted: string;
9
+ createdAt: Date;
10
+ };
11
+ export declare type InternalFile = FileMetadata & {
12
+ key: string;
13
+ };
14
+ export declare type GQLFile = InputType<GraphQLTypes["File"], typeof fileSelector>;
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9GaWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGVzLCBJbnB1dFR5cGUgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBmaWxlU2VsZWN0b3IgfSBmcm9tIFwiLi9zZWxlY3RvcnMuanNcIjtcblxuZXhwb3J0IHR5cGUgRmlsZU1ldGFkYXRhID0ge1xuICBpZDogc3RyaW5nO1xuICBzaXplOiBiaWdpbnQ7XG4gIHNpemVCZWZvcmU6IGJpZ2ludDtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbEZpbGUgPSBGaWxlTWV0YWRhdGEgJiB7XG4gIGtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR1FMRmlsZSA9IElucHV0VHlwZTxHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLCB0eXBlb2YgZmlsZVNlbGVjdG9yPjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,16 @@
1
+ export declare type ShareFileKeyInput = {
2
+ id: string;
3
+ key: string;
4
+ };
5
+ export declare type NameKeyInput = {
6
+ id: string;
7
+ nameKey: string;
8
+ files: ShareFileKeyInput[];
9
+ };
10
+ export declare type ShareNodesInput = {
11
+ nodes: NameKeyInput[];
12
+ };
13
+ export declare type ShareFileInHistoryInput = {
14
+ fileId: string;
15
+ users: ShareFileKeyInput[];
16
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9JbnB1dHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2hhcmVGaWxlS2V5SW5wdXQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmFtZUtleUlucHV0ID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lS2V5OiBzdHJpbmc7XG4gIGZpbGVzOiBTaGFyZUZpbGVLZXlJbnB1dFtdO1xufTtcblxuZXhwb3J0IHR5cGUgU2hhcmVOb2Rlc0lucHV0ID0ge1xuICBub2RlczogTmFtZUtleUlucHV0W107XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZUZpbGVJbkhpc3RvcnlJbnB1dCA9IHtcbiAgZmlsZUlkOiBzdHJpbmc7XG4gIHVzZXJzOiBTaGFyZUZpbGVLZXlJbnB1dFtdO1xufTtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,56 @@
1
+ import type { NodeType, Rights } from "../../zeus/index.js";
2
+ import type { FileMetadata, InternalFile, PublicUser } from "./index.js";
3
+ import type { nodeFullSelector, nodeSelector } from "./selectors.js";
4
+ import type { GraphQLTypes, InputType } from "../../zeus/index.js";
5
+ export declare type NodeAccess<T extends Record<string, unknown> = Record<string, unknown>> = T & {
6
+ rights: Rights;
7
+ isRoot: boolean;
8
+ sharedBy: {
9
+ keyPair?: {
10
+ pub: string;
11
+ };
12
+ };
13
+ userApp: {
14
+ user: PublicUser;
15
+ };
16
+ };
17
+ export declare type NodeBreadcrumbItem = {
18
+ id: string;
19
+ name: string;
20
+ pubKey: string;
21
+ };
22
+ export declare type NodeSize = {
23
+ size: bigint;
24
+ sizeBefore: bigint;
25
+ };
26
+ declare type NameKey = {
27
+ nameKey?: string;
28
+ };
29
+ export declare type InternalNodeBreadcrumbItem = NodeBreadcrumbItem & NameKey;
30
+ export declare type Node<T extends NodeBreadcrumbItem = NodeBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>> = {
31
+ id: string;
32
+ isFavorite: boolean;
33
+ type: NodeType;
34
+ createdAt: Date;
35
+ deletedAt: Date | null;
36
+ updatedAt: Date;
37
+ sizes: NodeSize;
38
+ name: string;
39
+ breadcrumb: T[];
40
+ createdBy: PublicUser;
41
+ access?: NodeAccess<U>;
42
+ users: [PublicUser, Rights][];
43
+ parentId: string | null;
44
+ currentFileId: string | null;
45
+ };
46
+ export declare type NodeFull<T extends NodeBreadcrumbItem = NodeBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>, V extends FileMetadata = FileMetadata> = Node<T, U> & {
47
+ parent: Node<T, U> | null;
48
+ children: Node<T, U>[];
49
+ current?: V;
50
+ history: V[];
51
+ };
52
+ export declare type InternalNode = Node<InternalNodeBreadcrumbItem, NameKey>;
53
+ export declare type InternalNodeFull = NodeFull<InternalNodeBreadcrumbItem, NameKey, InternalFile>;
54
+ export declare type GQLNode = InputType<GraphQLTypes["Node"], typeof nodeSelector>;
55
+ export declare type GQLNodeFull = InputType<GraphQLTypes["Node"], typeof nodeFullSelector>;
56
+ export {};
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Ob2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTm9kZVR5cGUsIFJpZ2h0cyB9IGZyb20gXCIuLi8uLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVNZXRhZGF0YSwgSW50ZXJuYWxGaWxlLCBQdWJsaWNVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgbm9kZUZ1bGxTZWxlY3Rvciwgbm9kZVNlbGVjdG9yIH0gZnJvbSBcIi4vc2VsZWN0b3JzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxUeXBlcywgSW5wdXRUeXBlIH0gZnJvbSBcIi4uLy4uL3pldXMvaW5kZXguanNcIjtcblxuZXhwb3J0IHR5cGUgTm9kZUFjY2VzczxcbiAgVCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSBUICYge1xuICByaWdodHM6IFJpZ2h0cztcbiAgaXNSb290OiBib29sZWFuO1xuICBzaGFyZWRCeToge1xuICAgIGtleVBhaXI/OiB7XG4gICAgICBwdWI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICB1c2VyQXBwOiB7XG4gICAgdXNlcjogUHVibGljVXNlcjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE5vZGVCcmVhZGNydW1iSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwdWJLZXk6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5vZGVTaXplID0ge1xuICBzaXplOiBiaWdpbnQ7XG4gIHNpemVCZWZvcmU6IGJpZ2ludDtcbn07XG5cbnR5cGUgTmFtZUtleSA9IHtcbiAgbmFtZUtleT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTm9kZUJyZWFkY3J1bWJJdGVtID0gTm9kZUJyZWFkY3J1bWJJdGVtICYgTmFtZUtleTtcblxuZXhwb3J0IHR5cGUgTm9kZTxcbiAgVCBleHRlbmRzIE5vZGVCcmVhZGNydW1iSXRlbSA9IE5vZGVCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIHR5cGU6IE5vZGVUeXBlO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdDogRGF0ZSB8IG51bGw7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcbiAgc2l6ZXM6IE5vZGVTaXplO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJyZWFkY3J1bWI6IFRbXTtcbiAgY3JlYXRlZEJ5OiBQdWJsaWNVc2VyO1xuICBhY2Nlc3M/OiBOb2RlQWNjZXNzPFU+O1xuICB1c2VyczogW1B1YmxpY1VzZXIsIFJpZ2h0c11bXTtcbiAgcGFyZW50SWQ6IHN0cmluZyB8IG51bGw7XG4gIGN1cnJlbnRGaWxlSWQ6IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBOb2RlRnVsbDxcbiAgVCBleHRlbmRzIE5vZGVCcmVhZGNydW1iSXRlbSA9IE5vZGVCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFYgZXh0ZW5kcyBGaWxlTWV0YWRhdGEgPSBGaWxlTWV0YWRhdGFcbj4gPSBOb2RlPFQsIFU+ICYge1xuICBwYXJlbnQ6IE5vZGU8VCwgVT4gfCBudWxsO1xuICBjaGlsZHJlbjogTm9kZTxULCBVPltdO1xuICBjdXJyZW50PzogVjtcbiAgaGlzdG9yeTogVltdO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxOb2RlID0gTm9kZTxJbnRlcm5hbE5vZGVCcmVhZGNydW1iSXRlbSwgTmFtZUtleT47XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTm9kZUZ1bGwgPSBOb2RlRnVsbDxcbiAgSW50ZXJuYWxOb2RlQnJlYWRjcnVtYkl0ZW0sXG4gIE5hbWVLZXksXG4gIEludGVybmFsRmlsZVxuPjtcblxuZXhwb3J0IHR5cGUgR1FMTm9kZSA9IElucHV0VHlwZTxHcmFwaFFMVHlwZXNbXCJOb2RlXCJdLCB0eXBlb2Ygbm9kZVNlbGVjdG9yPjtcbmV4cG9ydCB0eXBlIEdRTE5vZGVGdWxsID0gSW5wdXRUeXBlPFxuICBHcmFwaFFMVHlwZXNbXCJOb2RlXCJdLFxuICB0eXBlb2Ygbm9kZUZ1bGxTZWxlY3RvclxuPjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,6 @@
1
+ export declare type UserAppNotifications = {
2
+ enableAll: boolean;
3
+ mail: boolean;
4
+ cloud: boolean;
5
+ disableAllUntil?: Date;
6
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Vc2VyQXBwTm90aWZpY2F0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBVc2VyQXBwTm90aWZpY2F0aW9ucyA9IHtcbiAgZW5hYmxlQWxsOiBib29sZWFuO1xuICBtYWlsOiBib29sZWFuO1xuICBjbG91ZDogYm9vbGVhbjtcbiAgZGlzYWJsZUFsbFVudGlsPzogRGF0ZTtcbn07XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,5 @@
1
+ export declare type UserAppSettings = {
2
+ cloudNodeDaysForDelete: number;
3
+ historyFileDaysForDelete?: number;
4
+ historyMaxFileCount: number;
5
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Vc2VyQXBwU2V0dGluZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVXNlckFwcFNldHRpbmdzID0ge1xuICBjbG91ZE5vZGVEYXlzRm9yRGVsZXRlOiBudW1iZXI7XG4gIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZT86IG51bWJlcjtcbiAgaGlzdG9yeU1heEZpbGVDb3VudDogbnVtYmVyO1xufTtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,120 @@
1
+ import type { KeyPair } from "../../index.js";
2
+ import type { InputType, GraphQLTypes } from "../../zeus/index.js";
3
+ import type { mailSelector, userSelector } from "./selectors.js";
4
+ export * from "./File.js";
5
+ export * from "./Node.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 GQLMail = InputType<GraphQLTypes["Mail"], typeof mailSelector>;
69
+ export declare type InternalReceivedMail = {
70
+ user: {
71
+ receivedMails: GQLMail[];
72
+ };
73
+ };
74
+ export declare type BaseMail = {
75
+ type: MailType;
76
+ id: string;
77
+ mailIntegrityId: string;
78
+ replyTo?: string;
79
+ body: string;
80
+ subject: string;
81
+ createdAt: Date;
82
+ deletedAt: Date | null;
83
+ openedAt: Date | null;
84
+ isAltered: boolean;
85
+ recipients: Omit<PublicUser, "publicKey">[];
86
+ temporaryRecipients: TemporaryMailUser[];
87
+ files: {
88
+ id: string;
89
+ name: string;
90
+ key: string;
91
+ }[];
92
+ };
93
+ export declare type PublicUser = InputType<GraphQLTypes["User"], typeof userSelector>;
94
+ export interface ReceivedMail extends BaseMail {
95
+ type: "received";
96
+ sender: PublicUser;
97
+ }
98
+ export declare type InternalSentMail = {
99
+ user: {
100
+ sentMails: GQLMail[];
101
+ };
102
+ };
103
+ export declare type InternalDraftMails = {
104
+ user: {
105
+ draftMails: GQLMail[];
106
+ };
107
+ };
108
+ export interface SentMail extends BaseMail {
109
+ type: "sent";
110
+ }
111
+ export interface DraftMail extends BaseMail {
112
+ type: "draft";
113
+ }
114
+ export declare type Mail = DraftMail | SentMail | ReceivedMail;
115
+ export declare type MailRecipientInput = {
116
+ body: string;
117
+ subject: string;
118
+ recipientId: string;
119
+ files: MailFileInput[];
120
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./File.js";
2
+ export * from "./Node.js";
3
+ export * from "./UserAppSettings.js";
4
+ export * from "./UserAppNotifications.js";
5
+ export * from "./Inputs.js";
6
+ export {};
7
+ export {};
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgSW5wdXRUeXBlLCBHcmFwaFFMVHlwZXMgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBtYWlsU2VsZWN0b3IsIHVzZXJTZWxlY3RvciB9IGZyb20gXCIuL3NlbGVjdG9ycy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmlsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vTm9kZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXNlckFwcFNldHRpbmdzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VyQXBwTm90aWZpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW5wdXRzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFNlY3JlY3lVc2VyQXBwID0ge1xuICBrZXlzOiBLZXlQYWlyO1xuICBqd3Q6IHN0cmluZztcbiAgdWFTZXNzaW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDb250ZW50UGFydCB7XG4gIGNvbnRlbnRVcmw6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbiAgbWQ1OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEZpbGVQYXJ0UmVzcG9uc2UgPSB7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZUlucHV0ID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGZpbGVLZXk6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5ID0ge1xuICBpZDogc3RyaW5nO1xuICBoYXNoOiBzdHJpbmc7XG4gIGhhc2hLZXk6IHN0cmluZztcbiAgcmVwbHlUbz86IHtcbiAgICBpZDogc3RyaW5nO1xuICB9O1xuICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBUZW1wb3JhcnlNYWlsVXNlcltdO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5RHJhZnQgPSBNYWlsSW50ZWdyaXR5ICYge1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBUZW1wb3JhcnlNYWlsVXNlciA9IHtcbiAgZW1haWw/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBhdHRhY2htZW50c0NvdW50OiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogRGF0ZTtcbiAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZSA9IHtcbiAgZmlsZUtleTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBmaWxlOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxUeXBlID0gXCJzZW50XCIgfCBcInJlY2VpdmVkXCIgfCBcImRyYWZ0XCI7XG5cbmV4cG9ydCB0eXBlIEdRTE1haWwgPSBJbnB1dFR5cGU8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXSwgdHlwZW9mIG1haWxTZWxlY3Rvcj47XG5cbmV4cG9ydCB0eXBlIEludGVybmFsUmVjZWl2ZWRNYWlsID0ge1xuICB1c2VyOiB7XG4gICAgcmVjZWl2ZWRNYWlsczogR1FMTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFzZU1haWwgPSB7XG4gIHR5cGU6IE1haWxUeXBlO1xuICBpZDogc3RyaW5nO1xuICBtYWlsSW50ZWdyaXR5SWQ6IHN0cmluZztcbiAgcmVwbHlUbz86IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgb3BlbmVkQXQ6IERhdGUgfCBudWxsO1xuICBpc0FsdGVyZWQ6IGJvb2xlYW47XG4gIHJlY2lwaWVudHM6IE9taXQ8UHVibGljVXNlciwgXCJwdWJsaWNLZXlcIj5bXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbiAgZmlsZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W107XG59O1xuXG5leHBvcnQgdHlwZSBQdWJsaWNVc2VyID0gSW5wdXRUeXBlPEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sIHR5cGVvZiB1c2VyU2VsZWN0b3I+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVkTWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJyZWNlaXZlZFwiO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsU2VudE1haWwgPSB7XG4gIHVzZXI6IHtcbiAgICBzZW50TWFpbHM6IEdRTE1haWxbXTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsRHJhZnRNYWlscyA9IHtcbiAgdXNlcjoge1xuICAgIGRyYWZ0TWFpbHM6IEdRTE1haWxbXTtcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VudE1haWwgZXh0ZW5kcyBCYXNlTWFpbCB7XG4gIHR5cGU6IFwic2VudFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWZ0TWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJkcmFmdFwiO1xufVxuXG5leHBvcnQgdHlwZSBNYWlsID0gRHJhZnRNYWlsIHwgU2VudE1haWwgfCBSZWNlaXZlZE1haWw7XG5cbmV4cG9ydCB0eXBlIE1haWxSZWNpcGllbnRJbnB1dCA9IHtcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIHJlY2lwaWVudElkOiBzdHJpbmc7XG4gIGZpbGVzOiBNYWlsRmlsZUlucHV0W107XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLFdBQVc7QUFDekIsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsMkJBQTJCO0FBQ3pDLGNBQWMsYUFBYTtBQUFDO0FBQUEifQ==