asgard-tide 0.0.1

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 (75) hide show
  1. package/LICENSE +334 -0
  2. package/README.md +103 -0
  3. package/dist/cjs/contracts/BaseContract.d.ts +47 -0
  4. package/dist/cjs/contracts/BaseContract.d.ts.map +1 -0
  5. package/dist/cjs/contracts/BaseContract.js +162 -0
  6. package/dist/cjs/contracts/BaseContract.js.map +1 -0
  7. package/dist/cjs/contracts/GenericRealmAccessThresholdRoleContract.d.ts +8 -0
  8. package/dist/cjs/contracts/GenericRealmAccessThresholdRoleContract.d.ts.map +1 -0
  9. package/dist/cjs/contracts/GenericRealmAccessThresholdRoleContract.js +26 -0
  10. package/dist/cjs/contracts/GenericRealmAccessThresholdRoleContract.js.map +1 -0
  11. package/dist/cjs/contracts/GenericResourceAccessThresholdRoleContract.d.ts +8 -0
  12. package/dist/cjs/contracts/GenericResourceAccessThresholdRoleContract.d.ts.map +1 -0
  13. package/dist/cjs/contracts/GenericResourceAccessThresholdRoleContract.js +26 -0
  14. package/dist/cjs/contracts/GenericResourceAccessThresholdRoleContract.js.map +1 -0
  15. package/dist/cjs/index.d.ts +15 -0
  16. package/dist/cjs/index.d.ts.map +1 -0
  17. package/dist/cjs/index.js +26 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/models/CustomTideRequest.d.ts +19 -0
  20. package/dist/cjs/models/CustomTideRequest.d.ts.map +1 -0
  21. package/dist/cjs/models/CustomTideRequest.js +40 -0
  22. package/dist/cjs/models/CustomTideRequest.js.map +1 -0
  23. package/dist/cjs/models/Policy.d.ts +41 -0
  24. package/dist/cjs/models/Policy.d.ts.map +1 -0
  25. package/dist/cjs/models/Policy.js +268 -0
  26. package/dist/cjs/models/Policy.js.map +1 -0
  27. package/dist/cjs/models/TideRequest.d.ts +48 -0
  28. package/dist/cjs/models/TideRequest.d.ts.map +1 -0
  29. package/dist/cjs/models/TideRequest.js +255 -0
  30. package/dist/cjs/models/TideRequest.js.map +1 -0
  31. package/dist/cjs/utils/Serialization.d.ts +7 -0
  32. package/dist/cjs/utils/Serialization.d.ts.map +1 -0
  33. package/dist/cjs/utils/Serialization.js +106 -0
  34. package/dist/cjs/utils/Serialization.js.map +1 -0
  35. package/dist/cjs/utils/TideMemory.d.ts +10 -0
  36. package/dist/cjs/utils/TideMemory.d.ts.map +1 -0
  37. package/dist/cjs/utils/TideMemory.js +110 -0
  38. package/dist/cjs/utils/TideMemory.js.map +1 -0
  39. package/dist/esm/contracts/BaseContract.d.ts +47 -0
  40. package/dist/esm/contracts/BaseContract.d.ts.map +1 -0
  41. package/dist/esm/contracts/BaseContract.js +154 -0
  42. package/dist/esm/contracts/BaseContract.js.map +1 -0
  43. package/dist/esm/contracts/GenericRealmAccessThresholdRoleContract.d.ts +8 -0
  44. package/dist/esm/contracts/GenericRealmAccessThresholdRoleContract.d.ts.map +1 -0
  45. package/dist/esm/contracts/GenericRealmAccessThresholdRoleContract.js +22 -0
  46. package/dist/esm/contracts/GenericRealmAccessThresholdRoleContract.js.map +1 -0
  47. package/dist/esm/contracts/GenericResourceAccessThresholdRoleContract.d.ts +8 -0
  48. package/dist/esm/contracts/GenericResourceAccessThresholdRoleContract.d.ts.map +1 -0
  49. package/dist/esm/contracts/GenericResourceAccessThresholdRoleContract.js +22 -0
  50. package/dist/esm/contracts/GenericResourceAccessThresholdRoleContract.js.map +1 -0
  51. package/dist/esm/index.d.ts +15 -0
  52. package/dist/esm/index.d.ts.map +1 -0
  53. package/dist/esm/index.js +15 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/models/CustomTideRequest.d.ts +19 -0
  56. package/dist/esm/models/CustomTideRequest.d.ts.map +1 -0
  57. package/dist/esm/models/CustomTideRequest.js +31 -0
  58. package/dist/esm/models/CustomTideRequest.js.map +1 -0
  59. package/dist/esm/models/Policy.d.ts +41 -0
  60. package/dist/esm/models/Policy.d.ts.map +1 -0
  61. package/dist/esm/models/Policy.js +263 -0
  62. package/dist/esm/models/Policy.js.map +1 -0
  63. package/dist/esm/models/TideRequest.d.ts +48 -0
  64. package/dist/esm/models/TideRequest.d.ts.map +1 -0
  65. package/dist/esm/models/TideRequest.js +252 -0
  66. package/dist/esm/models/TideRequest.js.map +1 -0
  67. package/dist/esm/utils/Serialization.d.ts +7 -0
  68. package/dist/esm/utils/Serialization.d.ts.map +1 -0
  69. package/dist/esm/utils/Serialization.js +98 -0
  70. package/dist/esm/utils/Serialization.js.map +1 -0
  71. package/dist/esm/utils/TideMemory.d.ts +10 -0
  72. package/dist/esm/utils/TideMemory.d.ts.map +1 -0
  73. package/dist/esm/utils/TideMemory.js +106 -0
  74. package/dist/esm/utils/TideMemory.js.map +1 -0
  75. package/package.json +41 -0
