@lucca-front/ng 9.0.0 → 9.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/api/lib/select/feeder/api-feeder.module.d.ts +1 -2
  2. package/api/lib/select/pager/api-pager.module.d.ts +1 -2
  3. package/api/lib/select/searcher/api-searcher.module.d.ts +4 -5
  4. package/department/lib/select/feeder/department-feeder.module.d.ts +1 -2
  5. package/esm2020/api/lib/select/feeder/api-feeder.module.mjs +3 -5
  6. package/esm2020/api/lib/select/pager/api-pager.module.mjs +3 -5
  7. package/esm2020/api/lib/select/searcher/api-searcher.module.mjs +6 -7
  8. package/esm2020/department/lib/select/feeder/department-feeder.module.mjs +3 -5
  9. package/esm2020/establishment/lib/select/legal-unit-selector/legal-unit-selector.module.mjs +3 -5
  10. package/esm2020/establishment/lib/select/searcher/establishment-searcher.module.mjs +6 -7
  11. package/esm2020/popover/lib/trigger/popover-trigger.model.mjs +9 -3
  12. package/esm2020/safe-content/lib/index.mjs +2 -3
  13. package/esm2020/safe-content/lib/safe-content.module.mjs +6 -6
  14. package/esm2020/safe-content/lib/safe-html.pipe.mjs +19 -0
  15. package/esm2020/tooltip/lib/panel/tooltip-panel.component.mjs +3 -4
  16. package/esm2020/tooltip/lib/panel/tooltip-panel.module.mjs +5 -6
  17. package/esm2020/tooltip/lib/trigger/tooltip-trigger.directive.mjs +27 -7
  18. package/esm2020/user/lib/select/homonyms/user-homonyms.module.mjs +5 -6
  19. package/esm2020/user/lib/select/searcher/user-searcher.module.mjs +6 -7
  20. package/establishment/lib/select/legal-unit-selector/legal-unit-selector.module.d.ts +1 -2
  21. package/establishment/lib/select/searcher/establishment-searcher.module.d.ts +4 -5
  22. package/fesm2015/lucca-front-ng-api.mjs +7 -10
  23. package/fesm2015/lucca-front-ng-api.mjs.map +1 -1
  24. package/fesm2015/lucca-front-ng-department.mjs +3 -5
  25. package/fesm2015/lucca-front-ng-department.mjs.map +1 -1
  26. package/fesm2015/lucca-front-ng-establishment.mjs +5 -7
  27. package/fesm2015/lucca-front-ng-establishment.mjs.map +1 -1
  28. package/fesm2015/lucca-front-ng-popover.mjs +8 -2
  29. package/fesm2015/lucca-front-ng-popover.mjs.map +1 -1
  30. package/fesm2015/lucca-front-ng-safe-content.mjs +13 -23
  31. package/fesm2015/lucca-front-ng-safe-content.mjs.map +1 -1
  32. package/fesm2015/lucca-front-ng-tooltip.mjs +31 -13
  33. package/fesm2015/lucca-front-ng-tooltip.mjs.map +1 -1
  34. package/fesm2015/lucca-front-ng-user.mjs +6 -7
  35. package/fesm2015/lucca-front-ng-user.mjs.map +1 -1
  36. package/fesm2020/lucca-front-ng-api.mjs +7 -10
  37. package/fesm2020/lucca-front-ng-api.mjs.map +1 -1
  38. package/fesm2020/lucca-front-ng-department.mjs +3 -5
  39. package/fesm2020/lucca-front-ng-department.mjs.map +1 -1
  40. package/fesm2020/lucca-front-ng-establishment.mjs +5 -7
  41. package/fesm2020/lucca-front-ng-establishment.mjs.map +1 -1
  42. package/fesm2020/lucca-front-ng-popover.mjs +8 -2
  43. package/fesm2020/lucca-front-ng-popover.mjs.map +1 -1
  44. package/fesm2020/lucca-front-ng-safe-content.mjs +13 -23
  45. package/fesm2020/lucca-front-ng-safe-content.mjs.map +1 -1
  46. package/fesm2020/lucca-front-ng-tooltip.mjs +31 -13
  47. package/fesm2020/lucca-front-ng-tooltip.mjs.map +1 -1
  48. package/fesm2020/lucca-front-ng-user.mjs +6 -7
  49. package/fesm2020/lucca-front-ng-user.mjs.map +1 -1
  50. package/package.json +5 -3
  51. package/popover/lib/trigger/popover-trigger.model.d.ts +4 -2
  52. package/safe-content/lib/index.d.ts +1 -2
  53. package/safe-content/lib/safe-content.module.d.ts +2 -2
  54. package/safe-content/lib/safe-html.pipe.d.ts +16 -0
  55. package/style/components/_input.scss +7 -7
  56. package/style/definitions/select/_select-input.scss +107 -105
  57. package/tooltip/lib/panel/tooltip-panel.component.d.ts +3 -2
  58. package/tooltip/lib/panel/tooltip-panel.module.d.ts +1 -2
  59. package/tooltip/lib/trigger/tooltip-trigger.directive.d.ts +12 -5
  60. package/user/lib/select/homonyms/user-homonyms.module.d.ts +2 -3
  61. package/user/lib/select/searcher/user-searcher.module.d.ts +4 -5
  62. package/esm2020/safe-content/lib/safe-content.model.mjs +0 -2
  63. package/esm2020/safe-content/lib/safe-content.pipe.mjs +0 -29
  64. package/safe-content/lib/safe-content.model.d.ts +0 -1
  65. package/safe-content/lib/safe-content.pipe.d.ts +0 -11
@@ -1,8 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./api-feeder.component";
3
- import * as i2 from "@angular/common/http";
4
3
  export declare class LuApiFeederModule {
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<LuApiFeederModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiFeederModule, [typeof i1.LuApiFeederComponent], [typeof i2.HttpClientModule], [typeof i1.LuApiFeederComponent]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiFeederModule, [typeof i1.LuApiFeederComponent], never, [typeof i1.LuApiFeederComponent]>;
7
6
  static ɵinj: i0.ɵɵInjectorDeclaration<LuApiFeederModule>;
8
7
  }
@@ -1,8 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./api-pager.component";
3
- import * as i2 from "@angular/common/http";
4
3
  export declare class LuApiPagerModule {
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<LuApiPagerModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiPagerModule, [typeof i1.LuApiPagerComponent], [typeof i2.HttpClientModule], [typeof i1.LuApiPagerComponent]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiPagerModule, [typeof i1.LuApiPagerComponent], never, [typeof i1.LuApiPagerComponent]>;
7
6
  static ɵinj: i0.ɵɵInjectorDeclaration<LuApiPagerModule>;
8
7
  }
@@ -1,11 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./api-searcher.component";
3
- import * as i2 from "@angular/common/http";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@lucca-front/ng/option";
3
+ import * as i2 from "@angular/forms";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@lucca-front/ng/option";
7
6
  export declare class LuApiSearcherModule {
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<LuApiSearcherModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiSearcherModule, [typeof i1.LuApiSearcherComponent, typeof i1.LuApiPagedSearcherComponent], [typeof i2.HttpClientModule, typeof i3.ReactiveFormsModule, typeof i4.CommonModule, typeof i5.LuOptionPlaceholderModule], [typeof i1.LuApiSearcherComponent, typeof i1.LuApiPagedSearcherComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LuApiSearcherModule, [typeof i1.LuApiSearcherComponent, typeof i1.LuApiPagedSearcherComponent], [typeof i2.ReactiveFormsModule, typeof i3.CommonModule, typeof i4.LuOptionPlaceholderModule], [typeof i1.LuApiSearcherComponent, typeof i1.LuApiPagedSearcherComponent]>;
10
9
  static ɵinj: i0.ɵɵInjectorDeclaration<LuApiSearcherModule>;
11
10
  }
@@ -1,8 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./department-feeder.component";
3
- import * as i2 from "@angular/common/http";
4
3
  export declare class LuDepartmentFeederModule {
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<LuDepartmentFeederModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<LuDepartmentFeederModule, [typeof i1.LuDepartmentFeederComponent], [typeof i2.HttpClientModule], [typeof i1.LuDepartmentFeederComponent]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LuDepartmentFeederModule, [typeof i1.LuDepartmentFeederComponent], never, [typeof i1.LuDepartmentFeederComponent]>;
7
6
  static ɵinj: i0.ɵɵInjectorDeclaration<LuDepartmentFeederModule>;
8
7
  }
@@ -1,18 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { LuApiFeederComponent } from './api-feeder.component';
3
- import { HttpClientModule } from '@angular/common/http';
4
3
  import * as i0 from "@angular/core";
5
4
  export class LuApiFeederModule {
6
5
  }
7
6
  LuApiFeederModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- LuApiFeederModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule, declarations: [LuApiFeederComponent], imports: [HttpClientModule], exports: [LuApiFeederComponent] });
9
- LuApiFeederModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule, imports: [HttpClientModule] });
7
+ LuApiFeederModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule, declarations: [LuApiFeederComponent], exports: [LuApiFeederComponent] });
8
+ LuApiFeederModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule });
10
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiFeederModule, decorators: [{
11
10
  type: NgModule,
12
11
  args: [{
13
- imports: [HttpClientModule],
14
12
  declarations: [LuApiFeederComponent],
15
13
  exports: [LuApiFeederComponent],
16
14
  }]
17
15
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZlZWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9hcGkvc3JjL2xpYi9zZWxlY3QvZmVlZGVyL2FwaS1mZWVkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3hELE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFIZCxvQkFBb0IsYUFEekIsZ0JBQWdCLGFBRWhCLG9CQUFvQjsrR0FFbEIsaUJBQWlCLFlBSm5CLGdCQUFnQjsyRkFJZCxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMdUFwaUZlZWRlckNvbXBvbmVudCB9IGZyb20gJy4vYXBpLWZlZWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbTHVBcGlGZWVkZXJDb21wb25lbnRdLFxyXG5cdGV4cG9ydHM6IFtMdUFwaUZlZWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUFwaUZlZWRlck1vZHVsZSB7fVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZlZWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9hcGkvc3JjL2xpYi9zZWxlY3QvZmVlZGVyL2FwaS1mZWVkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFIZCxvQkFBb0IsYUFDekIsb0JBQW9COytHQUVsQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHVBcGlGZWVkZXJDb21wb25lbnQgfSBmcm9tICcuL2FwaS1mZWVkZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbTHVBcGlGZWVkZXJDb21wb25lbnRdLFxyXG5cdGV4cG9ydHM6IFtMdUFwaUZlZWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUFwaUZlZWRlck1vZHVsZSB7fVxyXG4iXX0=
@@ -1,18 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { LuApiPagerComponent } from './api-pager.component';
3
- import { HttpClientModule } from '@angular/common/http';
4
3
  import * as i0 from "@angular/core";
5
4
  export class LuApiPagerModule {
6
5
  }
7
6
  LuApiPagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- LuApiPagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule, declarations: [LuApiPagerComponent], imports: [HttpClientModule], exports: [LuApiPagerComponent] });
