samlesa 2.12.3 → 2.12.6

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.

Potentially problematic release.


This version of samlesa might be problematic. Click here for more details.

Files changed (66) hide show
  1. package/build/index.js +54 -64
  2. package/build/index.js.map +1 -1
  3. package/build/src/api.js +24 -23
  4. package/build/src/api.js.map +1 -1
  5. package/build/src/binding-post.js +358 -368
  6. package/build/src/binding-post.js.map +1 -1
  7. package/build/src/binding-redirect.js +333 -332
  8. package/build/src/binding-redirect.js.map +1 -1
  9. package/build/src/binding-simplesign.js +222 -232
  10. package/build/src/binding-simplesign.js.map +1 -1
  11. package/build/src/entity-idp.js +132 -130
  12. package/build/src/entity-idp.js.map +1 -1
  13. package/build/src/entity-sp.js +96 -96
  14. package/build/src/entity-sp.js.map +1 -1
  15. package/build/src/entity.js +225 -235
  16. package/build/src/entity.js.map +1 -1
  17. package/build/src/extractor.js +369 -369
  18. package/build/src/extractor.js.map +1 -1
  19. package/build/src/flow.js +320 -319
  20. package/build/src/flow.js.map +1 -1
  21. package/build/src/libsaml.js +660 -641
  22. package/build/src/libsaml.js.map +1 -1
  23. package/build/src/metadata-idp.js +127 -127
  24. package/build/src/metadata-idp.js.map +1 -1
  25. package/build/src/metadata-sp.js +231 -231
  26. package/build/src/metadata-sp.js.map +1 -1
  27. package/build/src/metadata.js +166 -176
  28. package/build/src/metadata.js.map +1 -1
  29. package/build/src/types.js +11 -11
  30. package/build/src/urn.js +212 -212
  31. package/build/src/urn.js.map +1 -1
  32. package/build/src/utility.js +292 -248
  33. package/build/src/utility.js.map +1 -1
  34. package/build/src/validator.js +27 -26
  35. package/build/src/validator.js.map +1 -1
  36. package/index.d.ts +10 -10
  37. package/index.js +18 -18
  38. package/package.json +1 -5
  39. package/qodana.yaml +29 -29
  40. package/src/binding-post.ts +1 -1
  41. package/src/binding-redirect.ts +83 -64
  42. package/src/entity-idp.ts +26 -20
  43. package/src/libsaml.ts +79 -48
  44. package/src/utility.ts +147 -76
  45. package/types/index.d.ts +10 -10
  46. package/types/src/api.d.ts +13 -13
  47. package/types/src/binding-post.d.ts +46 -46
  48. package/types/src/binding-redirect.d.ts +52 -52
  49. package/types/src/binding-simplesign.d.ts +39 -39
  50. package/types/src/entity-idp.d.ts +35 -42
  51. package/types/src/entity-sp.d.ts +36 -36
  52. package/types/src/entity.d.ts +101 -99
  53. package/types/src/extractor.d.ts +25 -25
  54. package/types/src/flow.d.ts +6 -6
  55. package/types/src/libsaml.d.ts +200 -210
  56. package/types/src/metadata-idp.d.ts +24 -24
  57. package/types/src/metadata-sp.d.ts +36 -36
  58. package/types/src/metadata.d.ts +59 -57
  59. package/types/src/types.d.ts +129 -127
  60. package/types/src/urn.d.ts +194 -194
  61. package/types/src/utility.d.ts +134 -134
  62. package/types/src/validator.d.ts +3 -3
  63. package/.idea/compiler.xml +0 -6
  64. package/.idea/deployment.xml +0 -14
  65. package/.idea/jsLibraryMappings.xml +0 -6
  66. package/build/.idea/workspace.xml +0 -58
