@apipass/schemas 0.2.1-test.1 → 0.2.3-alpha.0

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 (52) hide show
  1. package/apipass-schemas.d.ts +5 -5
  2. package/assets/css/buttons.scss +118 -112
  3. package/assets/css/colors.scss +34 -34
  4. package/assets/css/fonts.scss +24 -24
  5. package/assets/css/inputs.scss +197 -197
  6. package/assets/css/pt_sans.scss +143 -143
  7. package/assets/css/spacing.scss +28 -28
  8. package/assets/css/texts.scss +18 -18
  9. package/base-schema.component.d.ts +12 -11
  10. package/bundles/apipass-schemas.umd.js +1945 -1930
  11. package/bundles/apipass-schemas.umd.js.map +1 -1
  12. package/bundles/apipass-schemas.umd.min.js +2 -2
  13. package/bundles/apipass-schemas.umd.min.js.map +1 -1
  14. package/esm2015/apipass-schemas.js +4 -4
  15. package/esm2015/base-schema.component.js +38 -30
  16. package/esm2015/public-api.js +17 -17
  17. package/esm2015/schema-custom-attributes/schema-custom-attributes.js +177 -177
  18. package/esm2015/schema-fields.service.js +77 -77
  19. package/esm2015/schema-form/schema-array/array-session/array-session.js +159 -158
  20. package/esm2015/schema-form/schema-array/schema-array.js +195 -196
  21. package/esm2015/schema-form/schema-form.js +72 -73
  22. package/esm2015/schema-form/schema-input/field-render/field-render.js +72 -72
  23. package/esm2015/schema-form/schema-input/input-render/boolean-input/boolean-input.component.js +50 -45
  24. package/esm2015/schema-form/schema-input/input-render/input-render.js +128 -124
  25. package/esm2015/schema-form/schema-input/input-render/number-input/number-input.component.js +48 -43
  26. package/esm2015/schema-form/schema-input/schema-input.js +98 -99
  27. package/esm2015/schema-form/schema-object/schema-object.js +94 -95
  28. package/esm2015/schema-form-render.js +96 -97
  29. package/esm2015/schema-form-render.module.js +121 -121
  30. package/esm2015/schema-validation-field.js +15 -15
  31. package/esm2015/struct.utils.js +9 -9
  32. package/esm2015/type-script-compile.js +77 -77
  33. package/fesm2015/apipass-schemas.js +1379 -1364
  34. package/fesm2015/apipass-schemas.js.map +1 -1
  35. package/package.json +2 -1
  36. package/public-api.d.ts +16 -16
  37. package/schema-custom-attributes/schema-custom-attributes.d.ts +15 -15
  38. package/schema-fields.service.d.ts +12 -12
  39. package/schema-form/schema-array/array-session/array-session.d.ts +17 -17
  40. package/schema-form/schema-array/schema-array.d.ts +18 -18
  41. package/schema-form/schema-form.d.ts +17 -17
  42. package/schema-form/schema-input/field-render/field-render.d.ts +15 -15
  43. package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +15 -13
  44. package/schema-form/schema-input/input-render/input-render.d.ts +20 -19
  45. package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +15 -13
  46. package/schema-form/schema-input/schema-input.d.ts +14 -14
  47. package/schema-form/schema-object/schema-object.d.ts +20 -20
  48. package/schema-form-render.d.ts +17 -17
  49. package/schema-form-render.module.d.ts +22 -22
  50. package/schema-validation-field.d.ts +17 -17
  51. package/struct.utils.d.ts +1 -1
  52. package/type-script-compile.d.ts +10 -10
