@igo2/geo 17.0.0-next.5 → 17.0.0-next.6

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 (109) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +3 -3
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +5 -5
  3. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +3 -3
  5. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  6. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  7. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  8. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  9. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  10. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  11. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  12. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  13. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  14. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  15. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +3 -3
  16. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +3 -3
  17. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  18. package/esm2022/lib/directions/shared/directions.utils.mjs +21 -21
  19. package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
  20. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +7 -4
  21. package/esm2022/lib/draw/draw/draw.component.mjs +4 -4
  22. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +3 -3
  23. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
  24. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  25. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +3 -3
  26. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +7 -7
  27. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  28. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +3 -3
  29. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  30. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +3 -3
  31. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  32. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +3 -3
  33. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +7 -7
  34. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +3 -3
  35. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  36. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +3 -3
  37. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  38. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  39. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  40. package/esm2022/lib/import-export/import-export/import-export.component.mjs +1 -1
  41. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  42. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  43. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +5 -4
  44. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +3 -3
  45. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  46. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  47. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +3 -3
  48. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
  49. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +7 -7
  50. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +3 -3
  51. package/esm2022/lib/map/menu-button/menu-button.component.mjs +3 -3
  52. package/esm2022/lib/map/offline-button/offline-button.component.mjs +3 -3
  53. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +3 -3
  54. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +6 -6
  55. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +3 -3
  56. package/esm2022/lib/measure/measurer/measurer.component.mjs +3 -3
  57. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  58. package/esm2022/lib/query/shared/query.directive.mjs +1 -1
  59. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  60. package/esm2022/lib/search/search-bar/search-bar.component.mjs +3 -3
  61. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +5 -5
  62. package/esm2022/lib/search/search-results/search-results-item.component.mjs +3 -3
  63. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  64. package/esm2022/lib/search/search-settings/search-settings.component.mjs +3 -3
  65. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  66. package/esm2022/lib/search/shared/search.utils.mjs +2 -2
  67. package/esm2022/lib/search/shared/sources/cadastre.mjs +2 -2
  68. package/esm2022/lib/search/shared/sources/coordinates.mjs +2 -2
  69. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
  70. package/esm2022/lib/search/shared/sources/icherche.mjs +8 -3
  71. package/esm2022/lib/search/shared/sources/nominatim.mjs +2 -2
  72. package/esm2022/lib/search/shared/sources/storedqueries.mjs +3 -3
  73. package/esm2022/lib/search/shared/sources/workspace.mjs +2 -2
  74. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  75. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +3 -3
  76. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +3 -3
  77. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
  78. package/esm2022/lib/toast/toast.component.mjs +3 -3
  79. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +3 -3
  80. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  81. package/fesm2022/igo2-geo.mjs +188 -150
  82. package/fesm2022/igo2-geo.mjs.map +1 -1
  83. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  84. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -3
  85. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +2 -3
  86. package/lib/datasource/shared/datasources/datasource.d.ts +1 -2
  87. package/lib/datasource/shared/datasources/feature-datasource.d.ts +2 -3
  88. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -3
  89. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -2
  90. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +2 -3
  91. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -2
  92. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -2
  93. package/lib/directions/shared/directions.interface.d.ts +2 -9
  94. package/lib/draw/draw/draw-shorcuts.component.d.ts +2 -0
  95. package/lib/filter/shared/ogc-filter.interface.d.ts +1 -2
  96. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -2
  97. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  98. package/lib/geometry/shared/controls/slice.d.ts +4 -4
  99. package/lib/layer/layer-list/layer-list.component.d.ts +2 -0
  100. package/lib/layer/shared/layers/vector-layer.d.ts +3 -4
  101. package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -2
  102. package/lib/query/shared/query.interfaces.d.ts +1 -2
  103. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  104. package/lib/search/shared/search.interfaces.d.ts +12 -10
  105. package/lib/search/shared/sources/icherche-icons.d.ts +7 -0
  106. package/lib/style/shared/vector/conversion.utils.d.ts +2 -3
  107. package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
  108. package/package.json +6 -6
  109. package/style/style.css +2 -1
@@ -213,7 +213,7 @@ export class OgcFilterableItemComponent {
213
213
  this.filtersCollapsed = !this.filtersCollapsed;
214
214
  }