@@ -1,236 +1,226 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- /**
40
- * @file entity.ts
41
- * @author tngan
42
- * @desc An abstraction for identity provider and service provider.
43
- */
44
- const utility_js_1 = require("./utility.js");
45
- const urn_js_1 = require("./urn.js");
46
- const uuid = __importStar(require("uuid"));
47
- const metadata_idp_js_1 = __importDefault(require("./metadata-idp.js"));
48
- const metadata_sp_js_1 = __importDefault(require("./metadata-sp.js"));
49
- const binding_redirect_js_1 = __importDefault(require("./binding-redirect.js"));
50
- const binding_post_js_1 = __importDefault(require("./binding-post.js"));
51
- const flow_js_1 = require("./flow.js");
52
- const dataEncryptionAlgorithm = urn_js_1.algorithms.encryption.data;
53
- const keyEncryptionAlgorithm = urn_js_1.algorithms.encryption.key;
54
- const signatureAlgorithms = urn_js_1.algorithms.signature;
55
- const messageSigningOrders = urn_js_1.messageConfigurations.signingOrder;
56
- const defaultEntitySetting = {
57
- wantLogoutResponseSigned: false,
58
- messageSigningOrder: messageSigningOrders.SIGN_THEN_ENCRYPT,
59
- wantLogoutRequestSigned: false,
60
- allowCreate: false,
61
- isAssertionEncrypted: false,
62
- requestSignatureAlgorithm: signatureAlgorithms.RSA_SHA512,
63
- dataEncryptionAlgorithm: dataEncryptionAlgorithm.AES_256_GCM,
64
- keyEncryptionAlgorithm: keyEncryptionAlgorithm.RSA_OAEP_MGF1P,
65
- generateID: () => ('_' + uuid.v4()),
66
- relayState: '',
67
- };
68
- class Entity {
69
- entitySetting;
70
- entityType;
71
- entityMeta;
72
- /**
73
- * @param entitySetting
74
- * @param entityMeta is the entity metadata, deprecated after 2.0
75
- */
76
- constructor(entitySetting, entityType) {
77
- this.entitySetting = Object.assign({}, defaultEntitySetting, entitySetting);
78
- const metadata = entitySetting.metadata || entitySetting;
79
- switch (entityType) {
80
- case 'idp':
81
- this.entityMeta = (0, metadata_idp_js_1.default)(metadata);
82
- // setting with metadata has higher precedence
83
- this.entitySetting.wantAuthnRequestsSigned = this.entityMeta.isWantAuthnRequestsSigned();
84
- this.entitySetting.nameIDFormat = this.entityMeta.getNameIDFormat() || this.entitySetting.nameIDFormat;
85
- break;
86
- case 'sp':
87
- this.entityMeta = (0, metadata_sp_js_1.default)(metadata);
88
- // setting with metadata has higher precedence
89
- this.entitySetting.authnRequestsSigned = this.entityMeta.isAuthnRequestSigned();
90
- this.entitySetting.wantAssertionsSigned = this.entityMeta.isWantAssertionsSigned();
91
- this.entitySetting.nameIDFormat = this.entityMeta.getNameIDFormat() || this.entitySetting.nameIDFormat;
92
- break;
93
- default:
94
- throw new Error('ERR_UNDEFINED_ENTITY_TYPE');
95
- }
96
- }
97
- /**
98
- * @desc Returns the setting of entity
99
- * @return {object}
100
- */
101
- getEntitySetting() {
102
- return this.entitySetting;
103
- }
104
- /**
105
- * @desc Returns the xml string of entity metadata
106
- * @return {string}
107
- */
108
- getMetadata() {
109
- return this.entityMeta.getMetadata();
110
- }
111
- /**
112
- * @desc Exports the entity metadata into specified folder
113
- * @param {string} exportFile indicates the file name
114
- */
115
- exportMetadata(exportFile) {
116
- return this.entityMeta.exportMetadata(exportFile);
117
- }
118
- /** * @desc Verify fields with the one specified in metadata
119
- * @param {string/[string]} field is a string or an array of string indicating the field value in SAML message
120
- * @param {string} metaField is a string indicating the same field specified in metadata
121
- * @return {boolean} True/False
122
- */
123
- verifyFields(field, metaField) {
124
- if ((0, utility_js_1.isString)(field)) {
125
- return field === metaField;
126
- }
127
- if ((0, utility_js_1.isNonEmptyArray)(field)) {
128
- let res = true;
129
- field.forEach(f => {
130
- if (f !== metaField) {
131
- res = false;
132
- return;
133
- }
134
- });
135
- return res;
136
- }
137
- return false;
138
- }
139
- /** @desc Generates the logout request for developers to design their own method
140
- * @param {ServiceProvider} sp object of service provider
141
- * @param {string} binding protocol binding
142
- * @param {object} user current logged user (e.g. user)
143
- * @param {string} relayState the URL to which to redirect the user when logout is complete
144
- * @param {function} customTagReplacement used when developers have their own login response template
145
- */
146
- createLogoutRequest(targetEntity, binding, user, relayState = '', customTagReplacement) {
147
- if (binding === urn_js_1.wording.binding.redirect) {
148
- return binding_redirect_js_1.default.logoutRequestRedirectURL(user, {
149
- init: this,
150
- target: targetEntity,
151
- }, relayState, customTagReplacement);
152
- }
153
- if (binding === urn_js_1.wording.binding.post) {
154
- const entityEndpoint = targetEntity.entityMeta.getSingleLogoutService(binding);
155
- const context = binding_post_js_1.default.base64LogoutRequest(user, "/*[local-name(.)='LogoutRequest']", { init: this, target: targetEntity }, customTagReplacement);
156
- return {
157
- ...context,
158
- relayState,
159
- entityEndpoint,
160
- type: 'SAMLRequest',
161
- };
162
- }
163
- // Will support artifact in the next release
164
- throw new Error('ERR_UNDEFINED_BINDING');
165
- }
166
- /**
167
- * @desc Generates the logout response for developers to design their own method
168
- * @param {IdentityProvider} idp object of identity provider
169
- * @param {object} requestInfo corresponding request, used to obtain the id
170
- * @param {string} relayState the URL to which to redirect the user when logout is complete.
171
- * @param {string} binding protocol binding
172
- * @param {function} customTagReplacement used when developers have their own login response template
173
- */
174
- createLogoutResponse(target, requestInfo, binding, relayState = '', customTagReplacement) {
175
- const protocol = urn_js_1.namespace.binding[binding];
176
- if (protocol === urn_js_1.namespace.binding.redirect) {
177
- return binding_redirect_js_1.default.logoutResponseRedirectURL(requestInfo, {
178
- init: this,
179
- target,
180
- }, relayState, customTagReplacement);
181
- }
182
- if (protocol === urn_js_1.namespace.binding.post) {
183
- const context = binding_post_js_1.default.base64LogoutResponse(requestInfo, {
184
- init: this,
185
- target,
186
- }, customTagReplacement);
187
- return {
188
- ...context,
189
- relayState,
190
- entityEndpoint: target.entityMeta.getSingleLogoutService(binding),
191
- type: 'SAMLResponse',
192
- };
193
- }
194
- throw new Error('ERR_CREATE_LOGOUT_RESPONSE_UNDEFINED_BINDING');
195
- }
196
- /**
197
- * @desc Validation of the parsed the URL parameters
198
- * @param {IdentityProvider} idp object of identity provider
199
- * @param {string} binding protocol binding
200
- * @param {request} req request
201
- * @return {Promise}
202
- */
203
- parseLogoutRequest(from, binding, request) {
204
- const self = this;
205
- return (0, flow_js_1.flow)({
206
- from: from,
207
- self: self,
208
- type: 'logout',
209
- parserType: 'LogoutRequest',
210
- checkSignature: this.entitySetting.wantLogoutRequestSigned,
211
- binding: binding,
212
- request: request,
213
- });
214
- }
215
- /**
216
- * @desc Validation of the parsed the URL parameters
217
- * @param {object} config config for the parser
218
- * @param {string} binding protocol binding
219
- * @param {request} req request
220
- * @return {Promise}
221
- */
222
- parseLogoutResponse(from, binding, request) {
223
- const self = this;
224
- return (0, flow_js_1.flow)({
225
- from: from,
226
- self: self,
227
- type: 'logout',
228
- parserType: 'LogoutResponse',
229
- checkSignature: self.entitySetting.wantLogoutResponseSigned,
230
- binding: binding,
231
- request: request
232
- });
233
- }
234
- }
235
- exports.default = Entity;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ /**
30
+ * @file entity.ts
31
+ * @author tngan
32
+ * @desc An abstraction for identity provider and service provider.
33
+ */
34
+ const utility_js_1 = require("./utility.js");
35
+ const urn_js_1 = require("./urn.js");
36
+ const uuid = __importStar(require("uuid"));
37
+ const metadata_idp_js_1 = __importDefault(require("./metadata-idp.js"));
38
+ const metadata_sp_js_1 = __importDefault(require("./metadata-sp.js"));
39
+ const binding_redirect_js_1 = __importDefault(require("./binding-redirect.js"));
40
+ const binding_post_js_1 = __importDefault(require("./binding-post.js"));
41
+ const flow_js_1 = require("./flow.js");
42
+ const dataEncryptionAlgorithm = urn_js_1.algorithms.encryption.data;
43
+ const keyEncryptionAlgorithm = urn_js_1.algorithms.encryption.key;
44
+ const signatureAlgorithms = urn_js_1.algorithms.signature;
45
+ const messageSigningOrders = urn_js_1.messageConfigurations.signingOrder;
46
+ const defaultEntitySetting = {
47
+ wantLogoutResponseSigned: false,
48
+ messageSigningOrder: messageSigningOrders.SIGN_THEN_ENCRYPT,
49
+ wantLogoutRequestSigned: false,
50
+ allowCreate: false,
51
+ isAssertionEncrypted: false,
52
+ requestSignatureAlgorithm: signatureAlgorithms.RSA_SHA512,
53
+ dataEncryptionAlgorithm: dataEncryptionAlgorithm.AES_256_GCM,
54
+ keyEncryptionAlgorithm: keyEncryptionAlgorithm.RSA_OAEP_MGF1P,
55
+ generateID: () => ('_' + uuid.v4()),
56
+ relayState: '',
57
+ };
58
+ class Entity {
59
+ entitySetting;
60
+ entityType;
61
+ entityMeta;
62
+ /**
63
+ * @param entitySetting
64
+ * @param entityMeta is the entity metadata, deprecated after 2.0
65
+ */
66
+ constructor(entitySetting, entityType) {
67
+ this.entitySetting = Object.assign({}, defaultEntitySetting, entitySetting);
68
+ const metadata = entitySetting.metadata || entitySetting;
69
+ switch (entityType) {
70
+ case 'idp':
71
+ this.entityMeta = (0, metadata_idp_js_1.default)(metadata);
72
+ // setting with metadata has higher precedence
73
+ this.entitySetting.wantAuthnRequestsSigned = this.entityMeta.isWantAuthnRequestsSigned();
74
+ this.entitySetting.nameIDFormat = this.entityMeta.getNameIDFormat() || this.entitySetting.nameIDFormat;
75
+ break;
76
+ case 'sp':
77
+ this.entityMeta = (0, metadata_sp_js_1.default)(metadata);
78
+ // setting with metadata has higher precedence
79
+ this.entitySetting.authnRequestsSigned = this.entityMeta.isAuthnRequestSigned();
80
+ this.entitySetting.wantAssertionsSigned = this.entityMeta.isWantAssertionsSigned();
81
+ this.entitySetting.nameIDFormat = this.entityMeta.getNameIDFormat() || this.entitySetting.nameIDFormat;
82
+ break;
83
+ default:
84
+ throw new Error('ERR_UNDEFINED_ENTITY_TYPE');
85
+ }
86
+ }
87
+ /**
88
+ * @desc Returns the setting of entity
89
+ * @return {object}
90
+ */
91
+ getEntitySetting() {
92
+ return this.entitySetting;
93
+ }
94
+ /**
95
+ * @desc Returns the xml string of entity metadata
96
+ * @return {string}
97
+ */
98
+ getMetadata() {
99
+ return this.entityMeta.getMetadata();
100
+ }
101
+ /**
102
+ * @desc Exports the entity metadata into specified folder
103
+ * @param {string} exportFile indicates the file name
104
+ */
105
+ exportMetadata(exportFile) {
106
+ return this.entityMeta.exportMetadata(exportFile);
107
+ }
108
+ /** * @desc Verify fields with the one specified in metadata
109
+ * @param {string/[string]} field is a string or an array of string indicating the field value in SAML message
110
+ * @param {string} metaField is a string indicating the same field specified in metadata
111
+ * @return {boolean} True/False
112
+ */
113
+ verifyFields(field, metaField) {
114
+ if ((0, utility_js_1.isString)(field)) {
115
+ return field === metaField;
116
+ }
117
+ if ((0, utility_js_1.isNonEmptyArray)(field)) {
118
+ let res = true;
119
+ field.forEach(f => {
120
+ if (f !== metaField) {
121
+ res = false;
122
+ return;
123
+ }
124
+ });
125
+ return res;
126
+ }
127
+ return false;
128
+ }
129
+ /** @desc Generates the logout request for developers to design their own method
130
+ * @param {ServiceProvider} sp object of service provider
131
+ * @param {string} binding protocol binding
132
+ * @param {object} user current logged user (e.g. user)
133
+ * @param {string} relayState the URL to which to redirect the user when logout is complete
134
+ * @param {function} customTagReplacement used when developers have their own login response template
135
+ */
136
+ createLogoutRequest(targetEntity, binding, user, relayState = '', customTagReplacement) {
137
+ if (binding === urn_js_1.wording.binding.redirect) {
138
+ return binding_redirect_js_1.default.logoutRequestRedirectURL(user, {
139
+ init: this,
140
+ target: targetEntity,
141
+ }, relayState, customTagReplacement);
142
+ }
143
+ if (binding === urn_js_1.wording.binding.post) {
144
+ const entityEndpoint = targetEntity.entityMeta.getSingleLogoutService(binding);
145
+ const context = binding_post_js_1.default.base64LogoutRequest(user, "/*[local-name(.)='LogoutRequest']", { init: this, target: targetEntity }, customTagReplacement);
146
+ return {
147
+ ...context,
148
+ relayState,
149
+ entityEndpoint,
150
+ type: 'SAMLRequest',
151
+ };
152
+ }
153
+ // Will support artifact in the next release
154
+ throw new Error('ERR_UNDEFINED_BINDING');
155
+ }
156
+ /**
157
+ * @desc Generates the logout response for developers to design their own method
158
+ * @param {IdentityProvider} idp object of identity provider
159
+ * @param {object} requestInfo corresponding request, used to obtain the id
160
+ * @param {string} relayState the URL to which to redirect the user when logout is complete.
161
+ * @param {string} binding protocol binding
162
+ * @param {function} customTagReplacement used when developers have their own login response template
163
+ */
164
+ createLogoutResponse(target, requestInfo, binding, relayState = '', customTagReplacement) {
165
+ const protocol = urn_js_1.namespace.binding[binding];
166
+ if (protocol === urn_js_1.namespace.binding.redirect) {
167
+ return binding_redirect_js_1.default.logoutResponseRedirectURL(requestInfo, {
168
+ init: this,
169
+ target,
170
+ }, relayState, customTagReplacement);
171
+ }
172
+ if (protocol === urn_js_1.namespace.binding.post) {
173
+ const context = binding_post_js_1.default.base64LogoutResponse(requestInfo, {
174
+ init: this,
175
+ target,
176
+ }, customTagReplacement);
177
+ return {
178
+ ...context,
179
+ relayState,
180
+ entityEndpoint: target.entityMeta.getSingleLogoutService(binding),
181
+ type: 'SAMLResponse',
182
+ };
183
+ }
184
+ throw new Error('ERR_CREATE_LOGOUT_RESPONSE_UNDEFINED_BINDING');
185
+ }
186
+ /**
187
+ * @desc Validation of the parsed the URL parameters
188
+ * @param {IdentityProvider} idp object of identity provider
189
+ * @param {string} binding protocol binding
190
+ * @param {request} req request
191
+ * @return {Promise}
192
+ */
193
+ parseLogoutRequest(from, binding, request) {
194
+ const self = this;
195
+ return (0, flow_js_1.flow)({
196
+ from: from,
197
+ self: self,
198
+ type: 'logout',
199
+ parserType: 'LogoutRequest',
200
+ checkSignature: this.entitySetting.wantLogoutRequestSigned,
201
+ binding: binding,
202
+ request: request,
203
+ });
204
+ }
205
+ /**
206
+ * @desc Validation of the parsed the URL parameters
207
+ * @param {object} config config for the parser
208
+ * @param {string} binding protocol binding
209
+ * @param {request} req request
210
+ * @return {Promise}
211
+ */
212
+ parseLogoutResponse(from, binding, request) {
213
+ const self = this;
214
+ return (0, flow_js_1.flow)({
215
+ from: from,
216
+ self: self,
217
+ type: 'logout',
218
+ parserType: 'LogoutResponse',
219
+ checkSignature: self.entitySetting.wantLogoutResponseSigned,
220
+ binding: binding,
221
+ request: request
222
+ });
223
+ }
224
+ }
225
+ exports.default = Entity;
236
226
  //# sourceMappingURL=entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;EAIE;AACF,6CAAyD;AACzD,qCAAiF;AACjF,2CAA6B;AAC7B,wEAAuF;AACvF,sEAAmF;AACnF,gFAAoD;AACpD,wEAA4C;AAE5C,uCAA8C;AAE9C,MAAM,uBAAuB,GAAG,mBAAU,CAAC,UAAU,CAAC,IAAI,CAAC;AAC3D,MAAM,sBAAsB,GAAG,mBAAU,CAAC,UAAU,CAAC,GAAG,CAAC;AACzD,MAAM,mBAAmB,GAAG,mBAAU,CAAC,SAAS,CAAC;AACjD,MAAM,oBAAoB,GAAG,8BAAqB,CAAC,YAAY,CAAC;AAEhE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB,EAAE,KAAK;IAC/B,mBAAmB,EAAE,oBAAoB,CAAC,iBAAiB;IAC3D,uBAAuB,EAAE,KAAK;IAC9B,WAAW,EAAE,KAAK;IAClB,oBAAoB,EAAE,KAAK;IAC3B,yBAAyB,EAAE,mBAAmB,CAAC,UAAU;IACzD,uBAAuB,EAAE,uBAAuB,CAAC,WAAW;IAC5D,sBAAsB,EAAE,sBAAsB,CAAC,cAAc;IAC7D,UAAU,EAAE,GAAW,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3C,UAAU,EAAE,EAAE;CACf,CAAC;AAuCF,MAAqB,MAAM;IACzB,aAAa,CAAgB;IAC7B,UAAU,CAAS;IACnB,UAAU,CAAiD;IAE3D;;;MAGE;IACF,YAAY,aAAgC,EAAE,UAAwB;QACpE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC;QACzD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,KAAK;gBACR,IAAI,CAAC,UAAU,GAAG,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;gBACxC,8CAA8C;gBAC9C,IAAI,CAAC,aAAa,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;gBACzF,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBACvG,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,UAAU,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;gBACvC,8CAA8C;gBAC9C,IAAI,CAAC,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAChF,IAAI,CAAC,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;gBACnF,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBACvG,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;MAGE;IACF,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD;;;MAGE;IACF,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;MAGE;IACF,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;MAIE;IACF,YAAY,CAAC,KAAwB,EAAE,SAAiB;QACtD,IAAI,IAAA,qBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,KAAK,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,IAAA,4BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG,IAAI,CAAC;YACd,KAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC9B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC;oBACZ,OAAO;gBACT,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;;;;;MAME;IACF,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,oBAAqB;QACrF,IAAI,OAAO,KAAK,gBAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,6BAAe,CAAC,wBAAwB,CAAC,IAAI,EAAE;gBACpD,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,YAAY;aACrB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,KAAK,gBAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,yBAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,mCAAmC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACvJ,OAAO;gBACL,GAAG,OAAO;gBACV,UAAU;gBACV,cAAc;gBACd,IAAI,EAAE,aAAa;aACpB,CAAC;QACJ,CAAC;QACD,4CAA4C;QAC5C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;MAOE;IACF,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,oBAAqB;QACvF,MAAM,QAAQ,GAAG,kBAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,kBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,6BAAe,CAAC,yBAAyB,CAAC,WAAW,EAAE;gBAC5D,IAAI,EAAE,IAAI;gBACV,MAAM;aACP,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,KAAK,kBAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,yBAAW,CAAC,oBAAoB,CAAC,WAAW,EAAE;gBAC5D,IAAI,EAAE,IAAI;gBACV,MAAM;aACP,EAAE,oBAAoB,CAAC,CAAC;YACzB,OAAO;gBACL,GAAG,OAAO;gBACV,UAAU;gBACV,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBACjE,IAAI,EAAE,cAAc;aACrB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;MAME;IACF,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAyB;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAA,cAAI,EAAC;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,eAAe;YAC3B,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,uBAAuB;YAC1D,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IACD;;;;;;MAME;IACF,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAyB;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAA,cAAI,EAAC;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,gBAAgB;YAC5B,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,wBAAwB;YAC3D,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AA5KD,yBA4KC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"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"}