9
- LuApiPagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule, imports: [HttpClientModule] });
7
+ LuApiPagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule, declarations: [LuApiPagerComponent], exports: [LuApiPagerComponent] });
8
+ LuApiPagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule });
10
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiPagerModule, decorators: [{
11
10
  type: NgModule,
12
11
  args: [{
13
- imports: [HttpClientModule],
14
12
  declarations: [LuApiPagerComponent],
15
13
  exports: [LuApiPagerComponent],
16
14
  }]
17
15
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXBhZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2FwaS9zcmMvbGliL3NlbGVjdC9wYWdlci9hcGktcGFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3hELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFIYixtQkFBbUIsYUFEeEIsZ0JBQWdCLGFBRWhCLG1CQUFtQjs4R0FFakIsZ0JBQWdCLFlBSmxCLGdCQUFnQjsyRkFJZCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMdUFwaVBhZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9hcGktcGFnZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1QXBpUGFnZXJDb21wb25lbnRdLFxyXG5cdGV4cG9ydHM6IFtMdUFwaVBhZ2VyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1QXBpUGFnZXJNb2R1bGUge31cclxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXBhZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2FwaS9zcmMvbGliL3NlbGVjdC9wYWdlci9hcGktcGFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTVELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFIYixtQkFBbUIsYUFDeEIsbUJBQW1COzhHQUVqQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHVBcGlQYWdlckNvbXBvbmVudCB9IGZyb20gJy4vYXBpLXBhZ2VyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0x1QXBpUGFnZXJDb21wb25lbnRdLFxyXG5cdGV4cG9ydHM6IFtMdUFwaVBhZ2VyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1QXBpUGFnZXJNb2R1bGUge31cclxuIl19
@@ -1,21 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
- import { LuApiSearcherComponent, LuApiPagedSearcherComponent } from './api-searcher.component';
3
- import { HttpClientModule } from '@angular/common/http';
4
3
  import { ReactiveFormsModule } from '@angular/forms';
5
- import { CommonModule } from '@angular/common';
6
4
  import { LuOptionPlaceholderModule } from '@lucca-front/ng/option';
5
+ import { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';
7
6
  import * as i0 from "@angular/core";
8
7
  export class LuApiSearcherModule {
9
8
  }
10
9
  LuApiSearcherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- LuApiSearcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, declarations: [LuApiSearcherComponent, LuApiPagedSearcherComponent], imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule], exports: [LuApiSearcherComponent, LuApiPagedSearcherComponent] });
12
- LuApiSearcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule] });
10
+ LuApiSearcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, declarations: [LuApiSearcherComponent, LuApiPagedSearcherComponent], imports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule], exports: [LuApiSearcherComponent, LuApiPagedSearcherComponent] });
11
+ LuApiSearcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, imports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule] });
13
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuApiSearcherModule, decorators: [{
14
13
  type: NgModule,
15
14
  args: [{
16
- imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule],
15
+ imports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule],
17
16
  declarations: [LuApiSearcherComponent, LuApiPagedSearcherComponent],
18
17
  exports: [LuApiSearcherComponent, LuApiPagedSearcherComponent],
19
18
  }]
20
19
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlYXJjaGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2FwaS9zcmMvbGliL3NlbGVjdC9zZWFyY2hlci9hcGktc2VhcmNoZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU9uRSxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBSGhCLHNCQUFzQixFQUFFLDJCQUEyQixhQUR4RCxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUseUJBQXlCLGFBRTlFLHNCQUFzQixFQUFFLDJCQUEyQjtpSEFFakQsbUJBQW1CLFlBSnJCLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSx5QkFBeUI7MkZBSTVFLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUM7b0JBQ3pGLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLDJCQUEyQixDQUFDO29CQUNuRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMdUFwaVNlYXJjaGVyQ29tcG9uZW50LCBMdUFwaVBhZ2VkU2VhcmNoZXJDb21wb25lbnQgfSBmcm9tICcuL2FwaS1zZWFyY2hlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMdU9wdGlvblBsYWNlaG9sZGVyTW9kdWxlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL29wdGlvbic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIEx1T3B0aW9uUGxhY2Vob2xkZXJNb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1QXBpU2VhcmNoZXJDb21wb25lbnQsIEx1QXBpUGFnZWRTZWFyY2hlckNvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0x1QXBpU2VhcmNoZXJDb21wb25lbnQsIEx1QXBpUGFnZWRTZWFyY2hlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUFwaVNlYXJjaGVyTW9kdWxlIHt9XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlYXJjaGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2FwaS9zcmMvbGliL3NlbGVjdC9zZWFyY2hlci9hcGktc2VhcmNoZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU8vRixNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBSGhCLHNCQUFzQixFQUFFLDJCQUEyQixhQUR4RCxtQkFBbUIsRUFBRSxZQUFZLEVBQUUseUJBQXlCLGFBRTVELHNCQUFzQixFQUFFLDJCQUEyQjtpSEFFakQsbUJBQW1CLFlBSnJCLG1CQUFtQixFQUFFLFlBQVksRUFBRSx5QkFBeUI7MkZBSTFELG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUM7b0JBQ3ZFLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLDJCQUEyQixDQUFDO29CQUNuRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMdU9wdGlvblBsYWNlaG9sZGVyTW9kdWxlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL29wdGlvbic7XHJcbmltcG9ydCB7IEx1QXBpUGFnZWRTZWFyY2hlckNvbXBvbmVudCwgTHVBcGlTZWFyY2hlckNvbXBvbmVudCB9IGZyb20gJy4vYXBpLXNlYXJjaGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIEx1T3B0aW9uUGxhY2Vob2xkZXJNb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1QXBpU2VhcmNoZXJDb21wb25lbnQsIEx1QXBpUGFnZWRTZWFyY2hlckNvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0x1QXBpU2VhcmNoZXJDb21wb25lbnQsIEx1QXBpUGFnZWRTZWFyY2hlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUFwaVNlYXJjaGVyTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,18 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { HttpClientModule } from '@angular/common/http';
3
2
  import { LuDepartmentFeederComponent } from './department-feeder.component';
4
3
  import * as i0 from "@angular/core";
5
4
  export class LuDepartmentFeederModule {
6
5
  }
7
6
  LuDepartmentFeederModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- LuDepartmentFeederModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule, declarations: [LuDepartmentFeederComponent], imports: [HttpClientModule], exports: [LuDepartmentFeederComponent] });
9
- LuDepartmentFeederModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule, imports: [HttpClientModule] });
7
+ LuDepartmentFeederModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule, declarations: [LuDepartmentFeederComponent], exports: [LuDepartmentFeederComponent] });
8
+ LuDepartmentFeederModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule });
10
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuDepartmentFeederModule, decorators: [{
11
10
  type: NgModule,
12
11
  args: [{
13
- imports: [HttpClientModule],
14
12
  declarations: [LuDepartmentFeederComponent],
15
13
  exports: [LuDepartmentFeederComponent],
16
14
  }]
17
15
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1mZWVkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGVwYXJ0bWVudC9zcmMvbGliL3NlbGVjdC9mZWVkZXIvZGVwYXJ0bWVudC1mZWVkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBTzVFLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFIckIsMkJBQTJCLGFBRGhDLGdCQUFnQixhQUVoQiwyQkFBMkI7c0hBRXpCLHdCQUF3QixZQUoxQixnQkFBZ0I7MkZBSWQsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTHVEZXBhcnRtZW50RmVlZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kZXBhcnRtZW50LWZlZWRlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbTHVEZXBhcnRtZW50RmVlZGVyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbTHVEZXBhcnRtZW50RmVlZGVyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1RGVwYXJ0bWVudEZlZWRlck1vZHVsZSB7fVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1mZWVkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGVwYXJ0bWVudC9zcmMvbGliL3NlbGVjdC9mZWVkZXIvZGVwYXJ0bWVudC1mZWVkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBTTVFLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFIckIsMkJBQTJCLGFBQ2hDLDJCQUEyQjtzSEFFekIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSnBDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEx1RGVwYXJ0bWVudEZlZWRlckNvbXBvbmVudCB9IGZyb20gJy4vZGVwYXJ0bWVudC1mZWVkZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbTHVEZXBhcnRtZW50RmVlZGVyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbTHVEZXBhcnRtZW50RmVlZGVyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1RGVwYXJ0bWVudEZlZWRlck1vZHVsZSB7fVxyXG4iXX0=
@@ -1,18 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { HttpClientModule } from '@angular/common/http';
3
2
  import { LuLegalUnitSelectorDirective } from './legal-unit-selector.directive';
4
3
  import * as i0 from "@angular/core";
5
4
  export class LuLegalUnitSelectorModule {
6
5
  }
7
6
  LuLegalUnitSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- LuLegalUnitSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule, declarations: [LuLegalUnitSelectorDirective], imports: [HttpClientModule], exports: [LuLegalUnitSelectorDirective] });
9
- LuLegalUnitSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule, imports: [HttpClientModule] });
7
+ LuLegalUnitSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule, declarations: [LuLegalUnitSelectorDirective], exports: [LuLegalUnitSelectorDirective] });
8
+ LuLegalUnitSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule });
10
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuLegalUnitSelectorModule, decorators: [{
11
10
  type: NgModule,
12
11
  args: [{
13
- imports: [HttpClientModule],
14
12
  declarations: [LuLegalUnitSelectorDirective],
15
13
  exports: [LuLegalUnitSelectorDirective],
16
14
  }]
17
15
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWwtdW5pdC1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9lc3RhYmxpc2htZW50L3NyYy9saWIvc2VsZWN0L2xlZ2FsLXVuaXQtc2VsZWN0b3IvbGVnYWwtdW5pdC1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFPL0UsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQUh0Qiw0QkFBNEIsYUFEakMsZ0JBQWdCLGFBRWhCLDRCQUE0Qjt1SEFFMUIseUJBQXlCLFlBSjNCLGdCQUFnQjsyRkFJZCx5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBMdUxlZ2FsVW5pdFNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9sZWdhbC11bml0LXNlbGVjdG9yLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcclxuXHRkZWNsYXJhdGlvbnM6IFtMdUxlZ2FsVW5pdFNlbGVjdG9yRGlyZWN0aXZlXSxcclxuXHRleHBvcnRzOiBbTHVMZWdhbFVuaXRTZWxlY3RvckRpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUxlZ2FsVW5pdFNlbGVjdG9yTW9kdWxlIHt9XHJcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWwtdW5pdC1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9lc3RhYmxpc2htZW50L3NyYy9saWIvc2VsZWN0L2xlZ2FsLXVuaXQtc2VsZWN0b3IvbGVnYWwtdW5pdC1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFNL0UsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQUh0Qiw0QkFBNEIsYUFDakMsNEJBQTRCO3VIQUUxQix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHVMZWdhbFVuaXRTZWxlY3RvckRpcmVjdGl2ZSB9IGZyb20gJy4vbGVnYWwtdW5pdC1zZWxlY3Rvci5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtMdUxlZ2FsVW5pdFNlbGVjdG9yRGlyZWN0aXZlXSxcclxuXHRleHBvcnRzOiBbTHVMZWdhbFVuaXRTZWxlY3RvckRpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdUxlZ2FsVW5pdFNlbGVjdG9yTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,21 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
- import { LuEstablishmentSearcherComponent } from './establishment-searcher.component';
3
- import { HttpClientModule } from '@angular/common/http';
4
3
  import { ReactiveFormsModule } from '@angular/forms';
5
- import { CommonModule } from '@angular/common';
6
4
  import { LuOptionModule } from '@lucca-front/ng/option';
5
+ import { LuEstablishmentSearcherComponent } from './establishment-searcher.component';
7
6
  import * as i0 from "@angular/core";
8
7
  export class LuEstablishmentSearcherModule {
9
8
  }
10
9
  LuEstablishmentSearcherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- LuEstablishmentSearcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, declarations: [LuEstablishmentSearcherComponent], imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionModule], exports: [LuEstablishmentSearcherComponent] });