215
215
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OgcFilterableItemComponent, deps: [{ token: i1.OGCFilterService }], target: i0.ɵɵFactoryTarget.Component });
216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: OgcFilterableItemComponent, isStandalone: true, selector: "igo-ogc-filterable-item", inputs: { layer: "layer", map: "map", header: "header" }, providers: [OGCFilterService], ngImport: i0, template: "<div [ngClass]=\"{ 'separate-item': header === true }\">\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n svgIcon=\"chevron-up\"\n >\n </mat-icon>\n <span\n *ngIf=\"header\"\n matListItemTitle\n [ngStyle]=\"{ cursor: filtersCollapsed ? 'default' : 'pointer' }\"\n [matTooltip]=\"layer.title\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer.title }}\n </span>\n <div matListItemMeta>\n <button\n *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\"\n [disabled]=\"addFilterDisabled()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\"\n [color]=\"color\"\n (click)=\"addFilterToSequence()\"\n >\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n <button\n *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n layer.visible\n ? ('igo.geo.layer.hideLayer' | translate)\n : ('igo.geo.layer.showLayer' | translate)\n \"\n (click)=\"layer.visible = !layer.visible\"\n >\n <mat-icon\n [ngClass]=\"{ disabled: (inResolutionRange$ | async) === false }\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\"\n >\n </mat-icon>\n </button>\n </div>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form\n [datasource]=\"datasource\"\n [map]=\"map\"\n [refreshFilters]=\"refreshFunc\"\n >\n </igo-ogc-filterable-form>\n\n <section\n *ngIf=\"hasSelector && filtersAreEditable\"\n class=\"mat-typography advancedOgcFilters\"\n >\n <mat-divider></mat-divider>\n <mat-checkbox\n (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\"\n >\n {{ 'igo.geo.filter.advancedOgcFilters' | translate }}\n </mat-checkbox>\n </section>\n </div>\n</div>\n", styles: [":host{overflow:hidden}:host .advancedOgcFilters{text-align:center;width:100%;display:inline-block}:host .mat-mdc-list-item{height:auto}:host .igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}:host mat-icon.disabled{color:#00000061}:host .separate-item{border-bottom:4px solid darkgrey}:host ::ng-deep .mdc-list-item__start,:host ::ng-deep .mdc-list-item__end,:host ::ng-deep .mdc-list-item__content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "component", type: OgcFilterableFormComponent, selector: "igo-ogc-filterable-form", inputs: ["datasource", "map", "refreshFilters"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
216
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: OgcFilterableItemComponent, isStandalone: true, selector: "igo-ogc-filterable-item", inputs: { layer: "layer", map: "map", header: "header" }, providers: [OGCFilterService], ngImport: i0, template: "<div [ngClass]=\"{ 'separate-item': header === true }\">\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n >expand_less\n </mat-icon>\n <span\n *ngIf=\"header\"\n matListItemTitle\n [ngStyle]=\"{ cursor: filtersCollapsed ? 'default' : 'pointer' }\"\n [matTooltip]=\"layer.title\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer.title }}\n </span>\n <div matListItemMeta>\n <button\n *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\"\n [disabled]=\"addFilterDisabled()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\"\n [color]=\"color\"\n (click)=\"addFilterToSequence()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n layer.visible\n ? ('igo.geo.layer.hideLayer' | translate)\n : ('igo.geo.layer.showLayer' | translate)\n \"\n (click)=\"layer.visible = !layer.visible\"\n >\n <mat-icon\n [ngClass]=\"{ disabled: (inResolutionRange$ | async) === false }\"\n >{{ layer.visible ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </div>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form\n [datasource]=\"datasource\"\n [map]=\"map\"\n [refreshFilters]=\"refreshFunc\"\n >\n </igo-ogc-filterable-form>\n\n <section\n *ngIf=\"hasSelector && filtersAreEditable\"\n class=\"mat-typography advancedOgcFilters\"\n >\n <mat-divider></mat-divider>\n <mat-checkbox\n (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\"\n >\n {{ 'igo.geo.filter.advancedOgcFilters' | translate }}\n </mat-checkbox>\n </section>\n </div>\n</div>\n", styles: [":host{overflow:hidden}:host .advancedOgcFilters{text-align:center;width:100%;display:inline-block}:host .mat-mdc-list-item{height:auto}:host .igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}:host mat-icon.disabled{color:#00000061}:host .separate-item{border-bottom:4px solid darkgrey}:host ::ng-deep .mdc-list-item__start,:host ::ng-deep .mdc-list-item__end,:host ::ng-deep .mdc-list-item__content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "component", type: OgcFilterableFormComponent, selector: "igo-ogc-filterable-form", inputs: ["datasource", "map", "refreshFilters"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
217
217
  }
218
218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OgcFilterableItemComponent, decorators: [{
219
219
  type: Component,
@@ -233,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
233
233
  FormsModule,
234
234
  AsyncPipe,
235
235
  TranslateModule
236
- ], providers: [OGCFilterService], template: "<div [ngClass]=\"{ 'separate-item': header === true }\">\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n svgIcon=\"chevron-up\"\n >\n </mat-icon>\n <span\n *ngIf=\"header\"\n matListItemTitle\n [ngStyle]=\"{ cursor: filtersCollapsed ? 'default' : 'pointer' }\"\n [matTooltip]=\"layer.title\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer.title }}\n </span>\n <div matListItemMeta>\n <button\n *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\"\n [disabled]=\"addFilterDisabled()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\"\n [color]=\"color\"\n (click)=\"addFilterToSequence()\"\n >\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n <button\n *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n layer.visible\n ? ('igo.geo.layer.hideLayer' | translate)\n : ('igo.geo.layer.showLayer' | translate)\n \"\n (click)=\"layer.visible = !layer.visible\"\n >\n <mat-icon\n [ngClass]=\"{ disabled: (inResolutionRange$ | async) === false }\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\"\n >\n </mat-icon>\n </button>\n </div>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form\n [datasource]=\"datasource\"\n [map]=\"map\"\n [refreshFilters]=\"refreshFunc\"\n >\n </igo-ogc-filterable-form>\n\n <section\n *ngIf=\"hasSelector && filtersAreEditable\"\n class=\"mat-typography advancedOgcFilters\"\n >\n <mat-divider></mat-divider>\n <mat-checkbox\n (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\"\n >\n {{ 'igo.geo.filter.advancedOgcFilters' | translate }}\n </mat-checkbox>\n </section>\n </div>\n</div>\n", styles: [":host{overflow:hidden}:host .advancedOgcFilters{text-align:center;width:100%;display:inline-block}:host .mat-mdc-list-item{height:auto}:host .igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}:host mat-icon.disabled{color:#00000061}:host .separate-item{border-bottom:4px solid darkgrey}:host ::ng-deep .mdc-list-item__start,:host ::ng-deep .mdc-list-item__end,:host ::ng-deep .mdc-list-item__content{pointer-events:auto}\n"] }]
236
+ ], providers: [OGCFilterService], template: "<div [ngClass]=\"{ 'separate-item': header === true }\">\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n >expand_less\n </mat-icon>\n <span\n *ngIf=\"header\"\n matListItemTitle\n [ngStyle]=\"{ cursor: filtersCollapsed ? 'default' : 'pointer' }\"\n [matTooltip]=\"layer.title\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer.title }}\n </span>\n <div matListItemMeta>\n <button\n *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\"\n [disabled]=\"addFilterDisabled()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\"\n [color]=\"color\"\n (click)=\"addFilterToSequence()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n layer.visible\n ? ('igo.geo.layer.hideLayer' | translate)\n : ('igo.geo.layer.showLayer' | translate)\n \"\n (click)=\"layer.visible = !layer.visible\"\n >\n <mat-icon\n [ngClass]=\"{ disabled: (inResolutionRange$ | async) === false }\"\n >{{ layer.visible ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </div>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form\n [datasource]=\"datasource\"\n [map]=\"map\"\n [refreshFilters]=\"refreshFunc\"\n >\n </igo-ogc-filterable-form>\n\n <section\n *ngIf=\"hasSelector && filtersAreEditable\"\n class=\"mat-typography advancedOgcFilters\"\n >\n <mat-divider></mat-divider>\n <mat-checkbox\n (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\"\n >\n {{ 'igo.geo.filter.advancedOgcFilters' | translate }}\n </mat-checkbox>\n </section>\n </div>\n</div>\n", styles: [":host{overflow:hidden}:host .advancedOgcFilters{text-align:center;width:100%;display:inline-block}:host .mat-mdc-list-item{height:auto}:host .igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}:host mat-icon.disabled{color:#00000061}:host .separate-item{border-bottom:4px solid darkgrey}:host ::ng-deep .mdc-list-item__start,:host ::ng-deep .mdc-list-item__end,:host ::ng-deep .mdc-list-item__content{pointer-events:auto}\n"] }]
237
237
  }], ctorParameters: () => [{ type: i1.OGCFilterService }], propDecorators: { layer: [{
238
238
  type: Input
239
239
  }], map: [{
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
241
241
  }], header: [{
242
242
  type: Input
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlcmFibGUtaXRlbS9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1pdGVtL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFB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IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IENvbGxhcHNlRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtcyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuZW51bSc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheWVyL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBNYXBCYXNlIH0gZnJvbSAnLi4vLi4vbWFwJztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vb2djLWZpbHRlcmFibGUtZm9ybS9vZ2MtZmlsdGVyYWJsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQge1xuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcbiAgT2djRmlsdGVyc09wdGlvbnMsXG4gIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9HQ0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvb2djLWZpbHRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQ29sbGFwc2VEaXJlY3RpdmUsXG4gICAgTmdTdHlsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBMYXllckxlZ2VuZENvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJhYmxlRm9ybUNvbXBvbmVudCxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbT0dDRmlsdGVyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyYWJsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjb2xvciA9ICdwcmltYXJ5JztcbiAgcHJpdmF0ZSBsYXN0UnVuT2djRmlsdGVyO1xuICBwcml2YXRlIGRlZmF1bHRMb2dpY2FsUGFyZW50ID0gT2djRmlsdGVyT3BlcmF0b3IuQW5kO1xuICBwdWJsaWMgaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICBwdWJsaWMgZmlsdGVyc0FyZUVkaXRhYmxlID0gdHJ1ZTtcbiAgcHVibGljIGZpbHRlcnNDb2xsYXBzZWQgPSB0cnVlO1xuICBwdWJsaWMgaGFzU2VsZWN0b3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0xlZ2VuZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBpblJlc29sdXRpb25SYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb2djRmlsdGVyV3JpdGVyO1xuXG4gIEBJbnB1dCgpIGxheWVyOiBMYXllcjtcblxuICBASW5wdXQoKSBtYXA6IE1hcEJhc2U7XG5cbiAgQElucHV0KCkgaGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQgcmVmcmVzaEZ1bmMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaEZpbHRlcnMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGdldCBkYXRhc291cmNlKCk6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvZ2NGaWx0ZXJTZXJ2aWNlOiBPR0NGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5sYXllci52aXNpYmxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvZ2NGaWx0ZXJzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICBpZiAoXG4gICAgICAob2djRmlsdGVycy5wdXNoQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgJiYgb2djRmlsdGVycy5jaGVja2JveGVzLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucy5idW5kbGVzLmxlbmd0aCA+IDApIHx8XG4gICAgICAob2djRmlsdGVycy5zZWxlY3QgJiYgb2djRmlsdGVycy5zZWxlY3QuYnVuZGxlcy5sZW5ndGggPiAwKSB8fFxuICAgICAgKG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlICYmIG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLmJ1bmRsZXMubGVuZ3RoID4gMClcbiAgICApIHtcbiAgICAgIGlmIChvZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXTVNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXRlNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvZ2NGaWx0ZXJzKSB7XG4gICAgICBpZiAob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKSB7XG4gICAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKVxuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbHRlcigoZikgPT4gZi53a3RfZ2VvbWV0cnkpLmxlbmd0aCA+PVxuICAgICAgICAgIDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5oYXNBY3RpdmVTcGF0aWFsRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmZpbHRlcnNBcmVFZGl0YWJsZSA9IG9nY0ZpbHRlcnMuZWRpdGFibGVcbiAgICAgICAgPyBvZ2NGaWx0ZXJzLmVkaXRhYmxlXG4gICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x1dGlvbiQgPSB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHJlc29sdXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluUmVzb2x1dGlvblJhbmdlJC5uZXh0KHRoaXMubGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFkZEZpbHRlclRvU2VxdWVuY2UoKSB7XG4gICAgdGhpcy5maWx0ZXJzQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgY29uc3QgaW50ZXJmYWNlT2djRmlsdGVyczogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdID1cbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycztcbiAgICBjb25zdCBhcnIgPSBpbnRlcmZhY2VPZ2NGaWx0ZXJzIHx8IFtdO1xuICAgIGNvbnN0IGxhc3RMZXZlbCA9IGFyci5sZW5ndGggPT09IDAgPyAwIDogYXJyW2Fyci5sZW5ndGggLSAxXS5sZXZlbDtcbiAgICBsZXQgZmlyc3RGaWVsZE5hbWUgPSAnJztcbiAgICBjb25zdCBpbmNsdWRlZEZpZWxkcyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5maWx0ZXIoXG4gICAgICAoZikgPT4gIWYuZXhjbHVkZUZyb21PZ2NGaWx0ZXJzXG4gICAgKTtcbiAgICBpZiAoaW5jbHVkZWRGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgZmlyc3RGaWVsZE5hbWUgPVxuICAgICAgICBpbmNsdWRlZEZpZWxkc1swXS5uYW1lID09PSB1bmRlZmluZWQgPyAnJyA6IGluY2x1ZGVkRmllbGRzWzBdLm5hbWU7XG4gICAgfVxuICAgIGxldCBmaWVsZE5hbWVHZW9tZXRyeTtcbiAgICBjb25zdCBkYXRhc291cmNlT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLm9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnNQYXJhbXM7XG4gICAgaWYgKGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5KSB7XG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9IGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlMgJiZcbiAgICAgICh0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeVxuICAgICkge1xuICAgICAgZmllbGROYW1lR2VvbWV0cnkgPSAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlNcbiAgICAgICAgLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH1cbiAgICBjb25zdCBhbGxvd2VkT3BlcmF0b3JzID0gdGhpcy5vZ2NGaWx0ZXJXcml0ZXIuY29tcHV0ZUFsbG93ZWRPcGVyYXRvcnMoXG4gICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMsXG4gICAgICBmaXJzdEZpZWxkTmFtZSxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuYWxsb3dlZE9wZXJhdG9yc1R5cGVcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0T3BlcmF0b3JOYW1lID0gT2JqZWN0LmtleXMoYWxsb3dlZE9wZXJhdG9ycylbMF07XG5cbiAgICBhcnIucHVzaChcbiAgICAgIHRoaXMub2djRmlsdGVyV3JpdGVyLmFkZEludGVyZmFjZUZpbHRlcihcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5TmFtZTogZmlyc3RGaWVsZE5hbWUsXG4gICAgICAgICAgb3BlcmF0b3I6IGZpcnN0T3BlcmF0b3JOYW1lLFxuICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICBpZ29TcGF0aWFsU2VsZWN0b3I6ICdmaXhlZEV4dGVudCcsXG4gICAgICAgICAgc3JzTmFtZTogdGhpcy5tYXAucHJvamVjdGlvblxuICAgICAgICB9IGFzIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMsXG4gICAgICAgIGZpZWxkTmFtZUdlb21ldHJ5LFxuICAgICAgICBsYXN0TGV2ZWwsXG4gICAgICAgIHRoaXMuZGVmYXVsdExvZ2ljYWxQYXJlbnRcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycyA9IGFycjtcbiAgfVxuXG4gIHJlZnJlc2hGaWx0ZXJzKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmIChmb3JjZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5sYXN0UnVuT2djRmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IG9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVyc1xuICAgICAgPyBvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmFjdGl2ZSA9PT0gdHJ1ZSlcbiAgICAgIDogW107XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcmVkID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGFjdGl2ZUZpbHRlcnNbMF0ucGFyZW50TG9naWNhbCA9IGFjdGl2ZUZpbHRlcnNbMV0ucGFyZW50TG9naWNhbDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgYWN0aXZlRmlsdGVycy5maWx0ZXIoXG4gICAgICAgIChhZikgPT4gWydDb250YWlucycsICdJbnRlcnNlY3RzJywgJ1dpdGhpbiddLmluZGV4T2YoYWYub3BlcmF0b3IpICE9PSAtMVxuICAgICAgKS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc0FjdGl2ZVNwYXRpYWxGaWx0ZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEoSlNPTi5zdHJpbmdpZnkodGhpcy5sYXN0UnVuT2djRmlsdGVyKSA9PT0gSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dmcycpIHtcbiAgICAgICAgY29uc3Qgb2djRGF0YVNvdXJjZTogYW55ID0gdGhpcy5sYXllci5kYXRhU291cmNlO1xuICAgICAgICBjb25zdCBvZ2NMYXllcjogT2djRmlsdGVyc09wdGlvbnMgPSBvZ2NEYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIucmVidWlsdElnb09nY0ZpbHRlck9iamVjdEZyb21TZXF1ZW5jZShcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNcbiAgICAgICAgICApO1xuICAgICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub2wucmVmcmVzaCgpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dtcycgJiZcbiAgICAgICAgb2djRmlsdGVycy5lbmFibGVkXG4gICAgICApIHtcbiAgICAgICAgbGV0IHJlYnVpbGRGaWx0ZXIgPSAnJztcbiAgICAgICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID49IDEpIHtcbiAgICAgICAgICBjb25zdCBvZ2NEYXRhU291cmNlOiBhbnkgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2U7XG4gICAgICAgICAgY29uc3Qgb2djTGF5ZXI6IE9nY0ZpbHRlcnNPcHRpb25zID0gb2djRGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgICB0aGlzLm9nY0ZpbHRlcldyaXRlci5yZWJ1aWx0SWdvT2djRmlsdGVyT2JqZWN0RnJvbVNlcXVlbmNlKFxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJzXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJlYnVpbGRGaWx0ZXIgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5idWlsZEZpbHRlcihcbiAgICAgICAgICAgIG9nY0xheWVyLmZpbHRlcnMsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5maWVsZE5hbWVHZW9tZXRyeSxcbiAgICAgICAgICAgIG9nY0RhdGFTb3VyY2Uub3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJTZXJ2aWNlLmZpbHRlckJ5T2djKFxuICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZSBhcyBXTVNEYXRhU291cmNlLFxuICAgICAgICAgIHJlYnVpbGRGaWx0ZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5maWx0ZXJlZCA9XG4gICAgICAgICAgYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZGVudGljYWwgZmlsdGVyLiBOb3RoaW5nIHRyaWdnZXJlZFxuICAgIH1cbiAgICAodGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRPZ2NGaWx0ZXJzKFxuICAgICAgb2djRmlsdGVycyxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFZpc2libGUoKSB7XG4gICAgdGhpcy5sYXllci52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FkdmFuY2VkT2djRmlsdGVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgYWRkRmlsdGVyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VPZ2NGaWx0ZXJzQWR2YW5jZWRPZ2NGaWx0ZXJzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuXG4gIGNoYW5nZU9nY0ZpbHRlclR5cGUoaXNBZHZhbmNlZE9nY0ZpbHRlcnMpIHtcbiAgICB0aGlzLmNoYW5nZU9nY0ZpbHRlcnNBZHZhbmNlZE9nY0ZpbHRlcnMoaXNBZHZhbmNlZE9nY0ZpbHRlcnMuY2hlY2tlZCk7XG4gICAgaWYgKGlzQWR2YW5jZWRPZ2NGaWx0ZXJzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMucmVmcmVzaEZpbHRlcnModHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVMZWdlbmQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgdGhpcy5zaG93TGVnZW5kJC5uZXh0KCFjb2xsYXBzZWQpO1xuICB9XG5cbiAgdG9nZ2xlTGVnZW5kT25DbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy50b2dnbGVMZWdlbmQodGhpcy5zaG93TGVnZW5kJC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpIHtcbiAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSAhdGhpcy5maWx0ZXJzQ29sbGFwc2VkO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ3NlcGFyYXRlLWl0ZW0nOiBoZWFkZXIgPT09IHRydWUgfVwiPlxuICA8bWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgIGNsYXNzPVwiaWdvLWNoZXZyb25cIlxuICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICBpZ29Db2xsYXBzZVxuICAgICAgW3RhcmdldF09XCJvZ2NGaWx0ZXJzXCJcbiAgICAgIFtjb2xsYXBzZWRdPVwiZmlsdGVyc0NvbGxhcHNlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpXCJcbiAgICAgIHN2Z0ljb249XCJjaGV2cm9uLXVwXCJcbiAgICA+XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJoZWFkZXJcIlxuICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgICAgW25nU3R5bGVdPVwieyBjdXJzb3I6IGZpbHRlcnNDb2xsYXBzZWQgPyAnZGVmYXVsdCcgOiAncG9pbnRlcicgfVwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJsYXllci50aXRsZVwiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVMZWdlbmRPbkNsaWNrKClcIlxuICAgID5cbiAgICAgIHt7IGxheWVyLnRpdGxlIH19XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzQWR2YW5jZWRPZ2NGaWx0ZXJzKCkgJiYgZmlsdGVyc0FyZUVkaXRhYmxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImFkZEZpbHRlckRpc2FibGVkKClcIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmZpbHRlci5hZGRGaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgKGNsaWNrKT1cImFkZEZpbHRlclRvU2VxdWVuY2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwicGx1c1wiPjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJoZWFkZXJcIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgW2NvbG9yXT1cImxheWVyLnZpc2libGUgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIlxuICAgICAgICBjb2xsYXBzaWJsZUJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgbGF5ZXIudmlzaWJsZVxuICAgICAgICAgICAgPyAoJ2lnby5nZW8ubGF5ZXIuaGlkZUxheWVyJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdpZ28uZ2VvLmxheWVyLnNob3dMYXllcicgfCB0cmFuc2xhdGUpXG4gICAgICAgIFwiXG4gICAgICAgIChjbGljayk9XCJsYXllci52aXNpYmxlID0gIWxheWVyLnZpc2libGVcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAoaW5SZXNvbHV0aW9uUmFuZ2UkIHwgYXN5bmMpID09PSBmYWxzZSB9XCJcbiAgICAgICAgICBbc3ZnSWNvbl09XCJsYXllci52aXNpYmxlID8gJ2V5ZScgOiAnZXllLW9mZidcIlxuICAgICAgICA+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtbGlzdC1pdGVtPlxuXG4gIDxkaXYgI29nY0ZpbHRlcnM+XG4gICAgPGRpdiAqbmdJZj1cImhlYWRlclwiICNsZWdlbmQgY2xhc3M9XCJpZ28tbGF5ZXItbGVnZW5kLWNvbnRhaW5lclwiPlxuICAgICAgPGlnby1sYXllci1sZWdlbmQgKm5nSWY9XCJzaG93TGVnZW5kJCB8IGFzeW5jXCIgW2xheWVyXT1cImxheWVyXCI+XG4gICAgICA8L2lnby1sYXllci1sZWdlbmQ+XG4gICAgPC9kaXY+XG4gICAgPGlnby1vZ2MtZmlsdGVyYWJsZS1mb3JtXG4gICAgICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgIFtyZWZyZXNoRmlsdGVyc109XCJyZWZyZXNoRnVuY1wiXG4gICAgPlxuICAgIDwvaWdvLW9nYy1maWx0ZXJhYmxlLWZvcm0+XG5cbiAgICA8c2VjdGlvblxuICAgICAgKm5nSWY9XCJoYXNTZWxlY3RvciAmJiBmaWx0ZXJzQXJlRWRpdGFibGVcIlxuICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBhZHZhbmNlZE9nY0ZpbHRlcnNcIlxuICAgID5cbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZU9nY0ZpbHRlclR5cGUoJGV2ZW50KVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2lnby5nZW8uZmlsdGVyLmFkdmFuY2VkT2djRmlsdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvc2VjdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlcmFibGUtaXRlbS9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1pdGVtL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFB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IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IENvbGxhcHNlRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtcyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuZW51bSc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheWVyL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBNYXBCYXNlIH0gZnJvbSAnLi4vLi4vbWFwJztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vb2djLWZpbHRlcmFibGUtZm9ybS9vZ2MtZmlsdGVyYWJsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQge1xuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcbiAgT2djRmlsdGVyc09wdGlvbnMsXG4gIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9HQ0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvb2djLWZpbHRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQ29sbGFwc2VEaXJlY3RpdmUsXG4gICAgTmdTdHlsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBMYXllckxlZ2VuZENvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJhYmxlRm9ybUNvbXBvbmVudCxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbT0dDRmlsdGVyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyYWJsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjb2xvciA9ICdwcmltYXJ5JztcbiAgcHJpdmF0ZSBsYXN0UnVuT2djRmlsdGVyO1xuICBwcml2YXRlIGRlZmF1bHRMb2dpY2FsUGFyZW50ID0gT2djRmlsdGVyT3BlcmF0b3IuQW5kO1xuICBwdWJsaWMgaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICBwdWJsaWMgZmlsdGVyc0FyZUVkaXRhYmxlID0gdHJ1ZTtcbiAgcHVibGljIGZpbHRlcnNDb2xsYXBzZWQgPSB0cnVlO1xuICBwdWJsaWMgaGFzU2VsZWN0b3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0xlZ2VuZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBpblJlc29sdXRpb25SYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb2djRmlsdGVyV3JpdGVyO1xuXG4gIEBJbnB1dCgpIGxheWVyOiBMYXllcjtcblxuICBASW5wdXQoKSBtYXA6IE1hcEJhc2U7XG5cbiAgQElucHV0KCkgaGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQgcmVmcmVzaEZ1bmMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaEZpbHRlcnMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGdldCBkYXRhc291cmNlKCk6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvZ2NGaWx0ZXJTZXJ2aWNlOiBPR0NGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5sYXllci52aXNpYmxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvZ2NGaWx0ZXJzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICBpZiAoXG4gICAgICAob2djRmlsdGVycy5wdXNoQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgJiYgb2djRmlsdGVycy5jaGVja2JveGVzLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucy5idW5kbGVzLmxlbmd0aCA+IDApIHx8XG4gICAgICAob2djRmlsdGVycy5zZWxlY3QgJiYgb2djRmlsdGVycy5zZWxlY3QuYnVuZGxlcy5sZW5ndGggPiAwKSB8fFxuICAgICAgKG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlICYmIG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLmJ1bmRsZXMubGVuZ3RoID4gMClcbiAgICApIHtcbiAgICAgIGlmIChvZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXTVNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXRlNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvZ2NGaWx0ZXJzKSB7XG4gICAgICBpZiAob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKSB7XG4gICAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKVxuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbHRlcigoZikgPT4gZi53a3RfZ2VvbWV0cnkpLmxlbmd0aCA+PVxuICAgICAgICAgIDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5oYXNBY3RpdmVTcGF0aWFsRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmZpbHRlcnNBcmVFZGl0YWJsZSA9IG9nY0ZpbHRlcnMuZWRpdGFibGVcbiAgICAgICAgPyBvZ2NGaWx0ZXJzLmVkaXRhYmxlXG4gICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x1dGlvbiQgPSB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHJlc29sdXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluUmVzb2x1dGlvblJhbmdlJC5uZXh0KHRoaXMubGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFkZEZpbHRlclRvU2VxdWVuY2UoKSB7XG4gICAgdGhpcy5maWx0ZXJzQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgY29uc3QgaW50ZXJmYWNlT2djRmlsdGVyczogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdID1cbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycztcbiAgICBjb25zdCBhcnIgPSBpbnRlcmZhY2VPZ2NGaWx0ZXJzIHx8IFtdO1xuICAgIGNvbnN0IGxhc3RMZXZlbCA9IGFyci5sZW5ndGggPT09IDAgPyAwIDogYXJyW2Fyci5sZW5ndGggLSAxXS5sZXZlbDtcbiAgICBsZXQgZmlyc3RGaWVsZE5hbWUgPSAnJztcbiAgICBjb25zdCBpbmNsdWRlZEZpZWxkcyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5maWx0ZXIoXG4gICAgICAoZikgPT4gIWYuZXhjbHVkZUZyb21PZ2NGaWx0ZXJzXG4gICAgKTtcbiAgICBpZiAoaW5jbHVkZWRGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgZmlyc3RGaWVsZE5hbWUgPVxuICAgICAgICBpbmNsdWRlZEZpZWxkc1swXS5uYW1lID09PSB1bmRlZmluZWQgPyAnJyA6IGluY2x1ZGVkRmllbGRzWzBdLm5hbWU7XG4gICAgfVxuICAgIGxldCBmaWVsZE5hbWVHZW9tZXRyeTtcbiAgICBjb25zdCBkYXRhc291cmNlT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLm9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnNQYXJhbXM7XG4gICAgaWYgKGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5KSB7XG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9IGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlMgJiZcbiAgICAgICh0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeVxuICAgICkge1xuICAgICAgZmllbGROYW1lR2VvbWV0cnkgPSAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlNcbiAgICAgICAgLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH1cbiAgICBjb25zdCBhbGxvd2VkT3BlcmF0b3JzID0gdGhpcy5vZ2NGaWx0ZXJXcml0ZXIuY29tcHV0ZUFsbG93ZWRPcGVyYXRvcnMoXG4gICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMsXG4gICAgICBmaXJzdEZpZWxkTmFtZSxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuYWxsb3dlZE9wZXJhdG9yc1R5cGVcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0T3BlcmF0b3JOYW1lID0gT2JqZWN0LmtleXMoYWxsb3dlZE9wZXJhdG9ycylbMF07XG5cbiAgICBhcnIucHVzaChcbiAgICAgIHRoaXMub2djRmlsdGVyV3JpdGVyLmFkZEludGVyZmFjZUZpbHRlcihcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5TmFtZTogZmlyc3RGaWVsZE5hbWUsXG4gICAgICAgICAgb3BlcmF0b3I6IGZpcnN0T3BlcmF0b3JOYW1lLFxuICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICBpZ29TcGF0aWFsU2VsZWN0b3I6ICdmaXhlZEV4dGVudCcsXG4gICAgICAgICAgc3JzTmFtZTogdGhpcy5tYXAucHJvamVjdGlvblxuICAgICAgICB9IGFzIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMsXG4gICAgICAgIGZpZWxkTmFtZUdlb21ldHJ5LFxuICAgICAgICBsYXN0TGV2ZWwsXG4gICAgICAgIHRoaXMuZGVmYXVsdExvZ2ljYWxQYXJlbnRcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycyA9IGFycjtcbiAgfVxuXG4gIHJlZnJlc2hGaWx0ZXJzKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmIChmb3JjZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5sYXN0UnVuT2djRmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IG9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVyc1xuICAgICAgPyBvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmFjdGl2ZSA9PT0gdHJ1ZSlcbiAgICAgIDogW107XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcmVkID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGFjdGl2ZUZpbHRlcnNbMF0ucGFyZW50TG9naWNhbCA9IGFjdGl2ZUZpbHRlcnNbMV0ucGFyZW50TG9naWNhbDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgYWN0aXZlRmlsdGVycy5maWx0ZXIoXG4gICAgICAgIChhZikgPT4gWydDb250YWlucycsICdJbnRlcnNlY3RzJywgJ1dpdGhpbiddLmluZGV4T2YoYWYub3BlcmF0b3IpICE9PSAtMVxuICAgICAgKS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc0FjdGl2ZVNwYXRpYWxGaWx0ZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEoSlNPTi5zdHJpbmdpZnkodGhpcy5sYXN0UnVuT2djRmlsdGVyKSA9PT0gSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dmcycpIHtcbiAgICAgICAgY29uc3Qgb2djRGF0YVNvdXJjZTogYW55ID0gdGhpcy5sYXllci5kYXRhU291cmNlO1xuICAgICAgICBjb25zdCBvZ2NMYXllcjogT2djRmlsdGVyc09wdGlvbnMgPSBvZ2NEYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIucmVidWlsdElnb09nY0ZpbHRlck9iamVjdEZyb21TZXF1ZW5jZShcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNcbiAgICAgICAgICApO1xuICAgICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub2wucmVmcmVzaCgpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dtcycgJiZcbiAgICAgICAgb2djRmlsdGVycy5lbmFibGVkXG4gICAgICApIHtcbiAgICAgICAgbGV0IHJlYnVpbGRGaWx0ZXIgPSAnJztcbiAgICAgICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID49IDEpIHtcbiAgICAgICAgICBjb25zdCBvZ2NEYXRhU291cmNlOiBhbnkgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2U7XG4gICAgICAgICAgY29uc3Qgb2djTGF5ZXI6IE9nY0ZpbHRlcnNPcHRpb25zID0gb2djRGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgICB0aGlzLm9nY0ZpbHRlcldyaXRlci5yZWJ1aWx0SWdvT2djRmlsdGVyT2JqZWN0RnJvbVNlcXVlbmNlKFxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJzXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJlYnVpbGRGaWx0ZXIgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5idWlsZEZpbHRlcihcbiAgICAgICAgICAgIG9nY0xheWVyLmZpbHRlcnMsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5maWVsZE5hbWVHZW9tZXRyeSxcbiAgICAgICAgICAgIG9nY0RhdGFTb3VyY2Uub3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJTZXJ2aWNlLmZpbHRlckJ5T2djKFxuICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZSBhcyBXTVNEYXRhU291cmNlLFxuICAgICAgICAgIHJlYnVpbGRGaWx0ZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5maWx0ZXJlZCA9XG4gICAgICAgICAgYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZGVudGljYWwgZmlsdGVyLiBOb3RoaW5nIHRyaWdnZXJlZFxuICAgIH1cbiAgICAodGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRPZ2NGaWx0ZXJzKFxuICAgICAgb2djRmlsdGVycyxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFZpc2libGUoKSB7XG4gICAgdGhpcy5sYXllci52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FkdmFuY2VkT2djRmlsdGVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgYWRkRmlsdGVyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VPZ2NGaWx0ZXJzQWR2YW5jZWRPZ2NGaWx0ZXJzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuXG4gIGNoYW5nZU9nY0ZpbHRlclR5cGUoaXNBZHZhbmNlZE9nY0ZpbHRlcnMpIHtcbiAgICB0aGlzLmNoYW5nZU9nY0ZpbHRlcnNBZHZhbmNlZE9nY0ZpbHRlcnMoaXNBZHZhbmNlZE9nY0ZpbHRlcnMuY2hlY2tlZCk7XG4gICAgaWYgKGlzQWR2YW5jZWRPZ2NGaWx0ZXJzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMucmVmcmVzaEZpbHRlcnModHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVMZWdlbmQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgdGhpcy5zaG93TGVnZW5kJC5uZXh0KCFjb2xsYXBzZWQpO1xuICB9XG5cbiAgdG9nZ2xlTGVnZW5kT25DbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy50b2dnbGVMZWdlbmQodGhpcy5zaG93TGVnZW5kJC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpIHtcbiAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSAhdGhpcy5maWx0ZXJzQ29sbGFwc2VkO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ3NlcGFyYXRlLWl0ZW0nOiBoZWFkZXIgPT09IHRydWUgfVwiPlxuICA8bWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgIGNsYXNzPVwiaWdvLWNoZXZyb25cIlxuICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICBpZ29Db2xsYXBzZVxuICAgICAgW3RhcmdldF09XCJvZ2NGaWx0ZXJzXCJcbiAgICAgIFtjb2xsYXBzZWRdPVwiZmlsdGVyc0NvbGxhcHNlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpXCJcbiAgICAgID5leHBhbmRfbGVzc1xuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgIFtuZ1N0eWxlXT1cInsgY3Vyc29yOiBmaWx0ZXJzQ29sbGFwc2VkID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInIH1cIlxuICAgICAgW21hdFRvb2x0aXBdPVwibGF5ZXIudGl0bGVcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTGVnZW5kT25DbGljaygpXCJcbiAgICA+XG4gICAgICB7eyBsYXllci50aXRsZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpc0FkdmFuY2VkT2djRmlsdGVycygpICYmIGZpbHRlcnNBcmVFZGl0YWJsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhZGRGaWx0ZXJEaXNhYmxlZCgpXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5maWx0ZXIuYWRkRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIChjbGljayk9XCJhZGRGaWx0ZXJUb1NlcXVlbmNlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImhlYWRlclwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwibGF5ZXIudmlzaWJsZSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gICAgICAgIGNvbGxhcHNpYmxlQnV0dG9uXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgICBsYXllci52aXNpYmxlXG4gICAgICAgICAgICA/ICgnaWdvLmdlby5sYXllci5oaWRlTGF5ZXInIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc2hvd0xheWVyJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgXCJcbiAgICAgICAgKGNsaWNrKT1cImxheWVyLnZpc2libGUgPSAhbGF5ZXIudmlzaWJsZVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IChpblJlc29sdXRpb25SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlIH1cIlxuICAgICAgICAgID57eyBsYXllci52aXNpYmxlID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJyB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWxpc3QtaXRlbT5cblxuICA8ZGl2ICNvZ2NGaWx0ZXJzPlxuICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJcIiAjbGVnZW5kIGNsYXNzPVwiaWdvLWxheWVyLWxlZ2VuZC1jb250YWluZXJcIj5cbiAgICAgIDxpZ28tbGF5ZXItbGVnZW5kICpuZ0lmPVwic2hvd0xlZ2VuZCQgfCBhc3luY1wiIFtsYXllcl09XCJsYXllclwiPlxuICAgICAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuICAgIDwvZGl2PlxuICAgIDxpZ28tb2djLWZpbHRlcmFibGUtZm9ybVxuICAgICAgW2RhdGFzb3VyY2VdPVwiZGF0YXNvdXJjZVwiXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbcmVmcmVzaEZpbHRlcnNdPVwicmVmcmVzaEZ1bmNcIlxuICAgID5cbiAgICA8L2lnby1vZ2MtZmlsdGVyYWJsZS1mb3JtPlxuXG4gICAgPHNlY3Rpb25cbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0b3IgJiYgZmlsdGVyc0FyZUVkaXRhYmxlXCJcbiAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHkgYWR2YW5jZWRPZ2NGaWx0ZXJzXCJcbiAgICA+XG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VPZ2NGaWx0ZXJUeXBlKCRldmVudClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVyc1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdpZ28uZ2VvLmZpbHRlci5hZHZhbmNlZE9nY0ZpbHRlcnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01WYWx1ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCBvbEZvcm1hdEZpbHRlciBmcm9tICdvbC9mb3JtYXQvZmlsdGVyL0ZpbHRlcic7XG5pbXBvcnQgb2xHZW9tZXRyeSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3JUeXBlIH0gZnJvbSAnLi9vZ2MtZmlsdGVyLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlciBleHRlbmRzIG9sRm9ybWF0RmlsdGVyIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgV0ZTV3JpdGVHZXRGZWF0dXJlT3B0aW9ucyB7XG4gIGZlYXR1cmVOUz86IHN0cmluZztcbiAgZmVhdHVyZVByZWZpeD86IHN0cmluZztcbiAgZmVhdHVyZVR5cGVzOiBzdHJpbmdbXTtcbiAgc3JzTmFtZT86IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBvdXRwdXRGb3JtYXQ/OiBzdHJpbmc7XG4gIG1heEZlYXR1cmVzPzogbnVtYmVyO1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZXM/OiBzdHJpbmdbXTtcbiAgc3RhcnRJbmRleD86IG51bWJlcjtcbiAgY291bnQ/OiBudW1iZXI7XG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgZmlsdGVyPzogb2xGb3JtYXRGaWx0ZXI7XG4gIHJlc3VsdFR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zID1cbiAgfCBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zXG4gIHwgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zXG4gIHwgT2djRmlsdGVySXNCZXR3ZWVuT3B0aW9uc1xuICB8IE9nY0ZpbHRlckVxdWFsVG9PcHRpb25zXG4gIHwgT2djRmlsdGVyR3JlYXRlckxlc3NPcHRpb25zXG4gIHwgT2djRmlsdGVySXNMaWtlT3B0aW9uc1xuICB8IE9nY0ZpbHRlcklzTnVsbE9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIElnb09nY0ZpbHRlck9iamVjdCA9XG4gIHwgSWdvTG9naWNhbEFycmF5T3B0aW9uc1xuICB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcnNPcHRpb25zIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVycz86IElnb0xvZ2ljYWxBcnJheU9wdGlvbnMgfCBBbnlCYXNlT2djRmlsdGVyT3B0aW9ucztcbiAgcHVzaEJ1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgY2hlY2tib3hlcz86IElnb09nY1NlbGVjdG9yO1xuICByYWRpb0J1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgc2VsZWN0PzogSWdvT2djU2VsZWN0b3I7XG4gIGF1dG9jb21wbGV0ZT86IElnb09nY1NlbGVjdG9yO1xuICBpbnRlcmZhY2VPZ2NGaWx0ZXJzPzogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdO1xuICBmaWx0ZXJlZD86IGJvb2xlYW47XG4gIGFkdmFuY2VkT2djRmlsdGVycz86IGJvb2xlYW47XG4gIGdlb21ldHJ5TmFtZT86IHN0cmluZztcbiAgYWxsb3dlZE9wZXJhdG9yc1R5cGU/OiBPZ2NGaWx0ZXJPcGVyYXRvclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvT2djU2VsZWN0b3Ige1xuICBncm91cHM6IFNlbGVjdG9yR3JvdXBbXTtcbiAgYnVuZGxlczogT2djU2VsZWN0b3JCdW5kbGVbXTtcbiAgc2VsZWN0b3JUeXBlOlxuICAgIHwgJ3B1c2hCdXR0b24nXG4gICAgfCAnY2hlY2tib3gnXG4gICAgfCAncmFkaW9CdXR0b24nXG4gICAgfCAnc2VsZWN0J1xuICAgIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIG9yZGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdG9yR3JvdXAge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaWRzPztcbiAgY29tcHV0ZWRTZWxlY3RvcnM/OiBPZ2NTZWxlY3RvckJ1bmRsZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1NlbGVjdG9yQnVuZGxlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ2ljYWw/OiBzdHJpbmc7XG4gIHZlcnRpY2FsPzogYm9vbGVhbjtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICB1bmZpbHRlcmVkPzogYm9vbGVhbjtcbiAgc2VsZWN0b3JzPzpcbiAgICB8IE9nY1B1c2hCdXR0b25bXVxuICAgIHwgT2djQ2hlY2tib3hbXVxuICAgIHwgT2djUmFkaW9CdXR0b25bXVxuICAgIHwgT2djU2VsZWN0W11cbiAgICB8IE9nY0F1dG9jb21wbGV0ZVtdO1xuICBkb21TZWxlY3RvcnM/OiBJZ29Eb21TZWxlY3RvcltdO1xuICB3aWR0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NQdXNoQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djQ2hlY2tib3gge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1JhZGlvQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NTZWxlY3Qge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NBdXRvY29tcGxldGUge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyBleHRlbmRzIERhdGFTb3VyY2VPcHRpb25zIHtcbiAgb2djRmlsdGVycz86IE9nY0ZpbHRlcnNPcHRpb25zO1xuICBvbD86IG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+IHwgb2xTb3VyY2U7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIG9wdGlvbnM6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvTG9naWNhbEFycmF5T3B0aW9ucyB7XG4gIGxvZ2ljYWw6IHN0cmluZztcbiAgZmlsdGVyczogSWdvTG9naWNhbEFycmF5T3B0aW9ucyB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvRG9tU2VsZWN0b3Ige1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBkb21WYWx1ZTogRE9NVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zIHtcbiAgY29uZGl0aW9uczogT2djRmlsdGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnMge1xuICBnZW9tZXRyeU5hbWU6IHN0cmluZztcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzcnNOYW1lPzogc3RyaW5nO1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyRHVyaW5nT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBiZWdpbjogc3RyaW5nO1xuICBlbmQ/OiBzdHJpbmc7XG4gIHN0ZXA6IHN0cmluZztcbiAgcmVzdHJpY3RUb1N0ZXA/OiBib29sZWFuO1xuICBzbGlkZXJPcHRpb25zPzogU2xpZGVyT3B0aW9uc0ludGVyZmFjZTtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgY2FsZW5kYXJNb2RlWWVhcj86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc0JldHdlZW5PcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGxvd2VyQm91bmRhcnk6IG51bWJlcjtcbiAgdXBwZXJCb3VuZGFyeTogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJFcXVhbFRvT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBzdHJpbmcgfCBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckdyZWF0ZXJMZXNzT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcklzTGlrZU9wdGlvbnMgZXh0ZW5kcyBPZ2NGaWx0ZXJBdHRyaWJ1dGVPcHRpb25zIHtcbiAgcGF0dGVybjogc3RyaW5nO1xuICB3aWxkQ2FyZD86IHN0cmluZztcbiAgc2luZ2xlQ2hhcj86IHN0cmluZztcbiAgZXNjYXBlQ2hhcj86IHN0cmluZztcbiAgbWF0Y2hDYXNlOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc051bGxPcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBiZWdpbj86IHN0cmluZztcbiAgZW5kPzogc3RyaW5nO1xuICBzdGVwPzogc3RyaW5nO1xuICByZXN0cmljdFRvU3RlcD86IGJvb2xlYW47XG4gIHNsaWRlck9wdGlvbnM6IFNsaWRlck9wdGlvbnNJbnRlcmZhY2U7XG4gIGRpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gIGVzY2FwZUNoYXI/OiBzdHJpbmc7XG4gIGV4cHJlc3Npb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBmaWx0ZXJpZD86IGFueTtcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIGlnb1NwYXRpYWxTZWxlY3Rvcj86IHN0cmluZztcbiAgaWdvU05SQz86IHN0cmluZztcbiAgbGV2ZWw/OiBudW1iZXI7XG4gIGxvd2VyQm91bmRhcnk/OiBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuICBwYXJlbnRMb2dpY2FsPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHNpbmdsZUNoYXI/OiBzdHJpbmc7XG4gIHNyc05hbWU/OiBzdHJpbmc7XG4gIHVwcGVyQm91bmRhcnk/OiBudW1iZXI7XG4gIHdpbGRDYXJkPzogc3RyaW5nO1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIC8vIGlkPzogc3RyaW5nO1xuICAvLyBhYmJyZXY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xpZGVyT3B0aW9uc0ludGVyZmFjZSBleHRlbmRzIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMge1xuICBpbnRlcnZhbD86IG51bWJlcjtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01WYWx1ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCBvbEZvcm1hdEZpbHRlciBmcm9tICdvbC9mb3JtYXQvZmlsdGVyL0ZpbHRlcic7XG5pbXBvcnQgb2xHZW9tZXRyeSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCBvbFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJztcbmltcG9ydCBvbFNvdXJjZVZlY3RvciBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJPcGVyYXRvclR5cGUgfSBmcm9tICcuL29nYy1maWx0ZXIuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyIGV4dGVuZHMgb2xGb3JtYXRGaWx0ZXIge31cblxuZXhwb3J0IGludGVyZmFjZSBXRlNXcml0ZUdldEZlYXR1cmVPcHRpb25zIHtcbiAgZmVhdHVyZU5TPzogc3RyaW5nO1xuICBmZWF0dXJlUHJlZml4Pzogc3RyaW5nO1xuICBmZWF0dXJlVHlwZXM6IHN0cmluZ1tdO1xuICBzcnNOYW1lPzogc3RyaW5nO1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIG91dHB1dEZvcm1hdD86IHN0cmluZztcbiAgbWF4RmVhdHVyZXM/OiBudW1iZXI7XG4gIGdlb21ldHJ5TmFtZT86IHN0cmluZztcbiAgcHJvcGVydHlOYW1lcz86IHN0cmluZ1tdO1xuICBzdGFydEluZGV4PzogbnVtYmVyO1xuICBjb3VudD86IG51bWJlcjtcbiAgYmJveD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBmaWx0ZXI/OiBvbEZvcm1hdEZpbHRlcjtcbiAgcmVzdWx0VHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQW55QmFzZU9nY0ZpbHRlck9wdGlvbnMgPVxuICB8IE9nY0ZpbHRlckNvbmRpdGlvbnNBcnJheU9wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJTcGF0aWFsT3B0aW9uc1xuICB8IE9nY0ZpbHRlckR1cmluZ09wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJJc0JldHdlZW5PcHRpb25zXG4gIHwgT2djRmlsdGVyRXF1YWxUb09wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJHcmVhdGVyTGVzc09wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJJc0xpa2VPcHRpb25zXG4gIHwgT2djRmlsdGVySXNOdWxsT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgSWdvT2djRmlsdGVyT2JqZWN0ID1cbiAgfCBJZ29Mb2dpY2FsQXJyYXlPcHRpb25zXG4gIHwgQW55QmFzZU9nY0ZpbHRlck9wdGlvbnM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyc09wdGlvbnMge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBmaWx0ZXJzPzogSWdvTG9naWNhbEFycmF5T3B0aW9ucyB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zO1xuICBwdXNoQnV0dG9ucz86IElnb09nY1NlbGVjdG9yO1xuICBjaGVja2JveGVzPzogSWdvT2djU2VsZWN0b3I7XG4gIHJhZGlvQnV0dG9ucz86IElnb09nY1NlbGVjdG9yO1xuICBzZWxlY3Q/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgYXV0b2NvbXBsZXRlPzogSWdvT2djU2VsZWN0b3I7XG4gIGludGVyZmFjZU9nY0ZpbHRlcnM/OiBPZ2NJbnRlcmZhY2VGaWx0ZXJPcHRpb25zW107XG4gIGZpbHRlcmVkPzogYm9vbGVhbjtcbiAgYWR2YW5jZWRPZ2NGaWx0ZXJzPzogYm9vbGVhbjtcbiAgZ2VvbWV0cnlOYW1lPzogc3RyaW5nO1xuICBhbGxvd2VkT3BlcmF0b3JzVHlwZT86IE9nY0ZpbHRlck9wZXJhdG9yVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ29PZ2NTZWxlY3RvciB7XG4gIGdyb3VwczogU2VsZWN0b3JHcm91cFtdO1xuICBidW5kbGVzOiBPZ2NTZWxlY3RvckJ1bmRsZVtdO1xuICBzZWxlY3RvclR5cGU6XG4gICAgfCAncHVzaEJ1dHRvbidcbiAgICB8ICdjaGVja2JveCdcbiAgICB8ICdyYWRpb0J1dHRvbidcbiAgICB8ICdzZWxlY3QnXG4gICAgfCAnYXV0b2NvbXBsZXRlJztcbiAgb3JkZXI/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0b3JHcm91cCB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICB0aXRsZT86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpZHM/O1xuICBjb21wdXRlZFNlbGVjdG9ycz86IE9nY1NlbGVjdG9yQnVuZGxlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djU2VsZWN0b3JCdW5kbGUge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgbG9naWNhbD86IHN0cmluZztcbiAgdmVydGljYWw/OiBib29sZWFuO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHVuZmlsdGVyZWQ/OiBib29sZWFuO1xuICBzZWxlY3RvcnM/OlxuICAgIHwgT2djUHVzaEJ1dHRvbltdXG4gICAgfCBPZ2NDaGVja2JveFtdXG4gICAgfCBPZ2NSYWRpb0J1dHRvbltdXG4gICAgfCBPZ2NTZWxlY3RbXVxuICAgIHwgT2djQXV0b2NvbXBsZXRlW107XG4gIGRvbVNlbGVjdG9ycz86IElnb0RvbVNlbGVjdG9yW107XG4gIHdpZHRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1B1c2hCdXR0b24ge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xuICBjb2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NDaGVja2JveCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJzOiBJZ29PZ2NGaWx0ZXJPYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djUmFkaW9CdXR0b24ge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1NlbGVjdCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJzOiBJZ29PZ2NGaWx0ZXJPYmplY3Q7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0F1dG9jb21wbGV0ZSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJzOiBJZ29PZ2NGaWx0ZXJPYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xuICBvZ2NGaWx0ZXJzPzogT2djRmlsdGVyc09wdGlvbnM7XG4gIG9sPzogb2xTb3VyY2VWZWN0b3IgfCBvbFNvdXJjZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgb3B0aW9uczogT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICBzZXRPZ2NGaWx0ZXJzKG9nY0ZpbHRlcnM6IE9nY0ZpbHRlcnNPcHRpb25zLCB0cmlnZ2VyRXZlbnQ/OiBib29sZWFuKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ29Mb2dpY2FsQXJyYXlPcHRpb25zIHtcbiAgbG9naWNhbDogc3RyaW5nO1xuICBmaWx0ZXJzOiBJZ29Mb2dpY2FsQXJyYXlPcHRpb25zIHwgQW55QmFzZU9nY0ZpbHRlck9wdGlvbnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ29Eb21TZWxlY3RvciB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgcHJvcGVydHlOYW1lOiBzdHJpbmc7XG4gIGRvbVZhbHVlOiBET01WYWx1ZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckNvbmRpdGlvbnNBcnJheU9wdGlvbnMge1xuICBjb25kaXRpb25zOiBPZ2NGaWx0ZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJTcGF0aWFsT3B0aW9ucyB7XG4gIGdlb21ldHJ5TmFtZTogc3RyaW5nO1xuICBnZW9tZXRyeT86IG9sR2VvbWV0cnk7XG4gIHdrdF9nZW9tZXRyeT86IHN0cmluZztcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHNyc05hbWU/OiBzdHJpbmc7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGJlZ2luOiBzdHJpbmc7XG4gIGVuZD86IHN0cmluZztcbiAgc3RlcDogc3RyaW5nO1xuICByZXN0cmljdFRvU3RlcD86IGJvb2xlYW47XG4gIHNsaWRlck9wdGlvbnM/OiBTbGlkZXJPcHRpb25zSW50ZXJmYWNlO1xuICBkaXNwbGF5Rm9ybWF0Pzogc3RyaW5nO1xuICBjYWxlbmRhck1vZGVZZWFyPzogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcklzQmV0d2Vlbk9wdGlvbnMgZXh0ZW5kcyBPZ2NGaWx0ZXJBdHRyaWJ1dGVPcHRpb25zIHtcbiAgbG93ZXJCb3VuZGFyeTogbnVtYmVyO1xuICB1cHBlckJvdW5kYXJ5OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckVxdWFsVG9PcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGV4cHJlc3Npb246IHN0cmluZyB8IG51bWJlcjtcbiAgbWF0Y2hDYXNlPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyR3JlYXRlckxlc3NPcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGV4cHJlc3Npb246IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVySXNMaWtlT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBwYXR0ZXJuOiBzdHJpbmc7XG4gIHdpbGRDYXJkPzogc3RyaW5nO1xuICBzaW5nbGVDaGFyPzogc3RyaW5nO1xuICBlc2NhcGVDaGFyPzogc3RyaW5nO1xuICBtYXRjaENhc2U6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcklzTnVsbE9wdGlvbnMgZXh0ZW5kcyBPZ2NGaWx0ZXJBdHRyaWJ1dGVPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9ucyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGJlZ2luPzogc3RyaW5nO1xuICBlbmQ/OiBzdHJpbmc7XG4gIHN0ZXA/OiBzdHJpbmc7XG4gIHJlc3RyaWN0VG9TdGVwPzogYm9vbGVhbjtcbiAgc2xpZGVyT3B0aW9uczogU2xpZGVyT3B0aW9uc0ludGVyZmFjZTtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgZXNjYXBlQ2hhcj86IHN0cmluZztcbiAgZXhwcmVzc2lvbj86IHN0cmluZyB8IG51bWJlcjtcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIGZpbHRlcmlkPzogYW55O1xuICBnZW9tZXRyeT86IG9sR2VvbWV0cnk7XG4gIGdlb21ldHJ5TmFtZT86IHN0cmluZztcbiAgaWdvU3BhdGlhbFNlbGVjdG9yPzogc3RyaW5nO1xuICBpZ29TTlJDPzogc3RyaW5nO1xuICBsZXZlbD86IG51bWJlcjtcbiAgbG93ZXJCb3VuZGFyeT86IG51bWJlcjtcbiAgbWF0Y2hDYXNlPzogYm9vbGVhbjtcbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIHBhcmVudExvZ2ljYWw/OiBzdHJpbmc7XG4gIHBhdHRlcm4/OiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZT86IHN0cmluZztcbiAgc2luZ2xlQ2hhcj86IHN0cmluZztcbiAgc3JzTmFtZT86IHN0cmluZztcbiAgdXBwZXJCb3VuZGFyeT86IG51bWJlcjtcbiAgd2lsZENhcmQ/OiBzdHJpbmc7XG4gIHdrdF9nZW9tZXRyeT86IHN0cmluZztcbiAgLy8gaWQ/OiBzdHJpbmc7XG4gIC8vIGFiYnJldj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGlkZXJPcHRpb25zSW50ZXJmYWNlIGV4dGVuZHMgT2djRmlsdGVyRHVyaW5nT3B0aW9ucyB7XG4gIGludGVydmFsPzogbnVtYmVyO1xuICBkaXNwbGF5Rm9ybWF0Pzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==