@ng-formworks/daisyui 17.6.0 → 17.6.3

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.
@@ -1,6 +1,6 @@
1
1
  import { Component, inject, input } from '@angular/core';
2
2
  import { hasNonNullValue, hasOwn, JsonPointer, JsonSchemaFormService, path2ControlKey } from '@ng-formworks/core';
3
- import { isEqual, isObject } from 'lodash';
3
+ import { isEqual, isObject, pick } from 'lodash';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./daisyui-tabs.component";
6
6
  // TODO: Add this control
@@ -52,14 +52,30 @@ export class DaisyUIOneOfComponent {
52
52
  let parts = controlName.split('$');
53
53
  let fieldName = parts[parts.length - 1];
54
54
  let controlValue = this.jsf.formGroup.controls[controlName].value;
55
- if (isObject(formValue) && hasOwn(formValue, fieldName) &&
56
- formValue[fieldName] == controlValue
57
- //formValue[fieldName]||controlValue
58
- ) {
59
- foundInd = ind;
55
+ let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
56
+ let schemaPointer = parts.join("/");
57
+ let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
58
+ .replace(/(if|then|else|properties)\//g, '').replace(/\/items\//g, '/-/');
59
+ //JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
60
+ let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
61
+ let compareVal = dVal; //formValue;
62
+ //compare only values that are in the subschema properties
63
+ if (controlSchema && controlSchema.properties) {
64
+ compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
65
+ pick(dVal[fieldName], Object.keys(controlSchema.properties))
66
+ : pick(dVal, Object.keys(controlSchema.properties));
67
+ }
68
+ /*
69
+ if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
70
+ isEqual(compareVal[fieldName],controlValue)
71
+ ){
72
+ foundInd=ind;
73
+ }else //if(formValue || controlValue){
74
+ if(isEqual(compareVal,controlValue)){
75
+ foundInd=ind;
60
76
  }
61
- else //if(formValue || controlValue){
62
- if (isEqual(formValue, controlValue)) {
77
+ */
78
+ if (isEqual(compareVal, controlValue)) {
63
79
  foundInd = ind;
64
80
  }
65
81
  });
@@ -96,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
96
112
  standalone: false
97
113
  }]
