ng2-rest-swagger-generator 19.0.6 → 19.0.7

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.
@@ -0,0 +1,412 @@
1
+ import {
2
+ /* */
3
+ /* */
4
+ _ } from 'tnp-core/websql';
5
+ import { CoreHelpers as TnpHelpers } from 'tnp-core/websql';
6
+ export class HelpersSwagger extends TnpHelpers {
7
+ static { this.SYMBOL = {
8
+ INDEX_SWG: Symbol(),
9
+ OUTPUT_FOLDER: Symbol()
10
+ }; }
11
+ static preparePaths(apis, outputBase) {
12
+ this.output = `${process.cwd()}/${outputBase}`;
13
+ this.apis = apis;
14
+ }
15
+ static prepareModel(swg, indexSwg, isHttpsEnable) {
16
+ swg[this.SYMBOL.INDEX_SWG] = indexSwg;
17
+ swg.host = swg.host && (isHttpsEnable ? 'https' : 'http') + `://${swg.host.replace(/:[0-9]*/g, '')}`;
18
+ if (!swg.basePath) {
19
+ swg.basePath = '';
20
+ }
21
+ }
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ static get serviceFromTag() {
45
+ const self = this;
46
+ return {
47
+ allClassNames() {
48
+ const names = [];
49
+ self.apis.map(swg => {
50
+ swg.tags.forEach(tag => {
51
+ names.push(self.serviceFromTag.className(swg, tag));
52
+ });
53
+ });
54
+ return names;
55
+ },
56
+ className(swg, tag) {
57
+ const groupFolderName = self.groupFromJSON.folderName(swg);
58
+ // console.log('groupFolderName', groupFolderName)
59
+ const className = _.upperFirst(_.camelCase(tag.name)) + 'Service';
60
+ return `${groupFolderName}${className.replace(/\//g, '')}`;
61
+ },
62
+ absoluteFilePath(swg, tag) {
63
+ return `${self.absolutePath.PathFolder_services_groupName(swg)}/${self.serviceFromTag.className(swg, tag)}.ts`;
64
+ }
65
+ };
66
+ }
67
+ static get endpoints() {
68
+ return this.apis.map(swg => {
69
+ return `${this.groupFromJSON.folderName(swg)}:'${swg.host}'`;
70
+ });
71
+ }
72
+ static get absolutePath() {
73
+ const self = this;
74
+ return {
75
+ get output() {
76
+ return self.output;
77
+ },
78
+ get PathFile_index_ts() {
79
+ const APIpath = self.output;
80
+ return `${APIpath}/index.ts`;
81
+ },
82
+ get PathFile_module_ts() {
83
+ const APIpath = self.output;
84
+ return `${APIpath}/module.ts`;
85
+ },
86
+ get PathFolder_services() {
87
+ const APIpath = self.output;
88
+ return `${APIpath}/services`;
89
+ },
90
+ get PathFile_services_index_ts() {
91
+ return `${self.absolutePath.PathFolder_services}/index.ts`;
92
+ },
93
+ PathFolder_services_groupName(swg) {
94
+ const groupFolderName = self.groupFromJSON.folderName(swg);
95
+ // console.log('groupFolderName', groupFolderName)
96
+ return `${self.absolutePath.PathFolder_services}/${groupFolderName}`;
97
+ },
98
+ PathFile_services_groupName_index_ts(swg) {
99
+ return `${self.absolutePath.PathFolder_services_groupName(swg)}/index.ts`;
100
+ },
101
+ PathFile_services_groupNAme_serviceName_ts(swg, tag) {
102
+ const serviceFileName = self.serviceFromTag.className(swg, tag);
103
+ return `${self.absolutePath.PathFolder_services_groupName(swg)}/${serviceFileName}.ts`;
104
+ }
105
+ };
106
+ }
107
+ static get groupFromJSON() {
108
+ const self = this;
109
+ return {
110
+ get allGroupNames() {
111
+ const names = [];
112
+ self.apis.map(swg => {
113
+ names.push(self.groupFromJSON.folderName(swg));
114
+ });
115
+ return names;
116
+ },
117
+ folderName(swg) {
118
+ const basePath = swg.basePath;
119
+ const index = swg[self.SYMBOL.INDEX_SWG];
120
+ return _.upperFirst(_.camelCase(basePath.trim() === '' ? `json${index}` : basePath));
121
+ }
122
+ };
123
+ }
124
+ static findTags(swg) {
125
+ const tags = [];
126
+ Object.keys(swg.paths).forEach(p => {
127
+ Object.keys(swg.paths[p]).forEach(m => {
128
+ const a = swg.paths[p][m];
129
+ if (_.isArray(a.tags)) {
130
+ a.tags.forEach(tag => {
131
+ if (tags.filter(({ name }) => name === tag).length === 0) { // @ts-ignore
132
+ tags.push({ name: tag });
133
+ }
134
+ });
135
+ }
136
+ });
137
+ });
138
+ return tags;
139
+ }
140
+ /**
141
+ * To generate get/books/{id} => get_books__id_
142
+ */
143
+ static cleanPath(path) {
144
+ return path.replace(/{/g, "_").replace(/}/g, "_").replace(/\//g, "_").replace(/-/g, "_");
145
+ }
146
+ static cleanPathModel(pathModel) {
147
+ return pathModel.replace(/\/{/g, '/:').replace(/}/g, '');
148
+ }
149
+ static swaggerTypeToJS(type, itemsType = 'any') {
150
+ return (type === 'integer') ? 'number'
151
+ : (type === 'array') ? !itemsType ? 'any' : `${this.swaggerTypeToJS(itemsType)}[]`
152
+ : (type === 'file') ? 'any' : type;
153
+ }
154
+ static getObjectDefinition(ref, swg, deep = 0) {
155
+ if (deep == 1)
156
+ return '';
157
+ if (!ref) {
158
+ console.log('Bad json $ref inside swagger');
159
+ return '';
160
+ }
161
+ let res = '';
162
+ ref = ref.replace('#/', '').replace(/\//g, '.');
163
+ let obj = _.get(swg, ref);
164
+ // if (obj.properties.viaAgentViaGroupDTOs && !getObjectDefinition.prototype.once) {
165
+ // console.log('============================================================')
166
+ // console.log('obj', obj)
167
+ // console.log('------------------------------------------------------------')
168
+ // getObjectDefinition.prototype.once = true;
169
+ _.forOwn(obj.properties, (v, k) => {
170
+ // console.log(obj)
171
+ if (v.$ref && typeof v.$ref === "string") {
172
+ res += k + ":{" + this.getObjectDefinition(v.$ref, swg, deep++) + "};\n";
173
+ }
174
+ else if (v.schema && v.schema.$ref && typeof v.schema.$ref === "string") {
175
+ res += k + ":{" + this.getObjectDefinition(v.schema.$ref, swg, deep++) + "};\n";
176
+ }
177
+ else if (v.items && v.items.$ref && typeof v.items.$ref === "string" && v.type && v.type === 'array') {
178
+ res += k + ":{" + this.getObjectDefinition(v.items.$ref, swg, deep++) + "}[];\n";
179
+ // console.log('make love here')
180
+ }
181
+ else if (v.items && v.items.$ref && typeof v.items.$ref === "string") {
182
+ res += k + ":{" + this.getObjectDefinition(v.items.$ref, swg, deep++) + "};\n";
183
+ }
184
+ else {
185
+ let isRequired = (obj.required && obj.required instanceof Array && obj.required.filter(o => o === k).length > 0);
186
+ let type = (v.enum && v.enum instanceof Array && v.enum.length > 0)
187
+ ? v.enum.map(e => '"' + e + '"').join('|') : this.swaggerTypeToJS(v.type, v.items ? v.items.type : 'any');
188
+ res += k + (!isRequired ? '?' : "") + ":" + type + ";\n";
189
+ }
190
+ });
191
+ // console.log('res', res)
192
+ // }
193
+ return res;
194
+ }
195
+ /**
196
+ * private pathes = {
197
+ * get_all_companies: new SimpleResource<
198
+ * string, A, TA, RP extends Object, QP extends Rest.UrlParams>(endpoint, model),
199
+ * get_byid_companies: new SimpleResource<
200
+ * string, A, TA, RP extends Object, QP extends Rest.UrlParams>(endpoint, model)
201
+ * }
202
+ */
203
+ static getAngularPrivatePathesByTag(swg, tag) {
204
+ let res = [];
205
+ let base = swg.basePath.replace('/', '');
206
+ let pathes = {};
207
+ _.forOwn(swg.paths, (v, k) => {
208
+ _.forOwn(v, (v2, k2) => {
209
+ if (_.isArray(v2.tags) && v2.tags.filter(f => f === tag.name).length > 0) {
210
+ let resp = v2.responses['200'] && v2.responses['200'].schema;
211
+ // if (resp) {
212
+ // TODO response handling
213
+ // console.log('resp',resp);
214
+ if (pathes[k] === void 0)
215
+ pathes[k] = {}; // @ts-ignore
216
+ let type = this.getResponseType(resp, swg);
217
+ if (type.length > 3 && type.charAt(type.length - 1) === ']' && type.charAt(type.length - 2) === '['
218
+ && !pathes[k]['array']) {
219
+ pathes[k]['array'] = type;
220
+ }
221
+ else if (k2 !== 'delete' && !pathes[k]['single']) {
222
+ pathes[k]['single'] = type;
223
+ }
224
+ // }
225
+ }
226
+ });
227
+ });
228
+ let pathResources = [];
229
+ _.forOwn(pathes, (v, p) => {
230
+ // console.log(`${p} - ${JSON.stringify(v)}`);
231
+ pathResources.push({
232
+ clean_path: this.cleanPath(p),
233
+ model: this.cleanPathModel(p),
234
+ endpoint: swg.basePath,
235
+ singleModelType: !v['single'] ? 'any' : v['single'],
236
+ multipleModelType: !v['array'] ? 'any' : v['array'],
237
+ queryParamsType: 'any',
238
+ pathParamsType: 'any'
239
+ });
240
+ });
241
+ pathResources.forEach(p => {
242
+ res.push(`${p.clean_path}: new SimpleResource<\n${p.singleModelType},\n${p.multipleModelType}\n>( Ng2RestGenModule.enpointUrls.${this.groupFromJSON.folderName(swg)}, '${p.model}' )`);
243
+ });
244
+ return `private pathes = { \n${res.join(',\n')}\n};`;
245
+ }
246
+ /*
247
+ schema": {
248
+ "type": "array",
249
+ "items": {
250
+ "$ref": "#/definitions/CompanyDTO"
251
+ }
252
+ }
253
+
254
+ "schema": {
255
+ "$ref": "#/definitions/CompanyDTO"
256
+ }
257
+ */
258
+ static getResponseType(o, swg) {
259
+ let res = '{} | any';
260
+ if (o && o.$ref && typeof o.$ref === 'string' && o.$ref.trim() !== '') {
261
+ res = "{" + this.getObjectDefinition(o.$ref, swg) + "}";
262
+ // console.log('I am object', o.$ref)
263
+ }
264
+ else if (o && o.type === 'array' && o.items && o.items.$ref &&
265
+ typeof o.items.$ref === 'string' && o.items.$ref.trim() !== '') {
266
+ res = "{" + this.getObjectDefinition(o.items.$ref, swg) + "}[]";
267
+ // console.log('I am array ', o.items.$ref)
268
+ }
269
+ // console.log('============================================================')
270
+ // console.log('type', res)
271
+ // console.log('------------------------------------------------------------')
272
+ return res;
273
+ }
274
+ /* */
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ /* */
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ /* */
315
+ /* */
316
+ /* */
317
+ /* */
318
+ /* */
319
+ /* */
320
+ /* */
321
+ /* */
322
+ /* */
323
+ /* */
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
328
+ /* */
329
+ /* */
330
+ /* */
331
+ /* */
332
+ /* */
333
+ /* */
334
+ /* */
335
+ /* */
336
+ /* */
337
+ /* */
338
+ /* */
339
+ /* */
340
+ /* */
341
+ /* */
342
+ /* */
343
+ /* */
344
+ /* */
345
+ /* */
346
+ /* */
347
+ /* */
348
+ /* */
349
+ /* */
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ /* */
355
+ /* */
356
+ /* */
357
+ /* */
358
+ /* */
359
+ /* */
360
+ /* */
361
+ /* */
362
+ /* */
363
+ /* */
364
+ /* */
365
+ /* */
366
+ /* */
367
+ /* */
368
+ /* */
369
+ /* */
370
+ /* */
371
+ /* */
372
+ /* */
373
+ /* */
374
+ /* */
375
+ /* */
376
+ /* */
377
+ /* */
378
+ /* */
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
383
+ /* */
384
+ /* */
385
+ /* */
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
390
+ /* */
391
+ /* */
392
+ /* */
393
+ /* */
394
+ /* */
395
+ /* */
396
+ /* */
397
+ /* */
398
+ /* */
399
+ /* */
400
+ /* */
401
+ /* */
402
+ /* */
403
+ /* */
404
+ static { this.count1 = 0; }
405
+ static recreateSummary(summary) {
406
+ // if (!summary) {
407
+ // return 'SummaryExample' + (count1++)
408
+ // }
409
+ return summary;
410
+ }
411
+ }
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvbGliL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTztBQUVQLEtBQUs7QUFDTCxLQUFLO0FBRUgsQ0FBQyxFQUNGLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLFdBQVcsSUFBSSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7YUFFckMsV0FBTSxHQUFHO1FBQ2QsU0FBUyxFQUFFLE1BQU0sRUFBRTtRQUNuQixhQUFhLEVBQUUsTUFBTSxFQUFFO0tBQ3hCLENBQUE7SUFJRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQW1DLEVBQUUsVUFBa0I7UUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFnQyxFQUFFLFFBQWdCLEVBQUUsYUFBc0I7UUFDNUYsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRXRDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO1FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMs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SztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7YUFFWSxXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBZTtRQUNwQyxrQkFBa0I7UUFDbEIseUNBQXlDO1FBQ3pDLElBQUk7UUFDSixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgcGF0aCxcbi8qICovXG4vKiAqL1xuICBcbiAgX1xufSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgYXMgVG5wSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvd2Vic3FsJztcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc1N3YWdnZXIgZXh0ZW5kcyBUbnBIZWxwZXJzIHtcblxuICBzdGF0aWMgU1lNQk9MID0ge1xuICAgIElOREVYX1NXRzogU3ltYm9sKCksXG4gICAgT1VUUFVUX0ZPTERFUjogU3ltYm9sKClcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG91dHB1dDogc3RyaW5nO1xuICBwcml2YXRlIHN0YXRpYyBhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXTtcbiAgc3RhdGljIHByZXBhcmVQYXRocyhhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXSwgb3V0cHV0QmFzZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vdXRwdXQgPSBgJHtwcm9jZXNzLmN3ZCgpfS8ke291dHB1dEJhc2V9YFxuICAgIHRoaXMuYXBpcyA9IGFwaXM7XG4gIH1cblxuICBzdGF0aWMgcHJlcGFyZU1vZGVsKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBpbmRleFN3ZzogbnVtYmVyLCBpc0h0dHBzRW5hYmxlOiBib29sZWFuKSB7XG4gICAgc3dnW3RoaXMuU1lNQk9MLklOREVYX1NXR10gPSBpbmRleFN3ZztcblxuICAgIHN3Zy5ob3N0ID0gc3dnLmhvc3QgJiYgKGlzSHR0cHNFbmFibGUgPyAnaHR0cHMnIDogJ2h0dHAnKSArIGA6Ly8ke3N3Zy5ob3N0LnJlcGxhY2UoLzpbMC05XSovZywgJycpfWBcbiAgICBpZiAoIXN3Zy5iYXNlUGF0aCkge1xuICAgICAgc3dnLmJhc2VQYXRoID0gJydcbiAgICB9XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuICBzdGF0aWMgZ2V0IHNlcnZpY2VGcm9tVGFnKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsQ2xhc3NOYW1lcygpIHtcbiAgICAgICAgY29uc3QgbmFtZXMgPSBbXVxuICAgICAgICBzZWxmLmFwaXMubWFwKHN3ZyA9PiB7XG4gICAgICAgICAgc3dnLnRhZ3MuZm9yRWFjaCh0YWcgPT4geyAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gbmFtZXM7XG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCB0YWc6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJUYWcpIHtcbiAgICAgICAgY29uc3QgZ3JvdXBGb2xkZXJOYW1lID0gc2VsZi5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnZ3JvdXBGb2xkZXJOYW1lJywgZ3JvdXBGb2xkZXJOYW1lKVxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBfLnVwcGVyRmlyc3QoXy5jYW1lbENhc2UodGFnLm5hbWUpKSArICdTZXJ2aWNlJztcbiAgICAgICAgcmV0dXJuIGAke2dyb3VwRm9sZGVyTmFtZX0ke2NsYXNzTmFtZS5yZXBsYWNlKC9cXC8vZywgJycpfWA7XG4gICAgICB9LFxuICAgICAgYWJzb2x1dGVGaWxlUGF0aChzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKSB7XG5cbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9LyR7c2VsZi5zZXJ2aWNlRnJvbVRhZy5jbGFzc05hbWUoc3dnLCB0YWcpfS50c2A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldCBlbmRwb2ludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpcy5tYXAoc3dnID0+IHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpfTonJHtzd2cuaG9zdH0nYFxuICAgIH0pXG4gIH1cblxuXG5cbiAgc3RhdGljIGdldCBhYnNvbHV0ZVBhdGgoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG5cblxuICAgIHJldHVybiB7XG4gICAgICBnZXQgb3V0cHV0KCkge1xuICAgICAgICByZXR1cm4gc2VsZi5vdXRwdXQ7XG4gICAgICB9LFxuXG4gICAgICBnZXQgUGF0aEZpbGVfaW5kZXhfdHMoKSB7XG4gICAgICAgIGNvbnN0IEFQSXBhdGggPSBzZWxmLm91dHB1dDtcbiAgICAgICAgcmV0dXJuIGAke0FQSXBhdGh9L2luZGV4LnRzYDtcbiAgICAgIH0sXG4gICAgICBnZXQgUGF0aEZpbGVfbW9kdWxlX3RzKCkge1xuICAgICAgICBjb25zdCBBUElwYXRoID0gc2VsZi5vdXRwdXQ7XG4gICAgICAgIHJldHVybiBgJHtBUElwYXRofS9tb2R1bGUudHNgO1xuICAgICAgfSxcblxuICAgICAgZ2V0IFBhdGhGb2xkZXJfc2VydmljZXMoKSB7XG4gICAgICAgIGNvbnN0IEFQSXBhdGggPSBzZWxmLm91dHB1dDtcbiAgICAgICAgcmV0dXJuIGAke0FQSXBhdGh9L3NlcnZpY2VzYDtcbiAgICAgIH0sXG5cbiAgICAgIGdldCBQYXRoRmlsZV9zZXJ2aWNlc19pbmRleF90cygpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXN9L2luZGV4LnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIFBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwRm9sZGVyTmFtZSA9IHNlbGYuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3ZylcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2dyb3VwRm9sZGVyTmFtZScsIGdyb3VwRm9sZGVyTmFtZSlcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXN9LyR7Z3JvdXBGb2xkZXJOYW1lfWA7XG4gICAgICB9LFxuXG4gICAgICBQYXRoRmlsZV9zZXJ2aWNlc19ncm91cE5hbWVfaW5kZXhfdHMoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9L2luZGV4LnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIFBhdGhGaWxlX3NlcnZpY2VzX2dyb3VwTkFtZV9zZXJ2aWNlTmFtZV90cyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VGaWxlTmFtZSA9IHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKTtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9LyR7c2VydmljZUZpbGVOYW1lfS50c2A7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0IGdyb3VwRnJvbUpTT04oKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBhbGxHcm91cE5hbWVzKCkge1xuICAgICAgICBjb25zdCBuYW1lcyA9IFtdXG4gICAgICAgIHNlbGYuYXBpcy5tYXAoc3dnID0+IHsgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3ZykpXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBuYW1lcztcbiAgICAgIH0sXG4gICAgICBmb2xkZXJOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoOiBzdHJpbmcgPSBzd2cuYmFzZVBhdGg7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBzd2dbc2VsZi5TWU1CT0wuSU5ERVhfU1dHXTtcbiAgICAgICAgcmV0dXJuIF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZShiYXNlUGF0aC50cmltKCkgPT09ICcnID8gYGpzb24ke2luZGV4fWAgOiBiYXNlUGF0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaW5kVGFncyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgIGNvbnN0IHRhZ3MgPSBbXVxuICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRocykuZm9yRWFjaChwID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRoc1twXSkuZm9yRWFjaChtID0+IHtcbiAgICAgICAgY29uc3QgYSA9IHN3Zy5wYXRoc1twXVttXTtcbiAgICAgICAgaWYgKF8uaXNBcnJheShhLnRhZ3MpKSB7XG4gICAgICAgICAgYS50YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgICAgICAgIGlmICh0YWdzLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUgPT09IHRhZykubGVuZ3RoID09PSAwKSB7ICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRhZ3MucHVzaCh7IG5hbWU6IHRhZyB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gICAgcmV0dXJuIHRhZ3M7XG4gIH1cblxuXG5cblxuXG5cbiAgLyoqXG4gICAqIFRvIGdlbmVyYXRlIGdldC9ib29rcy97aWR9ID0+IGdldF9ib29rc19faWRfXG4gICAqL1xuICBzdGF0aWMgY2xlYW5QYXRoKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL3svZywgXCJfXCIpLnJlcGxhY2UoL30vZywgXCJfXCIpLnJlcGxhY2UoL1xcLy9nLCBcIl9cIikucmVwbGFjZSgvLS9nLCBcIl9cIik7XG4gIH1cblxuXG4gIHN0YXRpYyBjbGVhblBhdGhNb2RlbChwYXRoTW9kZWw6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoTW9kZWwucmVwbGFjZSgvXFwvey9nLCAnLzonKS5yZXBsYWNlKC99L2csICcnKTtcbiAgfVxuXG5cbiAgc3RhdGljIHN3YWdnZXJUeXBlVG9KUyh0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIiwgaXRlbXNUeXBlOiBhbnkgPSAnYW55Jykge1xuICAgIHJldHVybiAodHlwZSA9PT0gJ2ludGVnZXInKSA/ICdudW1iZXInXG4gICAgICA6ICh0eXBlID09PSAnYXJyYXknKSA/ICFpdGVtc1R5cGUgPyAnYW55JyA6IGAke3RoaXMuc3dhZ2dlclR5cGVUb0pTKGl0ZW1zVHlwZSl9W11gXG4gICAgICAgIDogKHR5cGUgPT09ICdmaWxlJykgPyAnYW55JyA6IHR5cGU7XG4gIH1cblxuXG5cbiAgc3RhdGljIGdldE9iamVjdERlZmluaXRpb24ocmVmOiBzdHJpbmcsIHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBkZWVwID0gMCk6IHN0cmluZyB7XG4gICAgaWYgKGRlZXAgPT0gMSkgcmV0dXJuICcnO1xuICAgIGlmICghcmVmKSB7XG4gICAgICBjb25zb2xlLmxvZygnQmFkIGpzb24gJHJlZiBpbnNpZGUgc3dhZ2dlcicpXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCByZXMgPSAnJztcbiAgICByZWYgPSByZWYucmVwbGFjZSgnIy8nLCAnJykucmVwbGFjZSgvXFwvL2csICcuJyk7XG5cbiAgICBsZXQgb2JqOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyRGVmID0gPE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJEZWY+Xy5nZXQoc3dnLCByZWYpO1xuXG4gICAgLy8gaWYgKG9iai5wcm9wZXJ0aWVzLnZpYUFnZW50VmlhR3JvdXBEVE9zICYmICFnZXRPYmplY3REZWZpbml0aW9uLnByb3RvdHlwZS5vbmNlKSB7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnb2JqJywgb2JqKVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJylcbiAgICAvLyAgICAgZ2V0T2JqZWN0RGVmaW5pdGlvbi5wcm90b3R5cGUub25jZSA9IHRydWU7XG5cblxuXG4gICAgXy5mb3JPd24ob2JqLnByb3BlcnRpZXMsICh2LCBrKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhvYmopXG4gICAgICBpZiAodi4kcmVmICYmIHR5cGVvZiB2LiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2UgaWYgKHYuc2NoZW1hICYmIHYuc2NoZW1hLiRyZWYgJiYgdHlwZW9mIHYuc2NoZW1hLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5zY2hlbWEuJHJlZiwgc3dnLCBkZWVwKyspICsgXCJ9O1xcblwiO1xuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIgJiYgdi50eXBlICYmIHYudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICByZXMgKz0gayArIFwiOntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbih2Lml0ZW1zLiRyZWYsIHN3ZywgZGVlcCsrKSArIFwifVtdO1xcblwiO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnbWFrZSBsb3ZlIGhlcmUnKVxuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5pdGVtcy4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaXNSZXF1aXJlZCA9IChvYmoucmVxdWlyZWQgJiYgb2JqLnJlcXVpcmVkIGluc3RhbmNlb2YgQXJyYXkgJiYgb2JqLnJlcXVpcmVkLmZpbHRlcihvID0+IG8gPT09IGspLmxlbmd0aCA+IDApXG4gICAgICAgIGxldCB0eXBlID0gKHYuZW51bSAmJiB2LmVudW0gaW5zdGFuY2VvZiBBcnJheSAmJiB2LmVudW0ubGVuZ3RoID4gMClcbiAgICAgICAgICA/IHYuZW51bS5tYXAoZSA9PiAnXCInICsgZSArICdcIicpLmpvaW4oJ3wnKSA6IHRoaXMuc3dhZ2dlclR5cGVUb0pTKHYudHlwZSwgdi5pdGVtcyA/IHYuaXRlbXMudHlwZSA6ICdhbnknKTtcblxuICAgICAgICByZXMgKz0gayArICghaXNSZXF1aXJlZCA/ICc/JyA6IFwiXCIpICsgXCI6XCIgKyB0eXBlICsgXCI7XFxuXCJcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcylcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwcml2YXRlIHBhdGhlcyA9IHtcbiAgICogICAgICBnZXRfYWxsX2NvbXBhbmllczogbmV3IFNpbXBsZVJlc291cmNlPFxuICAgKiAgICAgICAgICBzdHJpbmcsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBSZXN0LlVybFBhcmFtcz4oZW5kcG9pbnQsIG1vZGVsKSxcbiAgICogICAgICBnZXRfYnlpZF9jb21wYW5pZXM6IG5ldyBTaW1wbGVSZXNvdXJjZTxcbiAgICogICAgICAgICAgc3RyaW5nLCBBLCBUQSwgUlAgZXh0ZW5kcyBPYmplY3QsIFFQIGV4dGVuZHMgUmVzdC5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbClcbiAgICogfVxuICAgKi9cbiAgc3RhdGljIGdldEFuZ3VsYXJQcml2YXRlUGF0aGVzQnlUYWcoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZyk6IHN0cmluZyB7XG4gICAgbGV0IHJlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgYmFzZSA9IHN3Zy5iYXNlUGF0aC5yZXBsYWNlKCcvJywgJycpO1xuXG4gICAgbGV0IHBhdGhlczogT2JqZWN0ID0ge307XG4gICAgXy5mb3JPd24oc3dnLnBhdGhzLCAodiwgaykgPT4ge1xuICAgICAgXy5mb3JPd24odiwgKHYyLCBrMikgPT4ge1xuICAgICAgICBpZiAoXy5pc0FycmF5KHYyLnRhZ3MpICYmIHYyLnRhZ3MuZmlsdGVyKGYgPT4gZiA9PT0gdGFnLm5hbWUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsZXQgcmVzcCA9IHYyLnJlc3BvbnNlc1snMjAwJ10gJiYgdjIucmVzcG9uc2VzWycyMDAnXS5zY2hlbWE7XG5cbiAgICAgICAgICAvLyBpZiAocmVzcCkge1xuICAgICAgICAgIC8vIFRPRE8gcmVzcG9uc2UgaGFuZGxpbmdcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVzcCcscmVzcCk7XG4gICAgICAgICAgaWYgKHBhdGhlc1trXSA9PT0gdm9pZCAwKSBwYXRoZXNba10gPSB7fTsgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGxldCB0eXBlID0gdGhpcy5nZXRSZXNwb25zZVR5cGUocmVzcCwgc3dnKTtcblxuICAgICAgICAgIGlmICh0eXBlLmxlbmd0aCA+IDMgJiYgdHlwZS5jaGFyQXQodHlwZS5sZW5ndGggLSAxKSA9PT0gJ10nICYmIHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoIC0gMikgPT09ICdbJ1xuICAgICAgICAgICAgJiYgIXBhdGhlc1trXVsnYXJyYXknXSkge1xuICAgICAgICAgICAgcGF0aGVzW2tdWydhcnJheSddID0gdHlwZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGsyICE9PSAnZGVsZXRlJyAmJiAhcGF0aGVzW2tdWydzaW5nbGUnXSkge1xuICAgICAgICAgICAgcGF0aGVzW2tdWydzaW5nbGUnXSA9IHR5cGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIH1cblxuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGxldCBwYXRoUmVzb3VyY2VzOiBNb2RlbHMuUGF0aFJlc291cmNlW10gPSBbXTtcblxuICAgIF8uZm9yT3duKHBhdGhlcywgKHYsIHApID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGAke3B9IC0gJHtKU09OLnN0cmluZ2lmeSh2KX1gKTtcbiAgICAgIHBhdGhSZXNvdXJjZXMucHVzaCh7XG4gICAgICAgIGNsZWFuX3BhdGg6IHRoaXMuY2xlYW5QYXRoKHApLFxuICAgICAgICBtb2RlbDogdGhpcy5jbGVhblBhdGhNb2RlbChwKSxcbiAgICAgICAgZW5kcG9pbnQ6IHN3Zy5iYXNlUGF0aCxcbiAgICAgICAgc2luZ2xlTW9kZWxUeXBlOiAhdlsnc2luZ2xlJ10gPyAnYW55JyA6IHZbJ3NpbmdsZSddLFxuICAgICAgICBtdWx0aXBsZU1vZGVsVHlwZTogIXZbJ2FycmF5J10gPyAnYW55JyA6IHZbJ2FycmF5J10sXG4gICAgICAgIHF1ZXJ5UGFyYW1zVHlwZTogJ2FueScsXG4gICAgICAgIHBhdGhQYXJhbXNUeXBlOiAnYW55J1xuICAgICAgfSlcbiAgICB9KVxuXG5cbiAgICBwYXRoUmVzb3VyY2VzLmZvckVhY2gocCA9PiB7XG4gICAgICByZXMucHVzaChgJHtwLmNsZWFuX3BhdGh9OiBuZXcgU2ltcGxlUmVzb3VyY2U8XFxuJHtwLnNpbmdsZU1vZGVsVHlwZX0sXFxuJHtwLm11bHRpcGxlTW9kZWxUeXBlfVxcbj4oIE5nMlJlc3RHZW5Nb2R1bGUuZW5wb2ludFVybHMuJHt0aGlzLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpfSwgJyR7cC5tb2RlbH0nIClgKTtcbiAgICB9KVxuXG4gICAgcmV0dXJuIGBwcml2YXRlIHBhdGhlcyA9IHsgXFxuJHtyZXMuam9pbignLFxcbicpfVxcbn07YFxuICB9XG5cblxuICAvKlxuICAgc2NoZW1hXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL0NvbXBhbnlEVE9cIlxuICAgICAgfVxuICB9XG5cbiAgXCJzY2hlbWFcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9Db21wYW55RFRPXCJcbiAgfVxuICAgKi9cblxuICBzdGF0aWMgZ2V0UmVzcG9uc2VUeXBlKG86IE1vZGVscy5Td2FnZ2VyLk9ialNjaGVtYSwgc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICBsZXQgcmVzID0gJ3t9IHwgYW55JztcbiAgICBpZiAobyAmJiBvLiRyZWYgJiYgdHlwZW9mIG8uJHJlZiA9PT0gJ3N0cmluZycgJiYgby4kcmVmLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIHJlcyA9IFwie1wiICsgdGhpcy5nZXRPYmplY3REZWZpbml0aW9uKG8uJHJlZiwgc3dnKSArIFwifVwiO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0kgYW0gb2JqZWN0Jywgby4kcmVmKVxuICAgIH0gZWxzZSBpZiAobyAmJiBvLnR5cGUgPT09ICdhcnJheScgJiYgby5pdGVtcyAmJiBvLml0ZW1zLiRyZWYgJiZcbiAgICAgIHR5cGVvZiBvLml0ZW1zLiRyZWYgPT09ICdzdHJpbmcnICYmIG8uaXRlbXMuJHJlZi50cmltKCkgIT09ICcnKSB7XG4gICAgICByZXMgPSBcIntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbihvLml0ZW1zLiRyZWYsIHN3ZykgKyBcIn1bXVwiO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0kgYW0gYXJyYXkgJywgby5pdGVtcy4kcmVmKVxuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZygnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JylcbiAgICAvLyBjb25zb2xlLmxvZygndHlwZScsIHJlcylcbiAgICAvLyBjb25zb2xlLmxvZygnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJylcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBwcml2YXRlIHN0YXRpYyBjb3VudDEgPSAwO1xuXG4gIHN0YXRpYyByZWNyZWF0ZVN1bW1hcnkoc3VtbWFyeTogc3RyaW5nKSB7XG4gICAgLy8gaWYgKCFzdW1tYXJ5KSB7XG4gICAgLy8gICByZXR1cm4gJ1N1bW1hcnlFeGFtcGxlJyArIChjb3VudDErKylcbiAgICAvLyB9XG4gICAgcmV0dXJuIHN1bW1hcnk7XG4gIH1cblxuXG5cbiAgLy8gdHlwZSBQYXJhbXMgPSB7IHF1ZXJ5OiBhbnlbXSwgcGF0aDogYW55W10sIGJvZHk6IGFueVtdIH07XG4gIC8vIHR5cGUgUGFyYW1zVHlwZSA9IHsgcXVlcnk6IHN0cmluZywgcGF0aDogc3RyaW5nLCBib2R5OiBzdHJpbmcgfTtcblxuICAvLyBleHBvcnQgZnVuY3Rpb24gZ2V0U2luZ2xlUGFyYW1zVHlwZUZvclBhdGgodGFnOiBzdHJpbmcsIHN3ZzogU3dhZ2dlck1vZGVsKTogUGFyYW1zVHlwZSB7XG4gIC8vICAgICBsZXQgcmVzOiBQYXJhbXNUeXBlID0gPFBhcmFtc1R5cGU+e307XG5cbiAgLy8gICAgIGZvciAobGV0IHVybHBhdGggaW4gc3dnLnBhdGhzKSB7XG5cbiAgLy8gICAgICAgICBmb3IgKGxldCBtZXRob2RodHRwIGluIHN3Zy5wYXRoc1t1cmxwYXRoXSkge1xuICAvLyAgICAgICAgICAgICBsZXQgbSA9IHN3Zy5wYXRoc1t1cmxwYXRoXVttZXRob2RodHRwXTtcbiAgLy8gICAgICAgICAgICAgaWYgKG0udGFncy5maWx0ZXIodCA9PiB0ID09PSB0YWcpLmxlbmd0aCA9PT0gMSkge1xuXG4gIC8vICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zOiBQYXJhbXMgPSA8UGFyYW1zPnt9O1xuICAvLyAgICAgICAgICAgICAgICAgcGFyYW1zLnF1ZXJ5ID0gW107XG4gIC8vICAgICAgICAgICAgICAgICBwYXJhbXMucGF0aCA9IFtdO1xuICAvLyAgICAgICAgICAgICAgICAgcGFyYW1zLmJvZHkgPSBbXTtcblxuICAvLyAgICAgICAgICAgICAgICAgaWYgKG0ucGFyYW1ldGVycykgbS5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW0gPT4ge1xuICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5pbiA9PT0gJ2JvZHknKSB7XG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5ib2R5LnB1c2goe1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwie1wiICsgU3dhZ2dlckhlbHBlcnMuZ2V0T2JqZWN0RGVmaW5pdGlvbihwYXJhbS5zY2hlbWEuJHJlZiwgc3dnKSArIFwifVwiLFxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHBhcmFtLnJlcXVpcmVkXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zW3BhcmFtLmluXS5wdXNoKHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLm5hbWUsXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBTd2FnZ2VySGVscGVycy5zd2FnZ2VyVHlwZVRvSlMocGFyYW0udHlwZSksXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcGFyYW0ucmVxdWlyZWRcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgLy8gICAgICAgICAgICAgICAgIH0pXG5cbiAgLy8gICAgICAgICAgICAgfVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgIH1cblxuICAvLyAgICAgcmV0dXJuIHJlcztcbiAgLy8gfVxuXG5cbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './helpers';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ // import { Models as MorphiModels } from 'morphi';
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3Byb2plY3RzL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IE1vZGVscyBhcyBNb3JwaGlNb2RlbHMgfSBmcm9tICdtb3JwaGknO1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kZWxzIHtcbiAgLy8gZXhwb3J0IGltcG9ydCBNb3JwaGkgPSBNb3JwaGlNb2RlbHM7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYXRoUmVzb3VyY2Uge1xuICAgIGNsZWFuX3BhdGg/OiBzdHJpbmc7XG4gICAgc2luZ2xlTW9kZWxUeXBlPzogc3RyaW5nO1xuICAgIG11bHRpcGxlTW9kZWxUeXBlPzogc3RyaW5nO1xuICAgIHBhdGhQYXJhbXNUeXBlPzogc3RyaW5nO1xuICAgIHF1ZXJ5UGFyYW1zVHlwZT86IHN0cmluZztcbiAgICBlbmRwb2ludD86IHN0cmluZztcbiAgICBtb2RlbD86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFyYW0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7IC8vIFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGlzT2JqZWN0PzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgU2VydmljZU1ldGhvZCB7XG4gICAgc3VtbWFyeTogc3RyaW5nO1xuICAgIHBhdGhfY2xlYW5kOiBzdHJpbmc7XG4gICAgcGFyYW1zOiB7XG4gICAgICBwYXRoPzogUGFyYW1bXTtcbiAgICAgIHF1ZXJ5PzogUGFyYW1bXTtcbiAgICAgIGJvZHk/OiBQYXJhbVtdO1xuICAgIH1cbiAgICBtZXRob2Q6ICBhbnk7IC8vTW9ycGhpLlJlc3QuSHR0cE1ldGhvZDtcbiAgICBpc0FycmF5OiBib29sZWFuO1xuICAgIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIH1cblxuXG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBTd2FnZ2VyIHtcbiAgICBleHBvcnQgdHlwZSBEYXRhRm9ybWF0ID0gJ2ludDMyJyB8ICdpbnQ2NCcgfCAnZG91YmxlJyB8ICdmbG9hdCdcbiAgICBleHBvcnQgdHlwZSBEYXRhVHlwZSA9ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdzdHJpbmcnIHwgJ2Jvb2xlYW4nXG5cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlOYW1lIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBQYXJhbWV0ZXJcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWYge1xuICAgICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xuICAgICAgdHlwZTogRGF0YVR5cGU7XG4gICAgICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eU5hbWU7XG4gICAgfVxuXG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWZpbml0aW9uIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBTd2FnZ2VyRGVmO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgT2JqU2NoZW1hIHtcbiAgICAgICRyZWY6IHN0cmluZztcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgaXRlbXM6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2Uge1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIHNjaGVtYTogT2JqU2NoZW1hO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclJlc3BvbnNlIHtcbiAgICAgIFtwYXRoOiBzdHJpbmddOiBSZXNwb25zZTtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlciB7XG4gICAgICAkcmVmOiBzdHJpbmc7XG4gICAgICAvKipcbiAgICAgICAqIFx0UmVxdWlyZWQuIFRoZSBzY2hlbWEgZGVmaW5pbmcgdGhlIHR5cGUgdXNlZCBmb3IgdGhlIGJvZHkgcGFyYW1ldGVyLlxuICAgICAgICovXG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgICBpdGVtczogUGFyYW1ldGVyO1xuICAgICAgICB0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIjtcbiAgICAgIH1cbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQuIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuIFBhcmFtZXRlciBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUuXG4gICAgICAgKiBJZiBpbiBpcyBcInBhdGhcIiwgdGhlIG5hbWUgZmllbGQgTVVTVCBjb3JyZXNwb25kIHRvIHRoZSBhc3NvY2lhdGVkIHBhdGggc2VnbWVudFxuICAgICAgICogZnJvbSB0aGUgcGF0aCBmaWVsZCBpbiB0aGUgUGF0aHMgT2JqZWN0LiBTZWUgUGF0aCBUZW1wbGF0aW5nIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLlxuICAgICAgICogRm9yIGFsbCBvdGhlciBjYXNlcywgdGhlIG5hbWUgY29ycmVzcG9uZHMgdG8gdGhlIHBhcmFtZXRlciBuYW1lIHVzZWQgYmFzZWQgb24gdGhlIGluIHByb3BlcnR5LlxuICAgICAgICovXG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBpbjogJ3F1ZXJ5JyB8ICdwYXRoJyB8ICdib2R5JyB8ICdmb3JtRGF0YScgfCAnaGVhZGVyJztcbiAgICAgIC8qKlxuICAgICAgICogQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLiBUaGlzIGNvdWxkIGNvbnRhaW4gZXhhbXBsZXMgb2YgdXNlLlxuICAgICAgICogIEdGTSBzeW50YXggY2FuIGJlIHVzZWQgZm9yIHJpY2ggdGV4dCByZXByZXNlbnRhdGlvbi5cbiAgICAgICAqL1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQgaWYgdHlwZSBpcyBcImFycmF5XCIuIERlc2NyaWJlcyB0aGUgdHlwZSBvZiBpdGVtcyBpbiB0aGUgYXJyYXkuXG4gICAgICAgKi9cbiAgICAgIGl0ZW1zOiBQYXJhbWV0ZXI7XG4gICAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICAgIC8qKlxuICAgICAgICogU2V0cyB0aGUgYWJpbGl0eSB0byBwYXNzIGVtcHR5LXZhbHVlZCBwYXJhbWV0ZXJzLiBUaGlzIGlzIHZhbGlkIG9ubHlcbiAgICAgICAqIGZvciBlaXRoZXIgcXVlcnkgb3IgZm9ybURhdGEgcGFyYW1ldGVycyBhbmQgYWxsb3dzIHlvdSB0byBzZW5kIGEgcGFyYW1ldGVyXG4gICAgICAgKiAgd2l0aCBhIG5hbWUgb25seSBvciBhbiBlbXB0eSB2YWx1ZS4gRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgICAqL1xuICAgICAgYWxsb3dFbXB0eVZhbHVlOiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBSZXF1aXJlZC4gVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlci4gU2luY2UgdGhlIHBhcmFtZXRlciBpcyBub3QgbG9jYXRlZFxuICAgICAgICogYXQgdGhlIHJlcXVlc3QgYm9keSwgaXQgaXMgbGltaXRlZCB0byBzaW1wbGUgdHlwZXMgKHRoYXQgaXMsIG5vdCBhbiBvYmplY3QpLlxuICAgICAgICogIFRoZSB2YWx1ZSBNVVNUIGJlIG9uZSBvZiBcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcImludGVnZXJcIiwgXCJib29sZWFuXCIsIFwiYXJyYXlcIlxuICAgICAgICogb3IgXCJmaWxlXCIuIElmIHR5cGUgaXMgXCJmaWxlXCIsIHRoZSBjb25zdW1lcyBNVVNUIGJlIGVpdGhlciBcIm11bHRpcGFydC9mb3JtLWRhdGFcIixcbiAgICAgICAqIFwiIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiIG9yIGJvdGggYW5kIHRoZSBwYXJhbWV0ZXIgTVVTVCBiZSBpbiBcImZvcm1EYXRhXCIuXG4gICAgICAgKi9cbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgZm9ybWF0OiBcImludDMyXCIgfCBcImludDY0XCIgfCBcImZsb2F0XCIgfCBcImRvdWJsZVwiIHwgXCJieXRlXCIgfCBcImJpbmFyeVwiIHwgXCJkYXRlXCIgfCBcImRhdGUtdGltZVwiIHwgXCJwYXNzd29yZFwiO1xuICAgICAgLyoqXG4gICAgICAgKiBEZXRlcm1pbmVzIHRoZSBmb3JtYXQgb2YgdGhlIGFycmF5IGlmIHR5cGUgYXJyYXkgaXMgdXNlZC4gUG9zc2libGUgdmFsdWVzIGFyZTpcbiAgICAgICAqIGNzdiAtIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMgZm9vLGJhci5cbiAgICAgICAqIHNzdiAtIHNwYWNlIHNlcGFyYXRlZCB2YWx1ZXMgZm9vIGJhci5cbiAgICAgICAqIHRzdiAtIHRhYiBzZXBhcmF0ZWQgdmFsdWVzIGZvb1xcdGJhci5cbiAgICAgICAqIHBpcGVzIC0gcGlwZSBzZXBhcmF0ZWQgdmFsdWVzIGZvb3xiYXIuXG4gICAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIGNzdi5cbiAgICAgICAqL1xuICAgICAgY29sbGVjdGlvbkZvcm1hdDogJ2NzdicgfCAnc3N2JyB8ICd0c3YnIHwgJ3BpcGVzJztcbiAgICAgIC8qKlxuICAgICAgICogRGVjbGFyZXMgdGhlIHZhbHVlIG9mIHRoZSBpdGVtIHRoYXQgdGhlIHNlcnZlciB3aWxsIHVzZSBpZiBub25lIGlzIHByb3ZpZGVkLlxuICAgICAgICogKE5vdGU6IFwiZGVmYXVsdFwiIGhhcyBubyBtZWFuaW5nIGZvciByZXF1aXJlZCBpdGVtcy4pXG4gICAgICAgKiBTZWUgaHR0cDovL2pzb24tc2NoZW1hLm9yZy9sYXRlc3QvanNvbi1zY2hlbWEtdmFsaWRhdGlvbi5odG1sI2FuY2hvcjEwMS5cbiAgICAgICAqICBVbmxpa2UgSlNPTiBTY2hlbWEgdGhpcyB2YWx1ZSBNVVNUIGNvbmZvcm0gdG8gdGhlIGRlZmluZWQgdHlwZSBmb3IgdGhlIGRhdGEgdHlwZS5cbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDogYW55O1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdmFsdWUgb2YgdGhpcyBrZXl3b3JkIE1VU1QgYmUgYW4gYXJyYXkuXG4gICAgICAgKiBUaGlzIGFycmF5IFNIT1VMRCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50LlxuICAgICAgICogRWxlbWVudHMgaW4gdGhlIGFycmF5IFNIT1VMRCBiZSB1bmlxdWUuXG4gICAgICAgKiBFbGVtZW50cyBpbiB0aGUgYXJyYXkgTUFZIGJlIG9mIGFueSB0eXBlLCBpbmNsdWRpbmcgbnVsbC5cbiAgICAgICAqIEFuIGluc3RhbmNlIHZhbGlkYXRlcyBzdWNjZXNzZnVsbHkgYWdhaW5zdCB0aGlzIGtleXdvcmQgaWYgaXRzIHZhbHVlXG4gICAgICAgKiBpcyBlcXVhbCB0byBvbmUgb2YgdGhlIGVsZW1lbnRzIGluIHRoaXMga2V5d29yZCdzIGFycmF5IHZhbHVlLlxuICAgICAgICovXG4gICAgICBlbnVtOiBhbnlbXTtcbiAgICAgIG1heExlbmd0aDogbnVtYmVyO1xuICAgICAgbWluTGVuZ3RoOiBudW1iZXI7XG4gICAgICBtYXhJdGVtczogbnVtYmVyO1xuICAgICAgbWluSXRlbXM6IG51bWJlcjtcbiAgICAgIHVuaXF1ZUl0ZW1zOiBib29sZWFuO1xuICAgICAgcGF0dGVybjogbnVtYmVyO1xuICAgICAgbWF4aW11bTogbnVtYmVyO1xuICAgICAgZXhjbHVzaXZlTWF4aW11bTogYm9vbGVhbjtcbiAgICAgIG1pbmltdW06IG51bWJlcjtcbiAgICAgIGV4Y2x1c2l2ZU1pbmltdW06IG51bWJlcjtcbiAgICAgIG11bHRpcGxlT2Y6IGJvb2xlYW47XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBNZXRob2Qge1xuICAgICAgdGFnczogc3RyaW5nW107XG4gICAgICBzdW1tYXJ5OiBzdHJpbmc7XG4gICAgICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAgICAgY29uc3VtZXM6IHN0cmluZ1tdO1xuICAgICAgcHJvZHVjZXM6IHN0cmluZ1tdO1xuICAgICAgcGFyYW1ldGVyczogUGFyYW1ldGVyW107XG4gICAgICByZXNwb25zZXM6IFN3YWdnZXJSZXNwb25zZVtdO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlck1ldGhvZCB7XG4gICAgICBbcGF0aDogc3RyaW5nXTogTWV0aG9kO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclBhdGgge1xuICAgICAgW3BhdGg6IHN0cmluZ106IFN3YWdnZXJNZXRob2Q7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyVGFnIHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIC8vIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyTW9kZWwge1xuICAgICAgaG9zdDogc3RyaW5nO1xuICAgICAgYmFzZVBhdGg6IHN0cmluZztcbiAgICAgIHRhZ3M6IFN3YWdnZXJUYWdbXTtcbiAgICAgIHBhdGhzOiBTd2FnZ2VyUGF0aDtcbiAgICAgIGRlZmluaXRpb25zOiBTd2FnZ2VyRGVmaW5pdGlvbjtcbiAgICB9XG5cblxuICB9XG5cbn0iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './lib';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng2-rest-swagger-generator/websql",
3
- "version": "19.0.6",
3
+ "version": "19.0.7",
4
4
  "module": "fesm2022/ng2-rest-swagger-generator.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {