@koalarx/ui 14.0.7 → 15.0.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.
- package/alert/esm2020/lib/dialog-alert.component.mjs +6 -6
- package/alert/esm2020/lib/koala.alert.module.mjs +7 -7
- package/alert/esm2020/lib/koala.alert.service.mjs +4 -4
- package/alert/fesm2015/koalarx-ui-alert.mjs +11 -11
- package/alert/fesm2015/koalarx-ui-alert.mjs.map +1 -1
- package/alert/fesm2020/koalarx-ui-alert.mjs +11 -11
- package/alert/fesm2020/koalarx-ui-alert.mjs.map +1 -1
- package/alert/lib/dialog-alert.component.d.ts +1 -1
- package/button/esm2020/lib/button.component.mjs +4 -4
- package/button/esm2020/lib/koala.button.module.mjs +7 -7
- package/button/fesm2015/koalarx-ui-button.mjs +7 -7
- package/button/fesm2015/koalarx-ui-button.mjs.map +1 -1
- package/button/fesm2020/koalarx-ui-button.mjs +7 -7
- package/button/fesm2020/koalarx-ui-button.mjs.map +1 -1
- package/button/lib/button.component.d.ts +1 -1
- package/common/esm2020/lib/services/csv/koala.csv.service.mjs +4 -4
- package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +4 -4
- package/common/fesm2015/koalarx-ui-common.mjs +6 -6
- package/common/fesm2015/koalarx-ui-common.mjs.map +1 -1
- package/common/fesm2020/koalarx-ui-common.mjs +6 -6
- package/common/fesm2020/koalarx-ui-common.mjs.map +1 -1
- package/common/lib/services/csv/koala.csv.service.d.ts +1 -1
- package/core/esm2020/lib/loader/loader-bar-page.component.mjs +4 -4
- package/core/esm2020/lib/ngx-koala.module.mjs +5 -5
- package/core/esm2020/lib/page/koala.page.module.mjs +10 -10
- package/core/esm2020/lib/page/notifications/notification.component.mjs +5 -6
- package/core/esm2020/lib/page/page.component.mjs +58 -46
- package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +4 -4
- package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +5 -5
- package/core/esm2020/lib/services/loader/koala.loader.service.mjs +4 -4
- package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +4 -4
- package/core/esm2020/lib/services/request/koala.request.service.mjs +4 -4
- package/core/esm2020/lib/services/token/koala.token.service.mjs +4 -4
- package/core/fesm2015/koalarx-ui-core.mjs +94 -83
- package/core/fesm2015/koalarx-ui-core.mjs.map +1 -1
- package/core/fesm2020/koalarx-ui-core.mjs +94 -83
- package/core/fesm2020/koalarx-ui-core.mjs.map +1 -1
- package/core/lib/loader/loader-bar-page.component.d.ts +2 -2
- package/core/lib/page/notifications/notification.component.d.ts +1 -1
- package/core/lib/page/page.component.d.ts +1 -1
- package/core/theme/koala.theme.css +58 -48
- package/dialog/esm2020/lib/dialog.component.mjs +4 -4
- package/dialog/esm2020/lib/koala.dialog-template.interface.mjs +1 -1
- package/dialog/esm2020/lib/koala.dialog.module.mjs +7 -7
- package/dialog/esm2020/lib/koala.dialog.service.mjs +4 -4
- package/dialog/fesm2015/koalarx-ui-dialog.mjs +10 -10
- package/dialog/fesm2015/koalarx-ui-dialog.mjs.map +1 -1
- package/dialog/fesm2020/koalarx-ui-dialog.mjs +10 -10
- package/dialog/fesm2020/koalarx-ui-dialog.mjs.map +1 -1
- package/dialog/lib/dialog.component.d.ts +1 -1
- package/dialog/lib/koala.dialog-template.interface.d.ts +1 -1
- package/dialog/lib/koala.dialog.service.d.ts +1 -1
- package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +4 -4
- package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +4 -4
- package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +5 -5
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +10 -10
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs.map +1 -1
- package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +10 -10
- package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs.map +1 -1
- package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +1 -1
- package/dynamic-component/lib/koala-dynamic-component.factory.d.ts +1 -1
- package/file-button/esm2020/lib/file-button.component.mjs +4 -4
- package/file-button/esm2020/lib/koala.btn-file.service.mjs +4 -4
- package/file-button/esm2020/lib/koala.file-button.module.mjs +7 -7
- package/file-button/fesm2015/koalarx-ui-file-button.mjs +10 -10
- package/file-button/fesm2015/koalarx-ui-file-button.mjs.map +1 -1
- package/file-button/fesm2020/koalarx-ui-file-button.mjs +10 -10
- package/file-button/fesm2020/koalarx-ui-file-button.mjs.map +1 -1
- package/file-button/lib/file-button.component.d.ts +1 -1
- package/folder-page/esm2020/lib/folder.component.mjs +4 -4
- package/folder-page/esm2020/lib/koala.folder-page.module.mjs +6 -6
- package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +7 -7
- package/folder-page/fesm2015/koalarx-ui-folder-page.mjs.map +1 -1
- package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +7 -7
- package/folder-page/fesm2020/koalarx-ui-folder-page.mjs.map +1 -1
- package/folder-page/lib/folder.component.d.ts +1 -1
- package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +4 -4
- package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +4 -4
- package/form/esm2020/lib/dynamic-form/builder/dynamic-form.builder.mjs +2 -2
- package/form/esm2020/lib/dynamic-form/builder/fields/field.base.mjs +2 -2
- package/form/esm2020/lib/dynamic-form/builder/fields/field.builder.mjs +1 -1
- package/form/esm2020/lib/dynamic-form/builder/fields/more-items.builder.mjs +2 -2
- package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +9 -9
- package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.mjs +1 -1
- package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +4 -4
- package/form/esm2020/lib/koala.form.module.mjs +25 -21
- package/form/fesm2015/koalarx-ui-form.mjs +34 -29
- package/form/fesm2015/koalarx-ui-form.mjs.map +1 -1
- package/form/fesm2020/koalarx-ui-form.mjs +34 -29
- package/form/fesm2020/koalarx-ui-form.mjs.map +1 -1
- package/form/lib/btn-submit/btn-submit.component.d.ts +1 -1
- package/form/lib/directives/koala-autofocus.directive.d.ts +1 -1
- package/form/lib/dynamic-form/builder/dynamic-form.builder.d.ts +2 -2
- package/form/lib/dynamic-form/builder/fields/field.base.d.ts +4 -4
- package/form/lib/dynamic-form/builder/fields/field.builder.d.ts +2 -2
- package/form/lib/dynamic-form/builder/fields/more-items.builder.d.ts +1 -1
- package/form/lib/dynamic-form/dynamic-form.component.d.ts +1 -1
- package/form/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.d.ts +1 -1
- package/form/lib/koala.form.module.d.ts +4 -4
- package/icon/esm2020/lib/icon.component.mjs +4 -4
- package/icon/esm2020/lib/koala.icon.module.mjs +5 -5
- package/icon/fesm2015/koalarx-ui-icon.mjs +7 -7
- package/icon/fesm2015/koalarx-ui-icon.mjs.map +1 -1
- package/icon/fesm2020/koalarx-ui-icon.mjs +7 -7
- package/icon/fesm2020/koalarx-ui-icon.mjs.map +1 -1
- package/icon/lib/icon.component.d.ts +1 -1
- package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +4 -4
- package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +4 -4
- package/icons-animated/esm2020/lib/icons-animated.component.mjs +4 -4
- package/icons-animated/esm2020/lib/icons-animated.service.mjs +4 -4
- package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +5 -5
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +16 -16
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs.map +1 -1
- package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +16 -16
- package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs.map +1 -1
- package/icons-animated/lib/icons/downloading/downloading-icon-animated.component.d.ts +1 -1
- package/icons-animated/lib/icons/loading/loading-icon-animated.component.d.ts +1 -1
- package/icons-animated/lib/icons-animated.component.d.ts +1 -1
- package/list/esm2020/lib/koala.list.module.mjs +9 -9
- package/list/esm2020/lib/koala.list.service.mjs +4 -4
- package/list/esm2020/lib/list.abstract.mjs +9 -2
- package/list/esm2020/lib/list.component.mjs +6 -6
- package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +5 -5
- package/list/fesm2015/koalarx-ui-list.mjs +26 -20
- package/list/fesm2015/koalarx-ui-list.mjs.map +1 -1
- package/list/fesm2020/koalarx-ui-list.mjs +26 -20
- package/list/fesm2020/koalarx-ui-list.mjs.map +1 -1
- package/list/lib/list.abstract.d.ts +6 -3
- package/list/lib/list.component.d.ts +2 -2
- package/list/lib/providers/pagination/pagination.provider.d.ts +1 -1
- package/menu/esm2020/lib/koala.menu.module.mjs +5 -5
- package/menu/esm2020/lib/koala.menu.service.mjs +4 -4
- package/menu/esm2020/lib/menu.component.mjs +4 -4
- package/menu/fesm2015/koalarx-ui-menu.mjs +10 -10
- package/menu/fesm2015/koalarx-ui-menu.mjs.map +1 -1
- package/menu/fesm2020/koalarx-ui-menu.mjs +10 -10
- package/menu/fesm2020/koalarx-ui-menu.mjs.map +1 -1
- package/menu/lib/menu.component.d.ts +1 -1
- package/package.json +6 -8
- package/question/esm2020/lib/dialog-question.component.mjs +5 -5
- package/question/esm2020/lib/koala.question.module.mjs +7 -7
- package/question/esm2020/lib/koala.question.service.mjs +4 -4
- package/question/fesm2015/koalarx-ui-question.mjs +11 -11
- package/question/fesm2015/koalarx-ui-question.mjs.map +1 -1
- package/question/fesm2020/koalarx-ui-question.mjs +11 -11
- package/question/fesm2020/koalarx-ui-question.mjs.map +1 -1
- package/question/lib/dialog-question.component.d.ts +1 -1
- package/snackbar/esm2020/lib/koala.snackbar.component.mjs +7 -7
- package/snackbar/esm2020/lib/koala.snackbar.module.mjs +6 -6
- package/snackbar/esm2020/lib/koala.snackbar.service.mjs +4 -4
- package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +17 -15
- package/snackbar/fesm2015/koalarx-ui-snackbar.mjs.map +1 -1
- package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +17 -15
- package/snackbar/fesm2020/koalarx-ui-snackbar.mjs.map +1 -1
- package/snackbar/lib/koala.snackbar.component.d.ts +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0gfSBmcm9tICcuLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZSB9IGZyb20gJy4va29hbGEuZHluYW1pYy1zZXQtdmFsdWUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLmR5bmFtaWMtYXV0b2NvbXBsZXRlLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1Nb3JlSXRlbnNTaG93RmllbGRDb25maWdJbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLmR5bmFtaWMtZm9ybS1tb3JlLWl0ZW5zLXNob3ctZmllbGQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtQXV0b2NvbXBsZXRlTXVsdGlwbGVDb25maWdJbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLmR5bmFtaWMtZm9ybS1hdXRvY29tcGxldGUtbXVsdGlwbGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnLi9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlIHtcbiAgc2hvdz86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBtaW4/OiBudW1iZXJ8c3RyaW5nO1xuICBtYXg/OiBudW1iZXJ8c3RyaW5nO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgZm9jdXM/OiBib29sZWFuO1xuICB0eXBlOiBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW07XG4gIHRleHRPYnM/OiBzdHJpbmc7XG4gIGFwcGVhcmFuY2U/OiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuICBmbG9hdExhYmVsPzogRmxvYXRMYWJlbFR5cGU7XG4gIHZhbHVlPzogYW55O1xuICB2YWx1ZVN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8YW55PjtcbiAgdGV4dEhpbnQ/OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIG9wY29lc1NlbGVjdD86IHtcbiAgICB2YWx1ZTogYW55O1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVtdO1xuICBjbGFzcz86IHN0cmluZztcbiAgZmllbGRDbGFzcz86IHN0cmluZztcbiAgbW9yZUl0ZW1zQnV0dG9uSWNvbkFkZGxhYmVsPzogc3RyaW5nO1xuICBtb3JlSXRlbXNNaW5JdGVtcz86IG51bWJlcjtcbiAgbW9yZUl0ZW1zTWF4SXRlbXM/OiBudW1iZXI7XG4gIG1vcmVJdGVtc0ljb24/OiBzdHJpbmc7XG4gIG1vcmVJdGVtc0ljb25Gb250Q29sb3I/OiBzdHJpbmc7XG4gIG1vcmVJdGVtc0ljb25CYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIG1vcmVJdGVtc0NvbmZpZz86IHtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIGZvcm1Db25maWc6IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZVtdO1xuICAgIHNldFZhbHVlcz86IEJlaGF2aW9yU3ViamVjdDxCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXT5bXT47XG4gICAgc2hvd0ZpZWxkc0NvbmZpZz86IEtvYWxhRHluYW1pY0Zvcm1Nb3JlSXRlbnNTaG93RmllbGRDb25maWdJbnRlcmZhY2VbXTtcbiAgfTtcbiAgYXV0b2NvbXBsZXRlRGVmYXVsdFZhbHVlT25DbGVhcj86IGFueTtcbiAgYXV0b2NvbXBsZXRlRmlsdGVyPzogKGZpbHRlcjogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2VbXT47XG4gIGF1dG9jb21wbGV0ZU9wdGlvbnM/OiBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdPjtcbiAgYXV0b2NvbXBsZXRlTXVsdGlwbGVDb25maWc/OiBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljRm9ybUF1dG9jb21wbGV0ZU11bHRpcGxlQ29uZmlnSW50ZXJmYWNlPjtcbiAgYXV0b2NvbXBsZXRlVHlwZT86ICdhbGwnIHwgJ29uRGVtYW5kJztcbiAgYXV0b2NvbXBsZXRlQWRkT3B0aW9uPzogYm9vbGVhbjtcbiAgdmFsdWVDaGFuZ2VzPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW107XG4gIHN5bmNWYWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXSxcbiAgZmlsZUJ1dHRvbkNvbmZpZz86IHtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIGFjY2VwdD86IHN0cmluZztcbiAgfVxuICBkeW5hbWljRm9ybUNvbmZpZz86IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2U7XG4gIGN1c3RvbU1hc2M/OiBzdHJpbmc7XG4gIGN1c3RvbU1hc2NTdWZmaXg/OiBzdHJpbmc7XG4gIGN1c3RvbU1hc2NQcmVmaXg/OiBzdHJpbmc7XG4gIGN1c3RvbU1hc2NUaG91c2FuZFNlcGFyYXRvcj86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -203,10 +203,10 @@ export class KoalaDynamicFormService {
|
|
|
203
203
|
return value;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
-
KoalaDynamicFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
207
|
-
KoalaDynamicFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
206
|
+
KoalaDynamicFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaDynamicFormService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
207
|
+
KoalaDynamicFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaDynamicFormService, providedIn: "any" });
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaDynamicFormService, decorators: [{
|
|
209
209
|
type: Injectable,
|
|
210
210
|
args: [{ providedIn: "any" }]
|
|
211
211
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.DeviceDetectorService }]; } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2tvYWxhLmR5bmFtaWMtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUEwRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUluRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBSzdELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDWSxFQUFzQixFQUN0QixhQUFvQztRQURwQyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDaEQsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLGVBQWUsQ0FBQyxTQUEyQixFQUFFLElBQVksRUFBRSxJQUFtQyxFQUFFLEtBQWdDO1FBQ3JJLElBQUksSUFBSSxLQUFLLFVBQVUsSUFBSSxPQUFPLEtBQUssS0FBSyxT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QzlELElBQUksS0FBSyxDQUFDO1FBQ1YsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixHQUFHO1lBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7WUFDRCxTQUFTLEVBQUUsQ0FBQztTQUNiLFFBQVEsU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUU7UUFFeEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztxSEEzTlUsdUJBQXVCO3lIQUF2Qix1QkFBdUIsY0FEWCxLQUFLOzRGQUNqQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtIH0gZnJvbSAnLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtc2V0LXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1hdXRvY29tcGxldGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tc2hvdy1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybUNvbmZpZ0ludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi9idWlsZGVyL2R5bmFtaWMtZm9ybS5idWlsZGVyXCI7XG5pbXBvcnQgeyBrb2FsYSB9IGZyb20gXCJAa29hbGFyeC91dGlsc1wiO1xuaW1wb3J0IHsgRGF0ZU1pblZhbGlkYXRvciB9IGZyb20gXCIuL3ZhbGlkYXRvcnMvZGF0ZS1taW4udmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBEYXRlTWF4VmFsaWRhdG9yIH0gZnJvbSBcIi4vdmFsaWRhdG9ycy9kYXRlLW1heC52YWxpZGF0b3JcIjtcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XG5pbXBvcnQgeyB1bm1hc2tDb2luIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzL29wZXJhdG9ycy9zdHJpbmdcIjtcblxuZXhwb3J0IHR5cGUgS29hbGFEeW5hbWljRm9ybVZhbGlkYXRvclR5cGUgPSAncmVxdWlyZWQnIHwgJ21pbicgfCAnbWF4JztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46IFwiYW55XCJ9KVxuZXhwb3J0IGNsYXNzIEtvYWxhRHluYW1pY0Zvcm1TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcm90ZWN0ZWQgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgYnVpbGQoKSB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljRm9ybUJ1aWxkZXIodGhpcy5mYiwgdGhpcy5kZXZpY2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWYWxpZGF0b3IoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBuYW1lOiBzdHJpbmcsIHR5cGU6IEtvYWxhRHluYW1pY0Zvcm1WYWxpZGF0b3JUeXBlLCB2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAncmVxdWlyZWQnICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFR5cGUgcmVxdWlyZWQgY2Fubm90IGJlIGEgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgfSBlbHNlIGlmICgodHlwZSA9PT0gJ21pbicgfHwgdHlwZSA9PT0gJ21heCcpICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVHlwZSAke3R5cGV9IGNhbm5vdCBiZSBhIGJvb2xlYW5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtQXJyYXkgPSBmb3JtR3JvdXAuZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1BcnJheS5jb250cm9scy5maW5kKGNvbnRyb2wgPT4gY29udHJvbC5nZXQoJ25hbWUnKS52YWx1ZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgY29uc3QgY3VycmVudE1pbiA9IGNvbnRyb2wuZ2V0KCdtaW4nKS52YWx1ZTtcbiAgICAgIGNvbnN0IGN1cnJlbnRNYXggPSBjb250cm9sLmdldCgnbWF4JykudmFsdWU7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gW107XG5cbiAgICAgIGNvbnRyb2wuZ2V0KCd2YWx1ZScpLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKG51bGwpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gXCJyZXF1aXJlZFwiICYmIHZhbHVlKSB7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHtyZXF1aXJlZDogdHJ1ZX0pO1xuICAgICAgfVxuICAgICAgaWYgKCh0eXBlID09PSBcIm1pblwiIHx8IGN1cnJlbnRNaW4pKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4oKHR5cGUgPT09IFwibWluXCIgPyB2YWx1ZSA6IGN1cnJlbnRNaW4pKSk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHttaW46IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goRGF0ZU1pblZhbGlkYXRvcigodHlwZSA9PT0gXCJtaW5cIiA/IHZhbHVlIDogY3VycmVudE1pbikpKTtcbiAgICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRFcnJvcnMoe2RhdGVNaW46IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCh0eXBlID09PSBcIm1heFwiIHx8IGN1cnJlbnRNYXgpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXgoKHR5cGUgPT09IFwibWF4XCIgPyB2YWx1ZSA6IGN1cnJlbnRNYXgpKSk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHttYXg6IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goRGF0ZU1heFZhbGlkYXRvcigodHlwZSA9PT0gXCJtYXhcIiA/IHZhbHVlIDogY3VycmVudE1heCkpKTtcbiAgICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRFcnJvcnMoe2RhdGVNYXg6IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gXCJyZXF1aXJlZFwiKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdyZXF1aXJlZCcpLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJtaW5cIikge1xuICAgICAgICBjb250cm9sLmdldCgnbWluJykuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcIm1heFwiKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdtYXgnKS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlRmllbGRzKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgZGlzYWJsZWQ6IGJvb2xlYW4sIGZpZWxkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSBmb3JtR3JvdXAuZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG5cbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBmb3JtQXJyYXkuY29udHJvbHMuZmluZChjb250cm9sID0+IGZpZWxkID09PSBjb250cm9sLmdldCgnbmFtZScpLnZhbHVlKT8uZ2V0KCd2YWx1ZScpO1xuXG4gICAgICBpZiAoY29udHJvbFZhbHVlICYmIGRpc2FibGVkKSB7XG4gICAgICAgIGNvbnRyb2xWYWx1ZS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2xWYWx1ZSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgY29udHJvbFZhbHVlLmVuYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250cm9sRGlzYWJsZWQgPSBmb3JtQXJyYXkuY29udHJvbHMuZmluZChjb250cm9sID0+IGZpZWxkID09PSBjb250cm9sLmdldCgnbmFtZScpLnZhbHVlKT8uZ2V0KCdkaXNhYmxlZCcpO1xuICAgICAgY29udHJvbERpc2FibGVkLnNldFZhbHVlKGRpc2FibGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0RGF0YShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgZGF0YSA9IHt9O1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IGZvcm0uZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgZm9ybUFycmF5Py5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgaWYgKGNvbnRyb2wuZ2V0KCdzaG93JykudmFsdWUuZ2V0VmFsdWUoKSAhPT0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSBjb250cm9sLmdldCgndmFsdWUnKS52YWx1ZTtcbiAgICAgICAgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS52YWx1ZUxpc3QpIHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFsdWUgPSBrb2FsYSh2YWx1ZSkuc3RyaW5nKCkuc3BsaXQoKS5nZXRWYWx1ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXMpIHtcbiAgICAgICAgICBjb25zdCBtb3JlSXRlbXMgPSBjb250cm9sLmdldCgnbW9yZUl0ZW1zQ29uZmlnJykudmFsdWUgYXMgeyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIH1bXTtcbiAgICAgICAgICB2YWx1ZSA9IFtdO1xuICAgICAgICAgIG1vcmVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgdmFsdWUucHVzaCh0aGlzLmVtaXREYXRhKGl0ZW0uZm9ybSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICBpZiAoY29udHJvbC5nZXQoJ211bHRpcGxlJykudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlIGFzIEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2VbXTtcbiAgICAgICAgICAgIHZhbHVlID0gb3B0aW9ucz8ubWFwKGl0ZW0gPT4gaXRlbT8udmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IChjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlPy52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICBjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlLnZhbHVlIDpcbiAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZ2V0KCdhdXRvY29tcGxldGVTZWxlY3RlZFZhbHVlJykudmFsdWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5keW5hbWljRm9ybSkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWNGb3JtQ29uZmlnID0gY29udHJvbC5nZXQoJ2R5bmFtaWNGb3JtQ29uZmlnJykudmFsdWUgYXMgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2U+O1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5lbWl0RGF0YShkeW5hbWljRm9ybUNvbmZpZy5nZXRWYWx1ZSgpLmZvcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5udW1iZXIpIHtcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlSW50KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICgoXG4gICAgICAgICAgY29udHJvbC5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLmZsb2F0IHx8XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnBlcmNlbnRcbiAgICAgICAgKSAmJiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgvLC9nLCAnLicpKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBjb250cm9sLmdldCgndHlwZScpLnZhbHVlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0uY29pbiAmJlxuICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9IHVubWFza0NvaW4odmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGRhdGFbY29udHJvbC5nZXQoJ25hbWUnKS52YWx1ZV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Rm9ybShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gZm9ybS5nZXQoJ2Zvcm1EYXRhJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGlmIChjb250cm9sLmdldCgndHlwZScpLnZhbHVlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdtb3JlSXRlbXNDb25maWcnKS5zZXRWYWx1ZShbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5yZXNldCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldFZhbHVlc0luTW9yZUl0ZW1zRm9ybShcbiAgICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8QmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+W10+LFxuICAgIHZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXVtdXG4gICkge1xuICAgIGNvbnN0IHZhbHVlc01vcmVJdGVtcyA9IFtdO1xuICAgIHZhbHVlcy5mb3JFYWNoKGl0ZW1WYWx1ZSA9PiB7XG4gICAgICB2YWx1ZXNNb3JlSXRlbXMucHVzaChuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+KGl0ZW1WYWx1ZSkpO1xuICAgIH0pO1xuICAgIHN1YmplY3QubmV4dCh2YWx1ZXNNb3JlSXRlbXMpO1xuICB9XG5cbiAgcHVibGljIGF1dG9jb21wbGV0ZUZpbHRlck9uU2VydmVyKFxuICAgIHJlcXVlc3Q6ICgpID0+IFByb21pc2U8YW55W10+LFxuICAgIG5hbWVDb25maWc6IHtcbiAgICAgIHByb3BzQnlOYW1lOiBzdHJpbmdbXTtcbiAgICAgIGRlbGltaXRlcjogc3RyaW5nO1xuICAgIH0sXG4gICAgaW5kZXhOYW1lQnlWYWx1ZT86IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8S29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdPihvYnNlcnZlID0+IHtcbiAgICAgIHJlcXVlc3QoKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uczogS29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdID0gW107XG4gICAgICAgIHJlc3BvbnNlLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgbGV0IHZhbHVlID0gJyc7XG4gICAgICAgICAgaWYgKGluZGV4TmFtZUJ5VmFsdWU/LmluZGV4T2YoJyA+ICcpID49IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRWYWx1ZUJ5U3RyaW5nUGF0aChpbmRleE5hbWVCeVZhbHVlLCBpdGVtKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4TmFtZUJ5VmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gaXRlbVtpbmRleE5hbWVCeVZhbHVlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgPSBpdGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgbmFtZToga29hbGEoaXRlbSkub2JqZWN0KCkudG9TdHJpbmcoXG4gICAgICAgICAgICAgIG5hbWVDb25maWcucHJvcHNCeU5hbWUsXG4gICAgICAgICAgICAgIChuYW1lQ29uZmlnLmRlbGltaXRlciA/PyAnICcpXG4gICAgICAgICAgICApLmdldFZhbHVlKCksXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0ZpZWxkcyhcbiAgICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZVtdPixcbiAgICBuYW1lczogc3RyaW5nW10sXG4gICAgc2hvdzogYm9vbGVhbixcbiAgICBjbGVhckN1cnJlbnRWYWx1ZSA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IGZpZWxkczogS29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZVtdID0gW107XG4gICAgbmFtZXMuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgc2hvdyxcbiAgICAgICAgY2xlYXJDdXJyZW50VmFsdWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHN1YmplY3QubmV4dChmaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWx1ZUJ5U3RyaW5nUGF0aChpbmRleE5hbWVCeVZhbHVlOiBzdHJpbmcsIGl0ZW06IGFueSkge1xuICAgIGxldCB2YWx1ZTtcbiAgICBjb25zdCBwYXJ0c0luZGV4ID0gaW5kZXhOYW1lQnlWYWx1ZS5zcGxpdCgnID4gJyk7XG4gICAgbGV0IHBhcnRJbmRleCA9IDA7XG4gICAgZG8ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGl0ZW1bcGFydHNJbmRleFtwYXJ0SW5kZXhdXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVbcGFydHNJbmRleFtwYXJ0SW5kZXhdXTtcbiAgICAgIH1cbiAgICAgIHBhcnRJbmRleCsrO1xuICAgIH0gd2hpbGUgKHBhcnRJbmRleCA8IHBhcnRzSW5kZXgubGVuZ3RoKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2tvYWxhLmR5bmFtaWMtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUEwRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUluRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBSzdELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDWSxFQUFzQixFQUN0QixhQUFvQztRQURwQyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDaEQsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLGVBQWUsQ0FBQyxTQUEyQixFQUFFLElBQVksRUFBRSxJQUFtQyxFQUFFLEtBQWdDO1FBQ3JJLElBQUksSUFBSSxLQUFLLFVBQVUsSUFBSSxPQUFPLEtBQUssS0FBSyxT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QzlELElBQUksS0FBSyxDQUFDO1FBQ1YsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixHQUFHO1lBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7WUFDRCxTQUFTLEVBQUUsQ0FBQztTQUNiLFFBQVEsU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUU7UUFFeEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztvSEEzTlUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FEWCxLQUFLOzJGQUNqQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtIH0gZnJvbSAnLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtc2V0LXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1hdXRvY29tcGxldGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tc2hvdy1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybUNvbmZpZ0ludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi9idWlsZGVyL2R5bmFtaWMtZm9ybS5idWlsZGVyXCI7XG5pbXBvcnQgeyBrb2FsYSB9IGZyb20gXCJAa29hbGFyeC91dGlsc1wiO1xuaW1wb3J0IHsgRGF0ZU1pblZhbGlkYXRvciB9IGZyb20gXCIuL3ZhbGlkYXRvcnMvZGF0ZS1taW4udmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBEYXRlTWF4VmFsaWRhdG9yIH0gZnJvbSBcIi4vdmFsaWRhdG9ycy9kYXRlLW1heC52YWxpZGF0b3JcIjtcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XG5pbXBvcnQgeyB1bm1hc2tDb2luIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzL29wZXJhdG9ycy9zdHJpbmdcIjtcblxuZXhwb3J0IHR5cGUgS29hbGFEeW5hbWljRm9ybVZhbGlkYXRvclR5cGUgPSAncmVxdWlyZWQnIHwgJ21pbicgfCAnbWF4JztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46IFwiYW55XCJ9KVxuZXhwb3J0IGNsYXNzIEtvYWxhRHluYW1pY0Zvcm1TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcm90ZWN0ZWQgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgYnVpbGQoKSB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljRm9ybUJ1aWxkZXIodGhpcy5mYiwgdGhpcy5kZXZpY2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWYWxpZGF0b3IoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBuYW1lOiBzdHJpbmcsIHR5cGU6IEtvYWxhRHluYW1pY0Zvcm1WYWxpZGF0b3JUeXBlLCB2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAncmVxdWlyZWQnICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFR5cGUgcmVxdWlyZWQgY2Fubm90IGJlIGEgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgfSBlbHNlIGlmICgodHlwZSA9PT0gJ21pbicgfHwgdHlwZSA9PT0gJ21heCcpICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVHlwZSAke3R5cGV9IGNhbm5vdCBiZSBhIGJvb2xlYW5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtQXJyYXkgPSBmb3JtR3JvdXAuZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1BcnJheS5jb250cm9scy5maW5kKGNvbnRyb2wgPT4gY29udHJvbC5nZXQoJ25hbWUnKS52YWx1ZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgY29uc3QgY3VycmVudE1pbiA9IGNvbnRyb2wuZ2V0KCdtaW4nKS52YWx1ZTtcbiAgICAgIGNvbnN0IGN1cnJlbnRNYXggPSBjb250cm9sLmdldCgnbWF4JykudmFsdWU7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gW107XG5cbiAgICAgIGNvbnRyb2wuZ2V0KCd2YWx1ZScpLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKG51bGwpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gXCJyZXF1aXJlZFwiICYmIHZhbHVlKSB7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHtyZXF1aXJlZDogdHJ1ZX0pO1xuICAgICAgfVxuICAgICAgaWYgKCh0eXBlID09PSBcIm1pblwiIHx8IGN1cnJlbnRNaW4pKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4oKHR5cGUgPT09IFwibWluXCIgPyB2YWx1ZSA6IGN1cnJlbnRNaW4pKSk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHttaW46IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goRGF0ZU1pblZhbGlkYXRvcigodHlwZSA9PT0gXCJtaW5cIiA/IHZhbHVlIDogY3VycmVudE1pbikpKTtcbiAgICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRFcnJvcnMoe2RhdGVNaW46IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCh0eXBlID09PSBcIm1heFwiIHx8IGN1cnJlbnRNYXgpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXgoKHR5cGUgPT09IFwibWF4XCIgPyB2YWx1ZSA6IGN1cnJlbnRNYXgpKSk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykuc2V0RXJyb3JzKHttYXg6IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goRGF0ZU1heFZhbGlkYXRvcigodHlwZSA9PT0gXCJtYXhcIiA/IHZhbHVlIDogY3VycmVudE1heCkpKTtcbiAgICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRFcnJvcnMoe2RhdGVNYXg6IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gXCJyZXF1aXJlZFwiKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdyZXF1aXJlZCcpLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJtaW5cIikge1xuICAgICAgICBjb250cm9sLmdldCgnbWluJykuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcIm1heFwiKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdtYXgnKS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjb250cm9sLmdldCgndmFsdWUnKS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgICAgY29udHJvbC5nZXQoJ3ZhbHVlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlRmllbGRzKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgZGlzYWJsZWQ6IGJvb2xlYW4sIGZpZWxkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSBmb3JtR3JvdXAuZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG5cbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBmb3JtQXJyYXkuY29udHJvbHMuZmluZChjb250cm9sID0+IGZpZWxkID09PSBjb250cm9sLmdldCgnbmFtZScpLnZhbHVlKT8uZ2V0KCd2YWx1ZScpO1xuXG4gICAgICBpZiAoY29udHJvbFZhbHVlICYmIGRpc2FibGVkKSB7XG4gICAgICAgIGNvbnRyb2xWYWx1ZS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2xWYWx1ZSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgY29udHJvbFZhbHVlLmVuYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250cm9sRGlzYWJsZWQgPSBmb3JtQXJyYXkuY29udHJvbHMuZmluZChjb250cm9sID0+IGZpZWxkID09PSBjb250cm9sLmdldCgnbmFtZScpLnZhbHVlKT8uZ2V0KCdkaXNhYmxlZCcpO1xuICAgICAgY29udHJvbERpc2FibGVkLnNldFZhbHVlKGRpc2FibGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0RGF0YShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgZGF0YSA9IHt9O1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IGZvcm0uZ2V0KCdmb3JtRGF0YScpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgZm9ybUFycmF5Py5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgaWYgKGNvbnRyb2wuZ2V0KCdzaG93JykudmFsdWUuZ2V0VmFsdWUoKSAhPT0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSBjb250cm9sLmdldCgndmFsdWUnKS52YWx1ZTtcbiAgICAgICAgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS52YWx1ZUxpc3QpIHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFsdWUgPSBrb2FsYSh2YWx1ZSkuc3RyaW5nKCkuc3BsaXQoKS5nZXRWYWx1ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXMpIHtcbiAgICAgICAgICBjb25zdCBtb3JlSXRlbXMgPSBjb250cm9sLmdldCgnbW9yZUl0ZW1zQ29uZmlnJykudmFsdWUgYXMgeyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIH1bXTtcbiAgICAgICAgICB2YWx1ZSA9IFtdO1xuICAgICAgICAgIG1vcmVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgdmFsdWUucHVzaCh0aGlzLmVtaXREYXRhKGl0ZW0uZm9ybSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICBpZiAoY29udHJvbC5nZXQoJ211bHRpcGxlJykudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlIGFzIEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2VbXTtcbiAgICAgICAgICAgIHZhbHVlID0gb3B0aW9ucz8ubWFwKGl0ZW0gPT4gaXRlbT8udmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IChjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlPy52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICBjb250cm9sLmdldCgnYXV0b2NvbXBsZXRlU2VsZWN0ZWRWYWx1ZScpLnZhbHVlLnZhbHVlIDpcbiAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZ2V0KCdhdXRvY29tcGxldGVTZWxlY3RlZFZhbHVlJykudmFsdWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5keW5hbWljRm9ybSkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWNGb3JtQ29uZmlnID0gY29udHJvbC5nZXQoJ2R5bmFtaWNGb3JtQ29uZmlnJykudmFsdWUgYXMgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2U+O1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5lbWl0RGF0YShkeW5hbWljRm9ybUNvbmZpZy5nZXRWYWx1ZSgpLmZvcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZ2V0KCd0eXBlJykudmFsdWUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5udW1iZXIpIHtcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlSW50KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICgoXG4gICAgICAgICAgY29udHJvbC5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLmZsb2F0IHx8XG4gICAgICAgICAgY29udHJvbC5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnBlcmNlbnRcbiAgICAgICAgKSAmJiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgvLC9nLCAnLicpKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBjb250cm9sLmdldCgndHlwZScpLnZhbHVlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0uY29pbiAmJlxuICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9IHVubWFza0NvaW4odmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGRhdGFbY29udHJvbC5nZXQoJ25hbWUnKS52YWx1ZV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Rm9ybShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gZm9ybS5nZXQoJ2Zvcm1EYXRhJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGlmIChjb250cm9sLmdldCgndHlwZScpLnZhbHVlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zKSB7XG4gICAgICAgIGNvbnRyb2wuZ2V0KCdtb3JlSXRlbXNDb25maWcnKS5zZXRWYWx1ZShbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLmdldCgndmFsdWUnKS5yZXNldCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldFZhbHVlc0luTW9yZUl0ZW1zRm9ybShcbiAgICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8QmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+W10+LFxuICAgIHZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXVtdXG4gICkge1xuICAgIGNvbnN0IHZhbHVlc01vcmVJdGVtcyA9IFtdO1xuICAgIHZhbHVlcy5mb3JFYWNoKGl0ZW1WYWx1ZSA9PiB7XG4gICAgICB2YWx1ZXNNb3JlSXRlbXMucHVzaChuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+KGl0ZW1WYWx1ZSkpO1xuICAgIH0pO1xuICAgIHN1YmplY3QubmV4dCh2YWx1ZXNNb3JlSXRlbXMpO1xuICB9XG5cbiAgcHVibGljIGF1dG9jb21wbGV0ZUZpbHRlck9uU2VydmVyKFxuICAgIHJlcXVlc3Q6ICgpID0+IFByb21pc2U8YW55W10+LFxuICAgIG5hbWVDb25maWc6IHtcbiAgICAgIHByb3BzQnlOYW1lOiBzdHJpbmdbXTtcbiAgICAgIGRlbGltaXRlcjogc3RyaW5nO1xuICAgIH0sXG4gICAgaW5kZXhOYW1lQnlWYWx1ZT86IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8S29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdPihvYnNlcnZlID0+IHtcbiAgICAgIHJlcXVlc3QoKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uczogS29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdID0gW107XG4gICAgICAgIHJlc3BvbnNlLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgbGV0IHZhbHVlID0gJyc7XG4gICAgICAgICAgaWYgKGluZGV4TmFtZUJ5VmFsdWU/LmluZGV4T2YoJyA+ICcpID49IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRWYWx1ZUJ5U3RyaW5nUGF0aChpbmRleE5hbWVCeVZhbHVlLCBpdGVtKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4TmFtZUJ5VmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gaXRlbVtpbmRleE5hbWVCeVZhbHVlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgPSBpdGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgbmFtZToga29hbGEoaXRlbSkub2JqZWN0KCkudG9TdHJpbmcoXG4gICAgICAgICAgICAgIG5hbWVDb25maWcucHJvcHNCeU5hbWUsXG4gICAgICAgICAgICAgIChuYW1lQ29uZmlnLmRlbGltaXRlciA/PyAnICcpXG4gICAgICAgICAgICApLmdldFZhbHVlKCksXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0ZpZWxkcyhcbiAgICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZVtdPixcbiAgICBuYW1lczogc3RyaW5nW10sXG4gICAgc2hvdzogYm9vbGVhbixcbiAgICBjbGVhckN1cnJlbnRWYWx1ZSA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IGZpZWxkczogS29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZVtdID0gW107XG4gICAgbmFtZXMuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgc2hvdyxcbiAgICAgICAgY2xlYXJDdXJyZW50VmFsdWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHN1YmplY3QubmV4dChmaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWx1ZUJ5U3RyaW5nUGF0aChpbmRleE5hbWVCeVZhbHVlOiBzdHJpbmcsIGl0ZW06IGFueSkge1xuICAgIGxldCB2YWx1ZTtcbiAgICBjb25zdCBwYXJ0c0luZGV4ID0gaW5kZXhOYW1lQnlWYWx1ZS5zcGxpdCgnID4gJyk7XG4gICAgbGV0IHBhcnRJbmRleCA9IDA7XG4gICAgZG8ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGl0ZW1bcGFydHNJbmRleFtwYXJ0SW5kZXhdXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVbcGFydHNJbmRleFtwYXJ0SW5kZXhdXTtcbiAgICAgIH1cbiAgICAgIHBhcnRJbmRleCsrO1xuICAgIH0gd2hpbGUgKHBhcnRJbmRleCA8IHBhcnRzSW5kZXgubGVuZ3RoKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuIl19
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { MatInputModule } from '@angular/material/input';
|
|
5
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
6
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
7
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
8
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
9
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
10
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
11
5
|
import { BtnSubmitComponent } from './btn-submit/btn-submit.component';
|
|
12
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
13
6
|
import { DynamicFormComponent } from './dynamic-form/dynamic-form.component';
|
|
14
|
-
import { NgxMaskModule } from 'ngx-mask';
|
|
15
7
|
import { maskOptions } from '@koalarx/ui/common';
|
|
16
8
|
import { CurrencyMaskModule } from 'ng2-currency-mask';
|
|
17
9
|
import { KoalaButtonModule } from '@koalarx/ui/button';
|
|
18
10
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
19
11
|
import { KoalaAutofocusDirective } from './directives/koala-autofocus.directive';
|
|
20
12
|
import { KoalaFileButtonModule } from '@koalarx/ui/file-button';
|
|
21
|
-
import {
|
|
13
|
+
import { MatSelectModule } from "@angular/material/select";
|
|
14
|
+
import { MatCheckboxModule } from "@angular/material/checkbox";
|
|
15
|
+
import { MatAutocompleteModule } from "@angular/material/autocomplete";
|
|
16
|
+
import { MatInputModule } from "@angular/material/input";
|
|
17
|
+
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
|
|
18
|
+
import { MatRadioModule } from "@angular/material/radio";
|
|
19
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
20
|
+
import { MatChipsModule } from "@angular/material/chips";
|
|
21
|
+
import { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from "ngx-mask";
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
|
-
import * as i1 from "ngx-mask";
|
|
24
23
|
export class KoalaFormModule {
|
|
25
24
|
}
|
|
26
|
-
KoalaFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
KoalaFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
25
|
+
KoalaFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
+
KoalaFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: KoalaFormModule, declarations: [BtnSubmitComponent,
|
|
28
27
|
DynamicFormComponent,
|
|
29
28
|
KoalaAutofocusDirective], imports: [CommonModule,
|
|
29
|
+
NgxMaskDirective,
|
|
30
|
+
NgxMaskPipe,
|
|
30
31
|
ReactiveFormsModule,
|
|
31
32
|
FormsModule,
|
|
32
|
-
CurrencyMaskModule,
|
|
33
|
+
CurrencyMaskModule,
|
|
34
|
+
KoalaFileButtonModule,
|
|
33
35
|
MatInputModule,
|
|
34
36
|
MatSelectModule,
|
|
35
37
|
MatRadioModule,
|
|
@@ -43,7 +45,6 @@ KoalaFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
43
45
|
MatProgressSpinnerModule], exports: [ReactiveFormsModule,
|
|
44
46
|
FormsModule,
|
|
45
47
|
KoalaAutofocusDirective,
|
|
46
|
-
NgxMaskModule,
|
|
47
48
|
KoalaFileButtonModule,
|
|
48
49
|
MatInputModule,
|
|
49
50
|
MatSelectModule,
|
|
@@ -55,11 +56,12 @@ KoalaFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
55
56
|
MatProgressSpinnerModule,
|
|
56
57
|
BtnSubmitComponent,
|
|
57
58
|
DynamicFormComponent] });
|
|
58
|
-
KoalaFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
59
|
+
KoalaFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaFormModule, providers: [
|
|
60
|
+
provideNgxMask(maskOptions),
|
|
61
|
+
], imports: [CommonModule,
|
|
59
62
|
ReactiveFormsModule,
|
|
60
63
|
FormsModule,
|
|
61
64
|
CurrencyMaskModule,
|
|
62
|
-
NgxMaskModule.forRoot(maskOptions),
|
|
63
65
|
KoalaFileButtonModule,
|
|
64
66
|
MatInputModule,
|
|
65
67
|
MatSelectModule,
|
|
@@ -73,7 +75,6 @@ KoalaFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
73
75
|
KoalaButtonModule,
|
|
74
76
|
MatProgressSpinnerModule, ReactiveFormsModule,
|
|
75
77
|
FormsModule,
|
|
76
|
-
NgxMaskModule,
|
|
77
78
|
KoalaFileButtonModule,
|
|
78
79
|
MatInputModule,
|
|
79
80
|
MatSelectModule,
|
|
@@ -83,7 +84,7 @@ KoalaFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
83
84
|
MatButtonModule,
|
|
84
85
|
MatIconModule,
|
|
85
86
|
MatProgressSpinnerModule] });
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KoalaFormModule, decorators: [{
|
|
87
88
|
type: NgModule,
|
|
88
89
|
args: [{
|
|
89
90
|
declarations: [
|
|
@@ -93,10 +94,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
93
94
|
],
|
|
94
95
|
imports: [
|
|
95
96
|
CommonModule,
|
|
97
|
+
NgxMaskDirective,
|
|
98
|
+
NgxMaskPipe,
|
|
96
99
|
ReactiveFormsModule,
|
|
97
100
|
FormsModule,
|
|
98
101
|
CurrencyMaskModule,
|
|
99
|
-
NgxMaskModule.forRoot(maskOptions),
|
|
100
102
|
KoalaFileButtonModule,
|
|
101
103
|
MatInputModule,
|
|
102
104
|
MatSelectModule,
|
|
@@ -114,7 +116,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
114
116
|
ReactiveFormsModule,
|
|
115
117
|
FormsModule,
|
|
116
118
|
KoalaAutofocusDirective,
|
|
117
|
-
NgxMaskModule,
|
|
118
119
|
KoalaFileButtonModule,
|
|
119
120
|
MatInputModule,
|
|
120
121
|
MatSelectModule,
|
|
@@ -126,7 +127,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
126
127
|
MatProgressSpinnerModule,
|
|
127
128
|
BtnSubmitComponent,
|
|
128
129
|
DynamicFormComponent
|
|
130
|
+
],
|
|
131
|
+
providers: [
|
|
132
|
+
provideNgxMask(maskOptions),
|
|
129
133
|
]
|
|
130
134
|
}]
|
|
131
135
|
}] });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIva29hbGEuZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFnRHpFLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBNUN4QixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHVCQUF1QixhQUd2QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLHdCQUF3QixhQUd4QixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsb0JBQW9COzZHQU1YLGVBQWUsYUFKZjtRQUNULGNBQWMsQ0FBQyxXQUFXLENBQUM7S0FDNUIsWUFyQ0MsWUFBWTtRQUdaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2QsZUFBZTtRQUNmLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsd0JBQXdCLEVBR3hCLG1CQUFtQjtRQUNuQixXQUFXO1FBRVgscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGFBQWE7UUFDYix3QkFBd0I7MkZBUWYsZUFBZTtrQkE5QzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxjQUFjLENBQUMsV0FBVyxDQUFDO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCdG5TdWJtaXRDb21wb25lbnQgfSBmcm9tICcuL2J0bi1zdWJtaXQvYnRuLXN1Ym1pdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IG1hc2tPcHRpb25zIH0gZnJvbSAnQGtvYWxhcngvdWkvY29tbW9uJztcbmltcG9ydCB7IEN1cnJlbmN5TWFza01vZHVsZSB9IGZyb20gJ25nMi1jdXJyZW5jeS1tYXNrJztcbmltcG9ydCB7IEtvYWxhQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtvYWxhcngvdWkvYnV0dG9uJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBLb2FsYUF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9rb2FsYS1hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtvYWxhRmlsZUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb2FsYXJ4L3VpL2ZpbGUtYnV0dG9uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3JhZGlvXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xuaW1wb3J0IHsgTmd4TWFza0RpcmVjdGl2ZSwgTmd4TWFza1BpcGUsIHByb3ZpZGVOZ3hNYXNrIH0gZnJvbSBcIm5neC1tYXNrXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ0blN1Ym1pdENvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICBLb2FsYUF1dG9mb2N1c0RpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5neE1hc2tEaXJlY3RpdmUsXG4gICAgTmd4TWFza1BpcGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDdXJyZW5jeU1hc2tNb2R1bGUsXG4gICAgS29hbGFGaWxlQnV0dG9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIEtvYWxhQnV0dG9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBLb2FsYUF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBLb2FsYUZpbGVCdXR0b25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgQnRuU3VibWl0Q29tcG9uZW50LFxuICAgIER5bmFtaWNGb3JtQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVOZ3hNYXNrKG1hc2tPcHRpb25zKSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBLb2FsYUZvcm1Nb2R1bGUge1xufVxuIl19
|