brainloper-ui 1.0.3 → 1.0.5
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/esm2020/public_api.mjs +2 -2
- package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +2 -2
- package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +151 -0
- package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +5 -3
- package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +1 -1
- package/esm2020/src/app/modules/services/functions.service.mjs +8 -1
- package/fesm2015/brainloper-ui.mjs +22 -5
- package/fesm2015/brainloper-ui.mjs.map +1 -1
- package/fesm2020/brainloper-ui.mjs +21 -5
- package/fesm2020/brainloper-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +1 -1
- package/src/app/modules/brainloper-ui/components/{buttons/combos → combos}/combos.component.d.ts +4 -2
- package/src/app/modules/interfaces/data-table/table-columns.d.ts +3 -3
- package/src/app/modules/services/functions.service.d.ts +1 -0
- package/esm2020/src/app/modules/brainloper-ui/components/buttons/combos/combos.component.mjs +0 -144
package/esm2020/public_api.mjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export * from './src/app/modules/brainloper-ui/brainloper-ui.module';
|
|
6
6
|
/**
|
|
7
7
|
* @Component */
|
|
8
|
-
export * from './src/app/modules/brainloper-ui/components/
|
|
8
|
+
export * from './src/app/modules/brainloper-ui/components/combos/combos.component';
|
|
9
9
|
export * from './src/app/modules/brainloper-ui/components/data-table/data-table.component';
|
|
10
10
|
export * from './src/app/modules/brainloper-ui/components/file-input/file-input.component';
|
|
11
11
|
export * from './src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component';
|
|
@@ -47,4 +47,4 @@ export * from './src/app/modules/interfaces/buttons/button-icon';
|
|
|
47
47
|
export * from './src/app/modules/interfaces/data-table/rules';
|
|
48
48
|
export * from './src/app/modules/interfaces/enum/enumActions';
|
|
49
49
|
export * from './src/app/modules/interfaces/enum/enumRules';
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsY0FBYyxzREFBc0QsQ0FBQztBQUVyRTtrQkFDa0I7QUFFakIsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsc0VBQXNFLENBQUM7QUFDdEY7OztHQUdHO0FBQ0gsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBSTVEOzs7R0FHRztBQUNILGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLyoqXHJcbiAqIEBtb2R1bGVzXHJcbiAqIGV4cG9ydGFjaW9uIGRlIG1vZHVsb3MgYWRqdW50b3MgYSBicmFpbmxvcGVyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2JyYWlubG9wZXItdWkubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiAgIEBDb21wb25lbnQgKi9cclxuXHJcbiBleHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvY29tYm9zL2NvbWJvcy5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvdGFibGUtbW9kYWwvdGFibGUtbW9kYWwuY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9icmVhZC1jcnVtYi9icmVhZC1jcnVtYi5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2J1dHRvbnMvYnV0dG9uLWxhYmVsL2J1dHRvbi1sYWJlbC5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2J1dHRvbnMvYnV0dG9uLWljb24vYnV0dG9uLWljb24uY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xyXG4vKipcclxuICogQHNlcnZpY2VzXHJcbiAqIGV4cG9ydGFjaW9uIGRlIGxvcyBzZXJ2aWNpb3MgY3JlYWRvcyBwYXJhIGJyYWlubG9wZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL2NyeXB0by5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZmlsZS1mb3Jtcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZnVuY3Rpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZ2VuZXJhdGUtcGRmLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9leHBvcnQtZGF0YS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvc2NyZWVuLXNpemUtdXRpbCc7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBAaW50ZWZhY2VzXHJcbiAqIGV4cG9ydGFjaW9uIGRlIGxhcyBpbnRlcmZhY2VzIHV0aWxpemFkYXMgcG9yIGJyYWlubG9wZXIgcGFyYSBmYWNpbGl0YXIgbGEgY29kaWZpY2FjaW9uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL2RhdGEtdGFibGUvdGFibGUtY29sdW1ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvcmVwb3J0L3RlbXBsYXRlLXBkZi1vdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvZGF0YS10YWJsZS90YWJsZS1jb25maWd1cmF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9jb21ib3MvY29tYm9zLWNvbmZpZ3VyYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL2ZpbGUtZm9ybXMtc2VydmljZS9maWxlLWZvcm1zLXBhcmFtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvZGF0YS10YWJsZS9wYXJhbXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL2ZpbGUtZm9ybXMtc2VydmljZS9maWxlLWlucHV0LXBhcmFtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvbWVudS1icmVhay1jcnVtYi9tZW51LWJyZWFrLWNydW1iJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9maWx0ZXJzL2hlYWRlci1maWx0ZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9idXR0b25zL2J1dHRvbi1sYXZlbC1lZGl0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9idXR0b25zL2J1dHRvbi1pY29uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9kYXRhLXRhYmxlL3J1bGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9lbnVtL2VudW1BY3Rpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvaW50ZXJmYWNlcy9lbnVtL2VudW1SdWxlcyc7XHJcbiJdfQ==
|
|
@@ -43,7 +43,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
|
43
43
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
44
44
|
import { HttpClientModule } from '@angular/common/http';
|
|
45
45
|
import { TableModalComponent } from './components/data-table/table-modal/table-modal.component';
|
|
46
|
-
import { CombosComponent } from './components/
|
|
46
|
+
import { CombosComponent } from './components/combos/combos.component';
|
|
47
47
|
import { HttpService } from '../services/http.service';
|
|
48
48
|
//import { MaterialFileInputModule } from 'ngx-material-file-input';
|
|
49
49
|
import { LoadingComponent } from '../services/loading/loading.component';
|
|
@@ -302,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
302
302
|
]
|
|
303
303
|
}]
|
|
304
304
|
}] });
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW5sb3Blci11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9icmFpbmxvcGVyLXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyx3QkFBd0I7QUFFeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxn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Qjt3QkFDakIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO3dCQUMvQyxxQkFBcUI7d0JBQ3JCLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO3dCQUN4QixnQkFBZ0I7cUJBRW5CO29CQUNELE9BQU8sRUFBRTt3QkFDTCxRQUFRO3dCQUNSLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsV0FBVztxQkFDZDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKiogQG1hdGVyaWFsIG1vZHVsZXMgKi9cclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEdyaWRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0JztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUsIE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuXHJcbmNvbnN0IE1hdGVyaWFsID0gW1xyXG4gIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gIE1hdFJpcHBsZU1vZHVsZSxcclxuICBNYXRCb3R0b21TaGVldE1vZHVsZSxcclxuICBNYXRDaGlwc01vZHVsZSxcclxuICBNYXRUcmVlTW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0QmFkZ2VNb2R1bGUsXHJcbiAgTWF0SWNvbk1vZHVsZSxcclxuICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgTWF0VG9vbGJhck1vZHVsZSxcclxuICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gIE1hdE1lbnVNb2R1bGUsXHJcbiAgTWF0TGlzdE1vZHVsZSxcclxuICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gIE1hdEdyaWRMaXN0TW9kdWxlLFxyXG4gIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICBNYXRUYWJzTW9kdWxlLFxyXG4gIE1hdENhcmRNb2R1bGUsXHJcbiAgTWF0U3RlcHBlck1vZHVsZSxcclxuICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBNYXRDaGVja2JveE1vZHVsZSxcclxuICBNYXRSYWRpb01vZHVsZSxcclxuICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gIE1hdFRhYmxlTW9kdWxlLFxyXG4gIE1hdFNvcnRNb2R1bGUsXHJcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gIE1hdFNsaWRlck1vZHVsZSxcclxuICBNYXROYXRpdmVEYXRlTW9kdWxlXHJcbl07XHJcblxyXG4vKiogZW5kIEBtYXRlcmlhbCBtZG91bGVzICovXHJcblxyXG4vKiogQEJvb3RzdHJhcCBtb2R1bGUgKi9cclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG4vKiogZW5kIEBCb290c3RyYXAgbW9kdWxlICovXHJcblxyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVGFibGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlL3RhYmxlLW1vZGFsL3RhYmxlLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbWJvc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b25zL2NvbWJvcy9jb21ib3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xyXG4vL2ltcG9ydCB7IE1hdGVyaWFsRmlsZUlucHV0TW9kdWxlIH0gZnJvbSAnbmd4LW1hdGVyaWFsLWZpbGUtaW5wdXQnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBMb3R0aWVNb2R1bGUgfSBmcm9tICduZ3gtbG90dGllJztcclxuaW1wb3J0IHBsYXllciBmcm9tICdsb3R0aWUtd2ViJztcclxuaW1wb3J0IHsgR2VuZXJhdGVQZGZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwb3J0L2dlbmVyYXRlLXBkZi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0RmlsdGVyTW9kdWxlIH0gZnJvbSAnbWF0LXNlbGVjdC1maWx0ZXInO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUZ1ZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwb3J0L3RlbXBsYXRlLWZ1ZWwvdGVtcGxhdGUtZnVlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZENydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkLWNydW1iL2JyZWFkLWNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJ1dHRvbkljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24taWNvbi9idXR0b24taWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGxheWVyRmFjdG9yeSgpIHtcclxuICByZXR1cm4gcGxheWVyO1xyXG59XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBUYWJsZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIENvbWJvc0NvbXBvbmVudCxcclxuICAgICAgICBGaWxlSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgTG9hZGluZ0NvbXBvbmVudCxcclxuICAgICAgICBHZW5lcmF0ZVBkZkNvbXBvbmVudCxcclxuICAgICAgICBUZW1wbGF0ZUZ1ZWxDb21wb25lbnQsXHJcbiAgICAgICAgQnJlYWRDcnVtYkNvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25MYWJlbENvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25JY29uQ29tcG9uZW50LFxyXG4gICAgICAgIENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbHRlcnNDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNYXRlcmlhbCxcclxuICAgICAgICBOZ2JNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgICAgIExvdHRpZU1vZHVsZS5mb3JSb290KHsgcGxheWVyOiBwbGF5ZXJGYWN0b3J5IH0pLFxyXG4gICAgICAgIE1hdFNlbGVjdEZpbHRlck1vZHVsZSxcclxuICAgICAgICBSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSksXHJcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZVxyXG5cclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgTWF0ZXJpYWwsXHJcbiAgICAgICAgRGF0YVRhYmxlQ29tcG9uZW50LFxyXG4gICAgICAgIFRhYmxlTW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgQ29tYm9zQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVJbnB1dENvbXBvbmVudCxcclxuICAgICAgICBMb2FkaW5nQ29tcG9uZW50LFxyXG4gICAgICAgIEJyZWFkQ3J1bWJDb21wb25lbnQsXHJcbiAgICAgICAgQnV0dG9uTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgQnV0dG9uSWNvbkNvbXBvbmVudCxcclxuICAgICAgICBOZ2JNb2R1bGUsXHJcbiAgICAgICAgQ2Fyb3VzZWxDb21wb25lbnQsXHJcbiAgICAgICAgRmlsdGVyc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEh0dHBTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFpbmxvcGVyVWlNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW5sb3Blci11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9icmFpbmxvcGVyLXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyx3QkFBd0I7QUFFeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxn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Qjt3QkFDakIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO3dCQUMvQyxxQkFBcUI7d0JBQ3JCLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO3dCQUN4QixnQkFBZ0I7cUJBRW5CO29CQUNELE9BQU8sRUFBRTt3QkFDTCxRQUFRO3dCQUNSLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsV0FBVztxQkFDZDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKiogQG1hdGVyaWFsIG1vZHVsZXMgKi9cclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEdyaWRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0JztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUsIE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuXHJcbmNvbnN0IE1hdGVyaWFsID0gW1xyXG4gIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gIE1hdFJpcHBsZU1vZHVsZSxcclxuICBNYXRCb3R0b21TaGVldE1vZHVsZSxcclxuICBNYXRDaGlwc01vZHVsZSxcclxuICBNYXRUcmVlTW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0QmFkZ2VNb2R1bGUsXHJcbiAgTWF0SWNvbk1vZHVsZSxcclxuICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgTWF0VG9vbGJhck1vZHVsZSxcclxuICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gIE1hdE1lbnVNb2R1bGUsXHJcbiAgTWF0TGlzdE1vZHVsZSxcclxuICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gIE1hdEdyaWRMaXN0TW9kdWxlLFxyXG4gIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICBNYXRUYWJzTW9kdWxlLFxyXG4gIE1hdENhcmRNb2R1bGUsXHJcbiAgTWF0U3RlcHBlck1vZHVsZSxcclxuICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBNYXRDaGVja2JveE1vZHVsZSxcclxuICBNYXRSYWRpb01vZHVsZSxcclxuICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gIE1hdFRhYmxlTW9kdWxlLFxyXG4gIE1hdFNvcnRNb2R1bGUsXHJcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gIE1hdFNsaWRlck1vZHVsZSxcclxuICBNYXROYXRpdmVEYXRlTW9kdWxlXHJcbl07XHJcblxyXG4vKiogZW5kIEBtYXRlcmlhbCBtZG91bGVzICovXHJcblxyXG4vKiogQEJvb3RzdHJhcCBtb2R1bGUgKi9cclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG4vKiogZW5kIEBCb290c3RyYXAgbW9kdWxlICovXHJcblxyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVGFibGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlL3RhYmxlLW1vZGFsL3RhYmxlLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbWJvc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21ib3MvY29tYm9zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuLy9pbXBvcnQgeyBNYXRlcmlhbEZpbGVJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC1maWxlLWlucHV0JztcclxuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL3NlcnZpY2VzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTG90dGllTW9kdWxlIH0gZnJvbSAnbmd4LWxvdHRpZSc7XHJcbmltcG9ydCBwbGF5ZXIgZnJvbSAnbG90dGllLXdlYic7XHJcbmltcG9ydCB7IEdlbmVyYXRlUGRmQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlcG9ydC9nZW5lcmF0ZS1wZGYvZ2VuZXJhdGUtcGRmLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdEZpbHRlck1vZHVsZSB9IGZyb20gJ21hdC1zZWxlY3QtZmlsdGVyJztcclxuaW1wb3J0IHsgVGVtcGxhdGVGdWVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlcG9ydC90ZW1wbGF0ZS1mdWVsL3RlbXBsYXRlLWZ1ZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWRDcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZC1jcnVtYi9icmVhZC1jcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCdXR0b25JY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbnMvYnV0dG9uLWljb24vYnV0dG9uLWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbnMvYnV0dG9uLWxhYmVsL2J1dHRvbi1sYWJlbC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBsYXllckZhY3RvcnkoKSB7XHJcbiAgcmV0dXJuIHBsYXllcjtcclxufVxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBEYXRhVGFibGVDb21wb25lbnQsXHJcbiAgICAgICAgVGFibGVNb2RhbENvbXBvbmVudCxcclxuICAgICAgICBDb21ib3NDb21wb25lbnQsXHJcbiAgICAgICAgRmlsZUlucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIExvYWRpbmdDb21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhdGVQZGZDb21wb25lbnQsXHJcbiAgICAgICAgVGVtcGxhdGVGdWVsQ29tcG9uZW50LFxyXG4gICAgICAgIEJyZWFkQ3J1bWJDb21wb25lbnQsXHJcbiAgICAgICAgQnV0dG9uTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgQnV0dG9uSWNvbkNvbXBvbmVudCxcclxuICAgICAgICBDYXJvdXNlbENvbXBvbmVudCxcclxuICAgICAgICBGaWx0ZXJzQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTWF0ZXJpYWwsXHJcbiAgICAgICAgTmdiTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgICBMb3R0aWVNb2R1bGUuZm9yUm9vdCh7IHBsYXllcjogcGxheWVyRmFjdG9yeSB9KSxcclxuICAgICAgICBNYXRTZWxlY3RGaWx0ZXJNb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLmZvclJvb3QoW10pLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGVcclxuXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIE1hdGVyaWFsLFxyXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBUYWJsZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIENvbWJvc0NvbXBvbmVudCxcclxuICAgICAgICBGaWxlSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgTG9hZGluZ0NvbXBvbmVudCxcclxuICAgICAgICBCcmVhZENydW1iQ29tcG9uZW50LFxyXG4gICAgICAgIEJ1dHRvbkxhYmVsQ29tcG9uZW50LFxyXG4gICAgICAgIEJ1dHRvbkljb25Db21wb25lbnQsXHJcbiAgICAgICAgTmdiTW9kdWxlLFxyXG4gICAgICAgIENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbHRlcnNDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBIdHRwU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJhaW5sb3BlclVpTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../services/http.service";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/select";
|
|
8
|
+
import * as i5 from "mat-select-filter";
|
|
9
|
+
import * as i6 from "@angular/material/core";
|
|
10
|
+
import * as i7 from "@angular/common";
|
|
11
|
+
import * as i8 from "@angular/material/tooltip";
|
|
12
|
+
import * as i9 from "@angular/forms";
|
|
13
|
+
export class CombosComponent {
|
|
14
|
+
constructor(http) {
|
|
15
|
+
this.http = http;
|
|
16
|
+
this.filter = false;
|
|
17
|
+
this.checkbox = false;
|
|
18
|
+
this.required = false;
|
|
19
|
+
this.disabled = false;
|
|
20
|
+
this.addFinal = false;
|
|
21
|
+
this.appearance = "";
|
|
22
|
+
this.tooltipDescription = null;
|
|
23
|
+
this.tooltipActive = false;
|
|
24
|
+
this.changeOption = new EventEmitter();
|
|
25
|
+
this.changeOptionDataComplete = new EventEmitter();
|
|
26
|
+
this.returnDataCombo = new EventEmitter();
|
|
27
|
+
this.selected = new FormControl;
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
if (!this.configuration.label) {
|
|
31
|
+
this.configuration.label = this.configuration.visibleField;
|
|
32
|
+
}
|
|
33
|
+
if (this.configuration.urlCombo) {
|
|
34
|
+
this.getData();
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
if (this.dataCombos) {
|
|
38
|
+
this.filteredList = this.dataCombos.slice();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (this.reloadCombo) {
|
|
42
|
+
this.reloadCombo.subscribe((res) => {
|
|
43
|
+
if (res == "selected") {
|
|
44
|
+
this.selected.setValue(this.configuration.selected);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.getData();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
this.selected.setValue(this.configuration.selected);
|
|
52
|
+
//console.log(this.configuration)
|
|
53
|
+
}
|
|
54
|
+
ngOnChanges(changes) {
|
|
55
|
+
if (this.dataCombos) {
|
|
56
|
+
this.dataCombos = changes.dataCombos.currentValue;
|
|
57
|
+
this.filteredList = this.dataCombos.slice();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
getData() {
|
|
61
|
+
this.http.getData(this.configuration.urlCombo, this.configuration.urlParams).subscribe(res => {
|
|
62
|
+
if (res['code'] === 0) {
|
|
63
|
+
this.dataCombos = res['body'];
|
|
64
|
+
if (this.additionalData) {
|
|
65
|
+
if (this.addFinal) {
|
|
66
|
+
this.dataCombos = this.dataCombos.concat(this.additionalData);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.dataCombos = this.additionalData.concat(this.dataCombos);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
this.returnDataCombo.emit(this.dataCombos);
|
|
73
|
+
this.filteredList = this.dataCombos.slice();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.log('error en la consulta para datos combo');
|
|
77
|
+
}
|
|
78
|
+
}, err => {
|
|
79
|
+
console.log(err);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
selectedData($event) {
|
|
83
|
+
this.findData($event);
|
|
84
|
+
this.changeOption.emit($event.value);
|
|
85
|
+
}
|
|
86
|
+
findData($event) {
|
|
87
|
+
let d = this.dataCombos.find(x => x[this.configuration.selectionField] == $event.value);
|
|
88
|
+
this.changeOptionDataComplete.emit(d);
|
|
89
|
+
if (this.configuration.fileTooltip) {
|
|
90
|
+
if (d) {
|
|
91
|
+
this.tooltipDescription = d[this.configuration.fileTooltip];
|
|
92
|
+
this.tooltipActive = true;
|
|
93
|
+
setTimeout(() => {
|
|
94
|
+
this.tooltip.show();
|
|
95
|
+
}, 50);
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
this.tooltip.hide();
|
|
98
|
+
}, 10000);
|
|
99
|
+
}
|
|
100
|
+
else
|
|
101
|
+
this.tooltipDescription = null;
|
|
102
|
+
}
|
|
103
|
+
else
|
|
104
|
+
this.tooltipDescription = null;
|
|
105
|
+
}
|
|
106
|
+
toggleTooltip() {
|
|
107
|
+
this.tooltipActive = !this.tooltipActive;
|
|
108
|
+
if (this.tooltipActive) {
|
|
109
|
+
this.tooltip.show();
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.tooltip.hide();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
CombosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CombosComponent, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
+
CombosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CombosComponent, selector: "combos", inputs: { dataCombos: "dataCombos", additionalData: "additionalData", configuration: "configuration", filter: "filter", checkbox: "checkbox", required: "required", disabled: "disabled", addFinal: "addFinal", appearance: "appearance", reloadCombo: "reloadCombo" }, outputs: { changeOption: "changeOption", changeOptionDataComplete: "changeOptionDataComplete", returnDataCombo: "returnDataCombo" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div style=\"display: flex; flex-direction: row; justify-content: space-between\">\r\n <div class=\"combo-container\">\r\n\r\n <mat-icon\r\n class=\"m-1 icon-information\"\r\n *ngIf=\"tooltipDescription\"\r\n matTooltip=\"{{tooltipDescription}}\"\r\n matTooltipPosition=\"above\"\r\n #tooltip=\"matTooltip\"\r\n (click)=\"toggleTooltip()\"\r\n matTooltipClass=\"custom-tooltip\"\r\n >info</mat-icon>\r\n\r\n <mat-form-field style=\"width: 100%\" [appearance]=\"appearance\">\r\n <mat-label style=\"text-transform: capitalize\">{{\r\n configuration.label\r\n }}</mat-label>\r\n <mat-select [multiple]=\"checkbox\" (selectionChange)=\"selectedData(selected)\" [required]=\"required\"\r\n [formControl]=\"selected\" [disabled]=\"disabled\">\r\n <mat-select-filter *ngIf=\"filter\" [placeholder]=\"'Filter'\" [displayMember]=\"configuration.visibleField\"\r\n [array]=\"dataCombos\" (filteredReturn)=\"filteredList = $event\">\r\n </mat-select-filter>\r\n <mat-option [value]=\"data[configuration.selectionField]\" *ngFor=\"let data of filteredList\">\r\n {{ data[configuration.visibleField] }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"required\">Campo requerido</mat-error>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n", styles: [".mat-form-field{width:100%}.combo-container{width:100%;display:flex;align-items:center}.icon-information{cursor:pointer;color:gray}.mat-icon{font-size:1.1rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatSelectFilterComponent, selector: "mat-select-filter", inputs: ["showSpinner", "noResultsMessage", "placeholder", "array", "color", "displayMember", "hasGroup", "groupArrayName"], outputs: ["filteredReturn"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CombosComponent, decorators: [{
|
|
119
|
+
type: Component,
|
|
120
|
+
args: [{ selector: 'combos', template: "<div style=\"display: flex; flex-direction: row; justify-content: space-between\">\r\n <div class=\"combo-container\">\r\n\r\n <mat-icon\r\n class=\"m-1 icon-information\"\r\n *ngIf=\"tooltipDescription\"\r\n matTooltip=\"{{tooltipDescription}}\"\r\n matTooltipPosition=\"above\"\r\n #tooltip=\"matTooltip\"\r\n (click)=\"toggleTooltip()\"\r\n matTooltipClass=\"custom-tooltip\"\r\n >info</mat-icon>\r\n\r\n <mat-form-field style=\"width: 100%\" [appearance]=\"appearance\">\r\n <mat-label style=\"text-transform: capitalize\">{{\r\n configuration.label\r\n }}</mat-label>\r\n <mat-select [multiple]=\"checkbox\" (selectionChange)=\"selectedData(selected)\" [required]=\"required\"\r\n [formControl]=\"selected\" [disabled]=\"disabled\">\r\n <mat-select-filter *ngIf=\"filter\" [placeholder]=\"'Filter'\" [displayMember]=\"configuration.visibleField\"\r\n [array]=\"dataCombos\" (filteredReturn)=\"filteredList = $event\">\r\n </mat-select-filter>\r\n <mat-option [value]=\"data[configuration.selectionField]\" *ngFor=\"let data of filteredList\">\r\n {{ data[configuration.visibleField] }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"required\">Campo requerido</mat-error>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n", styles: [".mat-form-field{width:100%}.combo-container{width:100%;display:flex;align-items:center}.icon-information{cursor:pointer;color:gray}.mat-icon{font-size:1.1rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}\n"] }]
|
|
121
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }]; }, propDecorators: { dataCombos: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], additionalData: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], configuration: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], filter: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], checkbox: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], required: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], disabled: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], addFinal: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], appearance: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], reloadCombo: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], tooltip: [{
|
|
142
|
+
type: ViewChild,
|
|
143
|
+
args: ['tooltip']
|
|
144
|
+
}], changeOption: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}], changeOptionDataComplete: [{
|
|
147
|
+
type: Output
|
|
148
|
+
}], returnDataCombo: [{
|
|
149
|
+
type: Output
|
|
150
|
+
}] } });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvY29tYm9zL2NvbWJvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2NvbWJvcy9jb21ib3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFXN0MsTUFBTSxPQUFPLGVBQWU7SUF5QjFCLFlBQ1UsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQXJCbEIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUN2QixhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUE7UUFDekIsYUFBUSxHQUFZLEtBQUssQ0FBQTtRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFJdkIsdUJBQWtCLEdBQVUsSUFBSSxDQUFBO1FBQ2hDLGtCQUFhLEdBQVcsS0FBSyxDQUFBO1FBSTFCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN0Qyw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ2xELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUVuRCxhQUFRLEdBQUcsSUFBSSxXQUFXLENBQUE7SUFJdEIsQ0FBQztJQUdMLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVB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QUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1nQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBRVYsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tYm9zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tYm9zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb21ib3MuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tYm9zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBkYXRhQ29tYm9zOiBBcnJheTxhbnk+XHJcbiAgQElucHV0KCkgYWRkaXRpb25hbERhdGE6IEFycmF5PGFueT5cclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBDb21ib3NDb25maWd1cmF0aW9uXHJcbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBhZGRGaW5hbDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogYW55ID0gXCJcIjtcclxuICBASW5wdXQoKSByZWxvYWRDb21ibzogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG5cclxuICBwdWJsaWMgdG9vbHRpcERlc2NyaXB0aW9uOnN0cmluZyA9IG51bGxcclxuICBwdWJsaWMgdG9vbHRpcEFjdGl2ZTpib29sZWFuID0gZmFsc2VcclxuXHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA6IE1hdFRvb2x0aXA7XHJcblxyXG4gIEBPdXRwdXQoKSBjaGFuZ2VPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSBjaGFuZ2VPcHRpb25EYXRhQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSByZXR1cm5EYXRhQ29tYm8gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG5cclxuICBzZWxlY3RlZCA9IG5ldyBGb3JtQ29udHJvbFxyXG4gIGZpbHRlcmVkTGlzdCA6IEFycmF5PGFueT5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbi5sYWJlbCkge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ubGFiZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZUZpZWxkXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLnVybENvbWJvKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpXHJcbiAgICB9XHJcbiAgICBlbHNle1xyXG4gICAgICBpZiAodGhpcy5kYXRhQ29tYm9zKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSB0aGlzLmRhdGFDb21ib3Muc2xpY2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVsb2FkQ29tYm8pIHtcclxuICAgICAgdGhpcy5yZWxvYWRDb21iby5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgPT0gXCJzZWxlY3RlZFwiKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkLnNldFZhbHVlKHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RlZClcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgIHRoaXMuZ2V0RGF0YSgpXHJcbiAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXRWYWx1ZSh0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0ZWQpXHJcbiAgICAvL2NvbnNvbGUubG9nKHRoaXMuY29uZmlndXJhdGlvbilcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpe1xyXG4gICAgaWYgKHRoaXMuZGF0YUNvbWJvcykge1xyXG5cclxuICAgICAgdGhpcy5kYXRhQ29tYm9zID0gY2hhbmdlcy5kYXRhQ29tYm9zLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuZGF0YUNvbWJvcy5zbGljZSgpXHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuXHJcbiAgICB0aGlzLmh0dHAuZ2V0RGF0YSh0aGlzLmNvbmZpZ3VyYXRpb24udXJsQ29tYm8sIHRoaXMuY29uZmlndXJhdGlvbi51cmxQYXJhbXMpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBpZiAocmVzWydjb2RlJ10gPT09IDApIHtcclxuICAgICAgICAgIHRoaXMuZGF0YUNvbWJvcyA9IHJlc1snYm9keSddXHJcbiAgICAgICAgICBpZiAodGhpcy5hZGRpdGlvbmFsRGF0YSkge1xyXG4gICAgICAgICAgICBpZih0aGlzLmFkZEZpbmFsKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5kYXRhQ29tYm9zID0gdGhpcy5kYXRhQ29tYm9zLmNvbmNhdCh0aGlzLmFkZGl0aW9uYWxEYXRhKVxyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICB0aGlzLmRhdGFDb21ib3MgPSB0aGlzLmFkZGl0aW9uYWxEYXRhLmNvbmNhdCh0aGlzLmRhdGFDb21ib3MpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZXR1cm5EYXRhQ29tYm8uZW1pdCh0aGlzLmRhdGFDb21ib3MpXHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSB0aGlzLmRhdGFDb21ib3Muc2xpY2UoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgZW4gbGEgY29uc3VsdGEgcGFyYSBkYXRvcyBjb21ibycpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpXHJcbiAgICAgIH1cclxuXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZERhdGEoJGV2ZW50KSB7XHJcbiAgICB0aGlzLmZpbmREYXRhKCRldmVudClcclxuICAgIHRoaXMuY2hhbmdlT3B0aW9uLmVtaXQoJGV2ZW50LnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgZmluZERhdGEoJGV2ZW50KXtcclxuICAgIGxldCBkID0gdGhpcy5kYXRhQ29tYm9zLmZpbmQoeCA9PiB4W3RoaXMuY29uZmlndXJhdGlvbi5zZWxlY3Rpb25GaWVsZF0gPT0gJGV2ZW50LnZhbHVlKVxyXG4gICAgdGhpcy5jaGFuZ2VPcHRpb25EYXRhQ29tcGxldGUuZW1pdChkKVxyXG4gICAgaWYodGhpcy5jb25maWd1cmF0aW9uLmZpbGVUb29sdGlwKXtcclxuICAgICAgaWYoZCl7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGVzY3JpcHRpb24gPSBkW3RoaXMuY29uZmlndXJhdGlvbi5maWxlVG9vbHRpcF1cclxuICAgICAgICB0aGlzLnRvb2x0aXBBY3RpdmUgPSB0cnVlXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xyXG4gICAgICAgIH0sIDUwKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICAgICAgfSwgMTAwMDApO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnRvb2x0aXBEZXNjcmlwdGlvbiA9IG51bGxcclxuICAgIH1lbHNlXHJcbiAgICAgIHRoaXMudG9vbHRpcERlc2NyaXB0aW9uID0gbnVsbFxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVG9vbHRpcCgpIHtcclxuICAgIHRoaXMudG9vbHRpcEFjdGl2ZSA9ICF0aGlzLnRvb2x0aXBBY3RpdmU7XHJcbiAgICBpZiAodGhpcy50b29sdGlwQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcC5zaG93KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5pbnRlcmZhY2UgQ29tYm9zQ29uZmlndXJhdGlvbiB7XHJcbiAgc2VsZWN0aW9uRmllbGQ/OnN0cmluZyxcclxuICB2aXNpYmxlRmllbGQ/OnN0cmluZyxcclxuICB1cmxDb21ibz86c3RyaW5nLFxyXG4gIHVybFBhcmFtcz86YW55W10sXHJcbiAgbGFiZWw/OnN0cmluZyxcclxuICBzZWxlY3RlZD86IGFueSxcclxuICBmaWxlVG9vbHRpcD86c3RyaW5nXHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb21iby1jb250YWluZXJcIj5cclxuXHJcbiAgICA8bWF0LWljb25cclxuICAgICAgY2xhc3M9XCJtLTEgaWNvbi1pbmZvcm1hdGlvblwiXHJcbiAgICAgICpuZ0lmPVwidG9vbHRpcERlc2NyaXB0aW9uXCJcclxuICAgICAgbWF0VG9vbHRpcD1cInt7dG9vbHRpcERlc2NyaXB0aW9ufX1cIlxyXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVUb29sdGlwKClcIlxyXG4gICAgICBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiXHJcbiAgICAgPmluZm88L21hdC1pY29uPlxyXG5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIndpZHRoOiAxMDAlXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiPlxyXG4gICAgICA8bWF0LWxhYmVsIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemVcIj57e1xyXG4gICAgICAgIGNvbmZpZ3VyYXRpb24ubGFiZWxcclxuICAgICAgICB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbbXVsdGlwbGVdPVwiY2hlY2tib3hcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGVkRGF0YShzZWxlY3RlZClcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWxlY3RlZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0LWZpbHRlciAqbmdJZj1cImZpbHRlclwiIFtwbGFjZWhvbGRlcl09XCInRmlsdGVyJ1wiIFtkaXNwbGF5TWVtYmVyXT1cImNvbmZpZ3VyYXRpb24udmlzaWJsZUZpZWxkXCJcclxuICAgICAgICAgIFthcnJheV09XCJkYXRhQ29tYm9zXCIgKGZpbHRlcmVkUmV0dXJuKT1cImZpbHRlcmVkTGlzdCA9ICRldmVudFwiPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdC1maWx0ZXI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImRhdGFbY29uZmlndXJhdGlvbi5zZWxlY3Rpb25GaWVsZF1cIiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWx0ZXJlZExpc3RcIj5cclxuICAgICAgICAgIHt7IGRhdGFbY29uZmlndXJhdGlvbi52aXNpYmxlRmllbGRdIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJyZXF1aXJlZFwiPkNhbXBvIHJlcXVlcmlkbzwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
|
package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs
CHANGED
|
@@ -155,15 +155,17 @@ export class DataTableComponent {
|
|
|
155
155
|
if (columns.rules) {
|
|
156
156
|
for (const rule of columns.rules) {
|
|
157
157
|
if (rule.rule == enumRules['==']) {
|
|
158
|
-
if (element[columns.ID].toString() == rule.valueRule.toString()) {
|
|
158
|
+
if (element[columns.ID] && element[columns.ID].toString() == rule.valueRule.toString()) {
|
|
159
159
|
this.data[indexData][columns.ID] = rule.valueAction;
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
const columnValue = element[columns.ID];
|
|
165
|
-
if (columns.type == 'fecha')
|
|
165
|
+
if (columns.type == 'fecha' || columns.type == 'date')
|
|
166
166
|
this.data[indexData][columns.ID] = this.functionEter.dateIso(columnValue);
|
|
167
|
+
if (columns.type == 'dateWithTime')
|
|
168
|
+
this.data[indexData][columns.ID] = this.functionEter.dateWithTime(columnValue?.toString() ?? columnValue);
|
|
167
169
|
if (columns.type == 'currency')
|
|
168
170
|
this.data[indexData][columns.ID] = Intl.NumberFormat('es-CO').format(columnValue);
|
|
169
171
|
if (columns.type == 'boolean')
|
|
@@ -423,4 +425,4 @@ var enumRules;
|
|
|
423
425
|
enumRules[enumRules["=="] = 2] = "==";
|
|
424
426
|
enumRules[enumRules["!="] = 3] = "!=";
|
|
425
427
|
})(enumRules || (enumRules = {}));
|
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFHWixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzNFLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sUUFBUSxNQUFNLEVBQUUsQ0FBQztLQUN6QjtJQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3QixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBRW5DLE1BQU0sUUFBUSxHQUNaLFVBQVUsR0FBRyxNQUFNO1FBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxRQUFRLEVBQUUsTUFBTSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxV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QUFuRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBNFYzQyxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWixtQ0FBRyxDQUFBO0lBQ0gsbUNBQUcsQ0FBQTtJQUNILHFDQUFJLENBQUE7SUFDSixxQ0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5TaXplVXRpbCB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvc2NyZWVuLXNpemUtdXRpbCc7XHJcbmltcG9ydCB7IEV4cG9ydERhdGFTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9leHBvcnQtZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBUYWJsZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvdGFibGUtbW9kYWwvdGFibGUtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEZ1bmN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mdW5jdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvckludGwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmNvbnN0IHNwYW5pc2hSYW5nZUxhYmVsID0gKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpID0+IHtcclxuICBpZiAobGVuZ3RoID09IDAgfHwgcGFnZVNpemUgPT0gMCkge1xyXG4gICAgcmV0dXJuIGAwIGRlICR7bGVuZ3RofWA7XHJcbiAgfVxyXG5cclxuICBsZW5ndGggPSBNYXRoLm1heChsZW5ndGgsIDApO1xyXG5cclxuICBjb25zdCBzdGFydEluZGV4ID0gcGFnZSAqIHBhZ2VTaXplO1xyXG5cclxuICBjb25zdCBlbmRJbmRleCA9XHJcbiAgICBzdGFydEluZGV4IDwgbGVuZ3RoXHJcbiAgICAgID8gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBsZW5ndGgpXHJcbiAgICAgIDogc3RhcnRJbmRleCArIHBhZ2VTaXplO1xyXG5cclxuICByZXR1cm4gYCR7c3RhcnRJbmRleCArIDF9IC0gJHtlbmRJbmRleH0gZGUgJHtsZW5ndGh9YDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB0aXRsZTtcclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGNvbWJvO1xyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICBhZGQ6IGZhbHNlLFxyXG4gICAgZWRpdDogZmFsc2UsXHJcbiAgICBkZWxldGU6IGZhbHNlLFxyXG4gICAgYWN0aXZlOmZhbHNlLFxyXG4gICAgc2VsZWN0YWJsZTogZmFsc2UsXHJcbiAgICBwcmludDogZmFsc2UsXHJcbiAgICBhZGRQZXI6IGZhbHNlLFxyXG4gICAgZWRpdFBlcjogZmFsc2UsXHJcbiAgICBwcmltYXJ5S2V5OiAnaWQnLFxyXG4gICAgZXhwb3J0WHNseDpmYWxzZSxcclxuICAgIGhpZGVUaXRsZTp0cnVlLFxyXG4gICAgaGlkZUZpbHRlcjogdHJ1ZSxcclxuICAgIG5vdEluaXRpYWxpemU6IGZhbHNlLFxyXG4gICAgYmxvY2tFdmVudGNsaWNrUm93OiBmYWxzZVxyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpIHJlbG9hZFRhYmxlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcclxuICBASW5wdXQoKSBwYXJhbXM6IEFycmF5PGFueT4gO1xyXG4gIEBJbnB1dCgpIHRpdGxlTG9hZGluZzogc3RyaW5nID0gXCJcIlxyXG4gIEBJbnB1dCgpIG1lc3NhZ2VMb2FkaW5nOiBzdHJpbmcgPSBcIlwiXHJcbiAgQElucHV0KCkgaGVhZGVyRmlsZVhsc206QXJyYXk8YW55PiA9IFtdXHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja1JvdyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBhZGQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgcHJpbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgYWN0aXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGludGVybmFsRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGhlYWRlckZpbHRlcnM6IEFycmF5PGFueT4gPSBbXVxyXG5cclxuICBtb3ZpbCA9IFNjcmVlblNpemVVdGlsLmlzTW9iaWxlKCk7XHJcbiAgZmlsdGVyc1Bvc3Q6QXJyYXk8YW55PiA9IFtdXHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuICBzZWxlY3RlZFJvd3MgPSBbXTsgLyoqIGFsbWFjZW5hIGxhcyBmaWxhcyBzZWxlY2Npb25hZGFzICovXHJcbiAgY2hlY2tib3hzID0ge307XHJcbiAgc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgaW5kZXRlcm1pbmF0ZVN0YXRlID0gZmFsc2U7XHJcbiAgZmlsdGVycztcclxuICBvcmlnaW5hbERhdGEgPSBbXTtcclxuICBwYWdpbmF0b3JBY3RpdmUgPSB0cnVlO1xyXG4gIHNjcmVlbjogYm9vbGVhbiA9IHRydWVcclxuXHJcbiAgaWRfY29tcGFuaWE7XHJcblxyXG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDI1LCA1MCwgMTAwXTtcclxuXHJcbiAgcGFnZVNpemUgPSBzY3JlZW4ud2lkdGggPiA1MDA/MTA6NTtcclxuICBsZW5ndGggPSAwO1xyXG5cclxuICBwYWdlID0gMDtcclxuXHJcbiAgYWJvdmU6IFRvb2x0aXBQb3NpdGlvbltdID0gWydhYm92ZSddO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbkV0ZXI6IEZ1bmN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2luYXRvclRyYW5zbGF0ZTogTWF0UGFnaW5hdG9ySW50bCxcclxuICAgIHByaXZhdGUgZXhwb3J0U2VydmljZSA6IEV4cG9ydERhdGFTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRyYW5zbGF0ZS5pdGVtc1BlclBhZ2VMYWJlbCA9ICdFbGVtZW50b3MgcG9yIHDDoWdpbmEnO1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUcmFuc2xhdGUubmV4dFBhZ2VMYWJlbCA9ICdTaWd1aWVudGUgcMOhZ2luYSc7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRyYW5zbGF0ZS5sYXN0UGFnZUxhYmVsID0gJ8OabHRpbWEgcMOhZ2luYSc7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRyYW5zbGF0ZS5wcmV2aW91c1BhZ2VMYWJlbCA9ICdQw6FnaW5hIGFudGVyaW9yJztcclxuICAgIHRoaXMucGFnaW5hdG9yVHJhbnNsYXRlLmZpcnN0UGFnZUxhYmVsID0gJ1ByaW1lcmEgcMOhZ2luYSc7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRyYW5zbGF0ZS5nZXRSYW5nZUxhYmVsID0gc3BhbmlzaFJhbmdlTGFiZWw7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh3aW5kb3cuc2NyZWVuLndpZHRoID4gMTAwMCkge1xyXG4gICAgICB0aGlzLnNjcmVlbiA9IHRydWVcclxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgKCkgPT4geyB3aW5kb3cuc2NyZWVuLndpZHRoID4gMTAwMCA/IHRoaXMuc2NyZWVuID0gdHJ1ZSA6IHRoaXMuc2NyZWVuID0gZmFsc2U7IH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JlZW4gPSBmYWxzZTtcclxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgKCkgPT4geyB3aW5kb3cuc2NyZWVuLndpZHRoID4gMTAwMCA/IHRoaXMuc2NyZWVuID0gdHJ1ZSA6IHRoaXMuc2NyZWVuID0gZmFsc2U7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbG9hZFRhYmxlKSB7XHJcbiAgICAgIHRoaXMucmVsb2FkVGFibGUuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsRGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxldGVjQWxsRXZlbnQoJycpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRpdGxlTG9hZGluZyA9PSBcIlwiID8gdGhpcy50aXRsZUxvYWRpbmcgPSBcIkNhcmdhbmRvXCIgOiAnJztcclxuICAgIHRoaXMubWVzc2FnZUxvYWRpbmcgPT0gXCJcIiA/IHRoaXMubWVzc2FnZUxvYWRpbmcgPSBcIk9idGVuaWVuZG8gZGF0b3MuLi5cIiA6ICcnO1xyXG4gICAgdGhpcy51cmwgJiYgIXRoaXMuY29uZmlndXJhdGlvbi5ub3RJbml0aWFsaXplID8gdGhpcy5tZXNzYWdlLm9wZW5Mb2FkaW5nKHRoaXMudGl0bGVMb2FkaW5nLCB0aGlzLm1lc3NhZ2VMb2FkaW5nKSA6ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLnVybCAmJiAhdGhpcy5jb25maWd1cmF0aW9uLm5vdEluaXRpYWxpemUpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQgc2VydmljZSA9IGF3YWl0IHRoaXMuZ2V0RGF0ZVRhYmxlQnlVcmwoKVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHNlcnZpY2VbJ2RhdGEnXTtcclxuICAgICAgICB0aGlzLmxlbmd0aCA9IHNlcnZpY2VbJ2NvdW50J107XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZVJ1bGVzKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tib3hzW3Jvd1t0aGlzLmNvbmZpZ3VyYXRpb24ucHJpbWFyeUtleV1dID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLmVtaXQoc2VydmljZSlcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKTtcclxuICAgICAgICB9LCA1MDApO1xyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdG9yQWN0aXZlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIGdldERhdGVUYWJsZUJ5VXJsKCl7XHJcbiAgICB0aGlzLnZhbGlkYXJQYXJhbXMoKTtcclxuICAgIGlmKHRoaXMuZmlsdGVyc1Bvc3QubGVuZ3RoID4gMCl7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHAucG9zdERhdGFCb2R5KHRoaXMudXJsLCB0aGlzLmZpbHRlcnNQb3N0LCB0aGlzLnBhcmFtcylcclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwLmdldERhdGFCb2R5KHRoaXMudXJsLCB0aGlzLnBhcmFtcylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbGlkYXJQYXJhbXMoKSB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMuZnVuY3Rpb25FdGVyLnJlbW92ZUR1cGxpY2F0ZU9iamVjdHModGhpcy5wYXJhbXMpXHJcbiAgICBpZiAodGhpcy5wYXJhbXMpIHtcclxuICAgICAgaWYgKCF0aGlzLnBhcmFtcy5maW5kKHggPT4geC5pZCA9PSAncGFnZScpKSB7XHJcbiAgICAgICAgdGhpcy5wYXJhbXMucHVzaCh7aWQ6ICdwYWdlJywgdmFsdWU6ICcwJ30pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5wYXJhbXMuZmluZCh4ID0+IHguaWQgPT0gJ3Blcl9wYWdlJykpIHtcclxuICAgICAgICB0aGlzLnBhcmFtcy5wdXNoKHtpZDogJ3Blcl9wYWdlJywgdmFsdWU6IHRoaXMucGFnZVNpemV9KTtcclxuICAgICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5wYXJhbXMuZmluZCh4ID0+IHguaWQgPT0gJ2ZpbHRlcicpKSB7XHJcbiAgICAgICAgIHRoaXMucGFyYW1zLnB1c2goe2lkOiAnZmlsdGVyJyx2YWx1ZTogJyd9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiBhc3luYyB2YWxpZGF0ZVJ1bGVzKCl7XHJcbiAgIGZvciAoY29uc3QgW2luZGV4LCBjb2x1bW5zIF0gb2YgdGhpcy5jb2x1bW5zLmVudHJpZXMoKSkge1xyXG4gICAgIGZvciAoY29uc3QgW2luZGV4RGF0YSwgZWxlbWVudF0gb2YgdGhpcy5kYXRhLmVudHJpZXMoKSkge1xyXG4gICAgICAgaWYgKGNvbHVtbnMucnVsZXMpe1xyXG4gICAgICAgICBmb3IgKGNvbnN0IHJ1bGUgb2YgY29sdW1ucy5ydWxlcykge1xyXG4gICAgICAgICAgICBpZiAocnVsZS5ydWxlICA9PSBlbnVtUnVsZXNbJz09J10pIHtcclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudFtjb2x1bW5zLklEXS50b1N0cmluZygpID09IHJ1bGUudmFsdWVSdWxlLnRvU3RyaW5nKCkgKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFbaW5kZXhEYXRhXVtjb2x1bW5zLklEXSA9IHJ1bGUudmFsdWVBY3Rpb25cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY29sdW1uVmFsdWUgPSBlbGVtZW50W2NvbHVtbnMuSURdO1xyXG4gICAgICAgIGlmIChjb2x1bW5zLnR5cGUgPT0gJ2ZlY2hhJykgIHRoaXMuZGF0YVtpbmRleERhdGFdW2NvbHVtbnMuSURdID0gdGhpcy5mdW5jdGlvbkV0ZXIuZGF0ZUlzbyhjb2x1bW5WYWx1ZSk7XHJcbiAgICAgICAgaWYgKGNvbHVtbnMudHlwZSA9PSAnY3VycmVuY3knKSB0aGlzLmRhdGFbaW5kZXhEYXRhXVtjb2x1bW5zLklEXSA9IEludGwuTnVtYmVyRm9ybWF0KCdlcy1DTycpLmZvcm1hdChjb2x1bW5WYWx1ZSk7XHJcbiAgICAgICAgaWYgKGNvbHVtbnMudHlwZSA9PSAnYm9vbGVhbicpICB0aGlzLmRhdGFbaW5kZXhEYXRhXVtjb2x1bW5zLklEXSA9IGNvbHVtblZhbHVlID09IDEgPyBcIlNpXCIgOiBcIk5vXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tib3hzW3Jvd1t0aGlzLmNvbmZpZ3VyYXRpb24ucHJpbWFyeUtleV1dID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luYWxEYXRhLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vcmlnaW5hbERhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGlja09uUm9XKHJvd0RhdGEpIHtcclxuICAgIHRoaXMuY2xpY2tSb3cuZW1pdChyb3dEYXRhKTtcclxuICB9XHJcblxyXG4gIGFjdGlvbihhY3Rpb24pIHtcclxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ2FkZCc6XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5hZGRQZXIpIHtcclxuICAgICAgICAgIHRoaXMuYWRkLmVtaXQodGhpcy5sZW5ndGgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1xyXG4gICAgICAgICAgICAub3BlbihUYWJsZU1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgd2lkdGg6ICc2MHZoJyxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGQuZW1pdChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2VkaXQnOlxyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uZWRpdFBlcikge1xyXG4gICAgICAgICAgdGhpcy5lZGl0LmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgY29sdW1uczogYW55O1xyXG4gICAgICAgICAgY29sdW1ucyA9IHRoaXMuY29sdW1ucztcclxuXHJcbiAgICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJvd3NbMF0pLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChjb2x1bW4uSUQgPT0ga2V5KSB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5zW2luZGV4XS52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRSb3dzWzBdW2tleV07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgICAgICAgIC5vcGVuKFRhYmxlTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBhY3Rpb24sXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHRoaXMuc2VsZWN0ZWRSb3dzWzBdLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgd2lkdGg6ICc2MHZoJyxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0LmVtaXQoeyBuZXc6IHJlc3VsdCwgb2xkOiB0aGlzLnNlbGVjdGVkUm93c1swXSB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIHRoaXMuZGVsZXRlLmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAncHJpbnQnOlxyXG4gICAgICAgIHRoaXMucHJpbnQuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2FjdGl2ZSc6XHJcbiAgICAgICAgdGhpcy5hY3RpdmUuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2V4cG9ydFRvRXhjZWwnOlxyXG4gICAgICAgIHRoaXMuZXhwb3J0VG9FeGNlbCgpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnRUb0V4Y2VsKCl7XHJcbiAgICBsZXQgcGFyYW1zID0gW11cclxuICAgIGlmKHRoaXMudXJsICYmIHRoaXMucGFyYW1zKXtcclxuICAgICAgcGFyYW1zID0gWy4uLnRoaXMucGFyYW1zXVxyXG4gICAgICBsZXQgaSA9IHBhcmFtcy5maW5kSW5kZXgoeCA9PiB4LmlkID09ICdwZXJfcGFnZScpXHJcbiAgICAgIHBhcmFtc1tpXS52YWx1ZSA9IDEwMDAwMDBcclxuICAgIH1cclxuICAgIHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVRvWGxzeDxhbnk+KHRoaXMudGl0bGUsIHRoaXMuaGVhZGVyRmlsZVhsc20sIHRoaXMudGl0bGUsIHRoaXMudXJsP251bGw6dGhpcy5kYXRhLCB0aGlzLnVybCwgcGFyYW1zLCB0aGlzLmZpbHRlcnNQb3N0KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0aW9uKHJvdywgJGV2ZW50KSB7XHJcbiAgICB0aGlzLmNoZWNrYm94c1tyb3dbdGhpcy5jb25maWd1cmF0aW9uLnByaW1hcnlLZXldXSA9ICRldmVudC5jaGVja2VkO1xyXG4gICAgaWYgKCRldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLnB1c2gocm93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRSb3dzLmluZGV4T2Yocm93KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdGFibGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJvd3MubGVuZ3RoID09IHRoaXMuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aCA+IDAgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MubGVuZ3RoIDwgdGhpcy5kYXRhLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVN0YXRlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVN0YXRlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCRldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWxldGVjQWxsRXZlbnQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGVTdGF0ZSA9IGZhbHNlO1xyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdEFsbCkge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94cykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGVja2JveHNba2V5XSA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBbXTtcclxuICAgICAgbGV0IGRhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tib3hzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICB0aGlzLmNoZWNrYm94c1trZXldID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VydmljZSA9IGF3YWl0IHRoaXMuZ2V0RGF0ZVRhYmxlQnlVcmwoKVxyXG4gICAgdGhpcy5kYXRhID0gc2VydmljZVsnZGF0YSddO1xyXG4gICAgdGhpcy5pbnRlcm5hbERhdGEuZW1pdChzZXJ2aWNlKVxyXG4gICAgdGhpcy5sZW5ndGggPSBzZXJ2aWNlWydjb3VudCddO1xyXG4gICAgdGhpcy52YWxpZGF0ZVJ1bGVzKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGaWx0ZXJzKCkge1xyXG4gICAgaWYgKHRoaXMucGFyYW1zKVxyXG4gICAgICB0aGlzLnBhcmFtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuaWQgPT0gJ2ZpbHRlcicpIHtcclxuICAgICAgICAgIGVsZW1lbnQudmFsdWUgPSB0aGlzLmZpbHRlcnM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcGx5RmlsdGVycygpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYXBwbHlGaWx0ZXJzKCRldmVudD86YW55KXtcclxuICAgIGlmKCRldmVudCkgdGhpcy5maWx0ZXJzUG9zdCA9ICRldmVudFxyXG4gICAgaWYgKHRoaXMudXJsKSB7XHJcbiAgICAgIGxldCByZXM6YW55ID0gYXdhaXQgdGhpcy5nZXREYXRlVGFibGVCeVVybCgpXHJcbiAgICAgIHRoaXMuZGF0YSA9IHJlc1snZGF0YSddO1xyXG4gICAgICB0aGlzLnZhbGlkYXRlUnVsZXMoKTtcclxuICAgICAgdGhpcy5sZW5ndGggPSByZXNbJ2NvdW50J107XHJcbiAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLmVtaXQocmVzKVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMub3JpZ2luYWxEYXRhLmZpbHRlcigoZGF0YSkgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyhkYXRhKSkge1xyXG4gICAgICAgICAgbGV0IHJlc3VsdCA9IGRhdGFba2V5XVxyXG4gICAgICAgICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAuaW5jbHVkZXModGhpcy5maWx0ZXJzLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnBhcmFtcy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5pZCA9PSAncGVyX3BhZ2UnKSB7XHJcbiAgICAgICAgZWxlbWVudC52YWx1ZSA9ICRldmVudC5wYWdlU2l6ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZWxlbWVudC5pZCA9PSAncGFnZScpIHtcclxuICAgICAgICBlbGVtZW50LnZhbHVlID0gJGV2ZW50LnBhZ2VJbmRleDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFwcGx5RmlsdGVycygpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuZW51bSBlbnVtUnVsZXMge1xyXG4gIFwiPlwiLFxyXG4gIFwiPFwiLFxyXG4gIFwiPT1cIixcclxuICBcIiE9XCJcclxufVxyXG4iLCI8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJTtcIj5cclxuICA8YXBwLWZpbHRlcnMgW2hlYWRlckZpbHRlcnNdPVwiaGVhZGVyRmlsdGVyc1wiIChhcHBseUZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj5cclxuICA8L2FwcC1maWx0ZXJzPlxyXG5cclxuICA8ZGl2IHN0eWxlPSdkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICBhbGlnbi1pdGVtczogY2VudGVyOyc+XHJcbiAgICA8ZGl2IHN0eWxlPSdmbGV4OjE7IGZvbnQtc2l6ZTogMXJlbTsnPlxyXG4gICAgICA8c3Ryb25nPjxwIHN0eWxlPSdtYXJnaW46MCcgKm5nSWY9J3NlbGVjdGVkUm93cy5sZW5ndGg+MCAmJiBzZWxlY3RlZFJvd3MubGVuZ3RoPDInPiB7e3NlbGVjdGVkUm93cy5sZW5ndGh9fSBTZWxlY2Npb25hZG8gPC9wPjwvc3Ryb25nPlxyXG4gICAgICA8c3Ryb25nPjxwIHN0eWxlPSdtYXJnaW46MCcgKm5nSWY9J3NlbGVjdGVkUm93cy5sZW5ndGg+MSc+IHt7c2VsZWN0ZWRSb3dzLmxlbmd0aH19IFNlbGVjY2lvbmFkb3MgPC9wPjwvc3Ryb25nPlxyXG4gICAgICA8c3Ryb25nPjxwIHN0eWxlPSdtYXJnaW46MCcgKm5nSWY9J3NlbGVjdGVkUm93cy5sZW5ndGg8MSAmJiAhY29uZmlndXJhdGlvbi5oaWRlVGl0bGUnPiB7e3RpdGxlfX0gPC9wPjwvc3Ryb25nPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFjb25maWd1cmF0aW9uLmhpZGVGaWx0ZXJcIiBzdHlsZT0nZmxleDozOyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBtYXJnaW4tYm90dG9tOiA1cHg7Jz5cclxuICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0nZmlsdGVyJz5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT0nZmlsdGVycycgKGtleXVwKT0nY2hhbmdlRmlsdGVycygpJyAgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJGaWx0cmFyXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPSdmbGV4OjAuNTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyc+XHJcblxyXG4gICAgICA8ZGl2IChjbGljayk9J2FjdGlvbihcImVkaXRcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPT0xJyBtYXRUb29sdGlwPVwiRWRpdGFyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgYnRuLWFjY2lvblwiIHN0eWxlPVwiZm9udC1zaXplOiAxNzAlOyBtYXJnaW4tcmlnaHQ6IDE1cHg7XCIgKm5nSWY9J2NvbmZpZ3VyYXRpb24uZWRpdCc+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKGNsaWNrKT0nYWN0aW9uKFwicHJpbnRcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPT0xICYmIHNjcmVlbicgbWF0VG9vbHRpcD1cIkltcHJpbWlyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXByaW50IGJ0bi1hY2Npb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTcwJTsgbWFyZ2luLXJpZ2h0OiAxNXB4O1wiICpuZ0lmPSdjb25maWd1cmF0aW9uLnByaW50Jz48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAoY2xpY2spPSdhY3Rpb24oXCJkZWxldGVcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPjAnIG1hdFRvb2x0aXA9XCJFbGltaW5hclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cmFzaCBidG4tYWNjaW9uXCIgc3R5bGU9XCJmb250LXNpemU6IDE3MCU7IG1hcmdpbi1yaWdodDogMTVweDtcIiAqbmdJZj0nY29uZmlndXJhdGlvbi5kZWxldGUnPjwvaT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IChjbGljayk9J2FjdGlvbihcImFjdGl2ZVwiKScgKm5nSWY9J3NlbGVjdGVkUm93cy5sZW5ndGg+MCcgbWF0VG9vbHRpcD1cIkFjdGl2YXIvRGVzYWN0aXZhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hZGp1c3QgYnRuLWFjY2lvblwiIHN0eWxlPVwiZm9udC1zaXplOiAxNzAlOyBtYXJnaW4tcmlnaHQ6IDE1cHg7XCIgKm5nSWY9J2NvbmZpZ3VyYXRpb24uYWN0aXZlJz48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAoY2xpY2spPSdhY3Rpb24oXCJhZGRcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPT0wJyBtYXRUb29sdGlwPVwiTnVldm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGUgYnRuLWFjY2lvblwiIHN0eWxlPVwiZm9udC1zaXplOiAxNzAlO21hcmdpbi1yaWdodDogMTVweDtcIiAqbmdJZj0nY29uZmlndXJhdGlvbi5hZGQnPjwvaT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IChjbGljayk9J2FjdGlvbihcImV4cG9ydFRvRXhjZWxcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoID09IDAgJiYgZGF0YS5sZW5ndGggPiAwJyBtYXRUb29sdGlwPVwiRXhwb3J0YXIgZXhjZWxcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZG93bmxvYWQgYnRuLWFjY2lvblwiIHN0eWxlPVwiZm9udC1zaXplOiAxNzAlO21hcmdpbi1yaWdodDogMTVweDtcIiAqbmdJZj0nY29uZmlndXJhdGlvbi5leHBvcnRYc2x4Jz48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuIDx0YWJsZSBjbGFzcz1cInRhYmxlX0V0ZXIgdGFibGUtaG92ZXJcIj5cclxuICAgICA8dGhlYWQgY2xhc3M9XCJkYXJrXCI+XHJcbiAgICAgICA8dHIgPlxyXG4gICAgICAgIDx0aCAqbmdJZj0nY29uZmlndXJhdGlvbi5zZWxlY3RhYmxlIHx8IGNvbmZpZ3VyYXRpb24uZGVsZXRlIHx8IGNvbmZpZ3VyYXRpb24uZWRpdCcgc3R5bGU9J2p1c3RpZnktY29udGVudDogY2VudGVyOyc+XHJcbiAgICAgICAgICA8bWF0LWNoZWNrYm94IGNvbG9yPSdwcmltYXJ5JyAoY2hhbmdlKT0nc2VsZXRlY0FsbEV2ZW50KCRldmVudCknIFsobmdNb2RlbCldPSdzZWxlY3RBbGwnIFtpbmRldGVybWluYXRlXT0naW5kZXRlcm1pbmF0ZVN0YXRlJz4gPC9tYXQtY2hlY2tib3g+ICA8L3RoPlxyXG4gICAgICAgPHRoXHJcbiAgICAgICBbY2xhc3NdPVwiY29sdW1uLnN0eWxlPy5tb3ZpbFwiXHJcbiAgICAgICAqbmdGb3I9J2xldCBjb2x1bW4gb2YgY29sdW1ucycgc2NvcGU9XCJjb2xcIlxyXG4gICAgICAgW25nU3R5bGVdPVwiY29sdW1uLnN0eWxlXCJcclxuICAgICAgID57e2NvbHVtbi5sYWJlbH19PC90aD5cclxuICAgICAgIDwvdHI+XHJcbiAgICAgPC90aGVhZD5cclxuICAgICA8dGJvZHkgY2xhc3M9J21hdC1lbGV2YXRpb24tejMnPlxyXG5cclxuICAgICAgIDx0ciBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiAqbmdGb3I9J2xldCByb3cgb2YgZGF0YScgKGNsaWNrKT0nY2xpY2tPblJvVyhyb3cpJyA+XHJcbiAgICAgICAgPHRoICpuZ0lmPSdjb25maWd1cmF0aW9uLnNlbGVjdGFibGUgfHwgY29uZmlndXJhdGlvbi5kZWxldGUgfHwgY29uZmlndXJhdGlvbi5lZGl0JyBzdHlsZT0nanVzdGlmeS1jb250ZW50OiBjZW50ZXI7Jz4gPG1hdC1jaGVja2JveCBjb2xvcj0ncHJpbWFyeScgWyhuZ01vZGVsKV09J2NoZWNrYm94c1tyb3dbY29uZmlndXJhdGlvbi5wcmltYXJ5S2V5XV0nIChjbGljayk9J2NsaWNrZWQoJGV2ZW50KScgKGNoYW5nZSk9J3NlbGVjdGlvbihyb3csICRldmVudCknPiA8L21hdC1jaGVja2JveD4gIDwvdGg+XHJcbiAgICAgICAgPHRoIFtjbGFzc109J2NvbHVtbi5zdHlsZT8ubW92aWwnIFtuZ1N0eWxlXT0nY29sdW1uLnN0eWxlJyBzY29wZT1cInJvd1wiICpuZ0Zvcj0nbGV0IGNvbHVtbiBvZiBjb2x1bW5zJz57eyByb3dbY29sdW1uLklEXSB9fTwvdGg+XHJcbiAgICAgICA8L3RyPlxyXG5cclxuXHJcbiAgICAgPC90Ym9keT5cclxuXHJcbiAgIDwvdGFibGU+XHJcblxyXG4gICA8ZGl2ICpuZ0lmPSdsZW5ndGggPT0gMCAmJiBkYXRhLmxlbmd0aCA9PSAwJyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPiA8c3Ryb25nPk5vIHNlIGVuY29udHLDsyBpbmZvcm1hY2nDs248L3N0cm9uZz48L2Rpdj5cclxuXHJcbiAgIDxtYXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdG9yQWN0aXZlXCJcclxuICAgW2xlbmd0aF09XCJsZW5ndGhcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiIHNob3dGaXJzdExhc3RCdXR0b25zXHJcbiAgIChwYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvbWF0LXBhZ2luYXRvcj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFHWixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzNFLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sUUFBUSxNQUFNLEVBQUUsQ0FBQztLQUN6QjtJQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3QixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBRW5DLE1BQU0sUUFBUSxHQUNaLFVBQVUsR0FBRyxNQUFNO1FBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxRQUFRLEVBQUUsTUFBTSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxV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QkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csR0FBRztzQkFBWixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSztnQkFJcUMsU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztBQTZWM0MsSUFBSyxTQUtKO0FBTEQsV0FBSyxTQUFTO0lBQ1osbUNBQUcsQ0FBQTtJQUNILG1DQUFHLENBQUE7SUFDSCxxQ0FBSSxDQUFBO0lBQ0oscUNBQUksQ0FBQTtBQUNOLENBQUMsRUFMSSxTQUFTLEtBQVQsU0FBUyxRQUtiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuU2l6ZVV0aWwgfSBmcm9tICcuLy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplLXV0aWwnO1xyXG5pbXBvcnQgeyBFeHBvcnREYXRhU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvZXhwb3J0LWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVGFibGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9kYXRhLXRhYmxlL3RhYmxlLW1vZGFsL3RhYmxlLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGdW5jdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZnVuY3Rpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJbnRsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5jb25zdCBzcGFuaXNoUmFuZ2VMYWJlbCA9IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiB7XHJcbiAgaWYgKGxlbmd0aCA9PSAwIHx8IHBhZ2VTaXplID09IDApIHtcclxuICAgIHJldHVybiBgMCBkZSAke2xlbmd0aH1gO1xyXG4gIH1cclxuXHJcbiAgbGVuZ3RoID0gTWF0aC5tYXgobGVuZ3RoLCAwKTtcclxuXHJcbiAgY29uc3Qgc3RhcnRJbmRleCA9IHBhZ2UgKiBwYWdlU2l6ZTtcclxuXHJcbiAgY29uc3QgZW5kSW5kZXggPVxyXG4gICAgc3RhcnRJbmRleCA8IGxlbmd0aFxyXG4gICAgICA/IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSwgbGVuZ3RoKVxyXG4gICAgICA6IHN0YXJ0SW5kZXggKyBwYWdlU2l6ZTtcclxuXHJcbiAgcmV0dXJuIGAke3N0YXJ0SW5kZXggKyAxfSAtICR7ZW5kSW5kZXh9IGRlICR7bGVuZ3RofWA7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdGl0bGU7XHJcbiAgQElucHV0KCkgY29sdW1ucztcclxuICBASW5wdXQoKSBkYXRhOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBjb21ibztcclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uID0ge1xyXG4gICAgYWRkOiBmYWxzZSxcclxuICAgIGVkaXQ6IGZhbHNlLFxyXG4gICAgZGVsZXRlOiBmYWxzZSxcclxuICAgIGFjdGl2ZTpmYWxzZSxcclxuICAgIHNlbGVjdGFibGU6IGZhbHNlLFxyXG4gICAgcHJpbnQ6IGZhbHNlLFxyXG4gICAgYWRkUGVyOiBmYWxzZSxcclxuICAgIGVkaXRQZXI6IGZhbHNlLFxyXG4gICAgcHJpbWFyeUtleTogJ2lkJyxcclxuICAgIGV4cG9ydFhzbHg6ZmFsc2UsXHJcbiAgICBoaWRlVGl0bGU6dHJ1ZSxcclxuICAgIGhpZGVGaWx0ZXI6IHRydWUsXHJcbiAgICBub3RJbml0aWFsaXplOiBmYWxzZSxcclxuICAgIGJsb2NrRXZlbnRjbGlja1JvdzogZmFsc2VcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSByZWxvYWRUYWJsZTogRXZlbnRFbWl0dGVyPGFueT47XHJcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFyYW1zOiBBcnJheTxhbnk+IDtcclxuICBASW5wdXQoKSB0aXRsZUxvYWRpbmc6IHN0cmluZyA9IFwiXCJcclxuICBASW5wdXQoKSBtZXNzYWdlTG9hZGluZzogc3RyaW5nID0gXCJcIlxyXG4gIEBJbnB1dCgpIGhlYWRlckZpbGVYbHNtOkFycmF5PGFueT4gPSBbXVxyXG5cclxuICBAT3V0cHV0KCkgY2xpY2tSb3cgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgYWRkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHByaW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGl2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbnRlcm5hbERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBoZWFkZXJGaWx0ZXJzOiBBcnJheTxhbnk+ID0gW11cclxuXHJcbiAgbW92aWwgPSBTY3JlZW5TaXplVXRpbC5pc01vYmlsZSgpO1xyXG4gIGZpbHRlcnNQb3N0OkFycmF5PGFueT4gPSBbXVxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgc2VsZWN0ZWRSb3dzID0gW107IC8qKiBhbG1hY2VuYSBsYXMgZmlsYXMgc2VsZWNjaW9uYWRhcyAqL1xyXG4gIGNoZWNrYm94cyA9IHt9O1xyXG4gIHNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIGluZGV0ZXJtaW5hdGVTdGF0ZSA9IGZhbHNlO1xyXG4gIGZpbHRlcnM7XHJcbiAgb3JpZ2luYWxEYXRhID0gW107XHJcbiAgcGFnaW5hdG9yQWN0aXZlID0gdHJ1ZTtcclxuICBzY3JlZW46IGJvb2xlYW4gPSB0cnVlXHJcblxyXG4gIGlkX2NvbXBhbmlhO1xyXG5cclxuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwLCAyNSwgNTAsIDEwMF07XHJcblxyXG4gIHBhZ2VTaXplID0gc2NyZWVuLndpZHRoID4gNTAwPzEwOjU7XHJcbiAgbGVuZ3RoID0gMDtcclxuXHJcbiAgcGFnZSA9IDA7XHJcblxyXG4gIGFib3ZlOiBUb29sdGlwUG9zaXRpb25bXSA9IFsnYWJvdmUnXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZnVuY3Rpb25FdGVyOiBGdW5jdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwYWdpbmF0b3JUcmFuc2xhdGU6IE1hdFBhZ2luYXRvckludGwsXHJcbiAgICBwcml2YXRlIGV4cG9ydFNlcnZpY2UgOiBFeHBvcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUcmFuc2xhdGUuaXRlbXNQZXJQYWdlTGFiZWwgPSAnRWxlbWVudG9zIHBvciBww6FnaW5hJztcclxuICAgIHRoaXMucGFnaW5hdG9yVHJhbnNsYXRlLm5leHRQYWdlTGFiZWwgPSAnU2lndWllbnRlIHDDoWdpbmEnO1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUcmFuc2xhdGUubGFzdFBhZ2VMYWJlbCA9ICfDmmx0aW1hIHDDoWdpbmEnO1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUcmFuc2xhdGUucHJldmlvdXNQYWdlTGFiZWwgPSAnUMOhZ2luYSBhbnRlcmlvcic7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRyYW5zbGF0ZS5maXJzdFBhZ2VMYWJlbCA9ICdQcmltZXJhIHDDoWdpbmEnO1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUcmFuc2xhdGUuZ2V0UmFuZ2VMYWJlbCA9IHNwYW5pc2hSYW5nZUxhYmVsO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAod2luZG93LnNjcmVlbi53aWR0aCA+IDEwMDApIHtcclxuICAgICAgdGhpcy5zY3JlZW4gPSB0cnVlXHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsICgpID0+IHsgd2luZG93LnNjcmVlbi53aWR0aCA+IDEwMDAgPyB0aGlzLnNjcmVlbiA9IHRydWUgOiB0aGlzLnNjcmVlbiA9IGZhbHNlOyB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2NyZWVuID0gZmFsc2U7XHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsICgpID0+IHsgd2luZG93LnNjcmVlbi53aWR0aCA+IDEwMDAgPyB0aGlzLnNjcmVlbiA9IHRydWUgOiB0aGlzLnNjcmVlbiA9IGZhbHNlOyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZWxvYWRUYWJsZSkge1xyXG4gICAgICB0aGlzLnJlbG9hZFRhYmxlLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2VsZXRlY0FsbEV2ZW50KCcnKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aXRsZUxvYWRpbmcgPT0gXCJcIiA/IHRoaXMudGl0bGVMb2FkaW5nID0gXCJDYXJnYW5kb1wiIDogJyc7XHJcbiAgICB0aGlzLm1lc3NhZ2VMb2FkaW5nID09IFwiXCIgPyB0aGlzLm1lc3NhZ2VMb2FkaW5nID0gXCJPYnRlbmllbmRvIGRhdG9zLi4uXCIgOiAnJztcclxuICAgIHRoaXMudXJsICYmICF0aGlzLmNvbmZpZ3VyYXRpb24ubm90SW5pdGlhbGl6ZSA/IHRoaXMubWVzc2FnZS5vcGVuTG9hZGluZyh0aGlzLnRpdGxlTG9hZGluZywgdGhpcy5tZXNzYWdlTG9hZGluZykgOiAnJztcclxuXHJcbiAgICBpZiAodGhpcy51cmwgJiYgIXRoaXMuY29uZmlndXJhdGlvbi5ub3RJbml0aWFsaXplKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHNlcnZpY2UgPSBhd2FpdCB0aGlzLmdldERhdGVUYWJsZUJ5VXJsKClcclxuICAgICAgICB0aGlzLmRhdGEgPSBzZXJ2aWNlWydkYXRhJ107XHJcbiAgICAgICAgdGhpcy5sZW5ndGggPSBzZXJ2aWNlWydjb3VudCddO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGVSdWxlcygpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrYm94c1tyb3dbdGhpcy5jb25maWd1cmF0aW9uLnByaW1hcnlLZXldXSA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmludGVybmFsRGF0YS5lbWl0KHNlcnZpY2UpXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2UuY2xvc2VMb2FkaW5nKCk7XHJcbiAgICAgICAgfSwgNTAwKTtcclxuXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhZ2luYXRvckFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXREYXRlVGFibGVCeVVybCgpe1xyXG4gICAgdGhpcy52YWxpZGFyUGFyYW1zKCk7XHJcbiAgICBpZih0aGlzLmZpbHRlcnNQb3N0Lmxlbmd0aCA+IDApe1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwLnBvc3REYXRhQm9keSh0aGlzLnVybCwgdGhpcy5maWx0ZXJzUG9zdCwgdGhpcy5wYXJhbXMpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaHR0cC5nZXREYXRhQm9keSh0aGlzLnVybCwgdGhpcy5wYXJhbXMpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGFyUGFyYW1zKCkge1xyXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZ1bmN0aW9uRXRlci5yZW1vdmVEdXBsaWNhdGVPYmplY3RzKHRoaXMucGFyYW1zKVxyXG4gICAgaWYgKHRoaXMucGFyYW1zKSB7XHJcbiAgICAgIGlmICghdGhpcy5wYXJhbXMuZmluZCh4ID0+IHguaWQgPT0gJ3BhZ2UnKSkge1xyXG4gICAgICAgIHRoaXMucGFyYW1zLnB1c2goe2lkOiAncGFnZScsIHZhbHVlOiAnMCd9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMucGFyYW1zLmZpbmQoeCA9PiB4LmlkID09ICdwZXJfcGFnZScpKSB7XHJcbiAgICAgICAgdGhpcy5wYXJhbXMucHVzaCh7aWQ6ICdwZXJfcGFnZScsIHZhbHVlOiB0aGlzLnBhZ2VTaXplfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMucGFyYW1zLmZpbmQoeCA9PiB4LmlkID09ICdmaWx0ZXInKSkge1xyXG4gICAgICAgICB0aGlzLnBhcmFtcy5wdXNoKHtpZDogJ2ZpbHRlcicsdmFsdWU6ICcnfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gYXN5bmMgdmFsaWRhdGVSdWxlcygpe1xyXG4gICBmb3IgKGNvbnN0IFtpbmRleCwgY29sdW1ucyBdIG9mIHRoaXMuY29sdW1ucy5lbnRyaWVzKCkpIHtcclxuICAgICBmb3IgKGNvbnN0IFtpbmRleERhdGEsIGVsZW1lbnRdIG9mIHRoaXMuZGF0YS5lbnRyaWVzKCkpIHtcclxuICAgICAgIGlmIChjb2x1bW5zLnJ1bGVzKXtcclxuICAgICAgICAgZm9yIChjb25zdCBydWxlIG9mIGNvbHVtbnMucnVsZXMpIHtcclxuICAgICAgICAgICAgaWYgKHJ1bGUucnVsZSAgPT0gZW51bVJ1bGVzWyc9PSddKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGVsZW1lbnRbY29sdW1ucy5JRF0gJiYgZWxlbWVudFtjb2x1bW5zLklEXS50b1N0cmluZygpID09IHJ1bGUudmFsdWVSdWxlLnRvU3RyaW5nKCkgKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFbaW5kZXhEYXRhXVtjb2x1bW5zLklEXSA9IHJ1bGUudmFsdWVBY3Rpb25cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY29sdW1uVmFsdWUgPSBlbGVtZW50W2NvbHVtbnMuSURdO1xyXG4gICAgICAgIGlmIChjb2x1bW5zLnR5cGUgPT0gJ2ZlY2hhJyB8fCBjb2x1bW5zLnR5cGUgPT0gJ2RhdGUnKSAgdGhpcy5kYXRhW2luZGV4RGF0YV1bY29sdW1ucy5JRF0gPSB0aGlzLmZ1bmN0aW9uRXRlci5kYXRlSXNvKGNvbHVtblZhbHVlKTtcclxuICAgICAgICBpZiAoY29sdW1ucy50eXBlID09ICdkYXRlV2l0aFRpbWUnKSAgdGhpcy5kYXRhW2luZGV4RGF0YV1bY29sdW1ucy5JRF0gPSB0aGlzLmZ1bmN0aW9uRXRlci5kYXRlV2l0aFRpbWUoY29sdW1uVmFsdWU/LnRvU3RyaW5nKCkgPz8gY29sdW1uVmFsdWUpO1xyXG4gICAgICAgIGlmIChjb2x1bW5zLnR5cGUgPT0gJ2N1cnJlbmN5JykgdGhpcy5kYXRhW2luZGV4RGF0YV1bY29sdW1ucy5JRF0gPSBJbnRsLk51bWJlckZvcm1hdCgnZXMtQ08nKS5mb3JtYXQoY29sdW1uVmFsdWUpO1xyXG4gICAgICAgIGlmIChjb2x1bW5zLnR5cGUgPT0gJ2Jvb2xlYW4nKSAgdGhpcy5kYXRhW2luZGV4RGF0YV1bY29sdW1ucy5JRF0gPSBjb2x1bW5WYWx1ZSA9PSAxID8gXCJTaVwiIDogXCJOb1wiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrYm94c1tyb3dbdGhpcy5jb25maWd1cmF0aW9uLnByaW1hcnlLZXldXSA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLm9yaWdpbmFsRGF0YS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMub3JpZ2luYWxEYXRhLnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xpY2tPblJvVyhyb3dEYXRhKSB7XHJcbiAgICB0aGlzLmNsaWNrUm93LmVtaXQocm93RGF0YSk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb24oYWN0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICBjYXNlICdhZGQnOlxyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uYWRkUGVyKSB7XHJcbiAgICAgICAgICB0aGlzLmFkZC5lbWl0KHRoaXMubGVuZ3RoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dcclxuICAgICAgICAgICAgLm9wZW4oVGFibGVNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGFjdGlvbixcclxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHdpZHRoOiAnNjB2aCcsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkLmVtaXQocmVzdWx0KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmVkaXRQZXIpIHtcclxuICAgICAgICAgIHRoaXMuZWRpdC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbGV0IGNvbHVtbnM6IGFueTtcclxuICAgICAgICAgIGNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XHJcblxyXG4gICAgICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRSb3dzWzBdKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoY29sdW1uLklEID09IGtleSkge1xyXG4gICAgICAgICAgICAgICAgY29sdW1uc1tpbmRleF0udmFsdWUgPSB0aGlzLnNlbGVjdGVkUm93c1swXVtrZXldO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1xyXG4gICAgICAgICAgICAub3BlbihUYWJsZU1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVzOiB0aGlzLnNlbGVjdGVkUm93c1swXSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHdpZHRoOiAnNjB2aCcsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdC5lbWl0KHsgbmV3OiByZXN1bHQsIG9sZDogdGhpcy5zZWxlY3RlZFJvd3NbMF0gfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgICB0aGlzLmRlbGV0ZS5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3ByaW50JzpcclxuICAgICAgICB0aGlzLnByaW50LmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhY3RpdmUnOlxyXG4gICAgICAgIHRoaXMuYWN0aXZlLmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdleHBvcnRUb0V4Y2VsJzpcclxuICAgICAgICB0aGlzLmV4cG9ydFRvRXhjZWwoKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCgpe1xyXG4gICAgbGV0IHBhcmFtcyA9IFtdXHJcbiAgICBpZih0aGlzLnVybCAmJiB0aGlzLnBhcmFtcyl7XHJcbiAgICAgIHBhcmFtcyA9IFsuLi50aGlzLnBhcmFtc11cclxuICAgICAgbGV0IGkgPSBwYXJhbXMuZmluZEluZGV4KHggPT4geC5pZCA9PSAncGVyX3BhZ2UnKVxyXG4gICAgICBwYXJhbXNbaV0udmFsdWUgPSAxMDAwMDAwXHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UuZ2VuZXJhdGVUb1hsc3g8YW55Pih0aGlzLnRpdGxlLCB0aGlzLmhlYWRlckZpbGVYbHNtLCB0aGlzLnRpdGxlLCB0aGlzLnVybD9udWxsOnRoaXMuZGF0YSwgdGhpcy51cmwsIHBhcmFtcywgdGhpcy5maWx0ZXJzUG9zdClcclxuICB9XHJcblxyXG4gIHNlbGVjdGlvbihyb3csICRldmVudCkge1xyXG4gICAgdGhpcy5jaGVja2JveHNbcm93W3RoaXMuY29uZmlndXJhdGlvbi5wcmltYXJ5S2V5XV0gPSAkZXZlbnQuY2hlY2tlZDtcclxuICAgIGlmICgkZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5wdXNoKHJvdyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkUm93cy5pbmRleE9mKHJvdyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RhYmxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aCA9PSB0aGlzLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aCA8IHRoaXMuZGF0YS5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGVTdGF0ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGVTdGF0ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xpY2tlZCgkZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2VsZXRlY0FsbEV2ZW50KCRldmVudCkge1xyXG4gICAgdGhpcy5pbmRldGVybWluYXRlU3RhdGUgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGwpIHtcclxuICAgICAgT2JqZWN0LmtleXModGhpcy5jaGVja2JveHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hlY2tib3hzW2tleV0gPSB0cnVlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gW107XHJcbiAgICAgIGxldCBkYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICBkYXRhLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUm93cy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94cykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGVja2JveHNba2V5XSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNlcnZpY2UgPSBhd2FpdCB0aGlzLmdldERhdGVUYWJsZUJ5VXJsKClcclxuICAgIHRoaXMuZGF0YSA9IHNlcnZpY2VbJ2RhdGEnXTtcclxuICAgIHRoaXMuaW50ZXJuYWxEYXRhLmVtaXQoc2VydmljZSlcclxuICAgIHRoaXMubGVuZ3RoID0gc2VydmljZVsnY291bnQnXTtcclxuICAgIHRoaXMudmFsaWRhdGVSdWxlcygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlRmlsdGVycygpIHtcclxuICAgIGlmICh0aGlzLnBhcmFtcylcclxuICAgICAgdGhpcy5wYXJhbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50LmlkID09ICdmaWx0ZXInKSB7XHJcbiAgICAgICAgICBlbGVtZW50LnZhbHVlID0gdGhpcy5maWx0ZXJzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcHBseUZpbHRlcnMoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFwcGx5RmlsdGVycygkZXZlbnQ/OmFueSl7XHJcbiAgICBpZigkZXZlbnQpIHRoaXMuZmlsdGVyc1Bvc3QgPSAkZXZlbnRcclxuICAgIGlmICh0aGlzLnVybCkge1xyXG4gICAgICBsZXQgcmVzOmFueSA9IGF3YWl0IHRoaXMuZ2V0RGF0ZVRhYmxlQnlVcmwoKVxyXG4gICAgICB0aGlzLmRhdGEgPSByZXNbJ2RhdGEnXTtcclxuICAgICAgdGhpcy52YWxpZGF0ZVJ1bGVzKCk7XHJcbiAgICAgIHRoaXMubGVuZ3RoID0gcmVzWydjb3VudCddO1xyXG4gICAgICB0aGlzLmludGVybmFsRGF0YS5lbWl0KHJlcylcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLm9yaWdpbmFsRGF0YS5maWx0ZXIoKGRhdGEpID0+IHtcclxuICAgICAgICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcclxuICAgICAgICAgIGxldCByZXN1bHQgPSBkYXRhW2tleV1cclxuICAgICAgICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLmluY2x1ZGVzKHRoaXMuZmlsdGVycy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKCRldmVudCkge1xyXG4gICAgdGhpcy5wYXJhbXMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKGVsZW1lbnQuaWQgPT0gJ3Blcl9wYWdlJykge1xyXG4gICAgICAgIGVsZW1lbnQudmFsdWUgPSAkZXZlbnQucGFnZVNpemU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVsZW1lbnQuaWQgPT0gJ3BhZ2UnKSB7XHJcbiAgICAgICAgZWxlbWVudC52YWx1ZSA9ICRldmVudC5wYWdlSW5kZXg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5hcHBseUZpbHRlcnMoKVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmVudW0gZW51bVJ1bGVzIHtcclxuICBcIj5cIixcclxuICBcIjxcIixcclxuICBcIj09XCIsXHJcbiAgXCIhPVwiXHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cIndpZHRoOjEwMCU7XCI+XHJcbiAgPGFwcC1maWx0ZXJzIFtoZWFkZXJGaWx0ZXJzXT1cImhlYWRlckZpbHRlcnNcIiAoYXBwbHlGaWx0ZXJzKT1cImFwcGx5RmlsdGVycygkZXZlbnQpXCI+XHJcbiAgPC9hcHAtZmlsdGVycz5cclxuXHJcbiAgPGRpdiBzdHlsZT0nZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAgYWxpZ24taXRlbXM6IGNlbnRlcjsnPlxyXG4gICAgPGRpdiBzdHlsZT0nZmxleDoxOyBmb250LXNpemU6IDFyZW07Jz5cclxuICAgICAgPHN0cm9uZz48cCBzdHlsZT0nbWFyZ2luOjAnICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPjAgJiYgc2VsZWN0ZWRSb3dzLmxlbmd0aDwyJz4ge3tzZWxlY3RlZFJvd3MubGVuZ3RofX0gU2VsZWNjaW9uYWRvIDwvcD48L3N0cm9uZz5cclxuICAgICAgPHN0cm9uZz48cCBzdHlsZT0nbWFyZ2luOjAnICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPjEnPiB7e3NlbGVjdGVkUm93cy5sZW5ndGh9fSBTZWxlY2Npb25hZG9zIDwvcD48L3N0cm9uZz5cclxuICAgICAgPHN0cm9uZz48cCBzdHlsZT0nbWFyZ2luOjAnICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPDEgJiYgIWNvbmZpZ3VyYXRpb24uaGlkZVRpdGxlJz4ge3t0aXRsZX19IDwvcD48L3N0cm9uZz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhY29uZmlndXJhdGlvbi5oaWRlRmlsdGVyXCIgc3R5bGU9J2ZsZXg6MzsgcGFkZGluZy1yaWdodDogMTBweDsgbWFyZ2luLWJvdHRvbTogNXB4Oyc+XHJcbiAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9J2ZpbHRlcic+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09J2ZpbHRlcnMnIChrZXl1cCk9J2NoYW5nZUZpbHRlcnMoKScgIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRmlsdHJhclwiPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBzdHlsZT0nZmxleDowLjU7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsnPlxyXG5cclxuICAgICAgPGRpdiAoY2xpY2spPSdhY3Rpb24oXCJlZGl0XCIpJyAqbmdJZj0nc2VsZWN0ZWRSb3dzLmxlbmd0aD09MScgbWF0VG9vbHRpcD1cIkVkaXRhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0IGJ0bi1hY2Npb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTcwJTsgbWFyZ2luLXJpZ2h0OiAxNXB4O1wiICpuZ0lmPSdjb25maWd1cmF0aW9uLmVkaXQnPjwvaT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IChjbGljayk9J2FjdGlvbihcInByaW50XCIpJyAqbmdJZj0nc2VsZWN0ZWRSb3dzLmxlbmd0aD09MSAmJiBzY3JlZW4nIG1hdFRvb2x0aXA9XCJJbXByaW1pclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wcmludCBidG4tYWNjaW9uXCIgc3R5bGU9XCJmb250LXNpemU6IDE3MCU7IG1hcmdpbi1yaWdodDogMTVweDtcIiAqbmdJZj0nY29uZmlndXJhdGlvbi5wcmludCc+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKGNsaWNrKT0nYWN0aW9uKFwiZGVsZXRlXCIpJyAqbmdJZj0nc2VsZWN0ZWRSb3dzLmxlbmd0aD4wJyBtYXRUb29sdGlwPVwiRWxpbWluYXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggYnRuLWFjY2lvblwiIHN0eWxlPVwiZm9udC1zaXplOiAxNzAlOyBtYXJnaW4tcmlnaHQ6IDE1cHg7XCIgKm5nSWY9J2NvbmZpZ3VyYXRpb24uZGVsZXRlJz48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAoY2xpY2spPSdhY3Rpb24oXCJhY3RpdmVcIiknICpuZ0lmPSdzZWxlY3RlZFJvd3MubGVuZ3RoPjAnIG1hdFRvb2x0aXA9XCJBY3RpdmFyL0Rlc2FjdGl2YXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYWRqdXN0IGJ0bi1hY2Npb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTcwJTsgbWFyZ2luLXJpZ2h0OiAxNXB4O1wiICpuZ0lmPSdjb25maWd1cmF0aW9uLmFjdGl2ZSc+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKGNsaWNrKT0nYWN0aW9uKFwiYWRkXCIpJyAqbmdJZj0nc2VsZWN0ZWRSb3dzLmxlbmd0aD09MCcgbWF0VG9vbHRpcD1cIk51ZXZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlIGJ0bi1hY2Npb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTcwJTttYXJnaW4tcmlnaHQ6IDE1cHg7XCIgKm5nSWY9J2NvbmZpZ3VyYXRpb24uYWRkJz48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAoY2xpY2spPSdhY3Rpb24oXCJleHBvcnRUb0V4Y2VsXCIpJyAqbmdJZj0nc2VsZWN0ZWRSb3dzLmxlbmd0aCA9PSAwICYmIGRhdGEubGVuZ3RoID4gMCcgbWF0VG9vbHRpcD1cIkV4cG9ydGFyIGV4Y2VsXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWRvd25sb2FkIGJ0bi1hY2Npb25cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTcwJTttYXJnaW4tcmlnaHQ6IDE1cHg7XCIgKm5nSWY9J2NvbmZpZ3VyYXRpb24uZXhwb3J0WHNseCc+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiA8dGFibGUgY2xhc3M9XCJ0YWJsZV9FdGVyIHRhYmxlLWhvdmVyXCI+XHJcbiAgICAgPHRoZWFkIGNsYXNzPVwiZGFya1wiPlxyXG4gICAgICAgPHRyID5cclxuICAgICAgICA8dGggKm5nSWY9J2NvbmZpZ3VyYXRpb24uc2VsZWN0YWJsZSB8fCBjb25maWd1cmF0aW9uLmRlbGV0ZSB8fCBjb25maWd1cmF0aW9uLmVkaXQnIHN0eWxlPSdqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsnPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj0ncHJpbWFyeScgKGNoYW5nZSk9J3NlbGV0ZWNBbGxFdmVudCgkZXZlbnQpJyBbKG5nTW9kZWwpXT0nc2VsZWN0QWxsJyBbaW5kZXRlcm1pbmF0ZV09J2luZGV0ZXJtaW5hdGVTdGF0ZSc+IDwvbWF0LWNoZWNrYm94PiAgPC90aD5cclxuICAgICAgIDx0aFxyXG4gICAgICAgW2NsYXNzXT1cImNvbHVtbi5zdHlsZT8ubW92aWxcIlxyXG4gICAgICAgKm5nRm9yPSdsZXQgY29sdW1uIG9mIGNvbHVtbnMnIHNjb3BlPVwiY29sXCJcclxuICAgICAgIFtuZ1N0eWxlXT1cImNvbHVtbi5zdHlsZVwiXHJcbiAgICAgICA+e3tjb2x1bW4ubGFiZWx9fTwvdGg+XHJcbiAgICAgICA8L3RyPlxyXG4gICAgIDwvdGhlYWQ+XHJcbiAgICAgPHRib2R5IGNsYXNzPSdtYXQtZWxldmF0aW9uLXozJz5cclxuXHJcbiAgICAgICA8dHIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKm5nRm9yPSdsZXQgcm93IG9mIGRhdGEnIChjbGljayk9J2NsaWNrT25Sb1cocm93KScgPlxyXG4gICAgICAgIDx0aCAqbmdJZj0nY29uZmlndXJhdGlvbi5zZWxlY3RhYmxlIHx8IGNvbmZpZ3VyYXRpb24uZGVsZXRlIHx8IGNvbmZpZ3VyYXRpb24uZWRpdCcgc3R5bGU9J2p1c3RpZnktY29udGVudDogY2VudGVyOyc+IDxtYXQtY2hlY2tib3ggY29sb3I9J3ByaW1hcnknIFsobmdNb2RlbCldPSdjaGVja2JveHNbcm93W2NvbmZpZ3VyYXRpb24ucHJpbWFyeUtleV1dJyAoY2xpY2spPSdjbGlja2VkKCRldmVudCknIChjaGFuZ2UpPSdzZWxlY3Rpb24ocm93LCAkZXZlbnQpJz4gPC9tYXQtY2hlY2tib3g+ICA8L3RoPlxyXG4gICAgICAgIDx0aCBbY2xhc3NdPSdjb2x1bW4uc3R5bGU/Lm1vdmlsJyBbbmdTdHlsZV09J2NvbHVtbi5zdHlsZScgc2NvcGU9XCJyb3dcIiAqbmdGb3I9J2xldCBjb2x1bW4gb2YgY29sdW1ucyc+e3sgcm93W2NvbHVtbi5JRF0gfX08L3RoPlxyXG4gICAgICAgPC90cj5cclxuXHJcblxyXG4gICAgIDwvdGJvZHk+XHJcblxyXG4gICA8L3RhYmxlPlxyXG5cclxuICAgPGRpdiAqbmdJZj0nbGVuZ3RoID09IDAgJiYgZGF0YS5sZW5ndGggPT0gMCcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIj4gPHN0cm9uZz5ObyBzZSBlbmNvbnRyw7MgaW5mb3JtYWNpw7NuPC9zdHJvbmc+PC9kaXY+XHJcblxyXG4gICA8bWF0LXBhZ2luYXRvciAqbmdJZj1cInBhZ2luYXRvckFjdGl2ZVwiXHJcbiAgIFtsZW5ndGhdPVwibGVuZ3RoXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIiBzaG93Rmlyc3RMYXN0QnV0dG9uc1xyXG4gICAocGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L21hdC1wYWdpbmF0b3I+XHJcblxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL2RhdGEtdGFibGUvdGFibGUtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyYW1zIH0gZnJvbSAnLi9wYXJhbXMnO1xyXG5pbXBvcnQgeyBSdWxlcyB9IGZyb20gJy4vcnVsZXMnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uczxUPiB7XHJcbiAgICBJRDprZXlvZiBULFxyXG4gICAgbGFiZWw6U3RyaW5nLFxyXG4gICAgdHlwZTonYm9vbGVhbicgfCAnY3VycmVuY3knIHwgJ2RhdGVXaXRoVGltZScgfCAnZGF0ZScgfCAnZmVjaGEnIHwgJ3N0cmluZyd8ICdudW1iZXInIHwgJ3RleHQnLFxyXG4gICAgcGFyYW1zQ29tYm8/OntcclxuICAgICAgICB1cmw/OlN0cmluZyxcclxuICAgICAgICB1cmxQYXJhbXM/OnBhcmFtc1tdLFxyXG4gICAgICAgIHZpc2libGVGaWVsZD86U3RyaW5nLFxyXG4gICAgICAgIHNlbGVjdGlvbkZpZWxkPzpTdHJpbmdcclxuICAgIH0sXHJcbiAgICBzdHlsZT86e1xyXG4gICAgICAgIHdpZHRoPzpTdHJpbmcsXHJcbiAgICAgICAgdGV4dEFsaWduPzpTdHJpbmcsXHJcbiAgICAgICAgY29sb3I/OlN0cmluZyxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I/OlN0cmluZyxcclxuICAgICAgICBtb3ZpbD86U3RyaW5nXHJcbiAgICB9LFxyXG4gICAgZGlzcmVnYXJkRm9yQWRkPzpib29sZWFuLFxyXG4gICAgZGlzcmVnYXJkRm9yRWRpdD86Ym9vbGVhbixcclxuICAgIHJ1bGVzPzogQXJyYXk8UnVsZXM+LFxyXG4gICAgcmVxdWlyZWQ/OmJvb2xlYW5cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -19,6 +19,13 @@ export class FunctionsService {
|
|
|
19
19
|
let month = this.validateTwoDigitFormat((date.getMonth() + 1).toString());
|
|
20
20
|
return `${date.getFullYear()}-${month}-${day}`;
|
|
21
21
|
}
|
|
22
|
+
dateWithTime(date) {
|
|
23
|
+
console.log(date);
|
|
24
|
+
if (!date)
|
|
25
|
+
return "";
|
|
26
|
+
var value = date.split("T");
|
|
27
|
+
return value[0] + " " + value[1].split(".")[0];
|
|
28
|
+
}
|
|
22
29
|
areObjectsEqual(obj1, obj2) {
|
|
23
30
|
return JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
24
31
|
}
|
|
@@ -45,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
45
52
|
providedIn: 'root'
|
|
46
53
|
}]
|
|
47
54
|
}], ctorParameters: function () { return []; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZnVuY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUdqQixRQUFRLENBQUUsSUFBSTtRQUNiLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLElBQUksTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7UUFDNUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxPQUFPLENBQUUsSUFBSTtRQUNYLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLEdBQUcsR0FBSSxHQUFHLEdBQUcsZ0JBQWdCLENBQUE7UUFDakMsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUUsSUFBSTtRQUNWLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNoRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUN2RSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVc7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixJQUFHLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFBO1FBQ25CLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDM0IsT0FBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFTLEVBQUUsSUFBUztRQUNsQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsYUFBb0I7UUFDekMsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRTtnQkFDMUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQWM7UUFDM0MsSUFBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUM7WUFBRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQTtRQUM1QyxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7OzZHQWxEVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uc1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgZGF0ZUZvcm0gKGRhdGUpIHtcclxuICAgbGV0IGRhdGEgPSBuZXcgRGF0ZShkYXRlKVxyXG4gICBsZXQgY2hhbmdlID0gYCR7ZGF0YS5nZXRGdWxsWWVhcigpfS8ke2RhdGEuZ2V0TW9udGgoKSArIDF9LyR7ZGF0YS5nZXREYXRlKCl9YFxyXG4gICAgcmV0dXJuIChjaGFuZ2UpXHJcbiAgfVxyXG5cclxuICBkYXRlSXNvIChkYXRlKSB7XHJcbiAgICBsZXQgZGF0YSA9IGRhdGUudG9TdHJpbmcoKTtcclxuICAgIGxldCBjdXQgPSBkYXRhLnJlcGxhY2UoLyguKilcXFQuKi8sICckMScpXHJcbiAgICBsZXQgYWRkICA9IGAke2N1dH1UMDU6MDA6MDAuMDAwWmBcclxuICAgIGxldCBmZWNoYSA9IGFkZC5yZXBsYWNlKC8oLiopXFxULiovLCAnJDEnKVxyXG4gICAgcmV0dXJuIChmZWNoYSlcclxuICB9XHJcblxyXG4gIGRhdGVEQiAoZGF0ZSkge1xyXG4gICAgbGV0IGRheSA9IHRoaXMudmFsaWRhdGVUd29EaWdpdEZvcm1hdChkYXRlLmdldERhdGUoKS50b1N0cmluZygpKVxyXG4gICAgbGV0IG1vbnRoID0gdGhpcy52YWxpZGF0ZVR3b0RpZ2l0Rm9ybWF0KChkYXRlLmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKSlcclxuICAgIHJldHVybiBgJHtkYXRlLmdldEZ1bGxZZWFyKCl9LSR7bW9udGh9LSR7ZGF5fWBcclxuICB9XHJcblxyXG4gIGRhdGVXaXRoVGltZShkYXRlOnN0cmluZyk6c3RyaW5ne1xyXG4gICAgY29uc29sZS5sb2coZGF0ZSlcclxuICAgIGlmKCFkYXRlKSByZXR1cm4gXCJcIlxyXG4gICAgdmFyIHZhbHVlID0gZGF0ZS5zcGxpdChcIlRcIilcclxuICAgIHJldHVybiAgdmFsdWVbMF0gKyBcIiBcIiArIHZhbHVlWzFdLnNwbGl0KFwiLlwiKVswXVxyXG4gIH1cclxuXHJcbiAgYXJlT2JqZWN0c0VxdWFsKG9iajE6IGFueSwgb2JqMjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgPT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHVwbGljYXRlT2JqZWN0cyhvcmlnaW5hbEFycmF5OiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGNvbnN0IHVuaXF1ZUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgb3JpZ2luYWxBcnJheS5mb3JFYWNoKChvYmopID0+IHtcclxuICAgICAgaWYgKCF1bmlxdWVBcnJheS5zb21lKCh1bmlxdWVPYmopID0+IHRoaXMuYXJlT2JqZWN0c0VxdWFsKG9iaiwgdW5pcXVlT2JqKSkpIHtcclxuICAgICAgICB1bmlxdWVBcnJheS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1bmlxdWVBcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVUd29EaWdpdEZvcm1hdChudW1iZXI6IHN0cmluZyk6c3RyaW5ne1xyXG4gICAgaWYobnVtYmVyLmxlbmd0aCA9PSAxKSBudW1iZXIgPSBcIjBcIiArIG51bWJlclxyXG4gICAgcmV0dXJuIG51bWJlclxyXG4gIH1cclxuXHJcbn1cclxuIl19
|