@ng-formworks/daisyui 16.6.0 → 16.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
@@ -49,14 +49,30 @@ export class DaisyUIOneOfComponent {
49
49
  let parts = controlName.split('$');
50
50
  let fieldName = parts[parts.length - 1];
51
51
  let controlValue = this.jsf.formGroup.controls[controlName].value;
52
- if (isObject(formValue) && hasOwn(formValue, fieldName) &&
53
- formValue[fieldName] == controlValue
54
- //formValue[fieldName]||controlValue
55
- ) {
56
- foundInd = ind;
52
+ let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
53
+ let schemaPointer = parts.join("/");
54
+ let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
55
+ .replace(/(if|then|else|properties)\//g, '').replace(/\/items\//g, '/-/');
56
+ //JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
57
+ let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
58
+ let compareVal = dVal; //formValue;
59
+ //compare only values that are in the subschema properties
60
+ if (controlSchema && controlSchema.properties) {
61
+ compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
62
+ pick(dVal[fieldName], Object.keys(controlSchema.properties))
63
+ : pick(dVal, Object.keys(controlSchema.properties));
64
+ }
65
+ /*
66
+ if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
67
+ isEqual(compareVal[fieldName],controlValue)
68
+ ){
69
+ foundInd=ind;
70
+ }else //if(formValue || controlValue){
71
+ if(isEqual(compareVal,controlValue)){
72
+ foundInd=ind;
57
73
  }
58
- else //if(formValue || controlValue){
59
- if (isEqual(formValue, controlValue)) {
74
+ */
75
+ if (isEqual(compareVal, controlValue)) {
60
76
  foundInd = ind;
61
77
  }
62
78
  });
@@ -99,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
99
115
  }], dataIndex: [{
100
116
  type: Input
101
117
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBSTNDLHlCQUF5QjtBQVl6QixNQUFNLE9BQU8scUJBQXFCO0lBVmxDO1FBV1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0tBdUV0QjtJQWpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUcsZUFBZTtRQUNiLGtGQUFrRjtRQUNsRixtRUFBbUU7UUFDbkUsbURBQW1EO1FBQ25ELElBQUksUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLDBCQUEwQjtRQUMx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dkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOzhCQVVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZVwiIFxyXG4gICAgW2xheW91dEluZGV4XT1cImxheW91dEluZGV4XCIgXHJcbiAgICBbZGF0YUluZGV4XT1cImRhdGFJbmRleFwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDtcclxuICBASW5wdXQoKSBkYXRhSW5kZXg7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgLy9UT0RPIHRlc3QtIHRoaXMuanNmLmZvcm1WYWx1ZXMgc2VlbXMgdG8gYmUgdGhlIGluaXRpYWwgZGF0YSBzdXBwbGllZCB0byB0aGUgZm9ybVxyXG4gICAgICAgIC8vd2hpbGUgdGhlIGpzZi5mb3JtR3JvdXAgdmFsdWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBhY3R1YWwgY29udHJvbHNcclxuICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICBsZXQgZm91bmRJbmQ9LTE7XHJcbiAgICAgICAgLy9zZWFjaCBmb3Igbm9uIG51bGwgdmFsdWVcclxuICAgICAgICBpZih0aGlzLmxheW91dE5vZGUuaXRlbXMpe1xyXG4gICAgICAgICAgdGhpcy5sYXlvdXROb2RlLml0ZW1zLmZvckVhY2goKGxheW91dEl0ZW0saW5kKT0+e1xyXG4gICAgICAgICAgICBsZXQgZm9ybVZhbHVlPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5mb3JtVmFsdWVzLGxheW91dEl0ZW0uZGF0YVBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgIGlmKGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKXtcclxuICAgICAgICAgICAgICAgIGxldCBjb250cm9sS2V5PXBhdGgyQ29udHJvbEtleShsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICBsZXQgZm5hbWU9bGF5b3V0SXRlbS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgaWYoaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSYmXHJcbiAgICAgICAgICAgICAgICAgIChmb3JtVmFsdWUgfHwgaGFzTm9uTnVsbFZhbHVlKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgIC8vaGFzT3duKGZvcm1WYWx1ZSxmbmFtZSkgJiYgaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSBcclxuICAgICAgICAgICAgICAgIC8vICYmIChmb3JtVmFsdWVbZm5hbWVdIHx8IHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgLy8mJmlzRXF1YWwoZm9ybVZhbHVlW2ZuYW1lXSx0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICApe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vZm91bmRJbmQ9Zm9ybVZhbHVlW2NvbnRyb2xLZXldIT1udWxsP2luZDpmb3VuZEluZDtcclxuICAgICAgICAgICAgICAgIC8vaWYgbm8gZXhhY3QgbWF0Y2ggZm91bmQsIHRoZW4gc2VhcmNoIGluIGRlc2NlbmRhbnQgdmFsdWVzXHJcbiAgICAgICAgICAgICAgICAvL3RvIHNlZSB3aGljaCBvbmUgb2YgaXRlbSBtYXRjaGVzXHJcbiAgICAgICAgICAgICAgICBpZihmb3VuZEluZD09LTEpe1xyXG4gICAgICAgICAgICAgICAgICAvL2ZpbmQgYWxsIGRlc2NlbmRhbnQgb25lb2YgcGF0aHNcclxuICAgICAgICAgICAgICAgICAgbGV0IGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcz1PYmplY3Qua2V5cyh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMpLmZpbHRlcihjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sTmFtZS5zdGFydHNXaXRoKGNvbnRyb2xLZXkpO1xyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXMuZm9yRWFjaChjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXJ0cz1jb250cm9sTmFtZS5zcGxpdCgnJCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaWVsZE5hbWU9cGFydHNbcGFydHMubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sVmFsdWU9dGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihpc09iamVjdChmb3JtVmFsdWUpICYmIGhhc093bihmb3JtVmFsdWUsZmllbGROYW1lKSAmJiBcclxuICAgICAgICAgICAgICAgICAgICBmb3JtVmFsdWVbZmllbGROYW1lXT09Y29udHJvbFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAvL2Zvcm1WYWx1ZVtmaWVsZE5hbWVdfHxjb250cm9sVmFsdWVcclxuICAgICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZSAvL2lmKGZvcm1WYWx1ZSB8fCBjb250cm9sVmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoZm9ybVZhbHVlLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLm1heChmb3VuZEluZCwwKTtcclxuICAgICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUlqRCx5QkFBeUI7QUFZekIsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztLQXdGdEI7SUFsRkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEQscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVHLGVBQWU7UUFDWCxrRkFBa0Y7UUFDbEYsbUVBQW1FO1FBQ25FLG1EQUFtRDtRQUNuRCxJQUFJLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQiww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VUFBVSxDQUFDLENBQUM7b0NBQzNELENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7NkJBQ2xEOzRCQUNEOzs7Ozs7Ozs7OEJBU0U7NEJBQ0YsSUFBRyxPQUFPLENBQUMsVUFBVSxFQUFDLFlBQVksQ0FBQyxFQUFDO2dDQUNsQyxRQUFRLEdBQUMsR0FBRyxDQUFDOzZCQUNkO3dCQUNILENBQUMsQ0FBQyxDQUFBO3dCQUNGLDRCQUE0QjtxQkFDN0I7aUJBQ0Y7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVAsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTlGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1SkFQcEI7Ozs7MkJBSWE7OzRGQUdkLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OzsyQkFJYTtvQkFDdkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOzhCQVVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCwgcGljayB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZVwiIFxyXG4gICAgW2xheW91dEluZGV4XT1cImxheW91dEluZGV4XCIgXHJcbiAgICBbZGF0YUluZGV4XT1cImRhdGFJbmRleFwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDtcclxuICBASW5wdXQoKSBkYXRhSW5kZXg7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgICAvL1RPRE8gdGVzdC0gdGhpcy5qc2YuZm9ybVZhbHVlcyBzZWVtcyB0byBiZSB0aGUgaW5pdGlhbCBkYXRhIHN1cHBsaWVkIHRvIHRoZSBmb3JtXHJcbiAgICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICAgIGxldCBmb3VuZEluZD0tMTtcclxuICAgICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgICBpZih0aGlzLmxheW91dE5vZGUuaXRlbXMpe1xyXG4gICAgICAgICAgICB0aGlzLmxheW91dE5vZGUuaXRlbXMuZm9yRWFjaCgobGF5b3V0SXRlbSxpbmQpPT57XHJcbiAgICAgICAgICAgICAgbGV0IGZvcm1WYWx1ZT1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxsYXlvdXRJdGVtLmRhdGFQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgIGlmKGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKXtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xLZXk9cGF0aDJDb250cm9sS2V5KGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGZuYW1lPWxheW91dEl0ZW0ubmFtZTtcclxuICAgICAgICAgICAgICAgICAgaWYoaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSYmXHJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1WYWx1ZSB8fCBoYXNOb25OdWxsVmFsdWUodGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKSlcclxuICAgICAgICAgICAgICAgICAgICAvL2hhc093bihmb3JtVmFsdWUsZm5hbWUpICYmIGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkgXHJcbiAgICAgICAgICAgICAgICAgIC8vICYmIChmb3JtVmFsdWVbZm5hbWVdIHx8IHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICAvLyYmaXNFcXVhbChmb3JtVmFsdWVbZm5hbWVdLHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAvL2ZvdW5kSW5kPWZvcm1WYWx1ZVtjb250cm9sS2V5XSE9bnVsbD9pbmQ6Zm91bmRJbmQ7XHJcbiAgICAgICAgICAgICAgICAgIC8vaWYgbm8gZXhhY3QgbWF0Y2ggZm91bmQsIHRoZW4gc2VhcmNoIGluIGRlc2NlbmRhbnQgdmFsdWVzXHJcbiAgICAgICAgICAgICAgICAgIC8vdG8gc2VlIHdoaWNoIG9uZSBvZiBpdGVtIG1hdGNoZXNcclxuICAgICAgICAgICAgICAgICAgaWYoZm91bmRJbmQ9PS0xKXtcclxuICAgICAgICAgICAgICAgICAgICAvL2ZpbmQgYWxsIGRlc2NlbmRhbnQgb25lb2YgcGF0aHNcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzPU9iamVjdC5rZXlzKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbE5hbWUuc3RhcnRzV2l0aChjb250cm9sS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcy5mb3JFYWNoKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFydHM9Y29udHJvbE5hbWUuc3BsaXQoJyQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWVsZE5hbWU9cGFydHNbcGFydHMubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZT10aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xTY2hlbWE9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLnNjaGVtYSxwYXJ0cy5qb2luKFwiL1wiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgc2NoZW1hUG9pbnRlcj1wYXJ0cy5qb2luKFwiL1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBkUG9pbnRlcj1zY2hlbWFQb2ludGVyLnJlcGxhY2UoLyhhbnlPZnxhbGxPZnxvbmVPZnxub25lKVxcL1tcXGRdK1xcLy9nLCAnJylcclxuICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oaWZ8dGhlbnxlbHNlfHByb3BlcnRpZXMpXFwvL2csICcnKS5yZXBsYWNlKC9cXC9pdGVtc1xcLy9nLCcvLS8nKTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vSnNvblBvaW50ZXIudG9EYXRhUG9pbnRlcihwYXJ0cy5qb2luKFwiL1wiKSx0aGlzLmpzZi5zY2hlbWEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRWYWw9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsZFBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXBhcmVWYWw9ZFZhbDsvL2Zvcm1WYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vY29tcGFyZSBvbmx5IHZhbHVlcyB0aGF0IGFyZSBpbiB0aGUgc3Vic2NoZW1hIHByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGNvbnRyb2xTY2hlbWEgJiYgY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZVZhbD1pc09iamVjdChkVmFsKSAmJiBoYXNPd24oZFZhbCxmaWVsZE5hbWUpP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwaWNrKGRWYWxbZmllbGROYW1lXSxPYmplY3Qua2V5cyhjb250cm9sU2NoZW1hLnByb3BlcnRpZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6cGljayhkVmFsLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXNPYmplY3QoY29tcGFyZVZhbCkgJiYgaGFzT3duKGNvbXBhcmVWYWwsZmllbGROYW1lKSAmJiBcclxuICAgICAgICAgICAgICAgICAgICAgIGlzRXF1YWwoY29tcGFyZVZhbFtmaWVsZE5hbWVdLGNvbnRyb2xWYWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSAvL2lmKGZvcm1WYWx1ZSB8fCBjb250cm9sVmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXNFcXVhbChjb21wYXJlVmFsLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXNFcXVhbChjb21wYXJlVmFsLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAvL25vdyBuZWVkIHRvIGNvbXBhcmUgdmFsdWVzXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBNYXRoLm1heChmb3VuZEluZCwwKTtcclxuICAgICAgICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3kgKCkge1xyXG4gICAgLy90aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBudWxsKTtcclxuICB9XHJcbn1cclxuIl19