special-forms 17.0.0 → 18.0.0-SNAPSHOT-2

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 (30) hide show
  1. package/esm2022/lib/components/special-autocomplete/special-autocomplete.component.mjs +5 -5
  2. package/esm2022/lib/components/special-checkbox/special-checkbox.component.mjs +7 -8
  3. package/esm2022/lib/components/special-datepicker/special-datepicker.component.mjs +6 -7
  4. package/esm2022/lib/components/special-dropdown/special-dropdown.component.mjs +5 -5
  5. package/esm2022/lib/components/special-form/special-form.component.mjs +14 -14
  6. package/esm2022/lib/components/special-form/special-form.module.mjs +4 -4
  7. package/esm2022/lib/components/special-input/special-input.component.mjs +10 -11
  8. package/esm2022/lib/components/special-label/special-label.component.mjs +5 -5
  9. package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +5 -5
  10. package/esm2022/lib/components/special-richtext/special-richtext.component.mjs +19 -16
  11. package/esm2022/lib/components/special-richtext/special-richtext.interface.mjs +1 -1
  12. package/esm2022/lib/components/special-text-area/special-text-area.component.mjs +10 -11
  13. package/esm2022/lib/components/special-upload/special-upload-viewer.pipe.mjs +93 -0
  14. package/esm2022/lib/components/special-upload/special-upload.component.mjs +35 -46
  15. package/esm2022/lib/components/special-upload/special-upload.interface.mjs +1 -1
  16. package/esm2022/lib/core/forms/special-forms.mjs +1 -1
  17. package/esm2022/lib/core/pipes/controls-list-pipe/controls-list.pipe.mjs +3 -3
  18. package/esm2022/lib/core/pipes/error-message-pipe/error.pipe.mjs +4 -4
  19. package/esm2022/lib/core/pipes/text-by-function/text-by-function.pipe.mjs +4 -4
  20. package/esm2022/lib/core/services/error-state-matcher/error-matcher.mjs +3 -3
  21. package/esm2022/lib/core/services/special-form-builder/special-form-builder.service.mjs +4 -4
  22. package/fesm2022/special-forms.mjs +205 -127
  23. package/fesm2022/special-forms.mjs.map +1 -1
  24. package/lib/components/special-richtext/special-richtext.component.d.ts +2 -4
  25. package/lib/components/special-richtext/special-richtext.interface.d.ts +2 -1
  26. package/lib/components/special-upload/special-upload-viewer.pipe.d.ts +25 -0
  27. package/lib/components/special-upload/special-upload.component.d.ts +6 -13
  28. package/lib/components/special-upload/special-upload.interface.d.ts +2 -1
  29. package/lib/styles/tailwind-final.scss +144 -7
  30. package/package.json +10 -9
@@ -144,13 +144,13 @@ export class SpecialFormBuilderService {
144
144
  }
145
145
  return { noItems: 'NO_SELECTED_ITEM' };