@@ -1,77 +1,77 @@
1
- import { FormControl, Validators } from '@angular/forms';
2
- export class TypeScriptCompile {
3
- static addItemToFormProperties(formProperties, item, key) {
4
- if (item.minLength && item.minLength > 0) {
5
- formProperties[key] = new FormControl([null, [Validators.required]]);
6
- }
7
- else {
8
- formProperties[key] = new FormControl([null]);
9
- }
10
- }
11
- static compileProperties(input) {
12
- const compiledProperties = [];
13
- const formProperties = {};
14
- let inputData = {};
15
- const inputToCompile = JSON.parse(JSON.stringify(input));
16
- if (inputToCompile.properties) {
17
- if (inputToCompile.type === 'array') {
18
- inputData = [];
19
- }
20
- if (inputToCompile.type === 'object') {
21
- inputData = {};
22
- }
23
- inputToCompile.id = 'inputData';
24
- this.proccessProperties(inputToCompile, formProperties, 'inputData');
25
- compiledProperties.push(inputToCompile);
26
- }
27
- else if (inputToCompile.type === 'array') {
28
- inputToCompile.id = 'inputData';
29
- inputData = [];
30
- TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');
31
- compiledProperties.push(inputToCompile);
32
- }
33
- else if (!inputToCompile.type) {
34
- for (let index = 0; index < Object.keys(inputToCompile).length; index++) {
35
- const key = Object.keys(inputToCompile)[index];
36
- const item = inputToCompile[key];
37
- item.id = key;
38
- if (item.type === 'array') {
39
- inputData[item.id] = [];
40
- }
41
- if (item.type === 'object') {
42
- inputData[item.id] = {};
43
- }
44
- this.proccessProperties(item, formProperties, key);
45
- compiledProperties.push(item);
46
- }
47
- }
48
- compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);
49
- return { compiledProperties, formProperties, inputData };
50
- }
51
- static proccessProperties(item, formProperties, key) {
52
- if (this.hasProperties(item)) {
53
- const arFieldsChild = [];
54
- for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {
55
- const keyChild = Object.keys(item.properties)[indexChild];
56
- const itemChild = item.properties[keyChild];
57
- itemChild.id = keyChild;
58
- if (this.hasProperties(itemChild)) {
59
- this.proccessProperties(itemChild, formProperties, keyChild);
60
- arFieldsChild.push(itemChild);
61
- }
62
- else {
63
- TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);
64
- arFieldsChild.push(itemChild);
65
- }
66
- }
67
- item.properties = arFieldsChild;
68
- }
69
- else {
70
- TypeScriptCompile.addItemToFormProperties(formProperties, item, key);
71
- }
72
- }
73
- static hasProperties(item) {
74
- return item.type === 'object' || (item.type === 'array' && item.properties);
75
- }
76
- }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zY3JpcHQtY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3R5cGUtc2NyaXB0LWNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBRXBCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxjQUFtQixFQUFFLElBQVMsRUFBRSxHQUFXO1FBQ2hGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFVO1FBS3hDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ25DLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEI7WUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxT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LFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDL0UsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDL0I7YUFDRjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBUztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0Q29tcGlsZSB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzOiBhbnksIGl0ZW06IGFueSwga2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChpdGVtLm1pbkxlbmd0aCAmJiBpdGVtLm1pbkxlbmd0aCA+IDApIHtcclxuICAgICAgZm9ybVByb3BlcnRpZXNba2V5XSA9IG5ldyBGb3JtQ29udHJvbChbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtUHJvcGVydGllc1trZXldID0gbmV3IEZvcm1Db250cm9sKFtudWxsXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvbXBpbGVQcm9wZXJ0aWVzKGlucHV0OiBhbnkpOiB7XHJcbiAgICBjb21waWxlZFByb3BlcnRpZXM6IGFueSxcclxuICAgIGZvcm1Qcm9wZXJ0aWVzOiBhbnksXHJcbiAgICBpbnB1dERhdGE6IGFueVxyXG4gIH0ge1xyXG4gICAgY29uc3QgY29tcGlsZWRQcm9wZXJ0aWVzID0gW107XHJcbiAgICBjb25zdCBmb3JtUHJvcGVydGllcyA9IHt9O1xyXG4gICAgbGV0IGlucHV0RGF0YTogYW55ID0ge307XHJcbiAgICBjb25zdCBpbnB1dFRvQ29tcGlsZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaW5wdXQpKTtcclxuICAgIGlmIChpbnB1dFRvQ29tcGlsZS5wcm9wZXJ0aWVzKSB7XHJcbiAgICAgIGlmIChpbnB1dFRvQ29tcGlsZS50eXBlID09PSAnYXJyYXknKSB7XHJcbiAgICAgICAgaW5wdXREYXRhID0gW107XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlucHV0VG9Db21waWxlLnR5cGUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgaW5wdXREYXRhID0ge307XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXRUb0NvbXBpbGUuaWQgPSAnaW5wdXREYXRhJztcclxuICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaW5wdXRUb0NvbXBpbGUsIGZvcm1Qcm9wZXJ0aWVzLCAnaW5wdXREYXRhJyk7XHJcbiAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGlucHV0VG9Db21waWxlKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wdXRUb0NvbXBpbGUudHlwZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICBpbnB1dFRvQ29tcGlsZS5pZCA9ICdpbnB1dERhdGEnO1xyXG4gICAgICBpbnB1dERhdGEgPSBbXTtcclxuICAgICAgVHlwZVNjcmlwdENvbXBpbGUuYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMoZm9ybVByb3BlcnRpZXMsIGlucHV0VG9Db21waWxlLCAnaW5wdXREYXRhJyk7XHJcbiAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGlucHV0VG9Db21waWxlKTtcclxuICAgIH0gZWxzZSBpZiAoIWlucHV0VG9Db21waWxlLnR5cGUpIHtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IE9iamVjdC5rZXlzKGlucHV0VG9Db21waWxlKS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhpbnB1dFRvQ29tcGlsZSlbaW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpbnB1dFRvQ29tcGlsZVtrZXldO1xyXG4gICAgICAgIGl0ZW0uaWQgPSBrZXk7XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdhcnJheScpIHtcclxuICAgICAgICAgIGlucHV0RGF0YVtpdGVtLmlkXSA9IFtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGlucHV0RGF0YVtpdGVtLmlkXSA9IHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnByb2NjZXNzUHJvcGVydGllcyhpdGVtLCBmb3JtUHJvcGVydGllcywga2V5KTtcclxuICAgICAgICBjb21waWxlZFByb3BlcnRpZXMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbXBpbGVkUHJvcGVydGllcy5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5T3JkZXIgLSBiLnByb3BlcnR5T3JkZXIpO1xyXG4gICAgcmV0dXJuIHtjb21waWxlZFByb3BlcnRpZXMsIGZvcm1Qcm9wZXJ0aWVzLCBpbnB1dERhdGF9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Nlc3NQcm9wZXJ0aWVzKGl0ZW06IGFueSwgZm9ybVByb3BlcnRpZXM6IHt9LCBrZXk6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzUHJvcGVydGllcyhpdGVtKSkge1xyXG4gICAgICBjb25zdCBhckZpZWxkc0NoaWxkID0gW107XHJcbiAgICAgIGZvciAobGV0IGluZGV4Q2hpbGQgPSAwOyBpbmRleENoaWxkIDwgT2JqZWN0LmtleXMoaXRlbS5wcm9wZXJ0aWVzKS5sZW5ndGg7IGluZGV4Q2hpbGQrKykge1xyXG4gICAgICAgIGNvbnN0IGtleUNoaWxkID0gT2JqZWN0LmtleXMoaXRlbS5wcm9wZXJ0aWVzKVtpbmRleENoaWxkXTtcclxuICAgICAgICBjb25zdCBpdGVtQ2hpbGQgPSBpdGVtLnByb3BlcnRpZXNba2V5Q2hpbGRdO1xyXG4gICAgICAgIGl0ZW1DaGlsZC5pZCA9IGtleUNoaWxkO1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1Byb3BlcnRpZXMoaXRlbUNoaWxkKSkge1xyXG4gICAgICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaXRlbUNoaWxkLCBmb3JtUHJvcGVydGllcywga2V5Q2hpbGQpO1xyXG4gICAgICAgICAgYXJGaWVsZHNDaGlsZC5wdXNoKGl0ZW1DaGlsZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFR5cGVTY3JpcHRDb21waWxlLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpdGVtQ2hpbGQsIGtleUNoaWxkKTtcclxuICAgICAgICAgIGFyRmllbGRzQ2hpbGQucHVzaChpdGVtQ2hpbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpdGVtLnByb3BlcnRpZXMgPSBhckZpZWxkc0NoaWxkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgVHlwZVNjcmlwdENvbXBpbGUuYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMoZm9ybVByb3BlcnRpZXMsIGl0ZW0sIGtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBoYXNQcm9wZXJ0aWVzKGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSAnb2JqZWN0JyB8fCAoaXRlbS50eXBlID09PSAnYXJyYXknICYmIGl0ZW0ucHJvcGVydGllcyk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
1
+ import { FormControl, Validators } from '@angular/forms';
2
+ export class TypeScriptCompile {
3
+ static addItemToFormProperties(formProperties, item, key) {
4
+ if (item.minLength && item.minLength > 0) {
5
+ formProperties[key] = new FormControl([null, [Validators.required]]);
6
+ }
7
+ else {
8
+ formProperties[key] = new FormControl([null]);
9
+ }
10
+ }
11
+ static compileProperties(input) {
12
+ const compiledProperties = [];
13
+ const formProperties = {};
14
+ let inputData = {};
15
+ const inputToCompile = JSON.parse(JSON.stringify(input));
16
+ if (inputToCompile.properties) {
17
+ if (inputToCompile.type === 'array') {
18
+ inputData = [];
19
+ }
20
+ if (inputToCompile.type === 'object') {
21
+ inputData = {};
22
+ }
23
+ inputToCompile.id = 'inputData';
24
+ this.proccessProperties(inputToCompile, formProperties, 'inputData');
25
+ compiledProperties.push(inputToCompile);
26
+ }
27
+ else if (inputToCompile.type === 'array') {
28
+ inputToCompile.id = 'inputData';
29
+ inputData = [];
30
+ TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');
31
+ compiledProperties.push(inputToCompile);
32
+ }
33
+ else if (!inputToCompile.type) {
34
+ for (let index = 0; index < Object.keys(inputToCompile).length; index++) {
35
+ const key = Object.keys(inputToCompile)[index];
36
+ const item = inputToCompile[key];
37
+ item.id = key;
38
+ if (item.type === 'array') {
39
+ inputData[item.id] = [];
40
+ }
41
+ if (item.type === 'object') {
42
+ inputData[item.id] = {};
43
+ }
44
+ this.proccessProperties(item, formProperties, key);
45
+ compiledProperties.push(item);
46
+ }
47
+ }
48
+ compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);
49
+ return { compiledProperties, formProperties, inputData };
50
+ }
51
+ static proccessProperties(item, formProperties, key) {
52
+ if (this.hasProperties(item)) {
53
+ const arFieldsChild = [];
54
+ for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {
55
+ const keyChild = Object.keys(item.properties)[indexChild];
56
+ const itemChild = item.properties[keyChild];
57
+ itemChild.id = keyChild;
58
+ if (this.hasProperties(itemChild)) {
59
+ this.proccessProperties(itemChild, formProperties, keyChild);
60
+ arFieldsChild.push(itemChild);
61
+ }
62
+ else {
63
+ TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);
64
+ arFieldsChild.push(itemChild);
65
+ }
66
+ }
67
+ item.properties = arFieldsChild;
68
+ }
69
+ else {
70
+ TypeScriptCompile.addItemToFormProperties(formProperties, item, key);
71
+ }
72
+ }
73
+ static hasProperties(item) {
74
+ return item.type === 'object' || (item.type === 'array' && item.properties);
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zY3JpcHQtY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3R5cGUtc2NyaXB0LWNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBRXBCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxjQUFtQixFQUFFLElBQVMsRUFBRSxHQUFXO1FBQ2hGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFVO1FBS3hDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ25DLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEI7WUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxT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LFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDL0UsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDL0I7YUFDRjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBUztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb21waWxlIHtcblxuICBwcml2YXRlIHN0YXRpYyBhZGRJdGVtVG9Gb3JtUHJvcGVydGllcyhmb3JtUHJvcGVydGllczogYW55LCBpdGVtOiBhbnksIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0ubWluTGVuZ3RoICYmIGl0ZW0ubWluTGVuZ3RoID4gMCkge1xuICAgICAgZm9ybVByb3BlcnRpZXNba2V5XSA9IG5ldyBGb3JtQ29udHJvbChbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1Qcm9wZXJ0aWVzW2tleV0gPSBuZXcgRm9ybUNvbnRyb2woW251bGxdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbXBpbGVQcm9wZXJ0aWVzKGlucHV0OiBhbnkpOiB7XG4gICAgY29tcGlsZWRQcm9wZXJ0aWVzOiBhbnksXG4gICAgZm9ybVByb3BlcnRpZXM6IGFueSxcbiAgICBpbnB1dERhdGE6IGFueVxuICB9IHtcbiAgICBjb25zdCBjb21waWxlZFByb3BlcnRpZXMgPSBbXTtcbiAgICBjb25zdCBmb3JtUHJvcGVydGllcyA9IHt9O1xuICAgIGxldCBpbnB1dERhdGE6IGFueSA9IHt9O1xuICAgIGNvbnN0IGlucHV0VG9Db21waWxlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbnB1dCkpO1xuICAgIGlmIChpbnB1dFRvQ29tcGlsZS5wcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoaW5wdXRUb0NvbXBpbGUudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICBpbnB1dERhdGEgPSBbXTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFRvQ29tcGlsZS50eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpbnB1dERhdGEgPSB7fTtcbiAgICAgIH1cbiAgICAgIGlucHV0VG9Db21waWxlLmlkID0gJ2lucHV0RGF0YSc7XG4gICAgICB0aGlzLnByb2NjZXNzUHJvcGVydGllcyhpbnB1dFRvQ29tcGlsZSwgZm9ybVByb3BlcnRpZXMsICdpbnB1dERhdGEnKTtcbiAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGlucHV0VG9Db21waWxlKTtcbiAgICB9IGVsc2UgaWYgKGlucHV0VG9Db21waWxlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIGlucHV0VG9Db21waWxlLmlkID0gJ2lucHV0RGF0YSc7XG4gICAgICBpbnB1dERhdGEgPSBbXTtcbiAgICAgIFR5cGVTY3JpcHRDb21waWxlLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpbnB1dFRvQ29tcGlsZSwgJ2lucHV0RGF0YScpO1xuICAgICAgY29tcGlsZWRQcm9wZXJ0aWVzLnB1c2goaW5wdXRUb0NvbXBpbGUpO1xuICAgIH0gZWxzZSBpZiAoIWlucHV0VG9Db21waWxlLnR5cGUpIHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBPYmplY3Qua2V5cyhpbnB1dFRvQ29tcGlsZSkubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKGlucHV0VG9Db21waWxlKVtpbmRleF07XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpbnB1dFRvQ29tcGlsZVtrZXldO1xuICAgICAgICBpdGVtLmlkID0ga2V5O1xuXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgICBpbnB1dERhdGFbaXRlbS5pZF0gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgaW5wdXREYXRhW2l0ZW0uaWRdID0ge307XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaXRlbSwgZm9ybVByb3BlcnRpZXMsIGtleSk7XG4gICAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBpbGVkUHJvcGVydGllcy5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5T3JkZXIgLSBiLnByb3BlcnR5T3JkZXIpO1xuICAgIHJldHVybiB7Y29tcGlsZWRQcm9wZXJ0aWVzLCBmb3JtUHJvcGVydGllcywgaW5wdXREYXRhfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHByb2NjZXNzUHJvcGVydGllcyhpdGVtOiBhbnksIGZvcm1Qcm9wZXJ0aWVzOiB7fSwga2V5OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNQcm9wZXJ0aWVzKGl0ZW0pKSB7XG4gICAgICBjb25zdCBhckZpZWxkc0NoaWxkID0gW107XG4gICAgICBmb3IgKGxldCBpbmRleENoaWxkID0gMDsgaW5kZXhDaGlsZCA8IE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydGllcykubGVuZ3RoOyBpbmRleENoaWxkKyspIHtcbiAgICAgICAgY29uc3Qga2V5Q2hpbGQgPSBPYmplY3Qua2V5cyhpdGVtLnByb3BlcnRpZXMpW2luZGV4Q2hpbGRdO1xuICAgICAgICBjb25zdCBpdGVtQ2hpbGQgPSBpdGVtLnByb3BlcnRpZXNba2V5Q2hpbGRdO1xuICAgICAgICBpdGVtQ2hpbGQuaWQgPSBrZXlDaGlsZDtcbiAgICAgICAgaWYgKHRoaXMuaGFzUHJvcGVydGllcyhpdGVtQ2hpbGQpKSB7XG4gICAgICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaXRlbUNoaWxkLCBmb3JtUHJvcGVydGllcywga2V5Q2hpbGQpO1xuICAgICAgICAgIGFyRmllbGRzQ2hpbGQucHVzaChpdGVtQ2hpbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIFR5cGVTY3JpcHRDb21waWxlLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpdGVtQ2hpbGQsIGtleUNoaWxkKTtcbiAgICAgICAgICBhckZpZWxkc0NoaWxkLnB1c2goaXRlbUNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaXRlbS5wcm9wZXJ0aWVzID0gYXJGaWVsZHNDaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgVHlwZVNjcmlwdENvbXBpbGUuYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMoZm9ybVByb3BlcnRpZXMsIGl0ZW0sIGtleSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaGFzUHJvcGVydGllcyhpdGVtOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBpdGVtLnR5cGUgPT09ICdvYmplY3QnIHx8IChpdGVtLnR5cGUgPT09ICdhcnJheScgJiYgaXRlbS5wcm9wZXJ0aWVzKTtcbiAgfVxuXG59XG4iXX0=