12
- LuEstablishmentSearcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionModule] });
10
+ LuEstablishmentSearcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, declarations: [LuEstablishmentSearcherComponent], imports: [ReactiveFormsModule, CommonModule, LuOptionModule], exports: [LuEstablishmentSearcherComponent] });
11
+ LuEstablishmentSearcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, imports: [ReactiveFormsModule, CommonModule, LuOptionModule] });
13
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuEstablishmentSearcherModule, decorators: [{
14
13
  type: NgModule,
15
14
  args: [{
16
- imports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionModule],
15
+ imports: [ReactiveFormsModule, CommonModule, LuOptionModule],
17
16
  declarations: [LuEstablishmentSearcherComponent],
18
17
  exports: [LuEstablishmentSearcherComponent],
19
18
  }]
20
19
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudC1zZWFyY2hlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9lc3RhYmxpc2htZW50L3NyYy9saWIvc2VsZWN0L3NlYXJjaGVyL2VzdGFibGlzaG1lbnQtc2VhcmNoZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCLGlCQUgxQixnQ0FBZ0MsYUFEckMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGNBQWMsYUFFbkUsZ0NBQWdDOzJIQUU5Qiw2QkFBNkIsWUFKL0IsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGNBQWM7MkZBSWpFLDZCQUE2QjtrQkFMekMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDO29CQUM5RSxZQUFZLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDaEQsT0FBTyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHVFc3RhYmxpc2htZW50U2VhcmNoZXJDb21wb25lbnQgfSBmcm9tICcuL2VzdGFibGlzaG1lbnQtc2VhcmNoZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTHVPcHRpb25Nb2R1bGUgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvb3B0aW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgTHVPcHRpb25Nb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1RXN0YWJsaXNobWVudFNlYXJjaGVyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbTHVFc3RhYmxpc2htZW50U2VhcmNoZXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVFc3RhYmxpc2htZW50U2VhcmNoZXJNb2R1bGUge31cclxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudC1zZWFyY2hlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9lc3RhYmxpc2htZW50L3NyYy9saWIvc2VsZWN0L3NlYXJjaGVyL2VzdGFibGlzaG1lbnQtc2VhcmNoZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFPdEYsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCLGlCQUgxQixnQ0FBZ0MsYUFEckMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGNBQWMsYUFFakQsZ0NBQWdDOzJIQUU5Qiw2QkFBNkIsWUFKL0IsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGNBQWM7MkZBSS9DLDZCQUE2QjtrQkFMekMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDO29CQUM1RCxZQUFZLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDaEQsT0FBTyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTHVPcHRpb25Nb2R1bGUgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvb3B0aW9uJztcclxuaW1wb3J0IHsgTHVFc3RhYmxpc2htZW50U2VhcmNoZXJDb21wb25lbnQgfSBmcm9tICcuL2VzdGFibGlzaG1lbnQtc2VhcmNoZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgTHVPcHRpb25Nb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1RXN0YWJsaXNobWVudFNlYXJjaGVyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbTHVFc3RhYmxpc2htZW50U2VhcmNoZXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVFc3RhYmxpc2htZW50U2VhcmNoZXJNb2R1bGUge31cclxuIl19
@@ -100,7 +100,7 @@ export class ALuPopoverTrigger {
100
100
  openPopover() {
101
101
  if (!this._popoverOpen && !this._disabled) {
102
102
  this._createOverlay();
103
- this._overlayRef.attach(this._portal);
103
+ this._attachPortalToOverlay();
104
104
  /** Only subscribe to backdrop if trigger event is click */
105
105
  if (this.triggerEvent === 'click') {
106
106
  this._subscribeToBackdrop();
@@ -150,6 +150,12 @@ export class ALuPopoverTrigger {
150
150
  const position = this.target.position;
151
151
  return position === 'below' || position === 'above';
152
152
  }
153
+ _attachPortalToOverlay() {
154
+ this._overlayRef.attach(this._portal);
155
+ }
156
+ _getPanelScrollStrategy() {
157
+ return this.panel.scrollStrategy;
158
+ }
153
159
  /**
154
160
  * This method ensures that the popover
155
161
  */
@@ -255,7 +261,7 @@ export class ALuPopoverTrigger {
255
261
  overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
256
262
  }
257
263
  overlayState.direction = this.dir;
258
- const scrollStrategy = this.panel.scrollStrategy;
264
+ const scrollStrategy = this._getPanelScrollStrategy();
259
265
  switch (scrollStrategy) {
260
266
  case 'block':
261
267
  overlayState.scrollStrategy = this._overlay.scrollStrategies.block();
@@ -421,4 +427,4 @@ export class ALuPopoverTrigger {
421
427
  }
422
428
  }
423
429
  }
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci9zcmMvbGliL3RyaWdnZXIvcG9wb3Zlci10cmlnZ2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFLTixhQUFhLEdBSWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1DckUsNENBQTRDO0FBQzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBbUZ0QyxZQUFzQixRQUFpQixFQUFZLFdBQW9DLEVBQVksaUJBQW1DO1FBQWhILGFBQVEsR0FBUixRQUFRLENBQVM7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBakY1SCxnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPckIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFJcEMsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUMvRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQW9CdkIsa0JBQWEsR0FBMEIsT0FBTyxDQUFDO1FBYS9DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBT2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBUWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFv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LEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHtcclxuXHRGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXHJcblx0T3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXksXHJcblx0T3ZlcmxheUNvbmZpZyxcclxuXHRPdmVybGF5Q29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXlSZWYsXHJcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSWQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJQYW5lbCB9IGZyb20gJy4uL3BhbmVsL2luZGV4JztcclxuaW1wb3J0IHsgSUx1UG9wb3ZlclRhcmdldCB9IGZyb20gJy4uL3RhcmdldC9pbmRleCc7XHJcblxyXG5leHBvcnQgdHlwZSBMdVBvcG92ZXJUcmlnZ2VyRXZlbnQgPSAnY2xpY2snIHwgJ2hvdmVyJyB8ICdub25lJyB8ICdmb2N1cyc7XHJcblxyXG4vKipcclxuICogY29tcG9uZW50IHRoYXQgd2lsbCBkZWNpZGUgd2hlbiB0byBzaG93IHRoZSBwb3BvdmVyIGFuZCBhdHRhY2ggaXQgdG8gdGhlIHRhcmdldFxyXG4gKi9cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiB7XHJcblx0LyoqIHRoZSBwb3BvdmVyIHBhbmVsIHRvIGRpc3BsYXkgKi9cclxuXHRwYW5lbDogVFBhbmVsO1xyXG5cdC8qKiB0aGUgcG9wb3ZlciB0YXJnZXQgdG8gYXR0YWNoIHRoZSBwYW5lbCAqL1xyXG5cdHRhcmdldDogVFRhcmdldDtcclxuXHJcblx0LyoqIHdoZW4gdG8gZGlzcGxheSB0aGUgcG9wb3ZlciAqL1xyXG5cdHRyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50O1xyXG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBhcHBhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXHJcblx0ZW50ZXJEZWxheTogbnVtYmVyO1xyXG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBkaXNwYXJpdGlvbiB3aGVuIHRyaWdnZXIgaXMgJ2hvdmVyJyAqL1xyXG5cdGxlYXZlRGVsYXk6IG51bWJlcjtcclxuXHJcblx0LyoqIGRpc2FibGUgcG9wb3ZlciBhcHBhcml0aW9uICovXHJcblx0ZGlzYWJsZWQ6IGJvb2xlYW47XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIG9wZW5lZC4gKi9cclxuXHRvbk9wZW46IE9ic2VydmFibGU8dm9pZD47XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cclxuXHRvbkNsb3NlOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuXHRvcGVuUG9wb3ZlcigpO1xyXG5cdGNsb3NlUG9wb3ZlcigpO1xyXG5cdHRvZ2dsZVBvcG92ZXIoKTtcclxuXHRkZXN0cm95UG9wb3ZlcigpO1xyXG59XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1UG9wb3ZlclRyaWdnZXI8VFBhbmVsIGV4dGVuZHMgSUx1UG9wb3ZlclBhbmVsID0gSUx1UG9wb3ZlclBhbmVsLCBUVGFyZ2V0IGV4dGVuZHMgSUx1UG9wb3ZlclRhcmdldCA9IElMdVBvcG92ZXJUYXJnZXQ+IGltcGxlbWVudHMgSUx1UG9wb3ZlclRyaWdnZXI8VFBhbmVsLCBUVGFyZ2V0PiB7XHJcblx0cHJvdGVjdGVkIF9wb3J0YWw6IFRlbXBsYXRlUG9ydGFsPHVua25vd24+IHwgQ29tcG9uZW50UG9ydGFsPHVua25vd24+O1xyXG5cdHByb3RlY3RlZCBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcclxuXHQvLyBwcm90ZWN0ZWQgX2hhbHQgPSBmYWxzZTtcclxuXHRwcm90ZWN0ZWQgX2JhY2tkcm9wU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRwcm90ZWN0ZWQgX21vdXNlb3ZlclRpbWVyOiB1bmtub3duO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWQkID0gbmV3IFN1YmplY3QoKTtcclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHQvLyB0cmFja2luZyBpbnB1dCB0eXBlIGlzIG5lY2Vzc2FyeSBzbyBpdCdzIHBvc3NpYmxlIHRvIG9ubHkgYXV0by1mb2N1c1xyXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcclxuXHRwcm90ZWN0ZWQgX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHJcblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xyXG5cdC8qKiBSZWZlcmVuY2VzIHRoZSBwb3BvdmVyIGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCBwYW5lbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcclxuXHR9XHJcblx0c2V0IHBhbmVsKHA6IFRQYW5lbCkge1xyXG5cdFx0dGhpcy5fcGFuZWwgPSBwO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF90YXJnZXQ6IFRUYXJnZXQ7XHJcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCB0YXJnZXQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG5cdH1cclxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcclxuXHRcdHRoaXMuX3RhcmdldCA9IHQ7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJztcclxuXHRnZXQgdHJpZ2dlckV2ZW50KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcclxuXHR9XHJcblx0c2V0IHRyaWdnZXJFdmVudCh0ZTogTHVQb3BvdmVyVHJpZ2dlckV2ZW50KSB7XHJcblx0XHR0aGlzLl90cmlnZ2VyRXZlbnQgPSB0ZTtcclxuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRpZiAodGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uID0gdGhpcy5faG92ZXJlZCQucGlwZShkZWJvdW5jZSgoaCkgPT4gKGggPyB0aW1lcih0aGlzLmVudGVyRGVsYXkpIDogdGltZXIodGhpcy5sZWF2ZURlbGF5KSkpKS5zdWJzY3JpYmUoKGgpID0+IChoID8gdGhpcy5vcGVuUG9wb3ZlcigpIDogdGhpcy5jbG9zZVBvcG92ZXIoKSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcclxuXHRnZXQgZW50ZXJEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9lbnRlckRlbGF5O1xyXG5cdH1cclxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2VudGVyRGVsYXkgPSBkO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2xlYXZlRGVsYXkgPSA1MDtcclxuXHRnZXQgbGVhdmVEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9sZWF2ZURlbGF5O1xyXG5cdH1cclxuXHRzZXQgbGVhdmVEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cdGdldCBkaXNhYmxlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX2Rpc2FibGVkID0gZDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfdHJpZ2dlcklkOiBzdHJpbmc7XHJcblx0cHJvdGVjdGVkIF9wYW5lbElkOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0YWJzdHJhY3Qgb25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0YWJzdHJhY3Qgb25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xyXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcclxuXHRcdHRoaXMuX3BhbmVsSWQgPSBgcG9wb3ZlclBhbmVsXyR7Z2VuZXJhdGVJZCgpfWA7XHJcblx0fVxyXG5cclxuXHRvbkNsaWNrKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snICYmICF0aGlzLmRpc2FibGVkKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25Nb3VzZUVudGVyKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdG9uRm9jdXMoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRvbkJsdXIoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXHJcblx0dG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHJldHVybiB0aGlzLl9wb3BvdmVyT3BlbiA/IHRoaXMuY2xvc2VQb3BvdmVyKCkgOiB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0fVxyXG5cclxuXHQvKiogT3BlbnMgdGhlIHBvcG92ZXIuICovXHJcblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuX3BvcG92ZXJPcGVuICYmICF0aGlzLl9kaXNhYmxlZCkge1xyXG5cdFx0XHR0aGlzLl9jcmVhdGVPdmVybGF5KCk7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XHJcblxyXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xyXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0XHR0aGlzLl9zdWJzY3JpYmVUb0JhY2tkcm9wKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8qKiBPbmx5IHN1YnNjcmliZSB0byBtb3VzZSBlbnRlci9sZWF2ZSBvZiB0aGUgcGFuZWwgaWYgdHJpZ2dlciA9IGhvdmVyICovXHJcblxyXG5cdFx0XHR0aGlzLl9pbml0UG9wb3ZlcigpO1xyXG5cdFx0XHR0aGlzLl9lbWl0T3BlbigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIENsb3NlcyB0aGUgcG9wb3Zlci4gKi9cclxuXHRjbG9zZVBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuXHJcblx0XHRcdC8qKiB1bnN1YnNjcmliZSB0byBiYWNrZHJvcCBjbGljayBpZiBpdCB3YXMgZGVmaW5lZCAqL1xyXG5cdFx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy5wb3BvdmVyLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xyXG5cdFx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuX3Jlc2V0UG9wb3ZlcigpO1xyXG5cdFx0XHR0aGlzLl9lbWl0Q2xvc2UoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBSZW1vdmVzIHRoZSBwb3BvdmVyIGZyb20gdGhlIERPTS4gKi9cclxuXHRkZXN0cm95UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcclxuXHRcdFx0dGhpcy5fY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBGb2N1c2VzIHRoZSBwb3BvdmVyIHRyaWdnZXIuICovXHJcblx0Zm9jdXMoKSB7XHJcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHR9XHJcblxyXG5cdF9oYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuXHRcdGlmICghaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcclxuXHRcdFx0dGhpcy5fb3BlbmVkQnlNb3VzZSA9IHRydWU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogVGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBjb250YWluaW5nIGFwcC4gKi9cclxuXHRnZXQgZGlyKCk6IERpcmVjdGlvbiB7XHJcblx0XHQvLyByZXR1cm4gdGhpcy5fZGlyICYmIHRoaXMuX2Rpci52YWx1ZSA9PT0gJ3J0bCcgPyAncnRsJyA6ICdsdHInO1xyXG5cdFx0cmV0dXJuICdsdHInO1xyXG5cdH1cclxuXHJcblx0LyoqIFJldHVybiBpZiB0aGUgcG9wb3ZlciBtYWluIHBvc2l0aW9ubmluZyBpcyB2ZXJ0aWNhbCAqL1xyXG5cdGdldCBpc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCgpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy50YXJnZXQucG9zaXRpb247XHJcblx0XHRyZXR1cm4gcG9zaXRpb24gPT09ICdiZWxvdycgfHwgcG9zaXRpb24gPT09ICdhYm92ZSc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIHBvcG92ZXJcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvUGFuZWxFdmVudHMoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblx0XHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJyB8fCB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0XHR0aGlzLnBhbmVsLmhvdmVyZWQuc3Vic2NyaWJlKChob3ZlcmVkKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQoaG92ZXJlZCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0dGhpcy5wYW5lbC5jbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KTtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLmFkZChcclxuXHRcdFx0XHR0aGlzLnBhbmVsLm9wZW4uc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMub3BlblBvcG92ZXIoKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGJhY2tkcm9wIGlzIGNsaWNrZWQuXHJcblx0ICogV2UgZG8gbm90IHVzZSBmaXJzdCgpIGhlcmUgYmVjYXVzZSBkb2luZyBzbyB3b3VsZCBub3QgY2F0Y2ggY2xpY2tzIGZyb20gd2l0aGluXHJcblx0ICogdGhlIHBvcG92ZXIsIGFuZCBpdCB3b3VsZCBmYWlsIHRvIHVuc3Vic2NyaWJlIHByb3Blcmx5LiBJbnN0ZWFkLCB3ZSB1bnN1YnNjcmliZVxyXG5cdCAqIGV4cGxpY2l0bHkgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgb3IgZGVzdHJveWVkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfc3Vic2NyaWJlVG9CYWNrZHJvcCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uID0gdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIHNldHMgdGhlIHBvcG92ZXIgc3RhdGUgdG8gb3BlbiBhbmQgZm9jdXNlcyB0aGUgZmlyc3QgaXRlbSBpZlxyXG5cdCAqIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2luaXRQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3Blbih0cnVlKTtcclxuXHRcdHRoaXMucGFuZWwucGFuZWxJZCA9IHRoaXMuX3BhbmVsSWQ7XHJcblx0XHR0aGlzLnBhbmVsLnRyaWdnZXJJZCA9IHRoaXMuX3RyaWdnZXJJZDtcclxuXHRcdHRoaXMucGFuZWwua2V5ZG93bkV2ZW50cyQgPSB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKTtcclxuXHRcdHRoaXMuX3N1YnNjcmliZVRvUGFuZWxFdmVudHMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIHJlc2V0cyB0aGUgcG9wb3ZlciB3aGVuIGl0J3MgY2xvc2VkLCBtb3N0IGltcG9ydGFudGx5IHJlc3RvcmluZ1xyXG5cdCAqIGZvY3VzIHRvIHRoZSBwb3BvdmVyIHRyaWdnZXIgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZCB2aWEgdGhlIGtleWJvYXJkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfcmVzZXRQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3BlbihmYWxzZSk7XHJcblxyXG5cdFx0Ly8gRm9jdXMgb25seSBuZWVkcyB0byBiZSByZXNldCB0byB0aGUgaG9zdCBlbGVtZW50IGlmIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWRcclxuXHRcdC8vIGJ5IHRoZSBrZXlib2FyZCBhbmQgbWFudWFsbHkgc2hpZnRlZCB0byB0aGUgZmlyc3QgcG9wb3ZlciBpdGVtLlxyXG5cdFx0aWYgKCF0aGlzLl9vcGVuZWRCeU1vdXNlICYmIHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdHRoaXMuZm9jdXMoKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdC8qKiBzZXQgc3RhdGUgcmF0aGVyIHRoYW4gdG9nZ2xlIHRvIHN1cHBvcnQgdHJpZ2dlcnMgc2hhcmluZyBhIHBvcG92ZXIgKi9cclxuXHRwcm90ZWN0ZWQgX3NldElzUG9wb3Zlck9wZW4oaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3BvdmVyT3BlbiA9IGlzT3BlbjtcclxuXHRcdC8vIHRlbGwgdGhlIHBhbmVsIGl0J3Mgb3BlbmluZy9jbG9zaW5nXHJcblx0XHRpc09wZW4gPyB0aGlzLnBhbmVsLm9uT3BlbigpIDogdGhpcy5wYW5lbC5vbkNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiAgVGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgYSB2YWxpZCBpbnN0YW5jZSBvZiBNZFBvcG92ZXIgaGFzIGJlZW4gcGFzc2VkIGludG9cclxuXHQgKiAgbWRQb3BvdmVyVHJpZ2dlckZvci4gSWYgbm90LCBhbiBleGNlcHRpb24gaXMgdGhyb3duLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfY2hlY2tQYW5lbCgpIHtcclxuXHRcdGlmICghdGhpcy5wYW5lbCkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcihgbHUtcG9wb3Zlci10cmlnZ2VyOiBtdXN0IHBhc3MgaW4gYSBsdS1wb3BvdmVyIGluc3RhbmNlLlxyXG4gICAgICBFeGFtcGxlOlxyXG4gICAgICA8bHUtcG9wb3ZlciAjcG9wb3Zlcj1cIkx1UG9wb3ZlclwiPjwvbHUtcG9wb3Zlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2x1UG9wb3Zlcl09XCJwb3BvdmVyXCI+PC9idXR0b24+YCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfY2hlY2tUYXJnZXQoKSB7XHJcblx0XHRpZiAoIXRoaXMudGFyZ2V0KSB7XHJcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlLmApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogIFRoaXMgbWV0aG9kIGNyZWF0ZXMgdGhlIG92ZXJsYXkgZnJvbSB0aGUgcHJvdmlkZWQgcG9wb3ZlcidzIHRlbXBsYXRlIGFuZCBzYXZlcyBpdHNcclxuXHQgKiAgT3ZlcmxheVJlZiBzbyB0aGF0IGl0IGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgRE9NIHdoZW4gb3BlblBvcG92ZXIgaXMgY2FsbGVkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcclxuXHRcdGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wYW5lbC50ZW1wbGF0ZVJlZiwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XHJcblx0XHRcdGNvbnN0IGNvbmZpZyA9IHRoaXMuX2dldE92ZXJsYXlDb25maWcoKTtcclxuXHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9Qb3NpdGlvbnMoY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBidWlsZHMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG5lZWRlZCB0byBjcmVhdGUgdGhlIG92ZXJsYXksIHRoZSBPdmVybGF5Q29uZmlnLlxyXG5cdCAqIEByZXR1cm5zIE92ZXJsYXlDb25maWdcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XHJcblx0XHRjb25zdCBvdmVybGF5U3RhdGUgPSBuZXcgT3ZlcmxheUNvbmZpZygpO1xyXG5cdFx0b3ZlcmxheVN0YXRlLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9nZXRQb3NpdGlvbigpO1xyXG5cdFx0LyoqIERpc3BsYXkgb3ZlcmxheSBiYWNrZHJvcCBpZiB0cmlnZ2VyIGV2ZW50IGlzIGNsaWNrICovXHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0b3ZlcmxheVN0YXRlLmhhc0JhY2tkcm9wID0gdHJ1ZTtcclxuXHRcdFx0b3ZlcmxheVN0YXRlLmJhY2tkcm9wQ2xhc3MgPSAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnO1xyXG5cdFx0fVxyXG5cclxuXHRcdG92ZXJsYXlTdGF0ZS5kaXJlY3Rpb24gPSB0aGlzLmRpcjtcclxuXHRcdGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5wYW5lbC5zY3JvbGxTdHJhdGVneTtcclxuXHRcdHN3aXRjaCAoc2Nyb2xsU3RyYXRlZ3kpIHtcclxuXHRcdFx0Y2FzZSAnYmxvY2snOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0Y2FzZSAnY2xvc2UnOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Nlc1xyXG5cdCAqIG9uIHRoZSBwb3BvdmVyIGJhc2VkIG9uIHRoZSBuZXcgcG9zaXRpb24uIFRoaXMgZW5zdXJlcyB0aGUgYW5pbWF0aW9uIG9yaWdpbiBpcyBhbHdheXNcclxuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1Bvc2l0aW9ucyhwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGMpID0+IGMuY29ubmVjdGlvblBhaXIpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoY29ubmVjdGlvblBhaXIpID0+IHtcclxuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGJ1aWxkcyB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgZm9yIHRoZSBvdmVybGF5LCBzbyB0aGUgcG9wb3ZlciBpcyBwcm9wZXJseSBjb25uZWN0ZWRcclxuXHQgKiB0byB0aGUgdHJpZ2dlci5cclxuXHQgKiBAcmV0dXJucyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XHJcblx0XHQvKipcclxuXHRcdCAqIEZvciBvdmVycmlkaW5nIHBvc2l0aW9uIGVsZW1lbnQsIHdoZW4gTHVQb3BvdmVyVGFyZ2V0QXQgaGFzIGEgdmFsaWQgZWxlbWVudCByZWZlcmVuY2UuXHJcblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxyXG5cdFx0ICogSWYgdW5kZWZpbmVkIGRlZmF1bHRzIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG5cdFx0ICovXHJcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcclxuXHRcdC8vIGlmICh0eXBlb2YgdGhpcy50YXJnZXRFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvcG92ZXIpIHtcclxuXHRcdC8vIFx0dGhpcy5wb3BvdmVyLmNvbnRhaW5lclBvc2l0aW9uaW5nID0gdHJ1ZTtcclxuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcclxuXHRcdC8vIH1cclxuXHJcblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcclxuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0JyxcclxuXHRcdFx0b3JpZ2luWTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdC8vIFBvc2l0aW9uXHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0Y29uc3Qgb3ZlcmxhcCA9IHRoaXMudGFyZ2V0Lm92ZXJsYXA7XHJcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWxvdycpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ3RvcCcgOiAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XHJcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gb3ZlcmxhcCA/ICdlbmQnIDogJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEFsaWdubWVudFxyXG5cdFx0Y29uc3QgYWxpZ25tZW50ID0gdGhpcy50YXJnZXQuYWxpZ25tZW50O1xyXG5cdFx0aWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ3JpZ2h0Jykge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnY2VudGVyJztcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdib3R0b20nO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2NlbnRlcic7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvdmVybGF5UG9zaXRpb246IE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24gPSB7XHJcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxyXG5cdFx0XHRvdmVybGF5WTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmIChvdmVybGFwKSB7XHJcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWDtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gJ2VuZCcgOiAnc3RhcnQnO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxyXG5cdFx0XHQucG9zaXRpb24oKVxyXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxyXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXHJcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXHJcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXHJcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRdKVxyXG5cdFx0XHQud2l0aERlZmF1bHRPZmZzZXRYKHRoaXMudGFyZ2V0Lm9mZnNldFgpXHJcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xyXG5cdFx0aWYgKHkgPT09ICd0b3AnKSB7XHJcblx0XHRcdHkgPSAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0eSA9ICd0b3AnO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcclxuXHRcdGlmICh4ID09PSAnZW5kJykge1xyXG5cdFx0XHR4ID0gJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHR4ID0gJ2VuZCc7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHg7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
430
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci9zcmMvbGliL3RyaWdnZXIvcG9wb3Zlci10cmlnZ2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFLTixhQUFhLEdBSWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1DckUsNENBQTRDO0FBQzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBbUZ0QyxZQUFzQixRQUFpQixFQUFZLFdBQW9DLEVBQVksaUJBQW1DO1FBQWhILGFBQVEsR0FBUixRQUFRLENBQVM7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBakY1SCxnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPckIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFJcEMsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUMvRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQW9CdkIsa0JBQWEsR0FBMEIsT0FBTyxDQUFDO1FBYS9DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBT2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBUWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFv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Q0FBQztTQUNWO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRVMscUJBQXFCO1FBQzlCLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHtcclxuXHRGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXHJcblx0T3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXksXHJcblx0T3ZlcmxheUNvbmZpZyxcclxuXHRPdmVybGF5Q29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXlSZWYsXHJcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSWQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJQYW5lbCwgTHVQb3BvdmVyU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICcuLi9wYW5lbC9pbmRleCc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJUYXJnZXQgfSBmcm9tICcuLi90YXJnZXQvaW5kZXgnO1xyXG5cclxuZXhwb3J0IHR5cGUgTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJyB8ICdob3ZlcicgfCAnbm9uZScgfCAnZm9jdXMnO1xyXG5cclxuLyoqXHJcbiAqIGNvbXBvbmVudCB0aGF0IHdpbGwgZGVjaWRlIHdoZW4gdG8gc2hvdyB0aGUgcG9wb3ZlciBhbmQgYXR0YWNoIGl0IHRvIHRoZSB0YXJnZXRcclxuICovXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTHVQb3BvdmVyVHJpZ2dlcjxUUGFuZWwgZXh0ZW5kcyBJTHVQb3BvdmVyUGFuZWwgPSBJTHVQb3BvdmVyUGFuZWwsIFRUYXJnZXQgZXh0ZW5kcyBJTHVQb3BvdmVyVGFyZ2V0ID0gSUx1UG9wb3ZlclRhcmdldD4ge1xyXG5cdC8qKiB0aGUgcG9wb3ZlciBwYW5lbCB0byBkaXNwbGF5ICovXHJcblx0cGFuZWw6IFRQYW5lbDtcclxuXHQvKiogdGhlIHBvcG92ZXIgdGFyZ2V0IHRvIGF0dGFjaCB0aGUgcGFuZWwgKi9cclxuXHR0YXJnZXQ6IFRUYXJnZXQ7XHJcblxyXG5cdC8qKiB3aGVuIHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgKi9cclxuXHR0cmlnZ2VyRXZlbnQ6IEx1UG9wb3ZlclRyaWdnZXJFdmVudDtcclxuXHQvKiogZGVsYXkgYmVmb3JlIHBvcG92ZXIgYXBwYXJpdGlvbiB3aGVuIHRyaWdnZXIgaXMgJ2hvdmVyJyAqL1xyXG5cdGVudGVyRGVsYXk6IG51bWJlcjtcclxuXHQvKiogZGVsYXkgYmVmb3JlIHBvcG92ZXIgZGlzcGFyaXRpb24gd2hlbiB0cmlnZ2VyIGlzICdob3ZlcicgKi9cclxuXHRsZWF2ZURlbGF5OiBudW1iZXI7XHJcblxyXG5cdC8qKiBkaXNhYmxlIHBvcG92ZXIgYXBwYXJpdGlvbiAqL1xyXG5cdGRpc2FibGVkOiBib29sZWFuO1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0b25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0b25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0b3BlblBvcG92ZXIoKTtcclxuXHRjbG9zZVBvcG92ZXIoKTtcclxuXHR0b2dnbGVQb3BvdmVyKCk7XHJcblx0ZGVzdHJveVBvcG92ZXIoKTtcclxufVxyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiBpbXBsZW1lbnRzIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCwgVFRhcmdldD4ge1xyXG5cdHByb3RlY3RlZCBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDx1bmtub3duPiB8IENvbXBvbmVudFBvcnRhbDxUUGFuZWw+O1xyXG5cdHByb3RlY3RlZCBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcclxuXHQvLyBwcm90ZWN0ZWQgX2hhbHQgPSBmYWxzZTtcclxuXHRwcm90ZWN0ZWQgX2JhY2tkcm9wU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRwcm90ZWN0ZWQgX21vdXNlb3ZlclRpbWVyOiB1bmtub3duO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWQkID0gbmV3IFN1YmplY3QoKTtcclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHQvLyB0cmFja2luZyBpbnB1dCB0eXBlIGlzIG5lY2Vzc2FyeSBzbyBpdCdzIHBvc3NpYmxlIHRvIG9ubHkgYXV0by1mb2N1c1xyXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcclxuXHRwcm90ZWN0ZWQgX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHJcblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xyXG5cdC8qKiBSZWZlcmVuY2VzIHRoZSBwb3BvdmVyIGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCBwYW5lbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcclxuXHR9XHJcblx0c2V0IHBhbmVsKHA6IFRQYW5lbCkge1xyXG5cdFx0dGhpcy5fcGFuZWwgPSBwO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF90YXJnZXQ6IFRUYXJnZXQ7XHJcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCB0YXJnZXQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG5cdH1cclxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcclxuXHRcdHRoaXMuX3RhcmdldCA9IHQ7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJztcclxuXHRnZXQgdHJpZ2dlckV2ZW50KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcclxuXHR9XHJcblx0c2V0IHRyaWdnZXJFdmVudCh0ZTogTHVQb3BvdmVyVHJpZ2dlckV2ZW50KSB7XHJcblx0XHR0aGlzLl90cmlnZ2VyRXZlbnQgPSB0ZTtcclxuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRpZiAodGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uID0gdGhpcy5faG92ZXJlZCQucGlwZShkZWJvdW5jZSgoaCkgPT4gKGggPyB0aW1lcih0aGlzLmVudGVyRGVsYXkpIDogdGltZXIodGhpcy5sZWF2ZURlbGF5KSkpKS5zdWJzY3JpYmUoKGgpID0+IChoID8gdGhpcy5vcGVuUG9wb3ZlcigpIDogdGhpcy5jbG9zZVBvcG92ZXIoKSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcclxuXHRnZXQgZW50ZXJEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9lbnRlckRlbGF5O1xyXG5cdH1cclxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2VudGVyRGVsYXkgPSBkO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2xlYXZlRGVsYXkgPSA1MDtcclxuXHRnZXQgbGVhdmVEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9sZWF2ZURlbGF5O1xyXG5cdH1cclxuXHRzZXQgbGVhdmVEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cdGdldCBkaXNhYmxlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX2Rpc2FibGVkID0gZDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfdHJpZ2dlcklkOiBzdHJpbmc7XHJcblx0cHJvdGVjdGVkIF9wYW5lbElkOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0YWJzdHJhY3Qgb25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0YWJzdHJhY3Qgb25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xyXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcclxuXHRcdHRoaXMuX3BhbmVsSWQgPSBgcG9wb3ZlclBhbmVsXyR7Z2VuZXJhdGVJZCgpfWA7XHJcblx0fVxyXG5cclxuXHRvbkNsaWNrKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snICYmICF0aGlzLmRpc2FibGVkKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25Nb3VzZUVudGVyKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdG9uRm9jdXMoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRvbkJsdXIoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXHJcblx0dG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHJldHVybiB0aGlzLl9wb3BvdmVyT3BlbiA/IHRoaXMuY2xvc2VQb3BvdmVyKCkgOiB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0fVxyXG5cclxuXHQvKiogT3BlbnMgdGhlIHBvcG92ZXIuICovXHJcblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuX3BvcG92ZXJPcGVuICYmICF0aGlzLl9kaXNhYmxlZCkge1xyXG5cdFx0XHR0aGlzLl9jcmVhdGVPdmVybGF5KCk7XHJcblx0XHRcdHRoaXMuX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpO1xyXG5cclxuXHRcdFx0LyoqIE9ubHkgc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGlmIHRyaWdnZXIgZXZlbnQgaXMgY2xpY2sgKi9cclxuXHRcdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9CYWNrZHJvcCgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gbW91c2UgZW50ZXIvbGVhdmUgb2YgdGhlIHBhbmVsIGlmIHRyaWdnZXIgPSBob3ZlciAqL1xyXG5cclxuXHRcdFx0dGhpcy5faW5pdFBvcG92ZXIoKTtcclxuXHRcdFx0dGhpcy5fZW1pdE9wZW4oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXHJcblx0Y2xvc2VQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcblxyXG5cdFx0XHQvKiogdW5zdWJzY3JpYmUgdG8gYmFja2Ryb3AgY2xpY2sgaWYgaXQgd2FzIGRlZmluZWQgKi9cclxuXHRcdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMucG9wb3Zlci50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLl9yZXNldFBvcG92ZXIoKTtcclxuXHRcdFx0dGhpcy5fZW1pdENsb3NlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogUmVtb3ZlcyB0aGUgcG9wb3ZlciBmcm9tIHRoZSBET00uICovXHJcblx0ZGVzdHJveVBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XHJcblx0XHRcdHRoaXMuX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogRm9jdXNlcyB0aGUgcG9wb3ZlciB0cmlnZ2VyLiAqL1xyXG5cdGZvY3VzKCkge1xyXG5cdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblx0fVxyXG5cclxuXHRfaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcblx0XHRpZiAoIWlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpKSB7XHJcblx0XHRcdHRoaXMuX29wZW5lZEJ5TW91c2UgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIFRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgY29udGFpbmluZyBhcHAuICovXHJcblx0Z2V0IGRpcigpOiBEaXJlY3Rpb24ge1xyXG5cdFx0Ly8gcmV0dXJuIHRoaXMuX2RpciAmJiB0aGlzLl9kaXIudmFsdWUgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdHJldHVybiAnbHRyJztcclxuXHR9XHJcblxyXG5cdC8qKiBSZXR1cm4gaWYgdGhlIHBvcG92ZXIgbWFpbiBwb3NpdGlvbm5pbmcgaXMgdmVydGljYWwgKi9cclxuXHRnZXQgaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQoKTogYm9vbGVhbiB7XHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0cmV0dXJuIHBvc2l0aW9uID09PSAnYmVsb3cnIHx8IHBvc2l0aW9uID09PSAnYWJvdmUnO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9hdHRhY2hQb3J0YWxUb092ZXJsYXkoKTogdm9pZCB7XHJcblx0XHR0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk6IEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IHtcclxuXHRcdHJldHVybiB0aGlzLnBhbmVsLnNjcm9sbFN0cmF0ZWd5O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxyXG5cdFx0XHRcdFx0dGhpcy5wYW5lbC5ob3ZlcmVkLnN1YnNjcmliZSgoaG92ZXJlZCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9ob3ZlcmVkJC5uZXh0KGhvdmVyZWQpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxyXG5cdFx0XHRcdHRoaXMucGFuZWwuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdCk7XHJcblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0dGhpcy5wYW5lbC5vcGVuLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGVuc3VyZXMgdGhhdCB0aGUgcG9wb3ZlciBjbG9zZXMgd2hlbiB0aGUgb3ZlcmxheSBiYWNrZHJvcCBpcyBjbGlja2VkLlxyXG5cdCAqIFdlIGRvIG5vdCB1c2UgZmlyc3QoKSBoZXJlIGJlY2F1c2UgZG9pbmcgc28gd291bGQgbm90IGNhdGNoIGNsaWNrcyBmcm9tIHdpdGhpblxyXG5cdCAqIHRoZSBwb3BvdmVyLCBhbmQgaXQgd291bGQgZmFpbCB0byB1bnN1YnNjcmliZSBwcm9wZXJseS4gSW5zdGVhZCwgd2UgdW5zdWJzY3JpYmVcclxuXHQgKiBleHBsaWNpdGx5IHdoZW4gdGhlIHBvcG92ZXIgaXMgY2xvc2VkIG9yIGRlc3Ryb3llZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvQmFja2Ryb3AoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSBwb3BvdmVyIHN0YXRlIHRvIG9wZW4gYW5kIGZvY3VzZXMgdGhlIGZpcnN0IGl0ZW0gaWZcclxuXHQgKiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9pbml0UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcblx0XHR0aGlzLnBhbmVsLnBhbmVsSWQgPSB0aGlzLl9wYW5lbElkO1xyXG5cdFx0dGhpcy5wYW5lbC50cmlnZ2VySWQgPSB0aGlzLl90cmlnZ2VySWQ7XHJcblx0XHR0aGlzLnBhbmVsLmtleWRvd25FdmVudHMkID0gdGhpcy5fb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCk7XHJcblx0XHR0aGlzLl9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCByZXNldHMgdGhlIHBvcG92ZXIgd2hlbiBpdCdzIGNsb3NlZCwgbW9zdCBpbXBvcnRhbnRseSByZXN0b3JpbmdcclxuXHQgKiBmb2N1cyB0byB0aGUgcG9wb3ZlciB0cmlnZ2VyIGlmIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3Jlc2V0UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG5cclxuXHRcdC8vIEZvY3VzIG9ubHkgbmVlZHMgdG8gYmUgcmVzZXQgdG8gdGhlIGhvc3QgZWxlbWVudCBpZiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkXHJcblx0XHQvLyBieSB0aGUga2V5Ym9hcmQgYW5kIG1hbnVhbGx5IHNoaWZ0ZWQgdG8gdGhlIGZpcnN0IHBvcG92ZXIgaXRlbS5cclxuXHRcdGlmICghdGhpcy5fb3BlbmVkQnlNb3VzZSAmJiB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xyXG5cdFx0XHR0aGlzLmZvY3VzKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XHJcblx0fVxyXG5cclxuXHQvKiogc2V0IHN0YXRlIHJhdGhlciB0aGFuIHRvZ2dsZSB0byBzdXBwb3J0IHRyaWdnZXJzIHNoYXJpbmcgYSBwb3BvdmVyICovXHJcblx0cHJvdGVjdGVkIF9zZXRJc1BvcG92ZXJPcGVuKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5fcG9wb3Zlck9wZW4gPSBpc09wZW47XHJcblx0XHQvLyB0ZWxsIHRoZSBwYW5lbCBpdCdzIG9wZW5pbmcvY2xvc2luZ1xyXG5cdFx0aXNPcGVuID8gdGhpcy5wYW5lbC5vbk9wZW4oKSA6IHRoaXMucGFuZWwub25DbG9zZSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogIFRoaXMgbWV0aG9kIGNoZWNrcyB0aGF0IGEgdmFsaWQgaW5zdGFuY2Ugb2YgTWRQb3BvdmVyIGhhcyBiZWVuIHBhc3NlZCBpbnRvXHJcblx0ICogIG1kUG9wb3ZlclRyaWdnZXJGb3IuIElmIG5vdCwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2NoZWNrUGFuZWwoKSB7XHJcblx0XHRpZiAoIXRoaXMucGFuZWwpIHtcclxuXHRcdFx0dGhyb3cgRXJyb3IoYGx1LXBvcG92ZXItdHJpZ2dlcjogbXVzdCBwYXNzIGluIGEgbHUtcG9wb3ZlciBpbnN0YW5jZS5cclxuICAgICAgRXhhbXBsZTpcclxuICAgICAgPGx1LXBvcG92ZXIgI3BvcG92ZXI9XCJMdVBvcG92ZXJcIj48L2x1LXBvcG92ZXI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtsdVBvcG92ZXJdPVwicG9wb3ZlclwiPjwvYnV0dG9uPmApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2NoZWNrVGFyZ2V0KCkge1xyXG5cdFx0aWYgKCF0aGlzLnRhcmdldCkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcihgbHUtcG9wb3Zlci10cmlnZ2VyOiBtdXN0IHBhc3MgaW4gYSBwb3BvdmVyIHRhcmdldCBpbnN0YW5jZS5gKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqICBUaGlzIG1ldGhvZCBjcmVhdGVzIHRoZSBvdmVybGF5IGZyb20gdGhlIHByb3ZpZGVkIHBvcG92ZXIncyB0ZW1wbGF0ZSBhbmQgc2F2ZXMgaXRzXHJcblx0ICogIE92ZXJsYXlSZWYgc28gdGhhdCBpdCBjYW4gYmUgYXR0YWNoZWQgdG8gdGhlIERPTSB3aGVuIG9wZW5Qb3BvdmVyIGlzIGNhbGxlZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2NyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XHJcblx0XHRpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcclxuXHRcdFx0dGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucGFuZWwudGVtcGxhdGVSZWYsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG5cdFx0XHRjb25zdCBjb25maWcgPSB0aGlzLl9nZXRPdmVybGF5Q29uZmlnKCk7XHJcblx0XHRcdHRoaXMuX3N1YnNjcmliZVRvUG9zaXRpb25zKGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSk7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0aGlzLl9vdmVybGF5UmVmO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBuZWVkZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LCB0aGUgT3ZlcmxheUNvbmZpZy5cclxuXHQgKiBAcmV0dXJucyBPdmVybGF5Q29uZmlnXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xyXG5cdFx0Y29uc3Qgb3ZlcmxheVN0YXRlID0gbmV3IE92ZXJsYXlDb25maWcoKTtcclxuXHRcdG92ZXJsYXlTdGF0ZS5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fZ2V0UG9zaXRpb24oKTtcclxuXHRcdC8qKiBEaXNwbGF5IG92ZXJsYXkgYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdG92ZXJsYXlTdGF0ZS5oYXNCYWNrZHJvcCA9IHRydWU7XHJcblx0XHRcdG92ZXJsYXlTdGF0ZS5iYWNrZHJvcENsYXNzID0gJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJztcclxuXHRcdH1cclxuXHJcblx0XHRvdmVybGF5U3RhdGUuZGlyZWN0aW9uID0gdGhpcy5kaXI7XHJcblx0XHRjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX2dldFBhbmVsU2Nyb2xsU3RyYXRlZ3koKTtcclxuXHRcdHN3aXRjaCAoc2Nyb2xsU3RyYXRlZ3kpIHtcclxuXHRcdFx0Y2FzZSAnYmxvY2snOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0Y2FzZSAnY2xvc2UnOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Nlc1xyXG5cdCAqIG9uIHRoZSBwb3BvdmVyIGJhc2VkIG9uIHRoZSBuZXcgcG9zaXRpb24uIFRoaXMgZW5zdXJlcyB0aGUgYW5pbWF0aW9uIG9yaWdpbiBpcyBhbHdheXNcclxuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1Bvc2l0aW9ucyhwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGMpID0+IGMuY29ubmVjdGlvblBhaXIpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoY29ubmVjdGlvblBhaXIpID0+IHtcclxuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGJ1aWxkcyB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgZm9yIHRoZSBvdmVybGF5LCBzbyB0aGUgcG9wb3ZlciBpcyBwcm9wZXJseSBjb25uZWN0ZWRcclxuXHQgKiB0byB0aGUgdHJpZ2dlci5cclxuXHQgKiBAcmV0dXJucyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XHJcblx0XHQvKipcclxuXHRcdCAqIEZvciBvdmVycmlkaW5nIHBvc2l0aW9uIGVsZW1lbnQsIHdoZW4gTHVQb3BvdmVyVGFyZ2V0QXQgaGFzIGEgdmFsaWQgZWxlbWVudCByZWZlcmVuY2UuXHJcblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxyXG5cdFx0ICogSWYgdW5kZWZpbmVkIGRlZmF1bHRzIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG5cdFx0ICovXHJcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcclxuXHRcdC8vIGlmICh0eXBlb2YgdGhpcy50YXJnZXRFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvcG92ZXIpIHtcclxuXHRcdC8vIFx0dGhpcy5wb3BvdmVyLmNvbnRhaW5lclBvc2l0aW9uaW5nID0gdHJ1ZTtcclxuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcclxuXHRcdC8vIH1cclxuXHJcblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcclxuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0JyxcclxuXHRcdFx0b3JpZ2luWTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdC8vIFBvc2l0aW9uXHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0Y29uc3Qgb3ZlcmxhcCA9IHRoaXMudGFyZ2V0Lm92ZXJsYXA7XHJcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWxvdycpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ3RvcCcgOiAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XHJcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gb3ZlcmxhcCA/ICdlbmQnIDogJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEFsaWdubWVudFxyXG5cdFx0Y29uc3QgYWxpZ25tZW50ID0gdGhpcy50YXJnZXQuYWxpZ25tZW50O1xyXG5cdFx0aWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ3JpZ2h0Jykge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnY2VudGVyJztcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdib3R0b20nO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2NlbnRlcic7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvdmVybGF5UG9zaXRpb246IE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24gPSB7XHJcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxyXG5cdFx0XHRvdmVybGF5WTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmIChvdmVybGFwKSB7XHJcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWDtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gJ2VuZCcgOiAnc3RhcnQnO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxyXG5cdFx0XHQucG9zaXRpb24oKVxyXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxyXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXHJcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXHJcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXHJcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRdKVxyXG5cdFx0XHQud2l0aERlZmF1bHRPZmZzZXRYKHRoaXMudGFyZ2V0Lm9mZnNldFgpXHJcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xyXG5cdFx0aWYgKHkgPT09ICd0b3AnKSB7XHJcblx0XHRcdHkgPSAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0eSA9ICd0b3AnO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcclxuXHRcdGlmICh4ID09PSAnZW5kJykge1xyXG5cdFx0XHR4ID0gJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHR4ID0gJ2VuZCc7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHg7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,3 @@
1
1
  export * from './safe-content.module';
2
- export * from './safe-content.model';
3
- export * from './safe-content.pipe';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9zYWZlLWNvbnRlbnQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2FmZS1jb250ZW50Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2FmZS1jb250ZW50Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9zYWZlLWNvbnRlbnQucGlwZSc7XHJcbiJdfQ==
2
+ export * from './safe-html.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9zYWZlLWNvbnRlbnQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NhZmUtY29udGVudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NhZmUtaHRtbC5waXBlJztcclxuIl19
@@ -1,19 +1,19 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
3
- import { LuSafeContentPipe } from './safe-content.pipe';
2
+ import { NgModule } from '@angular/core';
3
+ import { LuSafeHtmlPipe } from './safe-html.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class LuSafeContentModule {
6
6
  }
7
7
  LuSafeContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuSafeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- LuSafeContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuSafeContentModule, declarations: [LuSafeContentPipe], imports: [CommonModule], exports: [LuSafeContentPipe] });
8
+ LuSafeContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuSafeContentModule, declarations: [LuSafeHtmlPipe], imports: [CommonModule], exports: [LuSafeHtmlPipe] });
9
9
  LuSafeContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuSafeContentModule, providers: [], imports: [CommonModule] });
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuSafeContentModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
14
- declarations: [LuSafeContentPipe],
15
- exports: [LuSafeContentPipe],
14
+ declarations: [LuSafeHtmlPipe],
15
+ exports: [LuSafeHtmlPipe],
16
16
  providers: [],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1jb250ZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3NhZmUtY29udGVudC9zcmMvbGliL3NhZmUtY29udGVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBUXhELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFKaEIsaUJBQWlCLGFBRHRCLFlBQVksYUFFWixpQkFBaUI7aUhBR2YsbUJBQW1CLGFBRnBCLEVBQUUsWUFISCxZQUFZOzJGQUtWLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMdVNhZmVDb250ZW50UGlwZSB9IGZyb20gJy4vc2FmZS1jb250ZW50LnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuXHRkZWNsYXJhdGlvbnM6IFtMdVNhZmVDb250ZW50UGlwZV0sXHJcblx0ZXhwb3J0czogW0x1U2FmZUNvbnRlbnRQaXBlXSxcclxuXHRwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVTYWZlQ29udGVudE1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1jb250ZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3NhZmUtY29udGVudC9zcmMvbGliL3NhZmUtY29udGVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVFsRCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBSmhCLGNBQWMsYUFEbkIsWUFBWSxhQUVaLGNBQWM7aUhBR1osbUJBQW1CLGFBRnBCLEVBQUUsWUFISCxZQUFZOzJGQUtWLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixTQUFTLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEx1U2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9zYWZlLWh0bWwucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1U2FmZUh0bWxQaXBlXSxcclxuXHRleHBvcnRzOiBbTHVTYWZlSHRtbFBpcGVdLFxyXG5cdHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdVNhZmVDb250ZW50TW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { sanitize } from 'dompurify';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ export class LuSafeHtmlPipe {
6
+ constructor(sanitizer) {
7
+ this.sanitizer = sanitizer;
8
+ }
9
+ transform(value, config) {
10
+ return this.sanitizer.bypassSecurityTrustHtml(sanitize(value, config));
11
+ }
12
+ }
13
+ LuSafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ LuSafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: LuSafeHtmlPipe, name: "luSafeHtml" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuSafeHtmlPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{ name: 'luSafeHtml' }]
18
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9zYWZlLWNvbnRlbnQvc3JjL2xpYi9zYWZlLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQVUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFLN0MsTUFBTSxPQUFPLGNBQWM7SUFDMUIsWUFBc0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFMUMsU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUF3QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OzJHQUxXLGNBQWM7eUdBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDb25maWcsIHNhbml0aXplIH0gZnJvbSAnZG9tcHVyaWZ5JztcclxuXHJcbnR5cGUgU2FuaXRpemVyQ29uZmlnID0gQ29uZmlnICYgeyBSRVRVUk5fRE9NX0ZSQUdNRU5UPzogZmFsc2UgfCB1bmRlZmluZWQ7IFJFVFVSTl9ET00/OiBmYWxzZSB8IHVuZGVmaW5lZCB9O1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnbHVTYWZlSHRtbCcgfSlcclxuZXhwb3J0IGNsYXNzIEx1U2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuXHRwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGNvbmZpZz86IFNhbml0aXplckNvbmZpZyk6IFNhZmVIdG1sIHtcclxuXHRcdHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzYW5pdGl6ZSh2YWx1ZSwgY29uZmlnKSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -3,7 +3,6 @@ import { ALuPopoverPanel } from '@lucca-front/ng/popover';
3
3
  import { luTransformTooltip } from '../animation/index';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- import * as i2 from "@lucca-front/ng/safe-content";