@@ -0,0 +1,8 @@
1
+ import { Policy } from "../models/Policy";
2
+ import { BaseContract, Doken } from "./BaseContract";
3
+ export declare class GenericRealmAccessThresholdRoleContract extends BaseContract {
4
+ protected validateData(policy: Policy): Promise<void>;
5
+ id: string;
6
+ protected validateApprovers(policy: Policy, approverDokens: Doken[]): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=GenericRealmAccessThresholdRoleContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRealmAccessThresholdRoleContract.d.ts","sourceRoot":"","sources":["../../../src/contracts/GenericRealmAccessThresholdRoleContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,uCAAwC,SAAQ,YAAY;IACrE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,EAAE,EAAE,MAAM,CAAuC;cACxC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ5F"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericRealmAccessThresholdRoleContract = void 0;
4
+ const BaseContract_1 = require("./BaseContract");
5
+ class GenericRealmAccessThresholdRoleContract extends BaseContract_1.BaseContract {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.id = "GenericRealmAccessThresholdRole:1";
9
+ }
10
+ validateData(policy) {
11
+ console.warn("Validate Data not implemented!");
12
+ return;
13
+ }
14
+ async validateApprovers(policy, approverDokens) {
15
+ let successfulDokens = 0;
16
+ approverDokens.forEach(d => {
17
+ if (d.hasRealmAccessRole(policy.params.getParameter("role")))
18
+ successfulDokens++;
19
+ });
20
+ const threshold = policy.params.getParameter("threshold");
21
+ if (successfulDokens < threshold)
22
+ throw 'Not enough successful dokens with requires roles/clients';
23
+ }
24
+ }
25
+ exports.GenericRealmAccessThresholdRoleContract = GenericRealmAccessThresholdRoleContract;
26
+ //# sourceMappingURL=GenericRealmAccessThresholdRoleContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRealmAccessThresholdRoleContract.js","sourceRoot":"","sources":["../../../src/contracts/GenericRealmAccessThresholdRoleContract.ts"],"names":[],"mappings":";;;AACA,iDAAqD;AAErD,MAAa,uCAAwC,SAAQ,2BAAY;IAAzE;;QAKW,OAAE,GAAW,mCAAmC,CAAC;IAS5D,CAAC;IAba,YAAY,CAAC,MAAc;QACjC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO;IACX,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,cAAuB;QACrE,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,IAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAS,MAAM,CAAC,CAAC;gBAAE,gBAAgB,EAAE,CAAC;QAC5F,CAAC,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAS,WAAW,CAAC,CAAC;QAClE,IAAG,gBAAgB,GAAG,SAAS;YAAE,MAAM,0DAA0D,CAAC;IACtG,CAAC;CACJ;AAdD,0FAcC"}
@@ -0,0 +1,8 @@
1
+ import { Policy } from "../models/Policy";
2
+ import { BaseContract, Doken } from "./BaseContract";
3
+ export declare class GenericResourceAccessThresholdRoleContract extends BaseContract {
4
+ id: string;
5
+ protected validateData(policy: Policy): Promise<void>;
6
+ protected validateApprovers(policy: Policy, approverDokens: Doken[]): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=GenericResourceAccessThresholdRoleContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericResourceAccessThresholdRoleContract.d.ts","sourceRoot":"","sources":["../../../src/contracts/GenericResourceAccessThresholdRoleContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,0CAA2C,SAAQ,YAAY;IACjE,EAAE,EAAE,MAAM,CAA0C;IAC3D,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIrC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ5F"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericResourceAccessThresholdRoleContract = void 0;
4
+ const BaseContract_1 = require("./BaseContract");
5
+ class GenericResourceAccessThresholdRoleContract extends BaseContract_1.BaseContract {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.id = "GenericResourceAccessThresholdRole:1";
9
+ }
10
+ validateData(policy) {
11
+ console.warn("Validate Data not implemented!");
12
+ return;
13
+ }
14
+ async validateApprovers(policy, approverDokens) {
15
+ let successfulDokens = 0;
16
+ approverDokens.forEach(d => {
17
+ if (d.hasResourceAccessRole(policy.params.getParameter("role"), policy.params.getParameter("resource")))
18
+ successfulDokens++;
19
+ });
20
+ const threshold = policy.params.getParameter("threshold");
21
+ if (successfulDokens < threshold)
22
+ throw 'Not enough successful dokens with requires roles/clients';
23
+ }
24
+ }
25
+ exports.GenericResourceAccessThresholdRoleContract = GenericResourceAccessThresholdRoleContract;
26
+ //# sourceMappingURL=GenericResourceAccessThresholdRoleContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericResourceAccessThresholdRoleContract.js","sourceRoot":"","sources":["../../../src/contracts/GenericResourceAccessThresholdRoleContract.ts"],"names":[],"mappings":";;;AACA,iDAAqD;AAErD,MAAa,0CAA2C,SAAQ,2BAAY;IAA5E;;QACW,OAAE,GAAW,sCAAsC,CAAC;IAa/D,CAAC;IAZa,YAAY,CAAC,MAAc;QACjC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO;IACX,CAAC;IACS,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,cAAuB;QACrE,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,IAAG,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAS,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAS,UAAU,CAAC,CAAC;gBAAE,gBAAgB,EAAE,CAAC;QAC/I,CAAC,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAS,WAAW,CAAC,CAAC;QAClE,IAAG,gBAAgB,GAAG,SAAS;YAAE,MAAM,0DAA0D,CAAC;IACtG,CAAC;CACJ;AAdD,gGAcC"}
@@ -0,0 +1,15 @@
1
+ import { BaseContract } from "./contracts/BaseContract";
2
+ import { GenericResourceAccessThresholdRoleContract } from "./contracts/GenericResourceAccessThresholdRoleContract";
3
+ import { GenericRealmAccessThresholdRoleContract } from "./contracts/GenericRealmAccessThresholdRoleContract";
4
+ import { TideMemory } from "./utils/TideMemory";
5
+ import BaseTideRequest from "./models/TideRequest";
6
+ import { Policy, PolicyParameters, ApprovalType, ExecutionType } from "./models/Policy";
7
+ import { BasicCustomRequest, DynamicPayloadCustomRequest, DynamicPayloadApprovedCustomRequest } from "./models/CustomTideRequest";
8
+ export { GenericResourceAccessThresholdRoleContract };
9
+ export { BaseContract };
10
+ export { TideMemory };
11
+ export { BaseTideRequest };
12
+ export { Policy, PolicyParameters, ApprovalType, ExecutionType };
13
+ export { GenericRealmAccessThresholdRoleContract };
14
+ export { BasicCustomRequest, DynamicPayloadCustomRequest, DynamicPayloadApprovedCustomRequest };
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,uCAAuC,EAAE,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAElI,OAAO,EAAE,0CAA0C,EAAE,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA;AAChE,OAAO,EAAE,uCAAuC,EAAE,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DynamicPayloadApprovedCustomRequest = exports.DynamicPayloadCustomRequest = exports.BasicCustomRequest = exports.GenericRealmAccessThresholdRoleContract = exports.ExecutionType = exports.ApprovalType = exports.PolicyParameters = exports.Policy = exports.BaseTideRequest = exports.TideMemory = exports.BaseContract = exports.GenericResourceAccessThresholdRoleContract = void 0;
7
+ const BaseContract_1 = require("./contracts/BaseContract");
8
+ Object.defineProperty(exports, "BaseContract", { enumerable: true, get: function () { return BaseContract_1.BaseContract; } });
9
+ const GenericResourceAccessThresholdRoleContract_1 = require("./contracts/GenericResourceAccessThresholdRoleContract");
10
+ Object.defineProperty(exports, "GenericResourceAccessThresholdRoleContract", { enumerable: true, get: function () { return GenericResourceAccessThresholdRoleContract_1.GenericResourceAccessThresholdRoleContract; } });
11
+ const GenericRealmAccessThresholdRoleContract_1 = require("./contracts/GenericRealmAccessThresholdRoleContract");
12
+ Object.defineProperty(exports, "GenericRealmAccessThresholdRoleContract", { enumerable: true, get: function () { return GenericRealmAccessThresholdRoleContract_1.GenericRealmAccessThresholdRoleContract; } });
13
+ const TideMemory_1 = require("./utils/TideMemory");
14
+ Object.defineProperty(exports, "TideMemory", { enumerable: true, get: function () { return TideMemory_1.TideMemory; } });
15
+ const TideRequest_1 = __importDefault(require("./models/TideRequest"));
16
+ exports.BaseTideRequest = TideRequest_1.default;
17
+ const Policy_1 = require("./models/Policy");
18
+ Object.defineProperty(exports, "Policy", { enumerable: true, get: function () { return Policy_1.Policy; } });
19
+ Object.defineProperty(exports, "PolicyParameters", { enumerable: true, get: function () { return Policy_1.PolicyParameters; } });
20
+ Object.defineProperty(exports, "ApprovalType", { enumerable: true, get: function () { return Policy_1.ApprovalType; } });
21
+ Object.defineProperty(exports, "ExecutionType", { enumerable: true, get: function () { return Policy_1.ExecutionType; } });
22
+ const CustomTideRequest_1 = require("./models/CustomTideRequest");
23
+ Object.defineProperty(exports, "BasicCustomRequest", { enumerable: true, get: function () { return CustomTideRequest_1.BasicCustomRequest; } });
24
+ Object.defineProperty(exports, "DynamicPayloadCustomRequest", { enumerable: true, get: function () { return CustomTideRequest_1.DynamicPayloadCustomRequest; } });
25
+ Object.defineProperty(exports, "DynamicPayloadApprovedCustomRequest", { enumerable: true, get: function () { return CustomTideRequest_1.DynamicPayloadApprovedCustomRequest; } });
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAwD;AAU/C,6FAVA,2BAAY,OAUA;AATrB,uHAAoH;AAQ3G,2HARA,uFAA0C,OAQA;AAPnD,iHAA8G;AAYrG,wHAZA,iFAAuC,OAYA;AAXhD,mDAAgD;AAQvC,2FARA,uBAAU,OAQA;AAPnB,uEAAmD;AAQ1C,0BARF,qBAAe,CAQE;AAPxB,4CAAwF;AAQ/E,uFARA,eAAM,OAQA;AAAE,iGARA,yBAAgB,OAQA;AAAE,6FARA,qBAAY,OAQA;AAAE,8FARA,sBAAa,OAQA;AAN9D,kEAAkI;AAQzH,mGARA,sCAAkB,OAQA;AAAE,4GARA,+CAA2B,OAQA;AAAE,oHARA,uDAAmC,OAQA"}
@@ -0,0 +1,19 @@
1
+ import BaseTideRequest from "./TideRequest";
2
+ export declare class BasicCustomRequest extends BaseTideRequest {
3
+ id(): string;
4
+ }
5
+ export declare class DynamicPayloadCustomRequest extends BaseTideRequest {
6
+ id(): string;
7
+ }
8
+ export declare class DynamicPayloadApprovedCustomRequest extends BaseTideRequest {
9
+ customInfo: CustomInfo | undefined;
10
+ constructor(name: string, version: string, authFlow: string, humanReadableName: string, additionalInfo: any, dyanmicData: Uint8Array);
11
+ id(): string;
12
+ getAdditionalInfoSupplied(): any;
13
+ }
14
+ interface CustomInfo {
15
+ humanReadableName: string;
16
+ additionalInfo: any;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=CustomTideRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTideRequest.d.ts","sourceRoot":"","sources":["../../../src/models/CustomTideRequest.ts"],"names":[],"mappings":"AAEA,OAAO,eAAe,MAAM,eAAe,CAAC;AAE5C,qBAAa,kBAAmB,SAAQ,eAAe;IACnD,EAAE,IAAI,MAAM;CAGf;AAED,qBAAa,2BAA4B,SAAQ,eAAe;IAC5D,EAAE,IAAI,MAAM;CAGf;AAED,qBAAa,mCAAoC,SAAQ,eAAe;IACpE,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;gBAEvB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU;IAQpI,EAAE,IAAI,MAAM;IAIZ,yBAAyB,IAAI,GAAG;CAInC;AACD,UAAU,UAAU;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,GAAG,CAAC;CACvB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DynamicPayloadApprovedCustomRequest = exports.DynamicPayloadCustomRequest = exports.BasicCustomRequest = void 0;
7
+ const Serialization_1 = require("../utils/Serialization");
8
+ const TideRequest_1 = __importDefault(require("./TideRequest"));
9
+ class BasicCustomRequest extends TideRequest_1.default {
10
+ id() {
11
+ return `BasicCustom<${this.name}>:BasicCustom<${this.version}>`;
12
+ }
13
+ }
14
+ exports.BasicCustomRequest = BasicCustomRequest;
15
+ class DynamicPayloadCustomRequest extends TideRequest_1.default {
16
+ id() {
17
+ return `DynamicCustom<${this.name}>:DynamicCustom<${this.version}>`;
18
+ }
19
+ }
20
+ exports.DynamicPayloadCustomRequest = DynamicPayloadCustomRequest;
21
+ class DynamicPayloadApprovedCustomRequest extends TideRequest_1.default {
22
+ constructor(name, version, authFlow, humanReadableName, additionalInfo, dyanmicData) {
23
+ const customInfo = {
24
+ humanReadableName: humanReadableName,
25
+ additionalInfo: additionalInfo
26
+ };
27
+ super(name, version, authFlow, (0, Serialization_1.StringToUint8Array)(JSON.stringify(customInfo)), dyanmicData);
28
+ }
29
+ id() {
30
+ return `DynamicApprovedCustom<${this.name}>:DynamicApprovedCustom<${this.version}>`;
31
+ }
32
+ getAdditionalInfoSupplied() {
33
+ if (this.draft.length > 0)
34
+ return JSON.parse((0, Serialization_1.StringFromUint8Array)(this.draft))["additionalInfo"];
35
+ else
36
+ return null;
37
+ }
38
+ }
39
+ exports.DynamicPayloadApprovedCustomRequest = DynamicPayloadApprovedCustomRequest;
40
+ //# sourceMappingURL=CustomTideRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTideRequest.js","sourceRoot":"","sources":["../../../src/models/CustomTideRequest.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkF;AAElF,gEAA4C;AAE5C,MAAa,kBAAmB,SAAQ,qBAAe;IACnD,EAAE;QACE,OAAO,eAAe,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,OAAO,GAAG,CAAC;IACpE,CAAC;CACJ;AAJD,gDAIC;AAED,MAAa,2BAA4B,SAAQ,qBAAe;IAC5D,EAAE;QACE,OAAO,iBAAiB,IAAI,CAAC,IAAI,mBAAmB,IAAI,CAAC,OAAO,GAAG,CAAC;IACxE,CAAC;CACJ;AAJD,kEAIC;AAED,MAAa,mCAAoC,SAAQ,qBAAe;IAGpE,YAAY,IAAY,EAAE,OAAe,EAAE,QAAgB,EAAE,iBAAyB,EAAE,cAAmB,EAAE,WAAuB;QAChI,MAAM,UAAU,GAAG;YACf,iBAAiB,EAAE,iBAAiB;YACpC,cAAc,EAAE,cAAc;SACjC,CAAA;QACD,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAA,kCAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAChG,CAAC;IAED,EAAE;QACE,OAAO,yBAAyB,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,OAAO,GAAG,CAAC;IACxF,CAAC;IAED,yBAAyB;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,oCAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;;YAC5F,OAAO,IAAI,CAAC;IACrB,CAAC;CACJ;AAnBD,kFAmBC"}
@@ -0,0 +1,41 @@
1
+ import { TideMemory } from "../utils/TideMemory";
2
+ export declare enum ApprovalType {
3
+ EXPLICIT = 0,
4
+ IMPLICIT = 1
5
+ }
6
+ export declare enum ExecutionType {
7
+ PRIVATE = 0,
8
+ PUBLIC = 1
9
+ }
10
+ export declare class Policy {
11
+ static latestVersion: string;
12
+ version: string;
13
+ contractId: string;
14
+ modelId: string;
15
+ keyId: string;
16
+ approvalType: ApprovalType;
17
+ executionType: ExecutionType;
18
+ params: PolicyParameters;
19
+ dataToVerify: TideMemory | undefined;
20
+ signature: Uint8Array | undefined;
21
+ constructor(data: {
22
+ version: string;
23
+ contractId: string;
24
+ modelId: string;
25
+ keyId: string;
26
+ approvalType: ApprovalType;
27
+ executionType: ExecutionType;
28
+ params: Map<string, any> | PolicyParameters;
29
+ });
30
+ static from(data: Uint8Array): Policy;
31
+ toBytes(): TideMemory;
32
+ }
33
+ export declare class PolicyParameters {
34
+ entries: Map<string, any>;
35
+ constructor(data: Map<string, any> | Uint8Array);
36
+ private static fromBytes;
37
+ tryGetParameter<T extends string | number | bigint | boolean | Uint8Array>(key: string): [boolean, T];
38
+ getParameter<T extends string | number | bigint | boolean | Uint8Array>(key: string): T;
39
+ toBytes(): Uint8Array;
40
+ }
41
+ //# sourceMappingURL=Policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Policy.d.ts","sourceRoot":"","sources":["../../../src/models/Policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,oBAAY,YAAY;IACpB,QAAQ,IAAA;IACR,QAAQ,IAAA;CACX;AACD,oBAAY,aAAa;IACrB,OAAO,IAAA;IACP,MAAM,IAAA;CACT;AACD,qBAAa,MAAM;IACf,MAAM,CAAC,aAAa,EAAE,MAAM,CAAO;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IAEzB,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;gBAEtB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAA;KAAE;IA0BhM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAyCrC,OAAO;CAgBV;AAED,qBAAa,gBAAgB;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACd,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU;IAQ/C,OAAO,CAAC,MAAM,CAAC,SAAS;IAgDxB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAQrG,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAkCvF,OAAO,IAAI,UAAU;CAsCxB"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyParameters = exports.Policy = exports.ExecutionType = exports.ApprovalType = void 0;
4
+ const TideMemory_1 = require("../utils/TideMemory");
5
+ const Serialization_1 = require("../utils/Serialization");
6
+ var ApprovalType;
7
+ (function (ApprovalType) {
8
+ ApprovalType[ApprovalType["EXPLICIT"] = 0] = "EXPLICIT";
9
+ ApprovalType[ApprovalType["IMPLICIT"] = 1] = "IMPLICIT";
10
+ })(ApprovalType || (exports.ApprovalType = ApprovalType = {}));
11
+ var ExecutionType;
12
+ (function (ExecutionType) {
13
+ ExecutionType[ExecutionType["PRIVATE"] = 0] = "PRIVATE";
14
+ ExecutionType[ExecutionType["PUBLIC"] = 1] = "PUBLIC";
15
+ })(ExecutionType || (exports.ExecutionType = ExecutionType = {}));
16
+ class Policy {
17
+ constructor(data) {
18
+ if (typeof data["version"] !== "string")
19
+ throw 'Version is not a string';
20
+ this.version = data["version"];
21
+ if (typeof data["contractId"] !== "string")
22
+ throw 'ContractId is not a string';
23
+ this.contractId = data["contractId"];
24
+ if (typeof data["modelId"] !== "string")
25
+ throw 'ModelId is not a string';
26
+ this.modelId = data["modelId"];
27
+ if (typeof data["keyId"] !== "string")
28
+ throw 'KeyId is not a string';
29
+ this.keyId = data["keyId"];
30
+ this.approvalType = data.approvalType;
31
+ this.executionType = data.executionType;
32
+ if (!data["params"])
33
+ throw 'Params is null';
34
+ this.params = data["params"] instanceof PolicyParameters ? data["params"] : new PolicyParameters(data["params"]);
35
+ this.dataToVerify = TideMemory_1.TideMemory.CreateFromArray([
36
+ (0, Serialization_1.StringToUint8Array)(this.version),
37
+ (0, Serialization_1.StringToUint8Array)(this.contractId),
38
+ (0, Serialization_1.StringToUint8Array)(this.modelId),
39
+ (0, Serialization_1.StringToUint8Array)(this.keyId),
40
+ (0, Serialization_1.StringToUint8Array)(ApprovalType[this.approvalType]),
41
+ (0, Serialization_1.StringToUint8Array)(ExecutionType[this.executionType]),
42
+ this.params.toBytes()
43
+ ]);
44
+ }
45
+ static from(data) {
46
+ const d = new TideMemory_1.TideMemory(data.length);
47
+ d.set(data);
48
+ const dataToVerify = d.GetValue(0);
49
+ const version = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(0));
50
+ if (version != Policy.latestVersion) {
51
+ // old version
52
+ switch (version) {
53
+ case PolicyV1.thisVersion:
54
+ return PolicyV1.from(d);
55
+ default:
56
+ throw Error("Unknown policy version: " + version);
57
+ }
58
+ }
59
+ const contractId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(1));
60
+ const modelId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(2));
61
+ const keyId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(3));
62
+ const approvalType = ApprovalType[(0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(4))];
63
+ const executionType = ExecutionType[(0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(5))];
64
+ const params = new PolicyParameters(dataToVerify.GetValue(6));
65
+ const p = new Policy({
66
+ version,
67
+ contractId,
68
+ modelId,
69
+ keyId,
70
+ approvalType,
71
+ executionType,
72
+ params
73
+ });
74
+ const sigRes = { result: undefined };
75
+ if (d.TryGetValue(1, sigRes)) {
76
+ p.signature = sigRes.result;
77
+ }
78
+ return p;
79
+ }
80
+ toBytes() {
81
+ let d = [
82
+ TideMemory_1.TideMemory.CreateFromArray([
83
+ (0, Serialization_1.StringToUint8Array)(this.version),
84
+ (0, Serialization_1.StringToUint8Array)(this.contractId),
85
+ (0, Serialization_1.StringToUint8Array)(this.modelId),
86
+ (0, Serialization_1.StringToUint8Array)(this.keyId),
87
+ (0, Serialization_1.StringToUint8Array)(ApprovalType[this.approvalType]),
88
+ (0, Serialization_1.StringToUint8Array)(ExecutionType[this.executionType]),
89
+ this.params.toBytes()
90
+ ])
91
+ ];
92
+ if (this.signature)
93
+ d.push(this.signature);
94
+ return TideMemory_1.TideMemory.CreateFromArray(d);
95
+ }
96
+ }
97
+ exports.Policy = Policy;
98
+ Policy.latestVersion = "2";
99
+ class PolicyParameters {
100
+ constructor(data) {
101
+ if (data instanceof Uint8Array) {
102
+ this.entries = PolicyParameters.fromBytes(data);
103
+ }
104
+ else {
105
+ this.entries = new Map(data);
106
+ }
107
+ }
108
+ static fromBytes(data) {
109
+ let params = new Map();
110
+ let i = 0;
111
+ const value = { result: undefined };
112
+ // Create TideMemory instance to access TryGetValue
113
+ const tideData = new TideMemory_1.TideMemory(data.length);
114
+ tideData.set(data);
115
+ // Try to get values at sequential indices
116
+ while (tideData.TryGetValue(i, value)) {
117
+ const nameBytes = value.result.GetValue(0);
118
+ const name = (0, Serialization_1.StringFromUint8Array)(nameBytes);
119
+ const typeBytes = value.result.GetValue(1);
120
+ const type = (0, Serialization_1.StringFromUint8Array)(typeBytes);
121
+ const dataBytes = value.result.GetValue(2);
122
+ let datum;
123
+ switch (type) {
124
+ case "str":
125
+ datum = (0, Serialization_1.StringFromUint8Array)(dataBytes);
126
+ break;
127
+ case "num":
128
+ const numView = new DataView(dataBytes.buffer, dataBytes.byteOffset, dataBytes.byteLength);
129
+ datum = numView.getInt32(0, true); // little-endian
130
+ break;
131
+ case "bnum":
132
+ // Convert bytes to BigInt (little-endian)
133
+ datum = (0, Serialization_1.BigIntFromByteArray)(dataBytes);
134
+ break;
135
+ case "bln":
136
+ datum = dataBytes[0] === 1;
137
+ break;
138
+ case "byt":
139
+ datum = new Uint8Array(dataBytes);
140
+ break;
141
+ default:
142
+ throw new Error(`Could not find type of ${type}`);
143
+ }
144
+ params.set(name, datum);
145
+ i++;
146
+ }
147
+ return params;
148
+ }
149
+ tryGetParameter(key) {
150
+ try {
151
+ return [true, this.getParameter(key)];
152
+ }
153
+ catch {
154
+ return [false, null];
155
+ }
156
+ }
157
+ getParameter(key) {
158
+ if (!this.entries.has(key)) {
159
+ throw new Error(`Parameter '${key}' not found`);
160
+ }
161
+ const value = this.entries.get(key);
162
+ const actualType = value instanceof Uint8Array ? 'Uint8Array' : typeof value;
163
+ // Type checking logic
164
+ let expectedType;
165
+ if (value instanceof Uint8Array) {
166
+ expectedType = 'Uint8Array';
167
+ }
168
+ else {
169
+ expectedType = typeof value;
170
+ }
171
+ // Validate the type matches what was requested
172
+ // We can't directly check T at runtime, so we infer from the value type
173
+ const isCorrectType = (typeof value === 'string' && value.constructor === String) ||
174
+ (typeof value === 'number' && value.constructor === Number) ||
175
+ (typeof value === 'bigint' && value.constructor === BigInt) ||
176
+ (typeof value === 'boolean' && value.constructor === Boolean) ||
177
+ (value instanceof Uint8Array);
178
+ if (!isCorrectType) {
179
+ throw new Error(`Parameter '${key}' exists but has unexpected type '${actualType}'`);
180
+ }
181
+ return value;
182
+ }
183
+ toBytes() {
184
+ let params = [];
185
+ for (const [key, value] of this.entries) {
186
+ const nameBytes = (0, Serialization_1.StringToUint8Array)(key);
187
+ let dataBytes, typeStr;
188
+ if (typeof value === 'string') {
189
+ dataBytes = (0, Serialization_1.StringToUint8Array)(value);
190
+ typeStr = "str";
191
+ }
192
+ else if (typeof value === 'number' && Number.isInteger(value)) {
193
+ const buffer = new ArrayBuffer(4);
194
+ const view = new DataView(buffer);
195
+ view.setInt32(0, value, true); // little-endian
196
+ dataBytes = new Uint8Array(buffer);
197
+ typeStr = "num";
198
+ }
199
+ else if (typeof value === 'bigint') {
200
+ dataBytes = (0, Serialization_1.BigIntToByteArray)(value);
201
+ typeStr = "bnum";
202
+ }
203
+ else if (typeof value === 'boolean') {
204
+ dataBytes = new Uint8Array([value ? 1 : 0]);
205
+ typeStr = "bln";
206
+ }
207
+ else if (value instanceof Uint8Array) {
208
+ dataBytes = value;
209
+ typeStr = "byt";
210
+ }
211
+ else {
212
+ throw new Error(`Could not serialize key '${key}' of type '${typeof value}'`);
213
+ }
214
+ const typeBytes = (0, Serialization_1.StringToUint8Array)(typeStr);
215
+ const paramMemory = TideMemory_1.TideMemory.CreateFromArray([nameBytes, typeBytes, dataBytes]);
216
+ params.push(paramMemory);
217
+ }
218
+ return TideMemory_1.TideMemory.CreateFromArray(params);
219
+ }
220
+ }
221
+ exports.PolicyParameters = PolicyParameters;
222
+ class PolicyV1 extends Policy {
223
+ constructor() {
224
+ super(...arguments);
225
+ this.version = PolicyV1.thisVersion;
226
+ }
227
+ static from(data) {
228
+ const dataToVerify = data.GetValue(0);
229
+ const v = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(0));
230
+ if (v != PolicyV1.thisVersion) {
231
+ throw Error("Dev error");
232
+ }
233
+ const contractId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(1));
234
+ const modelId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(2));
235
+ const keyId = (0, Serialization_1.StringFromUint8Array)(dataToVerify.GetValue(3));
236
+ const params = new PolicyParameters(dataToVerify.GetValue(4));
237
+ const p = new PolicyV1({
238
+ version: v,
239
+ contractId,
240
+ modelId,
241
+ keyId,
242
+ approvalType: ApprovalType.EXPLICIT, // didn't exist on v1 so this is default
243
+ executionType: ExecutionType.PUBLIC, // didn't exist on v1 so this is default
244
+ params
245
+ });
246
+ const sigRes = { result: undefined };
247
+ if (data.TryGetValue(1, sigRes)) {
248
+ p.signature = sigRes.result;
249
+ }
250
+ return p;
251
+ }
252
+ toBytes() {
253
+ let d = [
254
+ TideMemory_1.TideMemory.CreateFromArray([
255
+ (0, Serialization_1.StringToUint8Array)(PolicyV1.thisVersion),
256
+ (0, Serialization_1.StringToUint8Array)(this.contractId),
257
+ (0, Serialization_1.StringToUint8Array)(this.modelId),
258
+ (0, Serialization_1.StringToUint8Array)(this.keyId),
259
+ this.params.toBytes()
260
+ ])
261
+ ];
262
+ if (this.signature)
263
+ d.push(this.signature);
264
+ return TideMemory_1.TideMemory.CreateFromArray(d);
265
+ }
266
+ }
267
+ PolicyV1.thisVersion = "1";
268
+ //# sourceMappingURL=Policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Policy.js","sourceRoot":"","sources":["../../../src/models/Policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { TideMemory } from "../utils/TideMemory.js";
2
+ import { Policy } from "./Policy.js";
3
+ export default class BaseTideRequest {
4
+ static _name: string;
5
+ static _version: string;
6
+ name: string;
7
+ version: string;
8
+ authFlow: string;
9
+ draft: TideMemory;
10
+ dyanmicData: TideMemory;
11
+ authorization: TideMemory;
12
+ authorizerCert: TideMemory;
13
+ authorizer: TideMemory;
14
+ expiry: number;
15
+ policy: TideMemory;
16
+ constructor(name: string, version: string, authFlow: string, draft: Uint8Array, dyanmicData: Uint8Array);
17
+ id(): string;
18
+ /**
19
+ * This isn't copying. Just created another BaseTideRequest object that allows you to point each individual field to OTHER sections of memory.
20
+ * If you modify an existing 'replicated' field, you'll also modify the other object you originally replicated.
21
+ */
22
+ replicate(): BaseTideRequest;
23
+ setNewDynamicData(d: Uint8Array): this;
24
+ setCustomExpiry(timeFromNowInSeconds: number): this;
25
+ addAuthorizer(authorizer: Uint8Array): void;
26
+ addAuthorizerCertificate(authorizerCertificate: Uint8Array): void;
27
+ addAuthorization(authorization: Uint8Array): this;
28
+ addPolicy(policy: Uint8Array): this;
29
+ hasPolicy(): boolean;
30
+ getRequestInitDetails(): Promise<{
31
+ creationTime: Uint8Array<ArrayBufferLike>;
32
+ expireTime: Uint8Array<ArrayBufferLike>;
33
+ modelId: NodeJS.NonSharedUint8Array;
34
+ draftHash: TideMemory;
35
+ }>;
36
+ addCreationSignature(creationTime: Uint8Array, sig: Uint8Array): this;
37
+ isInitialized(): boolean;
38
+ getUniqueId(): string;
39
+ getInitializedTime(): number;
40
+ getCurrentApprovalCount(): number;
41
+ getPolicy(): Policy;
42
+ removeApproval(approvalVuid: string): boolean;
43
+ encode(): TideMemory;
44
+ static decode<T extends BaseTideRequest>(this: new (name: string, version: string, authFlow: string, draft: Uint8Array, dynamicData: Uint8Array) => T, data: Uint8Array): T;
45
+ private static uint32ToUint8ArrayLE;
46
+ private static uint8ArrayToUint32LE;
47
+ }
48
+ //# sourceMappingURL=TideRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TideRequest.d.ts","sourceRoot":"","sources":["../../../src/models/TideRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;IAExB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,UAAU,CAAC;IAC1B,cAAc,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;gBAEP,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;IAkBvG,EAAE;IAIF;;;OAGG;IACH,SAAS;IAUT,iBAAiB,CAAC,CAAC,EAAE,UAAU;IAM/B,eAAe,CAAC,oBAAoB,EAAE,MAAM;IAK5C,aAAa,CAAC,UAAU,EAAE,UAAU;IAKpC,wBAAwB,CAAC,qBAAqB,EAAE,UAAU;IAK1D,gBAAgB,CAAC,aAAa,EAAE,UAAU;IAM1C,SAAS,CAAC,MAAM,EAAE,UAAU;IAM5B,SAAS,IAAI,OAAO;IAId,qBAAqB;;;;;;IAU3B,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU;IAW9D,aAAa,IAAI,OAAO;IAUxB,WAAW,IAAI,MAAM;IAMrB,kBAAkB,IAAI,MAAM;IAM5B,uBAAuB,IAAI,MAAM;IAQjC,SAAS,IAAI,MAAM;IAInB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IA0C7C,MAAM;IA2BN,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,eAAe,EACnC,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,KAAK,CAAC,EAC5G,IAAI,EAAE,UAAU,GACjB,CAAC;IAyCJ,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAoBtC"}