@one-paragon/angular-utilities 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -12
- package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -9
- package/action-state/index.d.ts +4 -4
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -8
- package/action-state/ngrx.d.ts +31 -31
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +29 -0
- package/{esm2020 → esm2022}/action-state/index.mjs +7 -7
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +24 -0
- package/{esm2020 → esm2022}/action-state/ngrx.mjs +41 -41
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +28 -0
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +98 -0
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +35 -0
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +35 -0
- package/{esm2020 → esm2022}/http-request-state/directives/index.mjs +5 -5
- package/esm2022/http-request-state/directives/request-state-directive.mjs +61 -0
- package/{esm2020 → esm2022}/http-request-state/helpers.mjs +21 -21
- package/{esm2020 → esm2022}/http-request-state/http-request-state.mjs +38 -38
- package/esm2022/http-request-state/http-state-module.mjs +42 -0
- package/{esm2020 → esm2022}/http-request-state/index.mjs +6 -6
- package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorBody.mjs +3 -3
- package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorState.mjs +2 -2
- package/{esm2020 → esm2022}/http-request-state/rxjs/index.mjs +4 -4
- package/{esm2020 → esm2022}/http-request-state/rxjs/tapError.mjs +11 -11
- package/{esm2020 → esm2022}/http-request-state/rxjs/tapSuccess.mjs +11 -11
- package/{esm2020 → esm2022}/http-request-state/types.mjs +15 -15
- package/{esm2020 → esm2022}/ngrx/actionable-selector.mjs +74 -74
- package/{esm2020 → esm2022}/ngrx/index.mjs +1 -1
- package/{esm2020 → esm2022}/one-paragon-angular-utilities.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +18 -18
- package/{esm2020 → esm2022}/rxjs/defaultShareReplay.mjs +6 -6
- package/{esm2020 → esm2022}/rxjs/index.mjs +4 -4
- package/{esm2020 → esm2022}/rxjs/mapError.mjs +7 -7
- package/{esm2020 → esm2022}/rxjs/rxjs-operators.mjs +90 -90
- package/{esm2020 → esm2022}/rxjs/subjectifier.mjs +14 -14
- package/{esm2020 → esm2022}/table-builder/classes/DefaultSettings.mjs +5 -5
- package/{esm2020 → esm2022}/table-builder/classes/GenericTableDataSource.mjs +12 -12
- package/{esm2020 → esm2022}/table-builder/classes/MatTableObservableDataSource.mjs +20 -20
- package/{esm2020 → esm2022}/table-builder/classes/TableBuilderConfig.mjs +2 -2
- package/{esm2020 → esm2022}/table-builder/classes/TableState.mjs +31 -31
- package/{esm2020 → esm2022}/table-builder/classes/data-filter.mjs +25 -25
- package/{esm2020 → esm2022}/table-builder/classes/display-col.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/classes/filter-info.mjs +72 -72
- package/{esm2020 → esm2022}/table-builder/classes/table-builder-general-settings.mjs +67 -67
- package/{esm2020 → esm2022}/table-builder/classes/table-builder.mjs +75 -75
- package/esm2022/table-builder/classes/table-store.mjs +293 -0
- package/esm2022/table-builder/components/array-column.component.mjs +58 -0
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +113 -0
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +26 -0
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +23 -0
- package/esm2022/table-builder/components/filter/filter.component.mjs +55 -0
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +92 -0
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +46 -0
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +203 -0
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +75 -0
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +23 -0
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +92 -0
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +64 -0
- package/{esm2020 → esm2022}/table-builder/components/index.mjs +9 -9
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +34 -0
- package/{esm2020 → esm2022}/table-builder/components/link-column.component.mjs +32 -31
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +28 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +43 -0
- package/{esm2020 → esm2022}/table-builder/components/sort-menu/sort-menu.component.mjs +76 -75
- package/esm2022/table-builder/components/table-container/table-container.mjs +323 -0
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +43 -0
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +31 -0
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +26 -0
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +60 -0
- package/{esm2020 → esm2022}/table-builder/directives/index.mjs +5 -5
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +43 -0
- package/esm2022/table-builder/directives/resize-column.directive.mjs +87 -0
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +27 -0
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +413 -0
- package/{esm2020 → esm2022}/table-builder/enums/filterTypes.mjs +71 -71
- package/{esm2020 → esm2022}/table-builder/functions/boolean-filter-function.mjs +9 -9
- package/{esm2020 → esm2022}/table-builder/functions/date-filter-function.mjs +57 -57
- package/{esm2020 → esm2022}/table-builder/functions/download-data.mjs +11 -11
- package/{esm2020 → esm2022}/table-builder/functions/null-filter-function.mjs +7 -7
- package/{esm2020 → esm2022}/table-builder/functions/number-filter-function.mjs +31 -31
- package/{esm2020 → esm2022}/table-builder/functions/sort-data-function.mjs +4 -4
- package/{esm2020 → esm2022}/table-builder/functions/string-filter-function.mjs +40 -40
- package/{esm2020 → esm2022}/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/interfaces/dictionary.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/interfaces/report-def.mjs +34 -34
- package/esm2022/table-builder/material.module.mjs +208 -0
- package/{esm2020 → esm2022}/table-builder/ngrx/actions.mjs +4 -4
- package/esm2022/table-builder/ngrx/effects.mjs +49 -0
- package/{esm2020 → esm2022}/table-builder/ngrx/reducer.mjs +51 -51
- package/{esm2020 → esm2022}/table-builder/ngrx/selectors.mjs +23 -23
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +21 -0
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +19 -0
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +46 -0
- package/esm2022/table-builder/pipes/key-display.mjs +21 -0
- package/esm2022/table-builder/services/export-to-csv.service.mjs +89 -0
- package/{esm2020 → esm2022}/table-builder/services/link-creator.service.mjs +41 -41
- package/esm2022/table-builder/services/table-template-service.mjs +45 -0
- package/esm2022/table-builder/services/transform-creator.mjs +76 -0
- package/esm2022/table-builder/table-builder.module.mjs +208 -0
- package/esm2022/utilities/directives/auto-focus.directive.mjs +27 -0
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
- package/esm2022/utilities/directives/clickSubject.mjs +28 -0
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
- package/esm2022/utilities/directives/dialog-service.mjs +26 -0
- package/esm2022/utilities/directives/dialog.mjs +139 -0
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +60 -0
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
- package/esm2022/utilities/directives/styler.mjs +27 -0
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +30 -0
- package/{esm2020 → esm2022}/utilities/index.mjs +15 -15
- package/esm2022/utilities/module.mjs +92 -0
- package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
- package/esm2022/utilities/pipes/phone.pipe.mjs +21 -0
- package/esm2022/utilities/pipes/space-case.pipes.mjs +29 -0
- package/{fesm2020 → fesm2022}/one-paragon-angular-utilities.mjs +4398 -4398
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
- package/http-request-state/HttpRequestStateFactory.d.ts +14 -14
- package/http-request-state/HttpRequestStateStore.d.ts +48 -48
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -16
- package/http-request-state/directives/http-error-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-success-state-directive.d.ts +21 -21
- package/http-request-state/directives/index.d.ts +5 -5
- package/http-request-state/directives/request-state-directive.d.ts +35 -35
- package/http-request-state/helpers.d.ts +9 -9
- package/http-request-state/http-request-state.d.ts +12 -12
- package/http-request-state/http-state-module.d.ts +11 -11
- package/http-request-state/index.d.ts +6 -6
- package/http-request-state/rxjs/getRequestorBody.d.ts +3 -3
- package/http-request-state/rxjs/getRequestorState.d.ts +3 -3
- package/http-request-state/rxjs/index.d.ts +4 -4
- package/http-request-state/rxjs/tapError.d.ts +3 -3
- package/http-request-state/rxjs/tapSuccess.d.ts +3 -3
- package/http-request-state/types.d.ts +36 -36
- package/index.d.ts +5 -5
- package/ngrx/actionable-selector.d.ts +15 -15
- package/ngrx/index.d.ts +1 -1
- package/package.json +13 -19
- package/public-api.d.ts +15 -15
- package/rxjs/defaultShareReplay.d.ts +2 -2
- package/rxjs/index.d.ts +4 -4
- package/rxjs/mapError.d.ts +2 -2
- package/rxjs/rxjs-operators.d.ts +12 -12
- package/rxjs/subjectifier.d.ts +9 -9
- package/table-builder/classes/DefaultSettings.d.ts +9 -9
- package/table-builder/classes/GenericTableDataSource.d.ts +8 -8
- package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -9
- package/table-builder/classes/TableBuilderConfig.d.ts +20 -20
- package/table-builder/classes/TableState.d.ts +46 -46
- package/table-builder/classes/data-filter.d.ts +9 -9
- package/table-builder/classes/display-col.d.ts +5 -5
- package/table-builder/classes/filter-info.d.ts +40 -40
- package/table-builder/classes/table-builder-general-settings.d.ts +43 -43
- package/table-builder/classes/table-builder.d.ts +14 -14
- package/table-builder/classes/table-store.d.ts +114 -114
- package/table-builder/components/array-column.component.d.ts +14 -14
- package/table-builder/components/column-builder/column-builder.component.d.ts +50 -50
- package/table-builder/components/date-filter/date-filter.component.d.ts +10 -10
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -10
- package/table-builder/components/filter/filter.component.d.ts +371 -371
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -27
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -16
- package/table-builder/components/generic-table/generic-table.component.d.ts +73 -73
- package/table-builder/components/generic-table/paginator.component.d.ts +28 -28
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -10
- package/table-builder/components/header-menu/header-menu.component.d.ts +25 -25
- package/table-builder/components/in-filter/in-filter.component.d.ts +21 -21
- package/table-builder/components/index.d.ts +9 -9
- package/table-builder/components/initialization-component/initialization-component.d.ts +12 -12
- package/table-builder/components/link-column.component.d.ts +17 -17
- package/table-builder/components/number-filter/number-filter.component.d.ts +12 -12
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -24
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -25
- package/table-builder/components/table-container/table-container.d.ts +68 -68
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -17
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -14
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -14
- package/table-builder/directives/custom-cell-directive.d.ts +19 -19
- package/table-builder/directives/index.d.ts +5 -5
- package/table-builder/directives/multi-sort.directive.d.ts +11 -11
- package/table-builder/directives/resize-column.directive.d.ts +43 -43
- package/table-builder/directives/table-wrapper.directive.d.ts +11 -11
- package/table-builder/directives/tb-filter.directive.d.ts +120 -120
- package/table-builder/enums/filterTypes.d.ts +37 -37
- package/table-builder/functions/boolean-filter-function.d.ts +3 -3
- package/table-builder/functions/date-filter-function.d.ts +4 -4
- package/table-builder/functions/download-data.d.ts +1 -1
- package/table-builder/functions/null-filter-function.d.ts +2 -2
- package/table-builder/functions/number-filter-function.d.ts +4 -4
- package/table-builder/functions/sort-data-function.d.ts +3 -3
- package/table-builder/functions/string-filter-function.d.ts +7 -7
- package/table-builder/interfaces/ColumnInfo.d.ts +6 -6
- package/table-builder/interfaces/dictionary.d.ts +3 -3
- package/table-builder/interfaces/report-def.d.ts +142 -142
- package/table-builder/material.module.d.ts +32 -32
- package/table-builder/ngrx/actions.d.ts +23 -23
- package/table-builder/ngrx/effects.d.ts +19 -19
- package/table-builder/ngrx/reducer.d.ts +15 -15
- package/table-builder/ngrx/selectors.d.ts +22 -22
- package/table-builder/pipes/column-total.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -14
- package/table-builder/pipes/key-display.d.ts +11 -11
- package/table-builder/services/export-to-csv.service.d.ts +22 -22
- package/table-builder/services/link-creator.service.d.ts +12 -12
- package/table-builder/services/table-template-service.d.ts +14 -14
- package/table-builder/services/transform-creator.d.ts +19 -19
- package/table-builder/table-builder.module.d.ts +46 -46
- package/utilities/directives/auto-focus.directive.d.ts +10 -10
- package/utilities/directives/clickEmitterDirective.d.ts +7 -7
- package/utilities/directives/clickSubject.d.ts +9 -9
- package/utilities/directives/conditional-classes.directive.d.ts +14 -14
- package/utilities/directives/dialog-service.d.ts +10 -10
- package/utilities/directives/dialog.d.ts +46 -46
- package/utilities/directives/mat-toggle-group-directive.d.ts +21 -21
- package/utilities/directives/prevent-enter.directive.d.ts +6 -6
- package/utilities/directives/stop-propagation.directive.d.ts +7 -7
- package/utilities/directives/styler.d.ts +9 -9
- package/utilities/directives/trim-whitespace.directive.d.ts +9 -9
- package/utilities/index.d.ts +15 -15
- package/utilities/module.d.ts +19 -19
- package/utilities/pipes/function.pipe.d.ts +7 -7
- package/utilities/pipes/phone.pipe.d.ts +7 -7
- package/utilities/pipes/space-case.pipes.d.ts +17 -17
- package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +0 -23
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +0 -28
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +0 -23
- package/esm2020/http-request-state/HttpRequestStateFactory.mjs +0 -27
- package/esm2020/http-request-state/HttpRequestStateStore.mjs +0 -97
- package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +0 -34
- package/esm2020/http-request-state/directives/http-error-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-success-state-directive.mjs +0 -34
- package/esm2020/http-request-state/directives/request-state-directive.mjs +0 -60
- package/esm2020/http-request-state/http-state-module.mjs +0 -41
- package/esm2020/table-builder/classes/table-store.mjs +0 -292
- package/esm2020/table-builder/components/array-column.component.mjs +0 -57
- package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +0 -112
- package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +0 -25
- package/esm2020/table-builder/components/date-time-filter/date-time-filter.component.mjs +0 -22
- package/esm2020/table-builder/components/filter/filter.component.mjs +0 -54
- package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +0 -91
- package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +0 -45
- package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +0 -202
- package/esm2020/table-builder/components/generic-table/paginator.component.mjs +0 -74
- package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +0 -22
- package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +0 -91
- package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +0 -63
- package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +0 -33
- package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +0 -27
- package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +0 -42
- package/esm2020/table-builder/components/table-container/table-container.mjs +0 -322
- package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +0 -42
- package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +0 -30
- package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +0 -25
- package/esm2020/table-builder/directives/custom-cell-directive.mjs +0 -59
- package/esm2020/table-builder/directives/multi-sort.directive.mjs +0 -42
- package/esm2020/table-builder/directives/resize-column.directive.mjs +0 -86
- package/esm2020/table-builder/directives/table-wrapper.directive.mjs +0 -26
- package/esm2020/table-builder/directives/tb-filter.directive.mjs +0 -403
- package/esm2020/table-builder/material.module.mjs +0 -207
- package/esm2020/table-builder/ngrx/effects.mjs +0 -48
- package/esm2020/table-builder/pipes/column-total.pipe.mjs +0 -20
- package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +0 -18
- package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +0 -45
- package/esm2020/table-builder/pipes/key-display.mjs +0 -20
- package/esm2020/table-builder/services/export-to-csv.service.mjs +0 -88
- package/esm2020/table-builder/services/table-template-service.mjs +0 -44
- package/esm2020/table-builder/services/transform-creator.mjs +0 -75
- package/esm2020/table-builder/table-builder.module.mjs +0 -207
- package/esm2020/utilities/directives/auto-focus.directive.mjs +0 -26
- package/esm2020/utilities/directives/clickEmitterDirective.mjs +0 -21
- package/esm2020/utilities/directives/clickSubject.mjs +0 -27
- package/esm2020/utilities/directives/conditional-classes.directive.mjs +0 -35
- package/esm2020/utilities/directives/dialog-service.mjs +0 -25
- package/esm2020/utilities/directives/dialog.mjs +0 -137
- package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +0 -59
- package/esm2020/utilities/directives/prevent-enter.directive.mjs +0 -19
- package/esm2020/utilities/directives/stop-propagation.directive.mjs +0 -25
- package/esm2020/utilities/directives/styler.mjs +0 -26
- package/esm2020/utilities/directives/trim-whitespace.directive.mjs +0 -29
- package/esm2020/utilities/module.mjs +0 -91
- package/esm2020/utilities/pipes/function.pipe.mjs +0 -21
- package/esm2020/utilities/pipes/phone.pipe.mjs +0 -20
- package/esm2020/utilities/pipes/space-case.pipes.mjs +0 -28
- package/fesm2015/one-paragon-angular-utilities.mjs +0 -4777
- package/fesm2015/one-paragon-angular-utilities.mjs.map +0 -1
- package/fesm2020/one-paragon-angular-utilities.mjs.map +0 -1
|
@@ -1,75 +1,76 @@
|
|
|
1
|
-
import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { first, map, tap } from 'rxjs/operators';
|
|
5
|
-
import { SortDirection } from '../../interfaces/report-def';
|
|
6
|
-
import { SortMenuComponentStore } from './sort-menu.component-store';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../classes/table-store";
|
|
9
|
-
import * as i2 from "./sort-menu.component-store";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
import * as i4 from "@angular/material/button";
|
|
12
|
-
import * as i5 from "@angular/material/tooltip";
|
|
13
|
-
import * as i6 from "@angular/material/menu";
|
|
14
|
-
import * as i7 from "@angular/material/icon";
|
|
15
|
-
import * as i8 from "@ngrx/component";
|
|
16
|
-
import * as i9 from "@angular/cdk/drag-drop";
|
|
17
|
-
import * as i10 from "../../../utilities/directives/stop-propagation.directive";
|
|
18
|
-
import * as i11 from "../../../utilities/pipes/space-case.pipes";
|
|
19
|
-
|
|
20
|
-
constructor(tableState, store) {
|
|
21
|
-
this.tableState = tableState;
|
|
22
|
-
this.store = store;
|
|
23
|
-
this.SortDirection = SortDirection;
|
|
24
|
-
this.dirty$ = new BehaviorSubject(false);
|
|
25
|
-
this.apply = this.store.effect((obs) => obs.pipe(tap(() => {
|
|
26
|
-
this.dirty$.next(false);
|
|
27
|
-
this.tableState.setAllSort(this.store.sorted$.pipe(first()));
|
|
28
|
-
})));
|
|
29
|
-
this.sorted$ = this.store.sorted$.pipe(map(data => [...data]));
|
|
30
|
-
this.notSorted$ = this.store.notSorted$.pipe(map(data => [...data]));
|
|
31
|
-
}
|
|
32
|
-
reset() {
|
|
33
|
-
this.dirty$.next(false);
|
|
34
|
-
this.store.reset();
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.store.reset();
|
|
38
|
-
}
|
|
39
|
-
dropIntoSorted(event) {
|
|
40
|
-
this.dirty$.next(true);
|
|
41
|
-
if (event.previousContainer === event.container) {
|
|
42
|
-
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
43
|
-
this.store.setSorted(event.container.data);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
47
|
-
event.container.data[event.currentIndex] = { ...event.container.data[event.currentIndex], direction: SortDirection.asc };
|
|
48
|
-
this.store.setSorted(event.container.data);
|
|
49
|
-
this.store.setNotSorted(event.previousContainer.data);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
dropIntoNotSorted(event) {
|
|
53
|
-
if (event.previousContainer === event.container) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.dirty$.next(true);
|
|
58
|
-
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
59
|
-
event.container.data[event.currentIndex] = { ...event.container.data[event.currentIndex] };
|
|
60
|
-
this.store.setNotSorted(event.container.data);
|
|
61
|
-
this.store.setSorted(event.previousContainer.data);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
setDirection(sort) {
|
|
65
|
-
this.dirty$.next(true);
|
|
66
|
-
this.store.setDirection(sort);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}],
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL3NvcnQtbWVudS9zb3J0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFnQixNQUFNLDZCQUE2QixDQUFBOzs7Ozs7Ozs7Ozs7O0FBUWxGLE1BQU0sT0FBTyxpQkFBaUI7SUFNNUIsWUFBb0IsVUFBc0IsRUFBUyxLQUE2QjtRQUE1RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFGaEYsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBZ0RwQyxVQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFvQixFQUFDLEVBQUUsQ0FDaEQsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FB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QUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFRRCxZQUFZLENBQUMsSUFBaUI7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OEdBOURVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVDQUZsQixDQUFDLHNCQUFzQixDQUFDLDBCQ2JwQyw4K0hBcUdBOzJGRHRGYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxhQUdkLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IFNvcnRNZW51Q29tcG9uZW50U3RvcmUsIFNvcnRXaXRoTmFtZSB9IGZyb20gJy4vc29ydC1tZW51LmNvbXBvbmVudC1zdG9yZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGItc29ydC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29ydC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zb3J0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6W1NvcnRNZW51Q29tcG9uZW50U3RvcmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgc29ydGVkJDpPYnNlcnZhYmxlPFNvcnRXaXRoTmFtZVtdPjtcclxuICBub3RTb3J0ZWQkOk9ic2VydmFibGU8U29ydFdpdGhOYW1lW10+O1xyXG4gIFNvcnREaXJlY3Rpb24gPSBTb3J0RGlyZWN0aW9uO1xyXG4gIGRpcnR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFibGVTdGF0ZTogVGFibGVTdG9yZSwgcHVibGljIHN0b3JlOiBTb3J0TWVudUNvbXBvbmVudFN0b3JlKSB7XHJcbiAgICB0aGlzLnNvcnRlZCQ9dGhpcy5zdG9yZS5zb3J0ZWQkLnBpcGUobWFwKGRhdGE9PlsuLi5kYXRhXSkpO1xyXG4gICAgdGhpcy5ub3RTb3J0ZWQkPXRoaXMuc3RvcmUubm90U29ydGVkJC5waXBlKG1hcChkYXRhPT5bLi4uZGF0YV0pKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCl7XHJcbiAgICB0aGlzLmRpcnR5JC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuc3RvcmUucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnN0b3JlLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICBkcm9wSW50b1NvcnRlZChldmVudDogQ2RrRHJhZ0Ryb3A8U29ydFdpdGhOYW1lW10+KSB7XHJcbiAgICB0aGlzLmRpcnR5JC5uZXh0KHRydWUpO1xyXG4gICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICB0aGlzLnN0b3JlLnNldFNvcnRlZChldmVudC5jb250YWluZXIuZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhW2V2ZW50LmN1cnJlbnRJbmRleF0gPSB7Li4uZXZlbnQuY29udGFpbmVyLmRhdGFbZXZlbnQuY3VycmVudEluZGV4XSxkaXJlY3Rpb246U29ydERpcmVjdGlvbi5hc2N9O1xyXG4gICAgICB0aGlzLnN0b3JlLnNldFNvcnRlZChldmVudC5jb250YWluZXIuZGF0YSk7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0Tm90U29ydGVkKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJvcEludG9Ob3RTb3J0ZWQoZXZlbnQ6IENka0RyYWdEcm9wPFNvcnRXaXRoTmFtZVtdPil7XHJcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpcnR5JC5uZXh0KHRydWUpO1xyXG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jb250YWluZXIuZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGFbZXZlbnQuY3VycmVudEluZGV4XSA9IHsuLi5ldmVudC5jb250YWluZXIuZGF0YVtldmVudC5jdXJyZW50SW5kZXhdfTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0Tm90U29ydGVkKGV2ZW50LmNvbnRhaW5lci5kYXRhKTtcclxuICAgICAgdGhpcy5zdG9yZS5zZXRTb3J0ZWQoZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseSA9IHRoaXMuc3RvcmUuZWZmZWN0KChvYnM6T2JzZXJ2YWJsZTxudWxsPik9PlxyXG4gICAgb2JzLnBpcGUodGFwKCgpPT57XHJcbiAgICAgIHRoaXMuZGlydHkkLm5leHQoZmFsc2UpO1xyXG4gICAgICB0aGlzLnRhYmxlU3RhdGUuc2V0QWxsU29ydCh0aGlzLnN0b3JlLnNvcnRlZCQucGlwZShmaXJzdCgpKSlcclxuICB9KSkpO1xyXG5cclxuICBzZXREaXJlY3Rpb24oc29ydDpTb3J0V2l0aE5hbWUpe1xyXG4gICAgdGhpcy5kaXJ0eSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuc3RvcmUuc2V0RGlyZWN0aW9uKHNvcnQpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4iLCI8bmctY29udGFpbmVyICpuZ3J4TGV0PVwiZGlydHkkIGFzIGRpcnR5XCI+XG48bmctY29udGFpbmVyICAqbmdJZj1cInNvcnRlZCQgfCBhc3luYyBhcyBzb3J0ZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdFNvcnRlZCQgfCBhc3luYyBhcyBub3RTb3J0ZWRcIj5cbiAgICA8IS0tIE1lbnUgVHJpZ2dlciAtLT5cbiAgICA8c3BhbiBtYXRUb29sdGlwPVwiU29ydFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnN3YXBfdmVydDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG5cbiAgICA8IS0tIE1lbnUgLS0+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiICBjbGFzcz1cIm15LW1hdC1tZW51XCIgKGNsb3NlZCk9XCJyZXNldCgpXCI+XG4gICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJtZW51LWJ1dHRvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYnV0dG9uLXdyYXBwZXJcIj5cbiAgICAgICAgICA8c3BhbiBtYXRUb29sdGlwPVwiQ2xvc2VcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlydHlcIiBtYXRUb29sdGlwPVwiVW5kb1wiIHN0b3AtcHJvcGFnYXRpb24gKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj51bmRvPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQXBwbHkgQnV0dG9uIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcGx5LWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYXBwbHkobnVsbClcIlxuICAgICAgICAgIHN0b3AtcHJvcGFnYXRpb24gW2NsYXNzLmFwcGx5LWJvcmRlcl09XCJkaXJ0eVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFkaXJ0eVwiPlxuICAgICAgICAgICAgQXBwbHlcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXJ0eVwiPlVuc2F2ZWQgQ2hhbmdlczwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIERlZmF1bHQgU29ydGluZyBUZXh0IC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiFzb3J0ZWQubGVuZ3RoXCIgY2xhc3M9XCJ0aXBcIiA+XG4gICAgICAgIFNvcnRpbmcgTGlzdFxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gU29ydGVkIE1lbnUgTGlzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgI3NvcnRlZEdyb3VwPVwiY2RrRHJvcExpc3RcIlxuICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbbm90U29ydGVkR3JvdXBdXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJzb3J0ZWRcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BJbnRvU29ydGVkKCRldmVudClcIj5cblxuICAgICAgICA8IS0tIE1lbnUgSXRlbSBXcmFwcGVyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3J0IG9mIHNvcnRlZDtsZXQgaT1pbmRleFwiPlxuXG4gICAgICAgICAgPCEtLSBNZW51IEl0ZW0gSGVhZGVycyAtLT5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRlZC5sZW5ndGggPiAxICYmIGkgPT09IDAgXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwic29ydC1oZWFkZXJcIj5GaXJzdCBCeTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRlZC5sZW5ndGggPiAxICYmIGkgIT09IDAgXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiICBjbGFzcz1cInNvcnQtaGVhZGVyXCI+VGhlbiBCeTwvc3Bhbj5cblxuICAgICAgICAgIDwhLS0gTWVudSBJdGVtIC0tPlxuICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSAgIGNka0RyYWcgY2xhc3M9XCJtZW51LWl0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb3J0ZWQtbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7c29ydC5kaXNwbGF5TmFtZSB8fCAoc29ydC5hY3RpdmUgfCBzcGFjZUNhc2UpfX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpcmVjdGlvbi10ZXh0XCI+e3tzb3J0LmRpcmVjdGlvbn19PC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPCEtLSBTb3J0IERpcmVjdGlvbiBCdXR0b25zIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXAtZG93bi1idXR0b25zLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICBjbGFzcz1cInVwLWRvd24tYnV0dG9uIHVwLWJ1dHRvblwiIHN0b3AtcHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0RGlyZWN0aW9uKHthY3RpdmU6c29ydC5hY3RpdmUsZGlyZWN0aW9uOlNvcnREaXJlY3Rpb24uYXNjLGRpc3BsYXlOYW1lOnNvcnQuZGlzcGxheU5hbWV9KVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cInNvcnQuZGlyZWN0aW9uICE9PSBTb3J0RGlyZWN0aW9uLmFzYyA/ICdsaWdodC1hcnJvdycgOiAnZGFyay1hcnJvdydcIiBjbGFzcz1cInVwLWRvd24taWNvblwiPlxuICAgICAgICAgICAgICAgICAgYXJyb3dfdXB3YXJkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInVwLWRvd24tYnV0dG9uXCIgc3RvcC1wcm9wYWdhdGlvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXREaXJlY3Rpb24oe2FjdGl2ZTpzb3J0LmFjdGl2ZSxkaXJlY3Rpb246U29ydERpcmVjdGlvbi5kZXNjLGRpc3BsYXlOYW1lOnNvcnQuZGlzcGxheU5hbWV9KVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cInNvcnQuZGlyZWN0aW9uID09PSBTb3J0RGlyZWN0aW9uLmFzYyA/ICdsaWdodC1hcnJvdycgOiAnZGFyay1hcnJvdydcIiBjbGFzcz1cInVwLWRvd24taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICBhcnJvd19kb3dud2FyZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBEZWZhdWx0IE5vdCBTb3J0ZWQgVGV4dCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbm90U29ydGVkLmxlbmd0aFwiIGNsYXNzPVwidGlwXCIgPlxuICAgICAgICBOb3QgU29ydGVkIExpc3RcbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBOb3QgU29ydGVkIE1lbnUgTGlzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgI25vdFNvcnRlZEdyb3VwPVwiY2RrRHJvcExpc3RcIlxuICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbc29ydGVkR3JvdXBdXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJub3RTb3J0ZWRcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BJbnRvTm90U29ydGVkKCRldmVudClcIj5cbiAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBzb3J0IG9mIG5vdFNvcnRlZFwiICBjbGFzcz1cIm1lbnUtaXRlbVwiIGNka0RyYWc+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3Qtc29ydGVkLW5hbWVcIj57e3NvcnQuZGlzcGxheU5hbWUgfHwgKHNvcnQuYWN0aXZlIHwgc3BhY2VDYXNlKX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
1
|
+
import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { first, map, tap } from 'rxjs/operators';
|
|
5
|
+
import { SortDirection } from '../../interfaces/report-def';
|
|
6
|
+
import { SortMenuComponentStore } from './sort-menu.component-store';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../classes/table-store";
|
|
9
|
+
import * as i2 from "./sort-menu.component-store";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@angular/material/button";
|
|
12
|
+
import * as i5 from "@angular/material/tooltip";
|
|
13
|
+
import * as i6 from "@angular/material/menu";
|
|
14
|
+
import * as i7 from "@angular/material/icon";
|
|
15
|
+
import * as i8 from "@ngrx/component";
|
|
16
|
+
import * as i9 from "@angular/cdk/drag-drop";
|
|
17
|
+
import * as i10 from "../../../utilities/directives/stop-propagation.directive";
|
|
18
|
+
import * as i11 from "../../../utilities/pipes/space-case.pipes";
|
|
19
|
+
class SortMenuComponent {
|
|
20
|
+
constructor(tableState, store) {
|
|
21
|
+
this.tableState = tableState;
|
|
22
|
+
this.store = store;
|
|
23
|
+
this.SortDirection = SortDirection;
|
|
24
|
+
this.dirty$ = new BehaviorSubject(false);
|
|
25
|
+
this.apply = this.store.effect((obs) => obs.pipe(tap(() => {
|
|
26
|
+
this.dirty$.next(false);
|
|
27
|
+
this.tableState.setAllSort(this.store.sorted$.pipe(first()));
|
|
28
|
+
})));
|
|
29
|
+
this.sorted$ = this.store.sorted$.pipe(map(data => [...data]));
|
|
30
|
+
this.notSorted$ = this.store.notSorted$.pipe(map(data => [...data]));
|
|
31
|
+
}
|
|
32
|
+
reset() {
|
|
33
|
+
this.dirty$.next(false);
|
|
34
|
+
this.store.reset();
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.store.reset();
|
|
38
|
+
}
|
|
39
|
+
dropIntoSorted(event) {
|
|
40
|
+
this.dirty$.next(true);
|
|
41
|
+
if (event.previousContainer === event.container) {
|
|
42
|
+
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
43
|
+
this.store.setSorted(event.container.data);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
47
|
+
event.container.data[event.currentIndex] = { ...event.container.data[event.currentIndex], direction: SortDirection.asc };
|
|
48
|
+
this.store.setSorted(event.container.data);
|
|
49
|
+
this.store.setNotSorted(event.previousContainer.data);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
dropIntoNotSorted(event) {
|
|
53
|
+
if (event.previousContainer === event.container) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.dirty$.next(true);
|
|
58
|
+
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
59
|
+
event.container.data[event.currentIndex] = { ...event.container.data[event.currentIndex] };
|
|
60
|
+
this.store.setNotSorted(event.container.data);
|
|
61
|
+
this.store.setSorted(event.previousContainer.data);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
setDirection(sort) {
|
|
65
|
+
this.dirty$.next(true);
|
|
66
|
+
this.store.setDirection(sort);
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortMenuComponent, deps: [{ token: i1.TableStore }, { token: i2.SortMenuComponentStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SortMenuComponent, selector: "tb-sort-menu", providers: [SortMenuComponentStore], ngImport: i0, template: "<ng-container *ngrxLet=\"dirty$ as dirty\">\n<ng-container *ngIf=\"sorted$ | async as sorted\">\n <ng-container *ngIf=\"notSorted$ | async as notSorted\">\n <!-- Menu Trigger -->\n <span matTooltip=\"Sort\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n <mat-icon color=\"primary\">swap_vert</mat-icon>\n </button>\n </span>\n\n <!-- Menu -->\n <mat-menu #menu=\"matMenu\" class=\"my-mat-menu\" (closed)=\"reset()\">\n <div mat-menu-item class=\"menu-button\">\n <div class=\"close-button-wrapper\">\n <span matTooltip=\"Close\">\n <mat-icon>close</mat-icon>\n </span>\n <span *ngIf=\"dirty\" matTooltip=\"Undo\" stop-propagation (click)=\"reset()\">\n <mat-icon>undo</mat-icon>\n </span>\n </div>\n </div>\n\n <!-- Apply Button -->\n <div class=\"apply-button-wrapper\">\n <button mat-button color=\"primary\" (click)=\"apply(null)\"\n stop-propagation [class.apply-border]=\"dirty\"\n [disabled]=\"!dirty\">\n Apply\n <ng-container *ngIf=\"dirty\">Unsaved Changes</ng-container>\n </button>\n </div>\n\n <!-- Default Sorting Text -->\n <div *ngIf=\"!sorted.length\" class=\"tip\" >\n Sorting List\n </div>\n\n <!-- Sorted Menu List -->\n <div class=\"list\"\n cdkDropList\n #sortedGroup=\"cdkDropList\"\n [cdkDropListConnectedTo]=\"[notSortedGroup]\"\n [cdkDropListData]=\"sorted\"\n (cdkDropListDropped)=\"dropIntoSorted($event)\">\n\n <!-- Menu Item Wrapper -->\n <ng-container *ngFor=\"let sort of sorted;let i=index\">\n\n <!-- Menu Item Headers -->\n <span *ngIf=\"sorted.length > 1 && i === 0 \" class=\"description\" class=\"sort-header\">First By</span>\n <span *ngIf=\"sorted.length > 1 && i !== 0 \" class=\"description\" class=\"sort-header\">Then By</span>\n\n <!-- Menu Item -->\n <div mat-menu-item cdkDrag class=\"menu-item\">\n <div class=\"sort-item\">\n <span class=\"sorted-name\">\n {{sort.displayName || (sort.active | spaceCase)}}\n <span class=\"direction-text\">{{sort.direction}}</span>\n </span>\n\n <!-- Sort Direction Buttons -->\n <div class=\"up-down-buttons-wrapper\">\n <button class=\"up-down-button up-button\" stop-propagation\n (click)=\"setDirection({active:sort.active,direction:SortDirection.asc,displayName:sort.displayName})\">\n <mat-icon [ngClass]=\"sort.direction !== SortDirection.asc ? 'light-arrow' : 'dark-arrow'\" class=\"up-down-icon\">\n arrow_upward\n </mat-icon>\n </button>\n\n <button class=\"up-down-button\" stop-propagation\n (click)=\"setDirection({active:sort.active,direction:SortDirection.desc,displayName:sort.displayName})\">\n <mat-icon [ngClass]=\"sort.direction === SortDirection.asc ? 'light-arrow' : 'dark-arrow'\" class=\"up-down-icon\">\n arrow_downward\n </mat-icon>\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n\n <!-- Default Not Sorted Text -->\n <div *ngIf=\"!notSorted.length\" class=\"tip\" >\n Not Sorted List\n </div>\n <!-- Not Sorted Menu List -->\n <div class=\"list\"\n cdkDropList\n #notSortedGroup=\"cdkDropList\"\n [cdkDropListConnectedTo]=\"[sortedGroup]\"\n [cdkDropListData]=\"notSorted\"\n (cdkDropListDropped)=\"dropIntoNotSorted($event)\">\n <div mat-menu-item *ngFor=\"let sort of notSorted\" class=\"menu-item\" cdkDrag>\n <span class=\"not-sorted-name\">{{sort.displayName || (sort.active | spaceCase)}}</span>\n </div>\n </div>\n </mat-menu>\n </ng-container>\n</ng-container>\n</ng-container>\n", styles: [".cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.list{padding:5px 2px;border-bottom:solid 1px #ccc;color:#000000de;background:white}.light-arrow{color:#93b1ea78}.dark-arrow{color:#224e9c}.up-down-button{background-color:#fff;border-radius:30%;border-color:#0ff;padding:1px 1px 0;border-width:.5px;cursor:pointer;height:27px}.mat-icon.up-down-icon{margin-right:0;font-size:20px;font-weight:lighter}.sort-item{display:flex;align-items:center;justify-content:space-between}.up-down-buttons-wrapper{margin-left:2rem}.up-button{margin-right:.3rem}.mat-mdc-menu-item.menu-item,.mat-mdc-menu-item.menu-button{min-height:initial;padding:0 3px;line-height:25px;height:30px}.mat-mdc-menu-item.menu-item{cursor:move}.sorted-name{color:#224e9c;font-size:17px;font-weight:700}.not-sorted-name{color:#93b1ea;font-size:17px;font-weight:700}.apply-border{border:#224e9c solid .5px}.apply-border:hover{background-color:#faebd7}.apply-button-wrapper{display:grid;justify-content:center}.sort-header{font-size:10px;font-style:italic}.tip{padding:0 3px;color:#d3d3d3}.direction-text{font-size:small;font-weight:400}.close-button-wrapper{display:flex;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.SpaceCasePipe, name: "spaceCase" }] }); }
|
|
70
|
+
}
|
|
71
|
+
export { SortMenuComponent };
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortMenuComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{ selector: 'tb-sort-menu', providers: [SortMenuComponentStore], template: "<ng-container *ngrxLet=\"dirty$ as dirty\">\n<ng-container *ngIf=\"sorted$ | async as sorted\">\n <ng-container *ngIf=\"notSorted$ | async as notSorted\">\n <!-- Menu Trigger -->\n <span matTooltip=\"Sort\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n <mat-icon color=\"primary\">swap_vert</mat-icon>\n </button>\n </span>\n\n <!-- Menu -->\n <mat-menu #menu=\"matMenu\" class=\"my-mat-menu\" (closed)=\"reset()\">\n <div mat-menu-item class=\"menu-button\">\n <div class=\"close-button-wrapper\">\n <span matTooltip=\"Close\">\n <mat-icon>close</mat-icon>\n </span>\n <span *ngIf=\"dirty\" matTooltip=\"Undo\" stop-propagation (click)=\"reset()\">\n <mat-icon>undo</mat-icon>\n </span>\n </div>\n </div>\n\n <!-- Apply Button -->\n <div class=\"apply-button-wrapper\">\n <button mat-button color=\"primary\" (click)=\"apply(null)\"\n stop-propagation [class.apply-border]=\"dirty\"\n [disabled]=\"!dirty\">\n Apply\n <ng-container *ngIf=\"dirty\">Unsaved Changes</ng-container>\n </button>\n </div>\n\n <!-- Default Sorting Text -->\n <div *ngIf=\"!sorted.length\" class=\"tip\" >\n Sorting List\n </div>\n\n <!-- Sorted Menu List -->\n <div class=\"list\"\n cdkDropList\n #sortedGroup=\"cdkDropList\"\n [cdkDropListConnectedTo]=\"[notSortedGroup]\"\n [cdkDropListData]=\"sorted\"\n (cdkDropListDropped)=\"dropIntoSorted($event)\">\n\n <!-- Menu Item Wrapper -->\n <ng-container *ngFor=\"let sort of sorted;let i=index\">\n\n <!-- Menu Item Headers -->\n <span *ngIf=\"sorted.length > 1 && i === 0 \" class=\"description\" class=\"sort-header\">First By</span>\n <span *ngIf=\"sorted.length > 1 && i !== 0 \" class=\"description\" class=\"sort-header\">Then By</span>\n\n <!-- Menu Item -->\n <div mat-menu-item cdkDrag class=\"menu-item\">\n <div class=\"sort-item\">\n <span class=\"sorted-name\">\n {{sort.displayName || (sort.active | spaceCase)}}\n <span class=\"direction-text\">{{sort.direction}}</span>\n </span>\n\n <!-- Sort Direction Buttons -->\n <div class=\"up-down-buttons-wrapper\">\n <button class=\"up-down-button up-button\" stop-propagation\n (click)=\"setDirection({active:sort.active,direction:SortDirection.asc,displayName:sort.displayName})\">\n <mat-icon [ngClass]=\"sort.direction !== SortDirection.asc ? 'light-arrow' : 'dark-arrow'\" class=\"up-down-icon\">\n arrow_upward\n </mat-icon>\n </button>\n\n <button class=\"up-down-button\" stop-propagation\n (click)=\"setDirection({active:sort.active,direction:SortDirection.desc,displayName:sort.displayName})\">\n <mat-icon [ngClass]=\"sort.direction === SortDirection.asc ? 'light-arrow' : 'dark-arrow'\" class=\"up-down-icon\">\n arrow_downward\n </mat-icon>\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n\n <!-- Default Not Sorted Text -->\n <div *ngIf=\"!notSorted.length\" class=\"tip\" >\n Not Sorted List\n </div>\n <!-- Not Sorted Menu List -->\n <div class=\"list\"\n cdkDropList\n #notSortedGroup=\"cdkDropList\"\n [cdkDropListConnectedTo]=\"[sortedGroup]\"\n [cdkDropListData]=\"notSorted\"\n (cdkDropListDropped)=\"dropIntoNotSorted($event)\">\n <div mat-menu-item *ngFor=\"let sort of notSorted\" class=\"menu-item\" cdkDrag>\n <span class=\"not-sorted-name\">{{sort.displayName || (sort.active | spaceCase)}}</span>\n </div>\n </div>\n </mat-menu>\n </ng-container>\n</ng-container>\n</ng-container>\n", styles: [".cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.list{padding:5px 2px;border-bottom:solid 1px #ccc;color:#000000de;background:white}.light-arrow{color:#93b1ea78}.dark-arrow{color:#224e9c}.up-down-button{background-color:#fff;border-radius:30%;border-color:#0ff;padding:1px 1px 0;border-width:.5px;cursor:pointer;height:27px}.mat-icon.up-down-icon{margin-right:0;font-size:20px;font-weight:lighter}.sort-item{display:flex;align-items:center;justify-content:space-between}.up-down-buttons-wrapper{margin-left:2rem}.up-button{margin-right:.3rem}.mat-mdc-menu-item.menu-item,.mat-mdc-menu-item.menu-button{min-height:initial;padding:0 3px;line-height:25px;height:30px}.mat-mdc-menu-item.menu-item{cursor:move}.sorted-name{color:#224e9c;font-size:17px;font-weight:700}.not-sorted-name{color:#93b1ea;font-size:17px;font-weight:700}.apply-border{border:#224e9c solid .5px}.apply-border:hover{background-color:#faebd7}.apply-button-wrapper{display:grid;justify-content:center}.sort-header{font-size:10px;font-style:italic}.tip{padding:0 3px;color:#d3d3d3}.direction-text{font-size:small;font-weight:400}.close-button-wrapper{display:flex;flex-direction:row-reverse}\n"] }]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i1.TableStore }, { type: i2.SortMenuComponentStore }]; } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL3NvcnQtbWVudS9zb3J0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFnQixNQUFNLDZCQUE2QixDQUFBOzs7Ozs7Ozs7Ozs7O0FBRWxGLE1BTWEsaUJBQWlCO0lBTTVCLFlBQW9CLFVBQXNCLEVBQVMsS0FBNkI7UUFBNUQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBRmhGLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQWdEcEMsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBb0IsRUFBQyxFQUFFLENBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUUsRUFB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QUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBUUQsWUFBWSxDQUFDLElBQWlCO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBOURVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVDQUZsQixDQUFDLHNCQUFzQixDQUFDLDBCQ2JwQyw4K0hBcUdBOztTRHRGYSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGFBR2QsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgU29ydE1lbnVDb21wb25lbnRTdG9yZSwgU29ydFdpdGhOYW1lIH0gZnJvbSAnLi9zb3J0LW1lbnUuY29tcG9uZW50LXN0b3JlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Yi1zb3J0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zb3J0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NvcnQtbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczpbU29ydE1lbnVDb21wb25lbnRTdG9yZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNvcnRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBzb3J0ZWQkOk9ic2VydmFibGU8U29ydFdpdGhOYW1lW10+O1xyXG4gIG5vdFNvcnRlZCQ6T2JzZXJ2YWJsZTxTb3J0V2l0aE5hbWVbXT47XHJcbiAgU29ydERpcmVjdGlvbiA9IFNvcnREaXJlY3Rpb247XHJcbiAgZGlydHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YWJsZVN0YXRlOiBUYWJsZVN0b3JlLCBwdWJsaWMgc3RvcmU6IFNvcnRNZW51Q29tcG9uZW50U3RvcmUpIHtcclxuICAgIHRoaXMuc29ydGVkJD10aGlzLnN0b3JlLnNvcnRlZCQucGlwZShtYXAoZGF0YT0+Wy4uLmRhdGFdKSk7XHJcbiAgICB0aGlzLm5vdFNvcnRlZCQ9dGhpcy5zdG9yZS5ub3RTb3J0ZWQkLnBpcGUobWFwKGRhdGE9PlsuLi5kYXRhXSkpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKXtcclxuICAgIHRoaXMuZGlydHkkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zdG9yZS5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuc3RvcmUucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIGRyb3BJbnRvU29ydGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxTb3J0V2l0aE5hbWVbXT4pIHtcclxuICAgIHRoaXMuZGlydHkkLm5leHQodHJ1ZSk7XHJcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0U29ydGVkKGV2ZW50LmNvbnRhaW5lci5kYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jb250YWluZXIuZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGFbZXZlbnQuY3VycmVudEluZGV4XSA9IHsuLi5ldmVudC5jb250YWluZXIuZGF0YVtldmVudC5jdXJyZW50SW5kZXhdLGRpcmVjdGlvbjpTb3J0RGlyZWN0aW9uLmFzY307XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0U29ydGVkKGV2ZW50LmNvbnRhaW5lci5kYXRhKTtcclxuICAgICAgdGhpcy5zdG9yZS5zZXROb3RTb3J0ZWQoZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wSW50b05vdFNvcnRlZChldmVudDogQ2RrRHJhZ0Ryb3A8U29ydFdpdGhOYW1lW10+KXtcclxuICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlydHkkLm5leHQodHJ1ZSk7XHJcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YVtldmVudC5jdXJyZW50SW5kZXhdID0gey4uLmV2ZW50LmNvbnRhaW5lci5kYXRhW2V2ZW50LmN1cnJlbnRJbmRleF19O1xyXG5cclxuICAgICAgdGhpcy5zdG9yZS5zZXROb3RTb3J0ZWQoZXZlbnQuY29udGFpbmVyLmRhdGEpO1xyXG4gICAgICB0aGlzLnN0b3JlLnNldFNvcnRlZChldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFwcGx5ID0gdGhpcy5zdG9yZS5lZmZlY3QoKG9iczpPYnNlcnZhYmxlPG51bGw+KT0+XHJcbiAgICBvYnMucGlwZSh0YXAoKCk9PntcclxuICAgICAgdGhpcy5kaXJ0eSQubmV4dChmYWxzZSk7XHJcbiAgICAgIHRoaXMudGFibGVTdGF0ZS5zZXRBbGxTb3J0KHRoaXMuc3RvcmUuc29ydGVkJC5waXBlKGZpcnN0KCkpKVxyXG4gIH0pKSk7XHJcblxyXG4gIHNldERpcmVjdGlvbihzb3J0OlNvcnRXaXRoTmFtZSl7XHJcbiAgICB0aGlzLmRpcnR5JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5zdG9yZS5zZXREaXJlY3Rpb24oc29ydCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiIsIjxuZy1jb250YWluZXIgKm5ncnhMZXQ9XCJkaXJ0eSQgYXMgZGlydHlcIj5cbjxuZy1jb250YWluZXIgICpuZ0lmPVwic29ydGVkJCB8IGFzeW5jIGFzIHNvcnRlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90U29ydGVkJCB8IGFzeW5jIGFzIG5vdFNvcnRlZFwiPlxuICAgIDwhLS0gTWVudSBUcmlnZ2VyIC0tPlxuICAgIDxzcGFuIG1hdFRvb2x0aXA9XCJTb3J0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+c3dhcF92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cblxuICAgIDwhLS0gTWVudSAtLT5cbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgIGNsYXNzPVwibXktbWF0LW1lbnVcIiAoY2xvc2VkKT1cInJlc2V0KClcIj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cIm1lbnUtYnV0dG9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idXR0b24td3JhcHBlclwiPlxuICAgICAgICAgIDxzcGFuIG1hdFRvb2x0aXA9XCJDbG9zZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXJ0eVwiIG1hdFRvb2x0aXA9XCJVbmRvXCIgc3RvcC1wcm9wYWdhdGlvbiAoY2xpY2spPVwicmVzZXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnVuZG88L21hdC1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBcHBseSBCdXR0b24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwbHktYnV0dG9uLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhcHBseShudWxsKVwiXG4gICAgICAgICAgc3RvcC1wcm9wYWdhdGlvbiBbY2xhc3MuYXBwbHktYm9yZGVyXT1cImRpcnR5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+XG4gICAgICAgICAgICBBcHBseVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpcnR5XCI+VW5zYXZlZCBDaGFuZ2VzPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGVmYXVsdCBTb3J0aW5nIFRleHQgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIXNvcnRlZC5sZW5ndGhcIiBjbGFzcz1cInRpcFwiID5cbiAgICAgICAgU29ydGluZyBMaXN0XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBTb3J0ZWQgTWVudSBMaXN0IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RcIlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAjc29ydGVkR3JvdXA9XCJjZGtEcm9wTGlzdFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltub3RTb3J0ZWRHcm91cF1cIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cInNvcnRlZFwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcEludG9Tb3J0ZWQoJGV2ZW50KVwiPlxuXG4gICAgICAgIDwhLS0gTWVudSBJdGVtIFdyYXBwZXIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvcnQgb2Ygc29ydGVkO2xldCBpPWluZGV4XCI+XG5cbiAgICAgICAgICA8IS0tIE1lbnUgSXRlbSBIZWFkZXJzIC0tPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydGVkLmxlbmd0aCA+IDEgJiYgaSA9PT0gMCBcIiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJzb3J0LWhlYWRlclwiPkZpcnN0IEJ5PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydGVkLmxlbmd0aCA+IDEgJiYgaSAhPT0gMCBcIiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgIGNsYXNzPVwic29ydC1oZWFkZXJcIj5UaGVuIEJ5PC9zcGFuPlxuXG4gICAgICAgICAgPCEtLSBNZW51IEl0ZW0gLS0+XG4gICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtICAgY2RrRHJhZyBjbGFzcz1cIm1lbnUtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvcnRlZC1uYW1lXCI+XG4gICAgICAgICAgICAgICAge3tzb3J0LmRpc3BsYXlOYW1lIHx8IChzb3J0LmFjdGl2ZSB8IHNwYWNlQ2FzZSl9fVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGlyZWN0aW9uLXRleHRcIj57e3NvcnQuZGlyZWN0aW9ufX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8IS0tIFNvcnQgRGlyZWN0aW9uIEJ1dHRvbnMgLS0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cC1kb3duLWJ1dHRvbnMtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gIGNsYXNzPVwidXAtZG93bi1idXR0b24gdXAtYnV0dG9uXCIgc3RvcC1wcm9wYWdhdGlvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXREaXJlY3Rpb24oe2FjdGl2ZTpzb3J0LmFjdGl2ZSxkaXJlY3Rpb246U29ydERpcmVjdGlvbi5hc2MsZGlzcGxheU5hbWU6c29ydC5kaXNwbGF5TmFtZX0pXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwic29ydC5kaXJlY3Rpb24gIT09IFNvcnREaXJlY3Rpb24uYXNjID8gJ2xpZ2h0LWFycm93JyA6ICdkYXJrLWFycm93J1wiIGNsYXNzPVwidXAtZG93bi1pY29uXCI+XG4gICAgICAgICAgICAgICAgICBhcnJvd191cHdhcmRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidXAtZG93bi1idXR0b25cIiBzdG9wLXByb3BhZ2F0aW9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldERpcmVjdGlvbih7YWN0aXZlOnNvcnQuYWN0aXZlLGRpcmVjdGlvbjpTb3J0RGlyZWN0aW9uLmRlc2MsZGlzcGxheU5hbWU6c29ydC5kaXNwbGF5TmFtZX0pXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwic29ydC5kaXJlY3Rpb24gPT09IFNvcnREaXJlY3Rpb24uYXNjID8gJ2xpZ2h0LWFycm93JyA6ICdkYXJrLWFycm93J1wiIGNsYXNzPVwidXAtZG93bi1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIGFycm93X2Rvd253YXJkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIERlZmF1bHQgTm90IFNvcnRlZCBUZXh0IC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiFub3RTb3J0ZWQubGVuZ3RoXCIgY2xhc3M9XCJ0aXBcIiA+XG4gICAgICAgIE5vdCBTb3J0ZWQgTGlzdFxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE5vdCBTb3J0ZWQgTWVudSBMaXN0IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RcIlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAjbm90U29ydGVkR3JvdXA9XCJjZGtEcm9wTGlzdFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltzb3J0ZWRHcm91cF1cIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIm5vdFNvcnRlZFwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcEludG9Ob3RTb3J0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHNvcnQgb2Ygbm90U29ydGVkXCIgIGNsYXNzPVwibWVudS1pdGVtXCIgY2RrRHJhZz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdC1zb3J0ZWQtbmFtZVwiPnt7c29ydC5kaXNwbGF5TmFtZSB8fCAoc29ydC5hY3RpdmUgfCBzcGFjZUNhc2UpfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|