146
146
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpecialFormBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpecialFormBuilderService, providedIn: 'root' }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialFormBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialFormBuilderService, providedIn: 'root' }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpecialFormBuilderService, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialFormBuilderService, decorators: [{
151
151
  type: Injectable,
152
152
  args: [{
153
153
  providedIn: 'root',
154
154
  }]
155
155
  }], ctorParameters: () => [] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1mb3JtLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NwZWNpYWwtZm9ybS1idWlsZGVyL3NwZWNpYWwtZm9ybS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSwyQkFBMkIsQ0FBQzs7QUFrQm5DLE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NpQixnQkFBVyxHQUFlO1lBQ3pDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztZQUNmLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVlLHFCQUFnQixHQUFrQjtZQUNqRCxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLO1lBQ3pCLElBQUksRUFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSUF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9zcGVjaWFsLWF1dG9jb21wbGV0ZS9zcGVjaWFsLWF1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHtcclxuICBTcGVjaWFsRm9ybUFycmF5LFxyXG4gIFNwZWNpYWxGb3JtQ29udHJvbCxcclxuICBTcGVjaWFsRm9ybUdyb3VwLFxyXG59IGZyb20gJy4uLy4uL2Zvcm1zL3NwZWNpYWwtZm9ybXMnO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9maWVsZC1iYXNpY3MuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSUZvcm1TdHJ1Y3R1cmUsXHJcbiAgVFJhd0ZpZWxkcyxcclxuICBUU3BlY2lhbEFycmF5LFxyXG4gIFRTcGVjaWFsRmllbGRzLFxyXG4gIFRTcGVjaWFsRm9ybSxcclxuICBUU3BlY2lhbElucHV0LFxyXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2VzJztcclxuXHJcbmludGVyZmFjZSBJQ29udHJvbFBhcmFtcyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2w6IFNwZWNpYWxGb3JtQXJyYXkgfCBTcGVjaWFsRm9ybUdyb3VwIHwgU3BlY2lhbEZvcm1Db250cm9sPGFueT47XHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtQnVpbGRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmZWN0RmllbGQ6IElGaWVsZERhdGEgPSB7XHJcbiAgICBhc3luY1ZhbGlkYXRvcnM6IG51bGwsXHJcbiAgICB2YWxpZGF0b3JzOiBudWxsLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgZWxlbWVudElkOiAnJyxcclxuICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICBpY29uOiAnJyxcclxuICAgIGxhYmVsOiAnJyxcclxuICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgIGxlbmd0aDogMCxcclxuICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgIHJlYWRPbmx5OiBmYWxzZSxcclxuICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgIHN0eWxlQ2xhc3NlczogJycsXHJcbiAgICBlcnJvck1lc3NhZ2VzOiB7fSxcclxuICAgIHRvb2x0aXA6ICcnLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREZWZlY3RGaWVsZDogVFNwZWNpYWxJbnB1dCA9IHtcclxuICAgIC4uLnRoaXMuZGVmZWN0RmllbGQsXHJcbiAgICBzZXR0aW5nczoge30sXHJcbiAgICB0eXBlOiBFQ29udHJvbFR5cGVzLmlucHV0LFxyXG4gICAgbmFtZTogJycsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRGVmZWN0RmllbGQ6IFRTcGVjaWFsRm9ybSA9IHtcclxuICAgIC4uLnRoaXMuZGVmZWN0RmllbGQsXHJcbiAgICBzZXR0aW5nczoge1xyXG4gICAgICBmb3JtRmllbGRzOiB7fSxcclxuICAgIH0sXHJcbiAgICB0eXBlOiBFQ29udHJvbFR5cGVzLmZvcm0sXHJcbiAgICBuYW1lOiAnJyxcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGFycmF5RGVmZWN0RmllbGQ6IFRTcGVjaWFsQXJyYXkgPSB7XHJcbiAgICAuLi50aGlzLmRlZmVjdEZpZWxkLFxyXG4gICAgc2V0dGluZ3M6IHtcclxuICAgICAgZm9ybUZpZWxkczoge30sXHJcbiAgICB9LFxyXG4gICAgdHlwZTogRUNvbnRyb2xUeXBlcy5hcnJheSxcclxuICAgIG5hbWU6ICcnLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgcHVibGljIGNvbnRyb2woZmllbGQ6IFBhcnRpYWw8VFNwZWNpYWxGaWVsZHM+KTogU3BlY2lhbEZvcm1Db250cm9sPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybUZpZWxkOiBUU3BlY2lhbEZpZWxkcyA9IHtcclxuICAgICAgLi4udGhpcy5pbnB1dERlZmVjdEZpZWxkLFxyXG4gICAgICAuLi5maWVsZCxcclxuICAgIH0gYXMgVFNwZWNpYWxGaWVsZHM7XHJcbiAgICBjb25zdCB7IGNvbnRyb2wgfSA9IHRoaXMuc2V0Rm9ybUNvbnRyb2woZm9ybUZpZWxkKTtcclxuICAgIHJldHVybiBjb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdyb3VwKFxyXG4gICAgZmllbGRzOiBJRm9ybVN0cnVjdHVyZSxcclxuICAgIHBhcmVudEZpZWxkOiBQYXJ0aWFsPFRTcGVjaWFsRm9ybT4gPSB7fVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUdlbmVyYXRvcih0aGlzLmZpZWxkRGF0YVRvQXJyYXkoZmllbGRzKSwgcGFyZW50RmllbGQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFycmF5KCkge31cclxuXHJcbiAgcHVibGljIGZpZWxkRGF0YVRvQXJyYXkoZmllbGRzOiBJRm9ybVN0cnVjdHVyZSk6IFRTcGVjaWFsRmllbGRzW10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGZpZWxkcykubWFwKChbbmFtZSwgZmllbGRdKSA9PlxyXG4gICAgICB0aGlzLnNldERlZmVjdEZpZWxkT3B0aW9ucyhuYW1lLCBmaWVsZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmVjdEZpZWxkT3B0aW9ucyhcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkOiBQYXJ0aWFsPFRSYXdGaWVsZHM+XHJcbiAgKTogVFNwZWNpYWxGaWVsZHMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5pbnB1dERlZmVjdEZpZWxkLFxyXG4gICAgICAuLi5maWVsZCxcclxuICAgICAgbmFtZSxcclxuICAgIH0gYXMgVFNwZWNpYWxGaWVsZHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1HZW5lcmF0b3IoXHJcbiAgICBmaWVsZHM6IFRTcGVjaWFsRmllbGRzW10sXHJcbiAgICBwYXJlbnRGaWVsZDogUGFydGlhbDxUU3BlY2lhbEZvcm0+ID0ge31cclxuICApOiBTcGVjaWFsRm9ybUdyb3VwIHtcclxuICAgIGNvbnN0IGZvcm1GaWVsZDogVFNwZWNpYWxGb3JtID0ge1xyXG4gICAgICAuLi50aGlzLmZvcm1EZWZlY3RGaWVsZCxcclxuICAgICAgLi4ucGFyZW50RmllbGQsXHJcbiAgICB9O1xyXG4gICAgY29uc3Qgc3RydWN0dXJlID0gZmllbGRzXHJcbiAgICAgIC5tYXAoKGZpZWxkKSA9PiB0aGlzLmdldENvbnRyb2xBbmROYW1lQnlUeXBlKGZpZWxkKSlcclxuICAgICAgLnJlZHVjZShcclxuICAgICAgICAocHJldiwgeyBuYW1lLCBjb250cm9sIH06IElDb250cm9sUGFyYW1zKSA9PiAoe1xyXG4gICAgICAgICAgLi4ucHJldixcclxuICAgICAgICAgIFtuYW1lXTogY29udHJvbCxcclxuICAgICAgICB9KSxcclxuICAgICAgICB7fVxyXG4gICAgICApO1xyXG4gICAgcmV0dXJuIG5ldyBTcGVjaWFsRm9ybUdyb3VwKGZvcm1GaWVsZCwgc3RydWN0dXJlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29udHJvbEFuZE5hbWVCeVR5cGUoZmllbGQ6IFRTcGVjaWFsRmllbGRzKSB7XHJcbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgY2FzZSBFQ29udHJvbFR5cGVzLmFycmF5OlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNldEZvcm1BcnJheShmaWVsZCk7XHJcbiAgICAgIGNhc2UgRUNvbnRyb2xUeXBlcy5mb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNldEZvcm1Hcm91cChmaWVsZCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0Rm9ybUNvbnRyb2woZmllbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb3JtR3JvdXAoZmllbGQ6IFRTcGVjaWFsRm9ybSk6IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNvbnRyb2w6IFNwZWNpYWxGb3JtR3JvdXA7XHJcbiAgfSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtR2VuZXJhdG9yKFxyXG4gICAgICB0aGlzLmZpZWxkRGF0YVRvQXJyYXkoZmllbGQuc2V0dGluZ3MuZm9ybUZpZWxkcyksXHJcbiAgICAgIGZpZWxkXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHsgY29udHJvbCwgbmFtZTogZmllbGQubmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb3JtQXJyYXkoZmllbGQ6IFRTcGVjaWFsQXJyYXkpOiB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjb250cm9sOiBTcGVjaWFsRm9ybUFycmF5O1xyXG4gIH0ge1xyXG4gICAgY29uc3QgYXV4Rm9ybSA9ICh2YWx1ZSA9IHt9KSA9PiB7XHJcbiAgICAgIGNvbnN0IGF1eEZvcm0gPSB0aGlzLmZvcm1HZW5lcmF0b3IoXHJcbiAgICAgICAgdGhpcy5maWVsZERhdGFUb0FycmF5KGZpZWxkLnNldHRpbmdzLmZvcm1GaWVsZHMpLFxyXG4gICAgICAgIHt9XHJcbiAgICAgICk7XHJcbiAgICAgIGF1eEZvcm0ucmVzZXQodmFsdWUpO1xyXG4gICAgICByZXR1cm4gYXV4Rm9ybTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XHJcbiAgICAgIGZpZWxkLnZhbGlkYXRvcnMgPSB0aGlzLnNldFZhbGlkYXRvcnNBcnJheShmaWVsZC52YWxpZGF0b3JzLCBbXHJcbiAgICAgICAgdGhpcy5hcnJheUxlbmd0aFJlcXVpcmVkLFxyXG4gICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiBmaWVsZC5uYW1lLFxyXG4gICAgICBjb250cm9sOiBuZXcgU3BlY2lhbEZvcm1BcnJheShmaWVsZCwgYXV4Rm9ybSwgW10pLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Rm9ybUNvbnRyb2woZmllbGQ6IFRTcGVjaWFsRmllbGRzKToge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPGFueT47XHJcbiAgfSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcblxyXG4gICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB2YWxpZGF0b3JzLnB1c2godGhpcy5zZXRSZXF1aXJlZFZhbGlkYXRvcihmaWVsZCkpO1xyXG4gICAgaWYgKGZpZWxkLmxlbmd0aCkgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKGZpZWxkLmxlbmd0aCkpO1xyXG5cclxuICAgIGZpZWxkLnZhbGlkYXRvcnMgPSB0aGlzLnNldFZhbGlkYXRvcnNBcnJheShmaWVsZC52YWxpZGF0b3JzLCB2YWxpZGF0b3JzKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiBmaWVsZC5uYW1lLFxyXG4gICAgICBjb250cm9sOiBuZXcgU3BlY2lhbEZvcm1Db250cm9sKGZpZWxkKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJlcXVpcmVkVmFsaWRhdG9yKGZpZWxkOiBUU3BlY2lhbEZpZWxkcyk6IFZhbGlkYXRvckZuIHtcclxuICAgIGlmIChmaWVsZC50eXBlICE9PSBFQ29udHJvbFR5cGVzLmF1dG9jb21wbGV0ZSkge1xyXG4gICAgICByZXR1cm4gVmFsaWRhdG9ycy5yZXF1aXJlZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IFNwZWNpYWxGb3JtQ29udHJvbDxJQXV0b2NvbXBsZXRlRmllbGQ+KSA9PlxyXG4gICAgICAhIWNvbnRyb2wudmFsdWUgJiYgY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIE9iamVjdFxyXG4gICAgICAgID8gbnVsbFxyXG4gICAgICAgIDogeyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gIH1cclxuICBwcml2YXRlIHNldFZhbGlkYXRvcnNBcnJheShcclxuICAgIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwsXHJcbiAgICBuZXdWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdXHJcbiAgKTogVmFsaWRhdG9yRm5bXSB7XHJcbiAgICBpZiAoIXZhbGlkYXRvcnMpIHtcclxuICAgICAgcmV0dXJuIG5ld1ZhbGlkYXRvcnM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWRhdG9ycyBpbnN0YW5jZW9mIEFycmF5XHJcbiAgICAgID8gWy4uLnZhbGlkYXRvcnMsIC4uLm5ld1ZhbGlkYXRvcnNdXHJcbiAgICAgIDogW3ZhbGlkYXRvcnMsIC4uLm5ld1ZhbGlkYXRvcnNdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcnJheUxlbmd0aFJlcXVpcmVkKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICAgIHJldHVybiB7IG5vSXRlbXM6ICdOT19TRUxFQ1RFRF9JVEVNJyB9O1xyXG4gIH1cclxufVxyXG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1mb3JtLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWNpYWwtZm9ybXMvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NwZWNpYWwtZm9ybS1idWlsZGVyL3NwZWNpYWwtZm9ybS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSwyQkFBMkIsQ0FBQzs7QUFrQm5DLE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NpQixnQkFBVyxHQUFlO1lBQ3pDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztZQUNmLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVlLHFCQUFnQixHQUFrQjtZQUNqRCxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLO1lBQ3pCLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUVlLG9CQUFlLEdBQWlCO1lBQy9DLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsUUFBUSxFQUFFO2dCQUNSLFVBQVUsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUk7WUFDeEIsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO1FBRWUscUJBQWdCLEdBQWtCO1lBQ2pELEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsUUFBUSxFQUFFO2dCQUNSLFVBQVUsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO0lBRWEsQ0FBQztJQUVULE9BQU8sQ0FBQyxLQUE4QjtRQUMzQyxNQUFNLFNBQVMsR0FBbUI7WUFDaEMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCO1lBQ3hCLEdBQUcsS0FBSztTQUNTLENBQUM7UUFDcEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLEtBQUssQ0FDVixNQUFzQixFQUN0QixjQUFxQyxFQUFFO1FBRXZDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssS0FBSSxDQUFDO0lBRVYsZ0JBQWdCLENBQUMsTUFBc0I7UUFDNUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFTyxxQkFBcUIsQ0FDM0IsSUFBWSxFQUNaLEtBQTBCO1FBRTFCLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDeEIsR0FBRyxLQUFLO1lBQ1IsSUFBSTtTQUNhLENBQUM7SUFDdEIsQ0FBQztJQUVPLGFBQWEsQ0FDbkIsTUFBd0IsRUFDeEIsY0FBcUMsRUFBRTtRQUV2QyxNQUFNLFNBQVMsR0FBaUI7WUFDOUIsR0FBRyxJQUFJLENBQUMsZUFBZTtZQUN2QixHQUFHLFdBQVc7U0FDZixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsTUFBTTthQUNyQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuRCxNQUFNLENBQ0wsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsSUFBSTtZQUNQLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTztTQUNoQixDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUM7UUFDSixPQUFPLElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxLQUFxQjtRQUNuRCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsS0FBSyxhQUFhLENBQUMsSUFBSTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDO2dCQUNFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFtQjtRQUl0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDaEQsS0FBSyxDQUNOLENBQUM7UUFDRixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFvQjtRQUl2QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDaEQsRUFBRSxDQUNILENBQUM7WUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxtQkFBbUI7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsT0FBTyxFQUFFLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBcUI7UUFJMUMsTUFBTSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLEtBQUssQ0FBQyxNQUFNO1lBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRXRFLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFekUsT0FBTztZQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFxQjtRQUNoRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxDQUFDLE9BQStDLEVBQUUsRUFBRSxDQUN6RCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxZQUFZLE1BQU07WUFDaEQsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNPLGtCQUFrQixDQUN4QixVQUE4QyxFQUM5QyxhQUE0QjtRQUU1QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sVUFBVSxZQUFZLEtBQUs7WUFDaEMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxhQUFhLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQXdCO1FBQ2xELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0EvTFUseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSUF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9zcGVjaWFsLWF1dG9jb21wbGV0ZS9zcGVjaWFsLWF1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHtcclxuICBTcGVjaWFsRm9ybUFycmF5LFxyXG4gIFNwZWNpYWxGb3JtQ29udHJvbCxcclxuICBTcGVjaWFsRm9ybUdyb3VwLFxyXG59IGZyb20gJy4uLy4uL2Zvcm1zL3NwZWNpYWwtZm9ybXMnO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9maWVsZC1iYXNpY3MuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSUZvcm1TdHJ1Y3R1cmUsXHJcbiAgVFJhd0ZpZWxkcyxcclxuICBUU3BlY2lhbEFycmF5LFxyXG4gIFRTcGVjaWFsRmllbGRzLFxyXG4gIFRTcGVjaWFsRm9ybSxcclxuICBUU3BlY2lhbElucHV0LFxyXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS5pbnRlcmZhY2VzJztcclxuXHJcbmludGVyZmFjZSBJQ29udHJvbFBhcmFtcyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2w6IFNwZWNpYWxGb3JtQXJyYXkgfCBTcGVjaWFsRm9ybUdyb3VwIHwgU3BlY2lhbEZvcm1Db250cm9sPGFueT47XHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxGb3JtQnVpbGRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmZWN0RmllbGQ6IElGaWVsZERhdGEgPSB7XHJcbiAgICBhc3luY1ZhbGlkYXRvcnM6IG51bGwsXHJcbiAgICB2YWxpZGF0b3JzOiBudWxsLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgZWxlbWVudElkOiAnJyxcclxuICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICBpY29uOiAnJyxcclxuICAgIGxhYmVsOiAnJyxcclxuICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgIGxlbmd0aDogMCxcclxuICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgIHJlYWRPbmx5OiBmYWxzZSxcclxuICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgIHN0eWxlQ2xhc3NlczogJycsXHJcbiAgICBlcnJvck1lc3NhZ2VzOiB7fSxcclxuICAgIHRvb2x0aXA6ICcnLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREZWZlY3RGaWVsZDogVFNwZWNpYWxJbnB1dCA9IHtcclxuICAgIC4uLnRoaXMuZGVmZWN0RmllbGQsXHJcbiAgICBzZXR0aW5nczoge30sXHJcbiAgICB0eXBlOiBFQ29udHJvbFR5cGVzLmlucHV0LFxyXG4gICAgbmFtZTogJycsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRGVmZWN0RmllbGQ6IFRTcGVjaWFsRm9ybSA9IHtcclxuICAgIC4uLnRoaXMuZGVmZWN0RmllbGQsXHJcbiAgICBzZXR0aW5nczoge1xyXG4gICAgICBmb3JtRmllbGRzOiB7fSxcclxuICAgIH0sXHJcbiAgICB0eXBlOiBFQ29udHJvbFR5cGVzLmZvcm0sXHJcbiAgICBuYW1lOiAnJyxcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGFycmF5RGVmZWN0RmllbGQ6IFRTcGVjaWFsQXJyYXkgPSB7XHJcbiAgICAuLi50aGlzLmRlZmVjdEZpZWxkLFxyXG4gICAgc2V0dGluZ3M6IHtcclxuICAgICAgZm9ybUZpZWxkczoge30sXHJcbiAgICB9LFxyXG4gICAgdHlwZTogRUNvbnRyb2xUeXBlcy5hcnJheSxcclxuICAgIG5hbWU6ICcnLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgcHVibGljIGNvbnRyb2woZmllbGQ6IFBhcnRpYWw8VFNwZWNpYWxGaWVsZHM+KTogU3BlY2lhbEZvcm1Db250cm9sPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybUZpZWxkOiBUU3BlY2lhbEZpZWxkcyA9IHtcclxuICAgICAgLi4udGhpcy5pbnB1dERlZmVjdEZpZWxkLFxyXG4gICAgICAuLi5maWVsZCxcclxuICAgIH0gYXMgVFNwZWNpYWxGaWVsZHM7XHJcbiAgICBjb25zdCB7IGNvbnRyb2wgfSA9IHRoaXMuc2V0Rm9ybUNvbnRyb2woZm9ybUZpZWxkKTtcclxuICAgIHJldHVybiBjb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdyb3VwKFxyXG4gICAgZmllbGRzOiBJRm9ybVN0cnVjdHVyZSxcclxuICAgIHBhcmVudEZpZWxkOiBQYXJ0aWFsPFRTcGVjaWFsRm9ybT4gPSB7fVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUdlbmVyYXRvcih0aGlzLmZpZWxkRGF0YVRvQXJyYXkoZmllbGRzKSwgcGFyZW50RmllbGQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFycmF5KCkge31cclxuXHJcbiAgcHVibGljIGZpZWxkRGF0YVRvQXJyYXkoZmllbGRzOiBJRm9ybVN0cnVjdHVyZSk6IFRTcGVjaWFsRmllbGRzW10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGZpZWxkcykubWFwKChbbmFtZSwgZmllbGRdKSA9PlxyXG4gICAgICB0aGlzLnNldERlZmVjdEZpZWxkT3B0aW9ucyhuYW1lLCBmaWVsZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmVjdEZpZWxkT3B0aW9ucyhcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkOiBQYXJ0aWFsPFRSYXdGaWVsZHM+XHJcbiAgKTogVFNwZWNpYWxGaWVsZHMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5pbnB1dERlZmVjdEZpZWxkLFxyXG4gICAgICAuLi5maWVsZCxcclxuICAgICAgbmFtZSxcclxuICAgIH0gYXMgVFNwZWNpYWxGaWVsZHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1HZW5lcmF0b3IoXHJcbiAgICBmaWVsZHM6IFRTcGVjaWFsRmllbGRzW10sXHJcbiAgICBwYXJlbnRGaWVsZDogUGFydGlhbDxUU3BlY2lhbEZvcm0+ID0ge31cclxuICApOiBTcGVjaWFsRm9ybUdyb3VwIHtcclxuICAgIGNvbnN0IGZvcm1GaWVsZDogVFNwZWNpYWxGb3JtID0ge1xyXG4gICAgICAuLi50aGlzLmZvcm1EZWZlY3RGaWVsZCxcclxuICAgICAgLi4ucGFyZW50RmllbGQsXHJcbiAgICB9O1xyXG4gICAgY29uc3Qgc3RydWN0dXJlID0gZmllbGRzXHJcbiAgICAgIC5tYXAoKGZpZWxkKSA9PiB0aGlzLmdldENvbnRyb2xBbmROYW1lQnlUeXBlKGZpZWxkKSlcclxuICAgICAgLnJlZHVjZShcclxuICAgICAgICAocHJldiwgeyBuYW1lLCBjb250cm9sIH06IElDb250cm9sUGFyYW1zKSA9PiAoe1xyXG4gICAgICAgICAgLi4ucHJldixcclxuICAgICAgICAgIFtuYW1lXTogY29udHJvbCxcclxuICAgICAgICB9KSxcclxuICAgICAgICB7fVxyXG4gICAgICApO1xyXG4gICAgcmV0dXJuIG5ldyBTcGVjaWFsRm9ybUdyb3VwKGZvcm1GaWVsZCwgc3RydWN0dXJlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29udHJvbEFuZE5hbWVCeVR5cGUoZmllbGQ6IFRTcGVjaWFsRmllbGRzKSB7XHJcbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgY2FzZSBFQ29udHJvbFR5cGVzLmFycmF5OlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNldEZvcm1BcnJheShmaWVsZCk7XHJcbiAgICAgIGNhc2UgRUNvbnRyb2xUeXBlcy5mb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNldEZvcm1Hcm91cChmaWVsZCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0Rm9ybUNvbnRyb2woZmllbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb3JtR3JvdXAoZmllbGQ6IFRTcGVjaWFsRm9ybSk6IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNvbnRyb2w6IFNwZWNpYWxGb3JtR3JvdXA7XHJcbiAgfSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtR2VuZXJhdG9yKFxyXG4gICAgICB0aGlzLmZpZWxkRGF0YVRvQXJyYXkoZmllbGQuc2V0dGluZ3MuZm9ybUZpZWxkcyksXHJcbiAgICAgIGZpZWxkXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHsgY29udHJvbCwgbmFtZTogZmllbGQubmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb3JtQXJyYXkoZmllbGQ6IFRTcGVjaWFsQXJyYXkpOiB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjb250cm9sOiBTcGVjaWFsRm9ybUFycmF5O1xyXG4gIH0ge1xyXG4gICAgY29uc3QgYXV4Rm9ybSA9ICh2YWx1ZSA9IHt9KSA9PiB7XHJcbiAgICAgIGNvbnN0IGF1eEZvcm0gPSB0aGlzLmZvcm1HZW5lcmF0b3IoXHJcbiAgICAgICAgdGhpcy5maWVsZERhdGFUb0FycmF5KGZpZWxkLnNldHRpbmdzLmZvcm1GaWVsZHMpLFxyXG4gICAgICAgIHt9XHJcbiAgICAgICk7XHJcbiAgICAgIGF1eEZvcm0ucmVzZXQodmFsdWUpO1xyXG4gICAgICByZXR1cm4gYXV4Rm9ybTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XHJcbiAgICAgIGZpZWxkLnZhbGlkYXRvcnMgPSB0aGlzLnNldFZhbGlkYXRvcnNBcnJheShmaWVsZC52YWxpZGF0b3JzLCBbXHJcbiAgICAgICAgdGhpcy5hcnJheUxlbmd0aFJlcXVpcmVkLFxyXG4gICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiBmaWVsZC5uYW1lLFxyXG4gICAgICBjb250cm9sOiBuZXcgU3BlY2lhbEZvcm1BcnJheShmaWVsZCwgYXV4Rm9ybSwgW10pLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Rm9ybUNvbnRyb2woZmllbGQ6IFRTcGVjaWFsRmllbGRzKToge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPGFueT47XHJcbiAgfSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcblxyXG4gICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB2YWxpZGF0b3JzLnB1c2godGhpcy5zZXRSZXF1aXJlZFZhbGlkYXRvcihmaWVsZCkpO1xyXG4gICAgaWYgKGZpZWxkLmxlbmd0aCkgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKGZpZWxkLmxlbmd0aCkpO1xyXG5cclxuICAgIGZpZWxkLnZhbGlkYXRvcnMgPSB0aGlzLnNldFZhbGlkYXRvcnNBcnJheShmaWVsZC52YWxpZGF0b3JzLCB2YWxpZGF0b3JzKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiBmaWVsZC5uYW1lLFxyXG4gICAgICBjb250cm9sOiBuZXcgU3BlY2lhbEZvcm1Db250cm9sKGZpZWxkKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJlcXVpcmVkVmFsaWRhdG9yKGZpZWxkOiBUU3BlY2lhbEZpZWxkcyk6IFZhbGlkYXRvckZuIHtcclxuICAgIGlmIChmaWVsZC50eXBlICE9PSBFQ29udHJvbFR5cGVzLmF1dG9jb21wbGV0ZSkge1xyXG4gICAgICByZXR1cm4gVmFsaWRhdG9ycy5yZXF1aXJlZDtcclxuICAgIH1cclxuICAgIHJldHVybiAoY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPElBdXRvY29tcGxldGVGaWVsZD4pID0+XHJcbiAgICAgICEhY29udHJvbC52YWx1ZSAmJiBjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgT2JqZWN0XHJcbiAgICAgICAgPyBudWxsXHJcbiAgICAgICAgOiB7IHJlcXVpcmVkOiB0cnVlIH07XHJcbiAgfVxyXG4gIHByaXZhdGUgc2V0VmFsaWRhdG9yc0FycmF5KFxyXG4gICAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgbnVsbCxcclxuICAgIG5ld1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW11cclxuICApOiBWYWxpZGF0b3JGbltdIHtcclxuICAgIGlmICghdmFsaWRhdG9ycykge1xyXG4gICAgICByZXR1cm4gbmV3VmFsaWRhdG9ycztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWxpZGF0b3JzIGluc3RhbmNlb2YgQXJyYXlcclxuICAgICAgPyBbLi4udmFsaWRhdG9ycywgLi4ubmV3VmFsaWRhdG9yc11cclxuICAgICAgOiBbdmFsaWRhdG9ycywgLi4ubmV3VmFsaWRhdG9yc107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFycmF5TGVuZ3RoUmVxdWlyZWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBpZiAoY29udHJvbC52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsgbm9JdGVtczogJ05PX1NFTEVDVEVEX0lURU0nIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==