geonetwork-ui 2.2.0-dev.438f1ef6 → 2.2.0-dev.55bb5e18
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/esm2022/libs/api/repository/src/index.mjs +2 -1
- package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -2
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +4 -3
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +9 -6
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +4 -6
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +8 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +22 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/util/i18n/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +7 -0
- package/esm2022/translations/en.json +8 -1
- package/esm2022/translations/es.json +7 -0
- package/esm2022/translations/fr.json +8 -1
- package/esm2022/translations/it.json +16 -9
- package/esm2022/translations/nl.json +7 -0
- package/esm2022/translations/pt.json +7 -0
- package/fesm2022/geonetwork-ui.mjs +216 -52
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/index.d.ts +1 -0
- package/libs/api/repository/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +13 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -2
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +12 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -0
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/repository/src/index.ts +1 -0
- package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +3 -1
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -4
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
- package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -25
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +0 -4
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +26 -3
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/util/i18n/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/translations/de.json +7 -0
- package/translations/en.json +8 -1
- package/translations/es.json +7 -0
- package/translations/fr.json +8 -1
- package/translations/it.json +16 -9
- package/translations/nl.json +7 -0
- package/translations/pt.json +7 -0
- package/translations/sk.json +7 -0
|
@@ -29,6 +29,7 @@ import { GnUiLinkifyDirective } from './metadata-info/linkify.directive';
|
|
|
29
29
|
import { PaginationButtonsComponent } from './pagination-buttons/pagination-buttons.component';
|
|
30
30
|
import { MaxLinesComponent } from './max-lines/max-lines.component';
|
|
31
31
|
import { RecordApiFormComponent } from './record-api-form/record-api-form.component';
|
|
32
|
+
import { MarkdownParserComponent } from './markdown-parser/markdown-parser.component';
|
|
32
33
|
import * as i0 from "@angular/core";
|
|
33
34
|
import * as i1 from "@ngx-translate/core";
|
|
34
35
|
export class UiElementsModule {
|
|
@@ -52,7 +53,8 @@ export class UiElementsModule {
|
|
|
52
53
|
GnUiLinkifyDirective,
|
|
53
54
|
PaginationButtonsComponent,
|
|
54
55
|
MaxLinesComponent,
|
|
55
|
-
RecordApiFormComponent
|
|
56
|
+
RecordApiFormComponent,
|
|
57
|
+
MarkdownParserComponent], imports: [CommonModule,
|
|
56
58
|
MatIconModule,
|
|
57
59
|
MatTooltipModule,
|
|
58
60
|
UiWidgetsModule,
|
|
@@ -77,7 +79,8 @@ export class UiElementsModule {
|
|
|
77
79
|
AvatarComponent,
|
|
78
80
|
UserPreviewComponent,
|
|
79
81
|
PaginationButtonsComponent,
|
|
80
|
-
RecordApiFormComponent
|
|
82
|
+
RecordApiFormComponent,
|
|
83
|
+
MarkdownParserComponent] }); }
|
|
81
84
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiElementsModule, imports: [CommonModule,
|
|
82
85
|
MatIconModule,
|
|
83
86
|
MatTooltipModule,
|
|
@@ -126,6 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
126
129
|
PaginationButtonsComponent,
|
|
127
130
|
MaxLinesComponent,
|
|
128
131
|
RecordApiFormComponent,
|
|
132
|
+
MarkdownParserComponent,
|
|
129
133
|
],
|
|
130
134
|
exports: [
|
|
131
135
|
MetadataInfoComponent,
|
|
@@ -146,7 +150,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
146
150
|
UserPreviewComponent,
|
|
147
151
|
PaginationButtonsComponent,
|
|
148
152
|
RecordApiFormComponent,
|
|
153
|
+
MarkdownParserComponent,
|
|
149
154
|
],
|
|
150
155
|
}]
|
|
151
156
|
}] });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSx3QkFB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d0JBQ2hCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgVXRpbFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgTWV0YWRhdGFJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50J1xuaW1wb3J0IHsgQ29udGVudEdob3N0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LWdob3N0L2NvbnRlbnQtZ2hvc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgRG93bmxvYWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kb3dubG9hZC1pdGVtL2Rvd25sb2FkLWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgRG93bmxvYWRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZG93bmxvYWRzLWxpc3QvZG93bmxvYWRzLWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgQXBpQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vYXBpLWNhcmQvYXBpLWNhcmQuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IExpbmtDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IFJlbGF0ZWRSZWNvcmRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9yZWxhdGVkLXJlY29yZC1jYXJkL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50J1xuaW1wb3J0IHsgTWV0YWRhdGFDb250YWN0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXRhZGF0YS1jb250YWN0L21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgTWV0YWRhdGFDYXRhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9tZXRhZGF0YS1jYXRhbG9nL21ldGFkYXRhLWNhdGFsb2cuY29tcG9uZW50J1xuaW1wb3J0IHsgTWV0YWRhdGFRdWFsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWV0YWRhdGEtcXVhbGl0eS1pdGVtL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLWVycm9yL3NlYXJjaC1yZXN1bHRzLWVycm9yLmNvbXBvbmVudCdcbmltcG9ydCB7IFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCdcbmltcG9ydCB7IFVzZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXByZXZpZXcvdXNlci1wcmV2aWV3LmNvbXBvbmVudCdcbmltcG9ydCB7IEduVWlMaW5raWZ5RGlyZWN0aXZlIH0gZnJvbSAnLi9tZXRhZGF0YS1pbmZvL2xpbmtpZnkuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgUGFnaW5hdGlvbkJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24tYnV0dG9ucy9wYWdpbmF0aW9uLWJ1dHRvbnMuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF4TGluZXNDb21wb25lbnQgfSBmcm9tICcuL21heC1saW5lcy9tYXgtbGluZXMuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkQXBpRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLWFwaS1mb3JtL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXJrZG93blBhcnNlckNvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNZXRhZGF0YUluZm9Db21wb25lbnQsXG4gICAgQ29udGVudEdob3N0Q29tcG9uZW50LFxuICAgIERvd25sb2FkSXRlbUNvbXBvbmVudCxcbiAgICBEb3dubG9hZHNMaXN0Q29tcG9uZW50LFxuICAgIEFwaUNhcmRDb21wb25lbnQsXG4gICAgTGlua0NhcmRDb21wb25lbnQsXG4gICAgUmVsYXRlZFJlY29yZENhcmRDb21wb25lbnQsXG4gICAgTWV0YWRhdGFDb250YWN0Q29tcG9uZW50LFxuICAgIE1ldGFkYXRhQ2F0YWxvZ0NvbXBvbmVudCxcbiAgICBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBTZWFyY2hSZXN1bHRzRXJyb3JDb21wb25lbnQsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIFVzZXJQcmV2aWV3Q29tcG9uZW50LFxuICAgIEduVWlMaW5raWZ5RGlyZWN0aXZlLFxuICAgIFBhZ2luYXRpb25CdXR0b25zQ29tcG9uZW50LFxuICAgIE1heExpbmVzQ29tcG9uZW50LFxuICAgIFJlY29yZEFwaUZvcm1Db21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNZXRhZGF0YUluZm9Db21wb25lbnQsXG4gICAgQ29udGVudEdob3N0Q29tcG9uZW50LFxuICAgIERvd25sb2FkSXRlbUNvbXBvbmVudCxcbiAgICBEb3dubG9hZHNMaXN0Q29tcG9uZW50LFxuICAgIEFwaUNhcmRDb21wb25lbnQsXG4gICAgTGlua0NhcmRDb21wb25lbnQsXG4gICAgUmVsYXRlZFJlY29yZENhcmRDb21wb25lbnQsXG4gICAgTWV0YWRhdGFDb250YWN0Q29tcG9uZW50LFxuICAgIE1ldGFkYXRhQ2F0YWxvZ0NvbXBvbmVudCxcbiAgICBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBTZWFyY2hSZXN1bHRzRXJyb3JDb21wb25lbnQsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIFVzZXJQcmV2aWV3Q29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25CdXR0b25zQ29tcG9uZW50LFxuICAgIFJlY29yZEFwaUZvcm1Db21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpRWxlbWVudHNNb2R1bGUge31cbiJdfQ==
|
|
@@ -3,13 +3,32 @@ import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ButtonComponent {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.type = 'default';
|
|
7
6
|
this.disabled = false;
|
|
8
7
|
this.extraClass = '';
|
|
9
8
|
this.buttonClick = new EventEmitter();
|
|
10
9
|
}
|
|
10
|
+
// btn-classes are explicited to allow tailwind recognize them and add it in css.
|
|
11
|
+
set type(value) {
|
|
12
|
+
switch (value) {
|
|
13
|
+
case 'primary':
|
|
14
|
+
this.btnClass = 'btn-primary';
|
|
15
|
+
break;
|
|
16
|
+
case 'secondary':
|
|
17
|
+
this.btnClass = 'btn-secondary';
|
|
18
|
+
break;
|
|
19
|
+
case 'outline':
|
|
20
|
+
this.btnClass = 'btn-outline';
|
|
21
|
+
break;
|
|
22
|
+
case 'light':
|
|
23
|
+
this.btnClass = 'btn-light';
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
this.btnClass = 'btn-default';
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
11
30
|
get classList() {
|
|
12
|
-
return
|
|
31
|
+
return `${this.btnClass} ${this.extraClass}`;
|
|
13
32
|
}
|
|
14
33
|
handleClick(event) {
|
|
15
34
|
this.buttonClick.emit();
|
|
@@ -31,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
31
50
|
}], buttonClick: [{
|
|
32
51
|
type: Output
|
|
33
52
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7O0FBUWhGLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBZ0NXLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtLQVdqRDtJQXBDQyxpRkFBaUY7SUFDakYsSUFBYSxJQUFJLENBQ2YsS0FBZ0U7UUFFaEUsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUE7Z0JBQy9CLE1BQUs7WUFDUCxLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUE7Z0JBQzNCLE1BQUs7WUFDUDtnQkFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQTtnQkFDN0IsTUFBSztTQUNSO0lBQ0gsQ0FBQztJQU1ELElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdEIsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs4R0F0Q1UsZUFBZTtrR0FBZixlQUFlLHVLQ2Y1Qix5VkFTQTs7MkZETWEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBTWxDLElBQUk7c0JBQWhCLEtBQUs7Z0JBc0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBwcml2YXRlIGJ0bkNsYXNzOiBzdHJpbmdcblxuICAvLyBidG4tY2xhc3NlcyBhcmUgZXhwbGljaXRlZCB0byBhbGxvdyB0YWlsd2luZCByZWNvZ25pemUgdGhlbSBhbmQgYWRkIGl0IGluIGNzcy5cbiAgQElucHV0KCkgc2V0IHR5cGUoXG4gICAgdmFsdWU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ2xpZ2h0J1xuICApIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgdGhpcy5idG5DbGFzcyA9ICdidG4tcHJpbWFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NlY29uZGFyeSc6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLXNlY29uZGFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1vdXRsaW5lJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1saWdodCdcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLWRlZmF1bHQnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZVxuICBASW5wdXQoKSBleHRyYUNsYXNzID0gJydcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgZ2V0IGNsYXNzTGlzdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5idG5DbGFzc30gJHt0aGlzLmV4dHJhQ2xhc3N9YFxuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gIH1cbn1cbiIsIjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgdGV4dC1bMWVtXSBsZWFkaW5nLW5vbmUgcC1bMWVtXSByb3VuZGVkLVswLjI1ZW1dIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBmb2N1czpvdXRsaW5lLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgW2NsYXNzXT1cImNsYXNzTGlzdFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
|
package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren, } from '@angular/core';
|
|
2
2
|
import { CdkConnectedOverlay, CdkOverlayOrigin, ScrollStrategyOptions, } from '@angular/cdk/overlay';
|
|
3
3
|
import { take } from 'rxjs/operators';
|
|
4
|
-
import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src';
|
|
4
|
+
import { createFuzzyFilter, propagateToDocumentOnly, } from '../../../../../../libs/util/shared/src';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/cdk/overlay";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
@@ -17,7 +17,10 @@ export class DropdownMultiselectComponent {
|
|
|
17
17
|
return this.choices.filter((choice) => this.selected.indexOf(choice.value) > -1);
|
|
18
18
|
}
|
|
19
19
|
get filteredChoicesByText() {
|
|
20
|
-
|
|
20
|
+
if (!this.searchInputValue)
|
|
21
|
+
return this.choices;
|
|
22
|
+
const filter = createFuzzyFilter(this.searchInputValue);
|
|
23
|
+
return this.choices.filter((choice) => filter(choice.label));
|
|
21
24
|
}
|
|
22
25
|
get focusedIndex() {
|
|
23
26
|
return this.checkboxes.reduce((prev, curr, curIndex) => curr.nativeElement === document.activeElement ? curIndex : prev, -1);
|
|
@@ -187,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
187
190
|
type: ViewChildren,
|
|
188
191
|
args: ['checkBox', { read: ElementRef }]
|
|
189
192
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7Ozs7O0FBUWhGLE1BQU0sT0FBTyw0QkFBNEI7SUFzQ3ZDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDckQsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDLENBQzFFLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQ3ZCLElBQUksQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ2pFLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsWUFBb0IsZ0JBQXVDO1FBQXZDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7UUEzRGxELGFBQVEsR0FBYyxFQUFFLENBQUE7UUFDeEIsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFFbEIscUJBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQTtRQVN0RCxxQkFBZ0IsR0FBd0I7WUFDdEM7Z0JBQ0UsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNEO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDWjtTQUNGLENBQUE7UUFDRCxtQkFBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuRCxnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQixpQkFBWSxHQUFHLE1BQU0sQ0FBQTtRQUNyQixxQkFBZ0IsR0FBRyxNQUFNLENBQUE7UUFDekIsT0FBRSxHQUFHLHdCQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFBO0lBMEJGLENBQUM7SUFFdkQsUUFBUTtRQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzdDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVk7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUU7aUJBQ2hFLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2xDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtZQUMvQixDQUFDLENBQUMsTUFBTSxDQUFBO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBRWYsb0ZBQW9GO1FBQ3BGLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7U0FDbEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQW9CO1FBQzdDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUE7UUFDMUIsTUFBTSxTQUFTLEdBQ2IsT0FBTyxLQUFLLFdBQVc7WUFDdkIsT0FBTyxLQUFLLFNBQVM7WUFDckIsT0FBTyxLQUFLLFdBQVc7WUFDdkIsT0FBTyxLQUFLLFlBQVk7WUFDeEIsT0FBTyxLQUFLLE9BQU87WUFDbkIsT0FBTyxLQUFLLE9BQU8sQ0FBQTtRQUNyQixNQUFNLFVBQVUsR0FBRyxPQUFPLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDbEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ3hCLElBQUksT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssU0FBUztnQkFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7O2dCQUNyRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7U0FDM0I7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksVUFBVSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTTtRQUM3QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssWUFBWSxFQUFFO1lBQ3ZELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN0QixJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7YUFDdEI7O2dCQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDOUI7YUFBTSxJQUFJLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUMzRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3hCO2FBQU0sSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtTQUNwQjtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQzlDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUFFLE9BQU07UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUE7UUFDbEMsb0dBQW9HO1FBQ3BHLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsTUFBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxRQUFpQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVE7WUFDdEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMxQix1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBWTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQzFCLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNqQixDQUFDOzhHQXpLVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixtWkFTNUIsbUJBQW1CLGtJQUNTLFVBQVUsMkxBSWYsVUFBVSw2QkN6QzlDLDBnSkEySEE7OzJGRGhHYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PlxuICAgICAgY2hvaWNlLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dFZhbHVlPy50b0xvd2VyQ2FzZSgpKVxuICAgIClcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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QUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLDBnSkEySEE7OzJGRDdGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -3,14 +3,14 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
export class NavigationButtonComponent {
|
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center backdrop-blur p-1 bg-primary-opacity-
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
7
|
}
|
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
|
-
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"group flex items-center justify-center backdrop-blur p-1 bg-primary-opacity-
|
|
10
|
+
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n" }]
|
|
11
11
|
}], propDecorators: { label: [{
|
|
12
12
|
type: Input
|
|
13
13
|
}], icon: [{
|
|
14
14
|
type: Input
|
|
15
15
|
}] } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFRekUsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIseUdDUnRDLHVZQVdBOzsyRkRIYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1uYXZpZ2F0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXG4gIEBJbnB1dCgpIGljb246IHN0cmluZ1xufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cImdyb3VwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIGJhY2tkcm9wLWJsdXIgcC0xIGJnLXByaW1hcnktb3BhY2l0eS0zMCB0ZXh0LXdoaXRlIHJvdW5kZWQgY29udGVudC1jZW50ZXJcIlxuPlxuICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGFsaWduLW1pZGRsZSB3LVsxOHB4XVwiPnt7XG4gICAgaWNvblxuICB9fTwvbWF0LWljb24+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJteC0yIG10LTAuNSB0ZXh0LVsxNnB4XSB0cmFja2luZy13aWRlc3QgY29udGVudC1jZW50ZXIgb3BhY2l0eS03NVwiXG4gICAgPnt7IGxhYmVsLnRvVXBwZXJDYXNlKCkgfX08L3NwYW5cbiAgPlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -22,11 +22,11 @@ export class StarToggleComponent {
|
|
|
22
22
|
event.preventDefault();
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40;stroke:var(--color-primary-darker)}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
29
|
+
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40;stroke:var(--color-primary-darker)}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
30
30
|
}], propDecorators: { toggled: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}], disabled: [{
|
|
@@ -5,4 +5,5 @@ export * from './lib/lang.service';
|
|
|
5
5
|
export * from './lib/file.translate.loader';
|
|
6
6
|
export * from './lib/testing/test.translate.module';
|
|
7
7
|
export * from './lib/embedded.translate.loader';
|
|
8
|
-
|
|
8
|
+
export * from './lib/translate.loader.utils';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLDhCQUE4QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC1pMThuLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uY29uc3RhbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi5pbnRlcmNlcHRvcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmcuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rlc3RpbmcvdGVzdC50cmFuc2xhdGUubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZS5sb2FkZXIudXRpbHMnXG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function normalize(input) {
|
|
2
|
+
return input
|
|
3
|
+
.toLowerCase()
|
|
4
|
+
.normalize('NFD') // explode composite chars (e.g. é) into multiple chars
|
|
5
|
+
.replace(/[\u0300-\u036f]/g, '') // remove accents
|
|
6
|
+
.replace(/œ/g, 'oe') // remove accents
|
|
7
|
+
.replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
|
|
8
|
+
}
|
|
9
|
+
function asNormalizedParts(input) {
|
|
10
|
+
return normalize(input)
|
|
11
|
+
.split(/\s+/)
|
|
12
|
+
.map((part) => part.trim())
|
|
13
|
+
.filter((part) => part.length > 0);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* This creates a filter function based on a pattern (typically a user-input
|
|
17
|
+
* search text).
|
|
18
|
+
* @param pattern
|
|
19
|
+
*/
|
|
20
|
+
export function createFuzzyFilter(pattern) {
|
|
21
|
+
const patternParts = asNormalizedParts(pattern);
|
|
22
|
+
return (input) => {
|
|
23
|
+
const inputParts = asNormalizedParts(input);
|
|
24
|
+
return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3V0aWxzL2Z1enp5LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE9BQU8sS0FBSztTQUNULFdBQVcsRUFBRTtTQUNiLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyx1REFBdUQ7U0FDeEUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtTQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtTQUNyQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsd0NBQXdDO0FBQzFFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3BCLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDeEMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRnV6enlGaWx0ZXIgPSAoaW5wdXQ6IHN0cmluZykgPT4gYm9vbGVhblxuXG5mdW5jdGlvbiBub3JtYWxpemUoaW5wdXQ6IHN0cmluZykge1xuICByZXR1cm4gaW5wdXRcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5ub3JtYWxpemUoJ05GRCcpIC8vIGV4cGxvZGUgY29tcG9zaXRlIGNoYXJzIChlLmcuIMOpKSBpbnRvIG11bHRpcGxlIGNoYXJzXG4gICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC/Fky9nLCAnb2UnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10vZywgJyAnKSAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIHNwYWNlXG59XG5cbmZ1bmN0aW9uIGFzTm9ybWFsaXplZFBhcnRzKGlucHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBub3JtYWxpemUoaW5wdXQpXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiBwYXJ0Lmxlbmd0aCA+IDApXG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgZmlsdGVyIGZ1bmN0aW9uIGJhc2VkIG9uIGEgcGF0dGVybiAodHlwaWNhbGx5IGEgdXNlci1pbnB1dFxuICogc2VhcmNoIHRleHQpLlxuICogQHBhcmFtIHBhdHRlcm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1enp5RmlsdGVyKHBhdHRlcm46IHN0cmluZyk6IEZ1enp5RmlsdGVyIHtcbiAgY29uc3QgcGF0dGVyblBhcnRzID0gYXNOb3JtYWxpemVkUGFydHMocGF0dGVybilcbiAgcmV0dXJuIChpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW5wdXRQYXJ0cyA9IGFzTm9ybWFsaXplZFBhcnRzKGlucHV0KVxuICAgIHJldHVybiBwYXR0ZXJuUGFydHMuZXZlcnkoKHBhdHRlcm5QYXJ0KSA9PlxuICAgICAgaW5wdXRQYXJ0cy5zb21lKChwYXJ0KSA9PiBwYXJ0LmluY2x1ZGVzKHBhdHRlcm5QYXJ0KSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,4 +5,5 @@ export * from './geojson';
|
|
|
5
5
|
export * from './sort-by';
|
|
6
6
|
export * from './url';
|
|
7
7
|
export * from './event';
|
|
8
|
-
|
|
8
|
+
export * from './fuzzy-filter';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLE9BQU8sQ0FBQTtBQUNyQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGdCQUFnQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXAtaHRtbCdcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLXdoaXRlc3BhY2UnXG5leHBvcnQgKiBmcm9tICcuL2dlb2pzb24nXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYnknXG5leHBvcnQgKiBmcm9tICcuL3VybCdcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL2Z1enp5LWZpbHRlcidcbiJdfQ==
|
|
@@ -115,6 +115,7 @@
|
|
|
115
115
|
"datahub.news.contact.title": "",
|
|
116
116
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
117
117
|
"datahub.news.figures": "Indikatoren",
|
|
118
|
+
"datahub.record.addToFavorites": "",
|
|
118
119
|
"datahub.search.back": "Zurück zu den Ergebnissen",
|
|
119
120
|
"datahub.search.filter.all": "Alle",
|
|
120
121
|
"datahub.search.filter.generatedByWfs": "Generiert durch API",
|
|
@@ -175,10 +176,14 @@
|
|
|
175
176
|
"map.add.layer.file": "Aus einer Datei",
|
|
176
177
|
"map.add.layer.wfs": "Aus WFS",
|
|
177
178
|
"map.add.layer.wms": "Aus WMS",
|
|
179
|
+
"map.layer.add": "",
|
|
180
|
+
"map.layers.available": "",
|
|
178
181
|
"map.layers.list": "Ebenen",
|
|
179
182
|
"map.loading.data": "Kartendaten werden geladen...",
|
|
183
|
+
"map.loading.service": "",
|
|
180
184
|
"map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
|
|
181
185
|
"map.select.layer": "Datenquelle",
|
|
186
|
+
"map.wms.urlInput.hint": "",
|
|
182
187
|
"multiselect.filter.placeholder": "Suche",
|
|
183
188
|
"nav.back": "Zurück",
|
|
184
189
|
"next": "weiter",
|
|
@@ -218,6 +223,7 @@
|
|
|
218
223
|
"record.metadata.formats": "",
|
|
219
224
|
"record.metadata.isOpenData": "Open Data",
|
|
220
225
|
"record.metadata.keywords": "Stichworte",
|
|
226
|
+
"record.metadata.lastUpdate": "",
|
|
221
227
|
"record.metadata.links": "Links",
|
|
222
228
|
"record.metadata.noUsage": "Für diesen Datensatz sind keine Verwendungsbedingungen angegeben.",
|
|
223
229
|
"record.metadata.origin": "Über die Daten",
|
|
@@ -244,6 +250,7 @@
|
|
|
244
250
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
245
251
|
"record.metadata.sheet": "Weitere Informationen erhalten Sie unter :",
|
|
246
252
|
"record.metadata.title": "Titel",
|
|
253
|
+
"record.metadata.type": "",
|
|
247
254
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
248
255
|
"record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
|
|
249
256
|
"record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
|
|
@@ -115,7 +115,8 @@
|
|
|
115
115
|
"datahub.news.contact.title": "A specific need?",
|
|
116
116
|
"datahub.news.feed": "News feed",
|
|
117
117
|
"datahub.news.figures": "Indicators",
|
|
118
|
-
"datahub.
|
|
118
|
+
"datahub.record.addToFavorites": "Add to favorites",
|
|
119
|
+
"datahub.search.back": "Back",
|
|
119
120
|
"datahub.search.filter.all": "All",
|
|
120
121
|
"datahub.search.filter.generatedByWfs": "generated by an API",
|
|
121
122
|
"datahub.search.filter.others": "Others",
|
|
@@ -175,10 +176,14 @@
|
|
|
175
176
|
"map.add.layer.file": "From a file",
|
|
176
177
|
"map.add.layer.wfs": "From WFS",
|
|
177
178
|
"map.add.layer.wms": "From WMS",
|
|
179
|
+
"map.layer.add": "Add",
|
|
180
|
+
"map.layers.available": "Available Layers",
|
|
178
181
|
"map.layers.list": "Layers",
|
|
179
182
|
"map.loading.data": "Loading map data...",
|
|
183
|
+
"map.loading.service": "Loading service...",
|
|
180
184
|
"map.navigation.message": "Please use CTRL + mouse (or two fingers on mobile) to navigate the map",
|
|
181
185
|
"map.select.layer": "Data source",
|
|
186
|
+
"map.wms.urlInput.hint": "Enter WMS service URL",
|
|
182
187
|
"multiselect.filter.placeholder": "Search",
|
|
183
188
|
"nav.back": "Back",
|
|
184
189
|
"next": "next",
|
|
@@ -218,6 +223,7 @@
|
|
|
218
223
|
"record.metadata.formats": "Formats",
|
|
219
224
|
"record.metadata.isOpenData": "Open Data",
|
|
220
225
|
"record.metadata.keywords": "Keywords",
|
|
226
|
+
"record.metadata.lastUpdate": "Last updated on",
|
|
221
227
|
"record.metadata.links": "Links",
|
|
222
228
|
"record.metadata.noUsage": "No usage conditions specified for this record.",
|
|
223
229
|
"record.metadata.origin": "About the data",
|
|
@@ -244,6 +250,7 @@
|
|
|
244
250
|
"record.metadata.related": "Related records",
|
|
245
251
|
"record.metadata.sheet": "More information available from:",
|
|
246
252
|
"record.metadata.title": "Title",
|
|
253
|
+
"record.metadata.type": "Geographical dataset",
|
|
247
254
|
"record.metadata.updateFrequency": "Data Update Frequency",
|
|
248
255
|
"record.metadata.updateStatus": "Data Update Status",
|
|
249
256
|
"record.metadata.updatedOn": "Last Data Information Update",
|
|
@@ -115,6 +115,7 @@
|
|
|
115
115
|
"datahub.news.contact.title": "",
|
|
116
116
|
"datahub.news.feed": "",
|
|
117
117
|
"datahub.news.figures": "",
|
|
118
|
+
"datahub.record.addToFavorites": "",
|
|
118
119
|
"datahub.search.back": "",
|
|
119
120
|
"datahub.search.filter.all": "",
|
|
120
121
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -175,10 +176,14 @@
|
|
|
175
176
|
"map.add.layer.file": "",
|
|
176
177
|
"map.add.layer.wfs": "",
|
|
177
178
|
"map.add.layer.wms": "",
|
|
179
|
+
"map.layer.add": "",
|
|
180
|
+
"map.layers.available": "",
|
|
178
181
|
"map.layers.list": "",
|
|
179
182
|
"map.loading.data": "",
|
|
183
|
+
"map.loading.service": "",
|
|
180
184
|
"map.navigation.message": "",
|
|
181
185
|
"map.select.layer": "",
|
|
186
|
+
"map.wms.urlInput.hint": "",
|
|
182
187
|
"multiselect.filter.placeholder": "",
|
|
183
188
|
"nav.back": "",
|
|
184
189
|
"next": "",
|
|
@@ -218,6 +223,7 @@
|
|
|
218
223
|
"record.metadata.formats": "",
|
|
219
224
|
"record.metadata.isOpenData": "",
|
|
220
225
|
"record.metadata.keywords": "",
|
|
226
|
+
"record.metadata.lastUpdate": "",
|
|
221
227
|
"record.metadata.links": "",
|
|
222
228
|
"record.metadata.noUsage": "",
|
|
223
229
|
"record.metadata.origin": "",
|
|
@@ -244,6 +250,7 @@
|
|
|
244
250
|
"record.metadata.related": "",
|
|
245
251
|
"record.metadata.sheet": "",
|
|
246
252
|
"record.metadata.title": "",
|
|
253
|
+
"record.metadata.type": "",
|
|
247
254
|
"record.metadata.updateFrequency": "",
|
|
248
255
|
"record.metadata.updateStatus": "",
|
|
249
256
|
"record.metadata.updatedOn": "",
|
|
@@ -115,7 +115,8 @@
|
|
|
115
115
|
"datahub.news.contact.title": "Un besoin spécifique ?",
|
|
116
116
|
"datahub.news.feed": "Fil d'activité",
|
|
117
117
|
"datahub.news.figures": "Quelques chiffres",
|
|
118
|
-
"datahub.
|
|
118
|
+
"datahub.record.addToFavorites": "Ajouter aux favoris",
|
|
119
|
+
"datahub.search.back": "Retour",
|
|
119
120
|
"datahub.search.filter.all": "Tous",
|
|
120
121
|
"datahub.search.filter.generatedByWfs": "généré par une API",
|
|
121
122
|
"datahub.search.filter.others": "Autres",
|
|
@@ -175,10 +176,14 @@
|
|
|
175
176
|
"map.add.layer.file": "",
|
|
176
177
|
"map.add.layer.wfs": "",
|
|
177
178
|
"map.add.layer.wms": "",
|
|
179
|
+
"map.layer.add": "",
|
|
180
|
+
"map.layers.available": "",
|
|
178
181
|
"map.layers.list": "",
|
|
179
182
|
"map.loading.data": "Chargement des données...",
|
|
183
|
+
"map.loading.service": "",
|
|
180
184
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
181
185
|
"map.select.layer": "Source de données",
|
|
186
|
+
"map.wms.urlInput.hint": "",
|
|
182
187
|
"multiselect.filter.placeholder": "Rechercher",
|
|
183
188
|
"nav.back": "Retour",
|
|
184
189
|
"next": "suivant",
|
|
@@ -218,6 +223,7 @@
|
|
|
218
223
|
"record.metadata.formats": "Formats",
|
|
219
224
|
"record.metadata.isOpenData": "Donnée Ouverte",
|
|
220
225
|
"record.metadata.keywords": "Mots clés",
|
|
226
|
+
"record.metadata.lastUpdate": "Mis à jour le",
|
|
221
227
|
"record.metadata.links": "Liens",
|
|
222
228
|
"record.metadata.noUsage": "Aucune condition d'utilisation spécifiée pour ces données",
|
|
223
229
|
"record.metadata.origin": "À propos des données",
|
|
@@ -244,6 +250,7 @@
|
|
|
244
250
|
"record.metadata.related": "Voir aussi",
|
|
245
251
|
"record.metadata.sheet": "Plus d'informations à l'adresse suivante :",
|
|
246
252
|
"record.metadata.title": "Titre",
|
|
253
|
+
"record.metadata.type": "Donnée géographique",
|
|
247
254
|
"record.metadata.updateFrequency": "Fréquence de mise à jour des données",
|
|
248
255
|
"record.metadata.updateStatus": "Statut de mise à jour des données",
|
|
249
256
|
"record.metadata.updatedOn": "Dernière mise à jour des informations sur les données",
|