98
114
  }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBSTNDLHlCQUF5QjtBQVl6QixNQUFNLE9BQU8scUJBQXFCO0lBVmxDO1FBV1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVosZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBbUVqRDtJQWpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRyxlQUFlO1FBQ2Isa0ZBQWtGO1FBQ2xGLG1FQUFtRTtRQUNuRSxtREFBbUQ7UUFDbkQsSUFBSSxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsMEJBQTBCO1FBQzFCLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBQztZQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBQyxHQUFHLEVBQUMsRUFBRTtnQkFDaEQsSUFBSSxTQUFTLEdBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hFLElBQUcsVUFBVSxDQUFDLFlBQVksRUFBQztvQkFDekIsSUFBSSxVQUFVLEdBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxLQUFLLEdBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztvQkFDMUIsSUFBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFDLFVBQVUsQ0FBQzt3QkFDL0MsQ0FBQyxTQUFTLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0UsNEVBQTRFO29CQUM5RSx5RUFBeUU7b0JBQ3ZFLDJFQUEyRTtzQkFDNUU7d0JBQ0csUUFBUSxHQUFDLEdBQUcsQ0FBQztxQkFDaEI7b0JBQ0Qsb0RBQW9EO29CQUNwRCwyREFBMkQ7b0JBQzNELGtDQUFrQztvQkFDbEMsSUFBRyxRQUFRLElBQUUsQ0FBQyxDQUFDLEVBQUM7d0JBQ2QsaUNBQWlDO3dCQUNqQyxJQUFJLDJCQUEyQixHQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxFQUFFOzRCQUMzRixPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzVDLENBQUMsQ0FBQyxDQUFBO3dCQUNGLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUEsRUFBRTs0QkFDL0MsSUFBSSxLQUFLLEdBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDakMsSUFBSSxTQUFTLEdBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ3BDLElBQUksWUFBWSxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUM7NEJBQ2hFLElBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUMsU0FBUyxDQUFDO2dDQUNyRCxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUUsWUFBWTs0QkFDbkMsb0NBQW9DOzhCQUNwQztnQ0FDRyxRQUFRLEdBQUMsR0FBRyxDQUFDOzZCQUNkO2lDQUFLLGdDQUFnQzs2QkFDdEMsSUFBRyxPQUFPLENBQUMsU0FBUyxFQUFDLFlBQVksQ0FBQyxFQUFDO2dDQUNqQyxRQUFRLEdBQUMsR0FBRyxDQUFDOzZCQUNkO3dCQUNILENBQUMsQ0FBQyxDQUFBO3dCQUNGLDRCQUE0QjtxQkFDN0I7aUJBQ0Y7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUwsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTdFVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4ZEFQcEI7Ozs7MkJBSWE7OzRGQUdkLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OzsyQkFJYTtvQkFDdkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgLy9UT0RPIHRlc3QtIHRoaXMuanNmLmZvcm1WYWx1ZXMgc2VlbXMgdG8gYmUgdGhlIGluaXRpYWwgZGF0YSBzdXBwbGllZCB0byB0aGUgZm9ybVxyXG4gICAgICAgIC8vd2hpbGUgdGhlIGpzZi5mb3JtR3JvdXAgdmFsdWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBhY3R1YWwgY29udHJvbHNcclxuICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICBsZXQgZm91bmRJbmQ9LTE7XHJcbiAgICAgICAgLy9zZWFjaCBmb3Igbm9uIG51bGwgdmFsdWVcclxuICAgICAgICBpZih0aGlzLmxheW91dE5vZGUoKS5pdGVtcyl7XHJcbiAgICAgICAgICB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5mb3JFYWNoKChsYXlvdXRJdGVtLGluZCk9PntcclxuICAgICAgICAgICAgbGV0IGZvcm1WYWx1ZT1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxsYXlvdXRJdGVtLmRhdGFQb2ludGVyKTtcclxuICAgICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udHJvbEtleT1wYXRoMkNvbnRyb2xLZXkobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZuYW1lPWxheW91dEl0ZW0ubmFtZTtcclxuICAgICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgICAoZm9ybVZhbHVlIHx8IGhhc05vbk51bGxWYWx1ZSh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgICAvL2hhc093bihmb3JtVmFsdWUsZm5hbWUpICYmIGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkgXHJcbiAgICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgIC8vJiZpc0VxdWFsKGZvcm1WYWx1ZVtmbmFtZV0sdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2ZvdW5kSW5kPWZvcm1WYWx1ZVtjb250cm9sS2V5XSE9bnVsbD9pbmQ6Zm91bmRJbmQ7XHJcbiAgICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgLy90byBzZWUgd2hpY2ggb25lIG9mIGl0ZW0gbWF0Y2hlc1xyXG4gICAgICAgICAgICAgICAgaWYoZm91bmRJbmQ9PS0xKXtcclxuICAgICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXM9T2JqZWN0LmtleXModGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzKS5maWx0ZXIoY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbE5hbWUuc3RhcnRzV2l0aChjb250cm9sS2V5KTtcclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFydHM9Y29udHJvbE5hbWUuc3BsaXQoJyQnKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFZhbHVlPXRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNPYmplY3QoZm9ybVZhbHVlKSAmJiBoYXNPd24oZm9ybVZhbHVlLGZpZWxkTmFtZSkgJiYgXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVZhbHVlW2ZpZWxkTmFtZV09PWNvbnRyb2xWYWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgLy9mb3JtVmFsdWVbZmllbGROYW1lXXx8Y29udHJvbFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGZvcm1WYWx1ZSxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIC8vbm93IG5lZWQgdG8gY29tcGFyZSB2YWx1ZXNcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoZm91bmRJbmQsMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICAvL3RoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUlqRCx5QkFBeUI7QUFZekIsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVaLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQW9GakQ7SUFsRkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxp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LFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUM7b0NBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7b0NBQzNELENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7NkJBQ2xEOzRCQUNEOzs7Ozs7Ozs7OEJBU0U7NEJBQ0YsSUFBRyxPQUFPLENBQUMsVUFBVSxFQUFDLFlBQVksQ0FBQyxFQUFDO2dDQUNsQyxRQUFRLEdBQUMsR0FBRyxDQUFDOzZCQUNkO3dCQUNILENBQUMsQ0FBQyxDQUFBO3dCQUNGLDRCQUE0QjtxQkFDN0I7aUJBQ0Y7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVAsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTlGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4ZEFQcEI7Ozs7MkJBSWE7OzRGQUdkLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OzsyQkFJYTtvQkFDdkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCwgcGljayB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgICAvL1RPRE8gdGVzdC0gdGhpcy5qc2YuZm9ybVZhbHVlcyBzZWVtcyB0byBiZSB0aGUgaW5pdGlhbCBkYXRhIHN1cHBsaWVkIHRvIHRoZSBmb3JtXHJcbiAgICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICAgIGxldCBmb3VuZEluZD0tMTtcclxuICAgICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgICBpZih0aGlzLmxheW91dE5vZGUoKS5pdGVtcyl7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Tm9kZSgpLml0ZW1zLmZvckVhY2goKGxheW91dEl0ZW0saW5kKT0+e1xyXG4gICAgICAgICAgICAgIGxldCBmb3JtVmFsdWU9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsbGF5b3V0SXRlbS5kYXRhUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sS2V5PXBhdGgyQ29udHJvbEtleShsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmbmFtZT1sYXlvdXRJdGVtLm5hbWU7XHJcbiAgICAgICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgICAgIChmb3JtVmFsdWUgfHwgaGFzTm9uTnVsbFZhbHVlKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgLy9oYXNPd24oZm9ybVZhbHVlLGZuYW1lKSAmJiBoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpIFxyXG4gICAgICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8mJmlzRXF1YWwoZm9ybVZhbHVlW2ZuYW1lXSx0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgLy9mb3VuZEluZD1mb3JtVmFsdWVbY29udHJvbEtleV0hPW51bGw/aW5kOmZvdW5kSW5kO1xyXG4gICAgICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgICAvL3RvIHNlZSB3aGljaCBvbmUgb2YgaXRlbSBtYXRjaGVzXHJcbiAgICAgICAgICAgICAgICAgIGlmKGZvdW5kSW5kPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcz1PYmplY3Qua2V5cyh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMpLmZpbHRlcihjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xOYW1lLnN0YXJ0c1dpdGgoY29udHJvbEtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXMuZm9yRWFjaChjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnRzPWNvbnRyb2xOYW1lLnNwbGl0KCckJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sVmFsdWU9dGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sU2NoZW1hPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5zY2hlbWEscGFydHMuam9pbihcIi9cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHNjaGVtYVBvaW50ZXI9cGFydHMuam9pbihcIi9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgZFBvaW50ZXI9c2NoZW1hUG9pbnRlci5yZXBsYWNlKC8oYW55T2Z8YWxsT2Z8b25lT2Z8bm9uZSlcXC9bXFxkXStcXC8vZywgJycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKGlmfHRoZW58ZWxzZXxwcm9wZXJ0aWVzKVxcLy9nLCAnJykucmVwbGFjZSgvXFwvaXRlbXNcXC8vZywnLy0vJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvL0pzb25Qb2ludGVyLnRvRGF0YVBvaW50ZXIocGFydHMuam9pbihcIi9cIiksdGhpcy5qc2Yuc2NoZW1hKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBkVmFsPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5mb3JtVmFsdWVzLGRQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb21wYXJlVmFsPWRWYWw7Ly9mb3JtVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvL2NvbXBhcmUgb25seSB2YWx1ZXMgdGhhdCBhcmUgaW4gdGhlIHN1YnNjaGVtYSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICBpZihjb250cm9sU2NoZW1hICYmIGNvbnRyb2xTY2hlbWEucHJvcGVydGllcyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVWYWw9aXNPYmplY3QoZFZhbCkgJiYgaGFzT3duKGRWYWwsZmllbGROYW1lKT9cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGljayhkVmFsW2ZpZWxkTmFtZV0sT2JqZWN0LmtleXMoY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOnBpY2soZFZhbCxPYmplY3Qua2V5cyhjb250cm9sU2NoZW1hLnByb3BlcnRpZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzT2JqZWN0KGNvbXBhcmVWYWwpICYmIGhhc093bihjb21wYXJlVmFsLGZpZWxkTmFtZSkgJiYgXHJcbiAgICAgICAgICAgICAgICAgICAgICBpc0VxdWFsKGNvbXBhcmVWYWxbZmllbGROYW1lXSxjb250cm9sVmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoY29tcGFyZVZhbCxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoY29tcGFyZVZhbCxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoZm91bmRJbmQsMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==