7
6
  export class LuTooltipPanelComponent extends ALuPopoverPanel {
8
7
  constructor(_changeDetectorRef) {
9
8
  super();
@@ -38,10 +37,10 @@ export class LuTooltipPanelComponent extends ALuPopoverPanel {
38
37
  }
39
38
  }
40
39
  LuTooltipPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- LuTooltipPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: LuTooltipPanelComponent, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- <div [ngClass]=\"panelClassesMap\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" [innerHtml]=\"content | luSafeContent: 'html'\">\r\n</div> -->\r\n<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-tooltip-panel\"\r\n\t\trole=\"tooltip\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t[attr.id]=\"panelId\"\r\n\t\t[@transformTooltip]=\"'enter'\"\r\n\t>\r\n\t\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.LuSafeContentPipe, name: "luSafeContent" }], animations: [luTransformTooltip], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ LuTooltipPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: LuTooltipPanelComponent, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\tclass=\"lu-tooltip-panel\"\r\n\trole=\"tooltip\"\r\n\t[ngClass]=\"panelClassesMap\"\r\n\t(mouseover)=\"onMouseOver()\"\r\n\t(mouseleave)=\"onMouseLeave()\"\r\n\t[attr.id]=\"panelId\"\r\n\t[@transformTooltip]=\"'enter'\"\r\n>\r\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\r\n</div>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [luTransformTooltip], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
43
42
  type: Component,
44
- args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div [ngClass]=\"panelClassesMap\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" [innerHtml]=\"content | luSafeContent: 'html'\">\r\n</div> -->\r\n<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-tooltip-panel\"\r\n\t\trole=\"tooltip\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t[attr.id]=\"panelId\"\r\n\t\t[@transformTooltip]=\"'enter'\"\r\n\t>\r\n\t\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"] }]
43
+ args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n\tclass=\"lu-tooltip-panel\"\r\n\trole=\"tooltip\"\r\n\t[ngClass]=\"panelClassesMap\"\r\n\t(mouseover)=\"onMouseOver()\"\r\n\t(mouseleave)=\"onMouseLeave()\"\r\n\t[attr.id]=\"panelId\"\r\n\t[@transformTooltip]=\"'enter'\"\r\n>\r\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\r\n</div>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"] }]
45
44
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { animationState: [{
46
45
  type: HostBinding,
47
46
  args: ['@transformTooltip']
@@ -55,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
55
54
  type: ViewChild,
56
55
  args: [TemplateRef, { static: true }]
57
56
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFzQjNELFlBQW9CLGtCQUFxQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURXLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFyQnZCLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBVzNELG9CQUFvQjtRQUNwQiw0REFBNEQ7UUFDekMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEQsNERBQTREO1FBQ3pDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBT3hELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFyQkQsSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFRRCxJQUNJLGFBQWEsQ0FBQyxFQUErQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTUQsZUFBZTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFnQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOztvSEFwQ1csdUJBQXVCO3dHQUF2Qix1QkFBdUIsNE9Ba0J4QixXQUFXLHFGQzdCdkIseWxCQWVBLGs1QkRQYSxDQUFDLGtCQUFrQixDQUFDOzJGQUdwQix1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Msa0JBQWtCLGNBR2hCLENBQUMsa0JBQWtCLENBQUMsbUJBQ2YsdUJBQXVCLENBQUMsTUFBTTt3R0FHYixjQUFjO3NCQUEvQyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFhYixLQUFLO3NCQUF2QixNQUFNO2dCQUVZLElBQUk7c0JBQXRCLE1BQU07Z0JBQ1ksT0FBTztzQkFBekIsTUFBTTtnQkFFSCxhQUFhO3NCQURoQixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFMdVBvcG92ZXJQYW5lbCwgSUx1UG9wb3ZlclBhbmVsIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBsdVRyYW5zZm9ybVRvb2x0aXAgfSBmcm9tICcuLi9hbmltYXRpb24vaW5kZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS10b29sdGlwLXBhbmVsJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGFuaW1hdGlvbnM6IFtsdVRyYW5zZm9ybVRvb2x0aXBdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVUb29sdGlwUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBTHVQb3BvdmVyUGFuZWwgaW1wbGVtZW50cyBJTHVQb3BvdmVyUGFuZWwge1xyXG5cdEBIb3N0QmluZGluZygnQHRyYW5zZm9ybVRvb2x0aXAnKSBhbmltYXRpb25TdGF0ZSA9ICdlbnRlcic7XHJcblxyXG5cdHByaXZhdGUgX2NvbnRlbnQ6IHN0cmluZztcclxuXHRnZXQgY29udGVudCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb250ZW50O1xyXG5cdH1cclxuXHRzZXQgY29udGVudChjKSB7XHJcblx0XHR0aGlzLl9jb250ZW50ID0gYztcclxuXHRcdHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0Ly9GSVhNRSBvdXRwdXQgZXZlbnRcclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcclxuXHRAT3V0cHV0KCkgb3ZlcnJpZGUgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIG9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIGhvdmVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblx0QFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRzZXQgdmNUZW1wbGF0ZVJlZih0cjogVGVtcGxhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KSB7XHJcblx0XHR0aGlzLnRlbXBsYXRlUmVmID0gdHI7XHJcblx0fVxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSAnY2xvc2UnO1xyXG5cdH1cclxuXHJcblx0X2VtaXRDbG9zZUV2ZW50KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5jbG9zZS5lbWl0KCk7XHJcblx0fVxyXG5cclxuXHRfZW1pdE9wZW5FdmVudCgpOiB2b2lkIHtcclxuXHRcdHRoaXMub3Blbi5lbWl0KCk7XHJcblx0fVxyXG5cdF9lbWl0SG92ZXJlZEV2ZW50KGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuaG92ZXJlZC5lbWl0KGhvdmVyZWQpO1xyXG5cdH1cclxufVxyXG4iLCI8IS0tIDxkaXYgW25nQ2xhc3NdPVwicGFuZWxDbGFzc2VzTWFwXCIgKG1vdXNlb3Zlcik9XCJvbk1vdXNlT3ZlcigpXCIgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnQgfCBsdVNhZmVDb250ZW50OiAnaHRtbCdcIj5cclxuPC9kaXY+IC0tPlxyXG48bmctdGVtcGxhdGU+XHJcblx0PGRpdlxyXG5cdFx0Y2xhc3M9XCJsdS10b29sdGlwLXBhbmVsXCJcclxuXHRcdHJvbGU9XCJ0b29sdGlwXCJcclxuXHRcdFtuZ0NsYXNzXT1cInBhbmVsQ2xhc3Nlc01hcFwiXHJcblx0XHQobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKClcIlxyXG5cdFx0KG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxyXG5cdFx0W2F0dHIuaWRdPVwicGFuZWxJZFwiXHJcblx0XHRbQHRyYW5zZm9ybVRvb2x0aXBdPVwiJ2VudGVyJ1wiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cImx1LXRvb2x0aXAtY29udGVudFwiIFtuZ0NsYXNzXT1cImNvbnRlbnRDbGFzc2VzTWFwXCIgW2lubmVySHRtbF09XCJjb250ZW50IHwgbHVTYWZlQ29udGVudDogJ2h0bWwnXCI+PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpKLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQVN4RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQXNCM0QsWUFBb0Isa0JBQXFDO1FBQ3hELEtBQUssRUFBRSxDQUFDO1FBRFcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXJCdkIsbUJBQWMsR0FBRyxPQUFPLENBQUM7UUFXM0Qsb0JBQW9CO1FBQ3BCLDREQUE0RDtRQUN6QyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCw0REFBNEQ7UUFDekMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQXJCRCxJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQVFELElBQ0ksYUFBYSxDQUFDLEVBQStCO1FBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFNRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7O29IQXBDVyx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw0T0FrQnhCLFdBQVcscUZDOUJ2QixnV0FXQSw2MEJERmEsQ0FBQyxrQkFBa0IsQ0FBQzsyRkFHcEIsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNDLGtCQUFrQixjQUdoQixDQUFDLGtCQUFrQixDQUFDLG1CQUNmLHVCQUF1QixDQUFDLE1BQU07d0dBR2IsY0FBYztzQkFBL0MsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBYWIsS0FBSztzQkFBdkIsTUFBTTtnQkFFWSxJQUFJO3NCQUF0QixNQUFNO2dCQUNZLE9BQU87c0JBQXpCLE1BQU07Z0JBRUgsYUFBYTtzQkFEaEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBTHVQb3BvdmVyUGFuZWwsIElMdVBvcG92ZXJQYW5lbCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgbHVUcmFuc2Zvcm1Ub29sdGlwIH0gZnJvbSAnLi4vYW5pbWF0aW9uL2luZGV4JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbHUtdG9vbHRpcC1wYW5lbCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuXHRhbmltYXRpb25zOiBbbHVUcmFuc2Zvcm1Ub29sdGlwXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQUx1UG9wb3ZlclBhbmVsIGltcGxlbWVudHMgSUx1UG9wb3ZlclBhbmVsIHtcclxuXHRASG9zdEJpbmRpbmcoJ0B0cmFuc2Zvcm1Ub29sdGlwJykgYW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xyXG5cclxuXHRwcml2YXRlIF9jb250ZW50OiBzdHJpbmcgfCBTYWZlSHRtbDtcclxuXHRnZXQgY29udGVudCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb250ZW50O1xyXG5cdH1cclxuXHRzZXQgY29udGVudChjKSB7XHJcblx0XHR0aGlzLl9jb250ZW50ID0gYztcclxuXHRcdHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0Ly9GSVhNRSBvdXRwdXQgZXZlbnRcclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcclxuXHRAT3V0cHV0KCkgb3ZlcnJpZGUgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIG9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIGhvdmVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblx0QFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRzZXQgdmNUZW1wbGF0ZVJlZih0cjogVGVtcGxhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KSB7XHJcblx0XHR0aGlzLnRlbXBsYXRlUmVmID0gdHI7XHJcblx0fVxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSAnY2xvc2UnO1xyXG5cdH1cclxuXHJcblx0X2VtaXRDbG9zZUV2ZW50KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5jbG9zZS5lbWl0KCk7XHJcblx0fVxyXG5cclxuXHRfZW1pdE9wZW5FdmVudCgpOiB2b2lkIHtcclxuXHRcdHRoaXMub3Blbi5lbWl0KCk7XHJcblx0fVxyXG5cdF9lbWl0SG92ZXJlZEV2ZW50KGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuaG92ZXJlZC5lbWl0KGhvdmVyZWQpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2XHJcblx0Y2xhc3M9XCJsdS10b29sdGlwLXBhbmVsXCJcclxuXHRyb2xlPVwidG9vbHRpcFwiXHJcblx0W25nQ2xhc3NdPVwicGFuZWxDbGFzc2VzTWFwXCJcclxuXHQobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKClcIlxyXG5cdChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcclxuXHRbYXR0ci5pZF09XCJwYW5lbElkXCJcclxuXHRbQHRyYW5zZm9ybVRvb2x0aXBdPVwiJ2VudGVyJ1wiXHJcbj5cclxuXHQ8ZGl2IGNsYXNzPVwibHUtdG9vbHRpcC1jb250ZW50XCIgW25nQ2xhc3NdPVwiY29udGVudENsYXNzZXNNYXBcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==