@valtimo/plugin 12.4.0 → 12.4.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.module.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/documenten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/zaken-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/besluiten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact.plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin-routing.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.module.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`\n );\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n getPluginConfigurationsByCategory(categoryId: string): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n newConfigurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n newId: newConfigurationId,\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginConfigurationData {\n configurationId: string;\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface DefaultPluginConfigurationData {\n configurationId: string;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n newId?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(private readonly pluginTranslationService: PluginTranslationService) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DefaultPluginConfigurationData} from '../../models';\nimport {validate as isValidUUID} from 'uuid';\n\n@Component({\n selector: 'valtimo-default-plugin-configuration',\n templateUrl: './default-plugin-configuration.component.html',\n styleUrls: ['./default-plugin-configuration.component.scss'],\n})\nexport class DefaultPluginConfigurationComponent implements OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DefaultPluginConfigurationData> =\n new EventEmitter<DefaultPluginConfigurationData>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DefaultPluginConfigurationData): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DefaultPluginConfigurationData): void {\n const valid = !formValue.configurationId || isValidUUID(formValue.configurationId);\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\nimport {NGXLogger} from 'ngx-logger';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n private readonly _defaultConfiguration =\n new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly _validDefaultConfiguration = new BehaviorSubject<boolean>(true);\n\n readonly isTypeConfiguration$: Observable<boolean> = this._componentType.pipe(\n map(componentType => componentType === 'configuration'),\n tap(isTypeConfiguration => this._validDefaultConfiguration.next(!isTypeConfiguration))\n );\n\n constructor(private readonly pluginService: PluginService) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n onDefaultConfiguration(defaultConfiguration: DefaultPluginConfigurationData) {\n this._defaultConfiguration.next(defaultConfiguration);\n }\n\n onValidDefaultConfiguration(valid: boolean) {\n this._validDefaultConfiguration.next(valid);\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n this.validSubscription = combineLatest([\n instance.valid,\n this._validDefaultConfiguration,\n ]).subscribe(([instanceValid, defaultConfigurationValid]) => {\n this.valid.emit(instanceValid && defaultConfigurationValid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n const configurationId = this._defaultConfiguration.value?.configurationId;\n this.configuration.emit({\n ...configuration,\n configurationId,\n } as any as PluginConfigurationData);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DefaultPluginConfigurationComponent} from './default-plugin-configuration.component';\nimport {FormModule, InputModule, ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [DefaultPluginConfigurationComponent],\n imports: [\n CommonModule,\n ParagraphModule,\n TranslateModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ],\n exports: [DefaultPluginConfigurationComponent],\n})\nexport class DefaultPluginConfigurationModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DefaultPluginConfigurationModule} from '../default-plugin-configuration/default-plugin-configuration.module';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule, DefaultPluginConfigurationModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent, PluginConfigurationData} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {openZaakPluginSpecification} from '../../open-zaak-plugin.specification';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenZaak Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAARtAAAEbQF9GpMFAAAAB3RJTUUH5gYKBB8NWNadBAAAAAZiS0dEAP8A/wD/oL2nkwAADG1JREFUaN7lm3tw1cUVx9O/2uqMnUEg1FZnOmOx8ih1ykwZcajaoVoEqmbkGR4+QEBQHI2iTpUZwSEhRJ6CgLwThhLCI2ocqChCpFJeLRhCeIcg3JsHSUhyb27uzel+9u7v5ndfed6EOOzMmfyyv92z57t7Xru/vXFxMSw9Upxxv/ioKC5+vvO2+PmOPooSFaUp+kJRniKnIpcinyGXqcszbdJMnz7wgBc8O11RAkI/VfSAoiRFOYouK3Irku6KuqU4pCuU7JA7DfFMHe9oE+8nt+mbY3g9YHjfZJALrsbFp2igdyh6SlGmWa367gYYdNcCh9y3pFj+tKpEHttYJk9vuS6jM/3EM3W8ow1trX7wgJfhmWnGuEOPqca+GSv6c0VPKtqjqIYV6mpWqtfSYklQYOZ+c0N25rvlv9fq5IdKn1S468VVVy+1Xj/xTB3vaENb+tAXHnaejGHGetKM3UFAU5w/UX/7KUpXVKWFUityT5pThmaUybJD1XLCUSfVnnppbaEvPOAFT3jrVfcDrzJj9zOytPuqTlJ0Id7M/t1KGNQz+7Rbyl2tBxmtwBPejMFYXVMCtn7ByBL71TZg4xUtw7My09jY4A2lsi3PJTdqYw80tDAGYzFm9wY1dxmZ4mMCuocfKHSvomycCB71Nwud8o+9N+SKsr2OLozJ2MjQrcGxZRsZtcxtBXu/on2WCv/x4xLJVDPt8cpNK4yNDMhiU/F9RtbWgbatbADsX9aXyndFHuksBVmQKQT0vS1Wb5vNZltg/7apTL531klnK8iEbDbQ2S2yaQP2Z8YZBFa2M4K1gw5Z6WUGQ3PAXuPvZDwgTqG/spN/dyI1jlaQEVmNI3P5MWgsTa7uHxSdx+3jCTO/d8mPpSArMpuQdd5gaTKxSLcSfty/x/ejwatlRWbbRiQ9YmIS/+E1CzAJelVXk1QUVXjl5IkTsnLlStm2bZtcv35dMz58+LCmDRs2yPbt26WqqkrXOxwOycjIkPXr18vly5d13dGjR3XbTZs26XclJSXtCrqo0qtlN/ZcZTBpjA2AUx0Qu57dzA4p3PZ8jxw9clgGDRokr7/+uiQkJMjLL78sbrdbnn32WXn44YflvffekwcffFDS0tI0aOpnzJih248ePVpP0JQpU2TAgAHy7rvval5vv/12h6g2GMxK79bYUh1h6sxM1JCkk7fWqOA+WwF6/vnnNZOTJ09K//79JS8vT8aPHy+zZ8/W9azmkCFDZN++fdKzZ0+ZP3++LFy4UHr16iWHDh2SSZMmSVJSkm77ySefyPDhw6W2trbd01AwgMXssp4KqLVt876VGWFnQrJOQVBWlXLhwgUNGBWdMGGCpKSk6HpUffDgwfL5558HAGMCa9askatXr8oLL7wQaItaDxs2rN0BU8BwT8Mqbw0cIhjAnCo40Puh6WVy3ex6duzYIQMHDtRg3n//fXn88celtLRUxo0bp0Hu3btXRo0apdW4qKhIHnnkEVm0aJGelK+++kpqamq0htgBDx06tEMAgwEsxpYdBmMAcJLlmZeqPahVsFdWCoAvvfSSHDlyRNezwmPGjJGpU6dqDTh//ryuP3jwoEybNk2/T05Olurqaq3Gn332mX6fm5ur7b2urmOSGLDYPHaSBZgDtxy2XJwy/M8RLgwC+nz++FRfXy+JiYmyePFi/b9VbxX+93g8up3V3nq2/u+oAhZ9cuJfZc7Iboszp4uFGDhnTE2dVCAw3nnLli2dPi6DBUzGeRWCFcBjOSmkcs43N5rFCNvsCDuMNNktLWAygDkNHRtnzoL1iSGHaPZCCCJuvvnmmwGaNWuWvPHGG/LWW2/JtWvXgtozCdgsDqyxgq3v3LkzIqCtW7fK2bNnw8wkKytLdu/e3WLAYAKbseM0AH+BYd+3xKlPDu0Fj4yjOXDgQIAQlkkYMWKE3LgRrBEnVFbWt29fHZujFYTHARK7KysrwwDPnDlTj2Ovw3ymT58uV65caTFgMIHNOK8vAJzHDoOz4eYc2ZAy4qFJF0MLHpgsC0B46Ejl1KlTOja/+OKLsmfPniYBk7rCrymtaexICGxmF5UHYCexigNxzogbK3hrVHnJkiVh75xOp04tT58+rVcDzYhU6LtixQodqjCRUA9uB0wbwtylS5dabfdgApuJx04AuywPzcF4Y2XXrl06kaioqAh7h41ZeXJ6err25GHJgMqtJ06cqCeFTQTx/dy5c2GAmawvv/xSx3kyvLYUMNk8tQvAvjtN/szXgMZUmayK/DhsW6biLqv69ddfB9qOHTs2TA3J2F577bVA7P7ggw9k1apVQYBfffVVmTNnjs7k2HC0NW6DCWx3+gH7mgUYVX7nnXcCyUZoOX78uN4UMBnYKN6dbIuVtjsrJoXUs6CgQK8yqebIkSOD7H3y5Mm677Fjx7Q25eTkxBxwkyqdnZ0tzz33nJSXl0d8Txr5xBNP6HCF02LTwfYQwUlPKfn5+fLoo48Gto8Qq/nQQw8FbJbVJFUlR7f23fCxUtdYqXSjTgv1ZNBIqmw5K9SXFWMV0Qav1ytlZWVB3pyVTU1N1aBoY+XTq1evDth+JC+9bt06eeWVV3SyEyunFTUsITh2tHTp0uib7cxMvVqRbA0TmDt3rtYMJoU4HVouXrwozzzzTOCEJBQwGgJ/PHuswlLUxIOwgBqy1cOm2C1ZxP/FxcU6nkbLgFBjHB2riP1G2yURntauXRsRMKWwsFBry/79+2OSeERNLclwCA0IhH3aCSdG+Fi+fHnEMGU5O1LNefPmhYGwF9R+48aNWks2b94sZ86cCWtDf87QQndnrUktE/XmISXa5qHeT2zz1GA+Q34Vbl7IaI6QzQo/rd08pAQ2D4lB28OEkO3h+TKv/POkS7YoOvpD8GF8QalX10P7L9WKtx23ufBmDGs8xrYXZKMeWZHZvj1MiLA9vD3aAcChKx5994IZ+vvmhqMfHXuVbfRbXqydQd+PiuVAYfttF+HNGIzFmMdtvgaZhm/2e2Fk/c8VT2MHALc3esRDDBuXVa6DNseeWXmuIEVf8G2VWN+fcP1nS2P/DfWM4vnYxobvRoxpVyY+kiMbMiKrPZeIdsQTfIiXEbySn3L696H/jsUw9a64usEeS2t8kritPHD1iAAfS9Dwgqd15SlRASqraRgfWZBJ3zFRMn562h18iJcR/RAv4jEtpaq2Xg/EDPZIdcjCg8EzXFBaJ39lBZL9oFnp3EKP+Npg0/TNVWoMr27mChTPdtuF/YdKFmSyVrfKdvUi6jFttIN4+70NbOh3S/223HtZsey7WBt2WGZlM1Af1SY1t6pVVyLoQ194WPzgHXq4iAy9TZv7lWy5Nh/S6EF8tE8t9q+GzPi8Aw32yrfY0yV1YV4bTehhrjHR9s9rSyVV2dyxqx6pdNdHjCrU8Y42tB2k+sQbHvCCZ6hXZmz79+BkJZtdo5r+1BLtY1qlN9hesxrsFXd/sTxYEOwLp/J75VGtK4bdjPcckl4mM3MqZL5avZWHqzXxTB3vaENb60oiPOBlt1mdiqoxE0LsutTWplkf05r7uZSZ1sySG0AXhKw0M006l7S7UocQ+HRR7bvM8/+1+lq2aX9HW/rQFx6hfoCxAmCT/YtiX/1mfy5tyQdxgjxqZwmOan2j7ClUuDo1eL4S8GO1kuO3l8uA1SXy28VO+bVStbuUo4F4po53tKEtfep84U4Mm2UsCywyhCZDLfogTulurvw0deXhiBrIUhvLkeG9S6p9UTfh3Kc8qux0z7la2XHKrYln6ngX7fABnvDubXNijH0kBGykKw9g6d68ex5NX2qxnJTVhvBATMw65ZJyd9vzTHjAC57wthxUJCfW6kstLb22hLPAQxKyLGeDdxyuhMQp5RfXNXkwGHo6QR/6wuNuc6kU3ozBWKFOrM3Xllp6Mc3r8ycJzDzZjnX5mz7kvyO3+q8RY1/fXvZoAc+qBB/imTre0Ya29KGvxQee8GYMb4jFxOxiWmuuHpLlkNqR8fRc7L/12iW5wTP/MtXvBEkSCDkQz9TxLuCxzS15eMDr0wJ3UAalvXF7XD1s7eXSGqWW7LJQP3ZYOJtfLXAEYqwOQTayYjVtaEsf+sKjJoI5tNvl0lhcH6b+lLJJ8trF31XLrH9VypTsCpmoQhDEM3W8ow1tG+PV7teHoyQmk9tyQZyYSpyFmrPBaOKC+OR2/TlAfKozrvuC4k7zEwAtS2oH/MznlvmRxy37M55b8odaP9af4v0f7OO0BSS5cpoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDYtMTBUMDQ6MzE6MTMtMDQ6MDAqVmbCAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA2LTEwVDA0OjMxOjEzLTA0OjAwWwvefgAAAABJRU5ErkJggg==';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Object Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objecten API and Objecttypen API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objecten API und die Objecttypen API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take, tap} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Smart Documents Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig, SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n <valtimo-carbon-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetTemplateNamesConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n@Component({\n selector: 'valtimo-get-template-names',\n templateUrl: './get-template-names.component.html',\n})\nexport class GetTemplateNamesComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetTemplateNamesConfig>;\n @Output() configuration: EventEmitter<GetTemplateNamesConfig> =\n new EventEmitter<GetTemplateNamesConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<GetTemplateNamesConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetTemplateNamesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetTemplateNamesConfig): void {\n const valid = !!(\n formValue.templateGroupName && formValue.resultingTemplateNameListProcessVariableName\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroupName\"\n [title]=\"'templateGroupName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroupName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingTemplateNameListProcessVariableName\"\n [title]=\"'resultingTemplateNameListProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingTemplateNameListProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n} from '@valtimo/components';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\n@NgModule({\n declarations: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n ],\n exports: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjcuNzIgMTA2LjU1Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDE5ZWUwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNiYjhkYmM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2JmZTZmNzsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBmaWxsOiAjYzU5ZGM3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNjY2E5Y2U7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgZmlsbDogIzliNTY5ZDsKICAgICAgfQoKICAgICAgLmNscy03IHsKICAgICAgICBmaWxsOiAjN2ZjZWVmOwogICAgICB9CgogICAgICAuY2xzLTggewogICAgICAgIGZpbGw6ICM1OWMwZWE7CiAgICAgIH0KCiAgICAgIC5jbHMtOSB7CiAgICAgICAgZmlsbDogIzc5MWM3ZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj4KICAgIDxnPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yOC44MywyMi42NGMtLjA3LjM5LS4wOC44LS4yMSwxLjE4LS4zNC45OS0uMzIsMS45OS0uMDYsMi45NS44NywzLjE0LDIuNDUsNS44Nyw0Ljg5LDguMDguODcuNzksMS44NywxLjM5LDMuMDQsMS42LDEuODQuMzMsMy4yNy0uNDcsNC40Ny0xLjc3LDEuMzctMS40OSwyLjI3LTMuMjcsMy4wMS01LjEzLDEuMjgtMy4yLDIuMjUtNi40OCwyLjI2LTkuOTYsMC0xLjY5LS40OS0zLjE0LTEuNjctNC40Ni0yLjM1LTIuNjItMi45MS01Ljc1LTEuNzctOS4wNCwxLjE4LTMuNDIsMy43MS01LjQ4LDcuMjgtNS45OCw1LjIyLS43Myw5LjI5LDIuNzksMTAuMjIsNy4xOC45NSw0LjUtMS44LDkuMjUtNi4yNiwxMC40OC0xLjcuNDctMi44OSwxLjQ2LTMuODMsMi44NS0xLjgyLDIuNjktMi43NCw1Ljc0LTMuNDYsOC44Ni0uNiwyLjY1LS45OSw1LjMyLS41Myw4LjA2LjY3LDQuMDMsMy4zNSw1Ljc3LDcuMTQsNS4zLDEuMjgtLjE2LDIuNTEtLjQ4LDMuNjMtMS4xMywxLjM2LS43OCwyLjE5LTEuOTMsMi40Ni0zLjQ5LDEuMTItNi40NSw2LjYtMTEuNTksMTMuMS0xMi41OCw3LjgzLTEuMiwxNS43NywzLjgzLDE3LjY5LDEyLjA5LDEuOTksOC41NC0zLjc5LDE3LjM5LTEyLjQyLDE4LjktNi44NCwxLjItMTMuMjctMS43NS0xNi42NC03Ljc2LS45OS0xLjc2LTIuMzctMi43Ni00LjI3LTMuMTItMS44Mi0uMzQtMy42Ny0uMzUtNS40NC4yNi0zLjA0LDEuMDMtNC43OCwzLjI1LTUuNDUsNi4zLS43NCwzLjM5LS4yNyw2Ljc0LjU1LDEwLjA2LjI5LDEuMi42MiwyLjM5LDEuMjEsMy40OSwxLjY5LDMuMTcsNC4yOSw1LjAyLDcuODYsNS42MSw3LjU3LDEuMjQsMTMuNTMsNy4zMSwxNC41MywxNC44NywxLjM1LDEwLjIzLTUuNjIsMTguNzgtMTUuMDUsMjAuMDYtMTAuNzcsMS40Ni0xOC42OC02LjIzLTE5Ljk0LTE0LjQ4LTEuMDMtNi43OSwxLjA2LTEyLjQ0LDYuMzQtMTYuODQsMS45NS0xLjYzLDIuOTMtMy43OCwyLjk1LTYuMTguMDQtNS4yNi0xLjQyLTEwLjE3LTQuNDMtMTQuNTItMi4wMS0yLjkxLTUuMDYtNC4xNC04LjQ0LTQuNjktMS43LS4yOC0zLjQzLS4zNS01LjE0LS4yMy0yLjIyLjE1LTQuNjEuOTMtNS40NCwzLjk3LTEuMDcsMy45NC01LjIzLDcuOS0xMS41Nyw3LjI5LTQuNDgtLjQzLTguNDktNC4xOS05LjMtOC44NS0uODEtNC42OSwxLjQxLTkuMjksNS41NC0xMS40OSw0LjExLTIuMTksOS4yMi0xLjQ4LDEyLjY1LDEuNzcuNjcuNjMsMS4yNywxLjM0LDEuNzEsMi4xNS43NCwxLjM4LDEuOTMsMi4xLDMuNDEsMi4zNywzLjA1LjU2LDUuNzgtLjQsNy4xOC0yLjYzLjk4LTEuNTYsMS4wOS0zLjI2LjY1LTQuOTYtLjc5LTMuMDQtMi4zOC01LjY2LTQuNjctNy44LTEuMzktMS4zLTMuMDQtMS45Mi01LjAzLTEuNzYtMy4wMi4yNC01LjUtLjkyLTcuMTktMy40NC0xLjc0LTIuNi0xLjg2LTUuNDItLjQxLTguMTcsMS40MS0yLjY4LDMuNzMtNCw2Ljc4LTQuMTksMy45Ny0uMjQsOC41MywzLjE5LDguMTMsOC42My0uMTIuMDktLjE2LjItLjA5LjMzWm0xMC4zNiw2Ni4xMWMtLjE4LDguMiw2Ljk5LDEzLjc2LDEzLjI1LDEzLjY2LDcuNjctLjEzLDEzLjQtNS44NCwxMy41MS0xMy40OS4xMS03LjY2LTYuMjgtMTMuODMtMTMuMjktMTMuODItOC45NC4wMS0xMy44Niw3LjczLTEzLjQ4LDEzLjY2WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xNDAuNTEsMzEuMjFjMS45OC0yLjM5LDQuNC00LjA1LDcuNTQtNC40NCw0LjcyLS41OSw4LjgxLjQ3LDExLjY4LDQuNi4wNy4xLjE2LjE4LjMuMzQuNC0uNDMuOC0uODUsMS4xOS0xLjI3LDIuODgtMy4wNCw2LjQ3LTQuMDYsMTAuNTUtMy42OSwxLjkzLjE4LDMuNzYuNjcsNS40MSwxLjczLDMuMDIsMS45NCw0LjQxLDQuODMsNC43Nyw4LjMuMS45OS4wNiwxLjk5LjA2LDIuOTksMCw2LjM1LDAsMTIuNywwLDE5LjA1LDAsLjQ0LjAxLjg4LS4wMywxLjMyLS4zMywzLjQ5LTIuNDEsNC40MS01LjA3LDQuMjgtMi42NC0uMTMtNC4wNy0xLjYzLTQuMzItNC4yMy0uMDktLjg4LS4xMi0xLjc1LS4xMi0yLjYzLDAtNS41OSwwLTExLjE4LDAtMTYuNzcsMC0uNTIsMC0xLjA0LS4wNy0xLjU1LS4yNC0yLjA2LTEuNTItMy41Mi0zLjUzLTQuMDQtMy43NS0uOTctNi45NSwxLjEyLTcuNTYsNC45My0uMTEuNzEtLjE3LDEuNDItLjE3LDIuMTQsMCw1LjQ3LDAsMTAuOTQsMCwxNi40MSwwLC43Ni0uMDIsMS41MS0uMTcsMi4yNi0uNTgsMi43NS0yLjUsMy42NC00LjkzLDMuNDUtMi44OC0uMjItNC4yNC0xLjY2LTQuMjctNC41Ny0uMDctNi4xMS0uMDQtMTIuMjItLjA0LTE4LjMzLDAtLjY4LDAtMS4zNS0uMS0yLjAzLS40MS0yLjg3LTIuMTEtNC4zOS01LTQuNDMtLjI4LDAtLjU2LjAzLS44NC4wNC0uMTMtLjA2LS4yMy0uMDQtLjMzLjA3LTMuNDYuNDktNC45MiwzLjQzLTQuOTYsNi4yMy0uMDUsMi45NS0uMDEsNS45LS4wMSw4Ljg2LDAsMi45MSwwLDUuODMsMCw4Ljc0LDAsLjYtLjA2LDEuMTktLjE2LDEuNzgtLjM5LDIuNDUtMi4wOSwzLjk0LTUuMTIsMy42NC0yLjY4LS4yNi0zLjc2LTEuNC00LjE2LTQuMDgtLjA2LS40My0uMTItLjg3LS4xMi0xLjMxLDAtOS4wMiwwLTE4LjAzLDAtMjcuMDUuMTEtLjA4LjE3LS4xOC4wNi0uMy4xNi0xLjA3LjQtMi4wOCwxLjA3LTIuOTksMS40NS0xLjk3LDYuNDItMi4xOSw3LjU5LDEuMTQuMTYuNDUuMzMuODkuMzksMS4zNy0uMDQuMTYtLjAzLjMuMTEuNDEuMjItLjAyLjMzLS4xNS4zNS0uMzZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOSIgZD0ibTIwNy4zMyw1OS44NGMtMi43NiwzLjctNi41Nyw1LjIxLTExLjA3LDUuMjQtLjM2LDAtLjcyLDAtMS4wNywwbC0uMjgtLjA0Yy0yLjA3LS4xMS00LjAyLS42NC01LjczLTEuODUtMi4wMy0xLjQzLTMuMTctMy40My0zLjcxLTUuODEtLjUzLTIuMzctLjUyLTQuNzUuMDItNy4xMi41OS0yLjU2LDIuMDUtNC40NSw0LjMzLTUuNzQsMi4yNi0xLjI4LDQuNzQtMS44OCw3LjI2LTIuMywyLjI0LS4zNyw0LjUtLjY0LDYuNzUtLjk2LjMxLS4wNC42My0uMTEuOTQtLjE4LDEuNzgtLjQsMi4yNi0uODYsMi40My0yLjMxLjIyLTEuOTUtLjM2LTMuMjYtMS43Ny0zLjk2LTIuODctMS40Mi03LjY5LS42MS05Ljk1LDEuNjctLjY1LjY1LTEuMjUsMS4zNi0xLjk0LDEuOTUtMi40LDIuMDgtNS44OCwxLjE5LTYuNjYtMS43LS4zOS0xLjQ2LS4wNS0yLjg1LjcxLTQuMTMsMS4xMS0xLjg5LDIuNzktMy4xNiw0LjcyLTQuMTEsMi40Ny0xLjIyLDUuMS0xLjgsNy44NS0xLjg2LDMuMjUtLjA3LDYuNDcuMTMsOS41NywxLjE5LDIuMDMuNywzLjg1LDEuNzMsNS4yLDMuNDYsMS4zNSwxLjczLDEuNzQsMy43MywxLjczLDUuODUtLjAyLDYuNTUtLjAzLDEzLjEtLjA1LDE5LjY1LDAsLjI0LjAzLjQ4LjA0LjcyLS4wOS4xMy0uMDUuMjMuMDYuMzIuMDksMS4yNy4yNSwyLjU0LjI3LDMuODEuMDIsMS41NC0uODEsMi43LTIuMjcsMy4xNi0xLjY1LjUyLTMuMzIuNDYtNC44OC0uMzMtMS4zNy0uNjktMS44OC0xLjk5LTIuMTQtMy40MS0uMDYtLjM1LS4wNi0uNzEtLjA5LTEuMDcsMC0uMDcuMDMtLjE2LDAtLjItLjA5LS4xLS4xOC0uMDMtLjI1LjA2Wm0uMDktMTMuNjJjLTIuNjcsMS4yMy01LjM3LDEuNzItOC4wNiwyLjI4LS45Ny4yLTEuOTIuNTQtMi44LDEuMDMtMS43NC45Ni0yLjM5LDIuNDEtMi4xMyw0LjY3LjE4LDEuNTcsMS4zMywyLjkxLDMuMDgsMy4yNiw0LjU3LjkyLDguNjgtMS4zLDkuNjYtNS43Ny4zOC0xLjc0LjE0LTMuNS4yNC01LjQ3WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xMTEuNjMsNjUuMDJjLTMuODUuMDQtNy4yOS0uNTEtMTAuNDctMi4yLTEuNjUtLjg3LTMuMDYtMi4wMi00LjAzLTMuNjUtLjgyLTEuMzctMS4wNi0yLjg2LS42Ny00LjM4Ljc1LTIuODgsNC40Ni0zLjk4LDYuOTEtMi4wNi42Mi40OSwxLjIyLDEuMDUsMS43LDEuNjgsMi43LDMuNTUsNy42NiwzLjQ5LDEwLjc0LDIuNTMsMS41Ny0uNDksMi4zNi0xLjU2LDIuNDEtMi45My4wNS0xLjE3LS40My0xLjk5LTEuNTEtMi40Ny0xLjU4LS42OS0zLjI3LTEuMDEtNC45My0xLjQxLTIuNjMtLjY0LTUuMjktMS4xNy03LjgzLTIuMTUtMS44Ny0uNzItMy42NS0xLjU5LTUuMTItMy4wMS0xLjU3LTEuNTItMi4zNi0zLjQtMi40Ni01LjU1LS4yOC01Ljg0LDIuNjMtMTAuMDksOC4yNC0xMS44NCw1LjAxLTEuNTYsMTAuMDEtMS4zMiwxNC45LjUzLDEuNzMuNjYsMy4yOCwxLjY0LDQuNDQsMy4xNS4xLjEzLjIuMjUuMjkuMzgsMS4yNCwxLjgzLDEuMTksNC4wMS0uMTEsNS40My0xLjI2LDEuMzgtMy41MywxLjYtNS40MS41Mi0uOTctLjU2LTEuOC0xLjMzLTIuNzEtMS45Ny0yLjU5LTEuODItNS40MS0xLjk5LTguMzMtMS4wMS0uODYuMjktMS40OC45Mi0xLjc1LDEuODQtLjM4LDEuMzEtLjA1LDIuMjYsMS4xMywyLjk1LDEuMDQuNjEsMi4yMi44OCwzLjM4LDEuMTcsMi45NC43Myw1LjkzLDEuMjQsOC44MywyLjEzLDEuMjYuMzksMi40OS44NSwzLjY2LDEuNDYsMi44MSwxLjQ1LDQuNjMsMy42NCw0Ljk1LDYuODcuNDgsNC45LTEuMTQsOS41OC02LjE4LDEyLjAxLTEuNDEuNjgtMi44OSwxLjE2LTQuNDEsMS40Ni0xLjk2LjM4LTMuOTUuNTktNS42Ni41NFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjU5Ljk2LDM0Ljg1YzAsNi40MywwLDEyLjg2LDAsMTkuMjgsMCwuMjgsMCwuNTYuMDQuODQuMTgsMS4zMi41MSwxLjYyLDEuODEsMS43Ny45OS4xMSwxLjk5LjA4LDIuOTcuMywxLjM1LjI5LDIuMDgsMS4wNiwyLjI4LDIuNDIuMzEsMi4xMS0uNzksMy45Mi0yLjg2LDQuNTEtMS40Ni40Mi0yLjk4LjU1LTQuNS40NC0xLjE1LS4wOC0yLjMtLjExLTMuNDUtLjM0LTMuMzktLjY4LTUuMjItMi41OC01LjY4LTYuMDQtLjE3LTEuMy0uMjctMi42MS0uMjctMy45NC4wMS01Ljk5LDAtMTEuOTgsMC0xNy45NywwLS40My4xLS44Ny0uMTMtMS4zNi0uODgtLjA1LTEuOCwwLTIuNy0uMTktMS43LS4zNS0yLjUyLTEuMzYtMi41NC0zLjIzLS4wMi0xLjkuNzQtMi44OSwyLjQ0LTMuMzIuOTQtLjI0LDEuOS0uMDcsMi45NC0uMjMsMC0xLjU1LjAxLTMuMDYsMC00LjU2LDAtLjguMDYtMS41OS4yNS0yLjM3LjQ2LTEuODcsMS44NC0zLjAxLDMuNzUtMy4xMywzLjgxLS4yMyw1LjU4LDEuNDIsNS42LDUuMjMsMCwxLjU5LDAsMy4xOCwwLDQuOS43OSwwLDEuNDkuMDIsMi4yLDAsLjY1LS4wMiwxLjI4LjA2LDEuOS4yMSwxLjI1LjMsMS45OSwxLjEzLDIuMTcsMi40LjA4LjU2LjA5LDEuMTEsMCwxLjY3LS4yMiwxLjMzLTEuMDUsMi4xNi0yLjQ0LDIuNDMtMS4xOS4yMy0yLjM4LjE5LTMuNTguMTctLjA2LS4wMy0uMTEtLjA2LS4xNy0uMDktLjAxLjA3LS4wMi4xMy0uMDQuMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjI5LjY3LDMzLjkxYzEuMDgtMS42NywyLjA1LTMuMjksMy40Ni00LjYzLDEuNzUtMS42NSwzLjc3LTIuMzIsNi4xNS0xLjkzLDEuOTQuMzIsMy4zOSwxLjgzLDMuNjMsMy43Ny4xMywxLjA4LjE2LDIuMTYtLjMsMy4xNy0uNjcsMS40Ni0xLjgsMi4zLTMuNDQsMi40LS44NC4wNS0xLjY3LjA3LTIuNTEuMTYtMy43My4zOC01Ljk0LDIuODgtNi4yMiw2LjY5LS4wOSwxLjIzLS4wNSwyLjQ3LS4wNSwzLjcxLDAsMy43NSwwLDcuNTEsMCwxMS4yNiwwLC42OC0uMDYsMS4zNS0uMTYsMi4wMi0uNDIsMy4xLTIuNTcsMy45Ny00Ljg0LDMuODktMy4wMy0uMTEtNC40Ny0xLjYxLTQuNjUtNC42NS0uMDYtLjk2LS4wNi0xLjkyLS4wNi0yLjg3LDAtNy43MSwwLTE1LjQxLDAtMjMuMTIsMC0uOTIuMDQtMS44NC4xNS0yLjc1LjI2LTIuMywxLjc1LTMuNjcsNC4wNC0zLjc5LjMyLS4wMi42NC0uMDEuOTYsMCwyLjIyLjEsMy42NSwxLjQzLDMuODIsMy42NS4wOC45OS4wMSwxLjk5LjAxLDIuOTlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTEuNjYsMTAxLjYydi0zNC41M2MuMS0uMDYuMTctLjEzLjIzLS4xMyw0LjkxLS4wMiw5LjgyLS4xNiwxNC43MS40MSw3LjQ0Ljg3LDEzLjAxLDYuMjYsMTQuMDYsMTMuNjguNTcsNC4wMi40LDcuOTMtMS4zOSwxMS42OS0yLjI3LDQuNzgtNS44OSw3LjcxLTExLjIsOC40OC0xLjkuMjctMy44LjQyLTUuNzIuNDEtMy4xNS0uMDItNi4zMSwwLTkuNDYsMC0uMzksMC0uNzgsMC0xLjIzLDBabTQuMzUtNC4zYzMuNjYuMDQsNy4yNC4wNiwxMC44MS0uNDIsNC4wMi0uNTQsNi44MS0yLjc0LDguNDktNi4zNiwxLjE5LTIuNTcsMS4zOC01LjMxLDEuMDEtOC4wNy0uNjctNC45Mi0zLjU3LTguNzMtOC4zOC0xMC4xOS0xLjQyLS40My0yLjg5LS42LTQuMzYtLjcxLTIuNS0uMTktNS4wMS0uMjItNy41OC0uMTd2MjUuOTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE1NS40NiwxMDEuNThoLTMuOThjLS4yOS0uNDQtLjE2LS44OS0uMTYtMS4zMS0uMDItNC45NS0uMDMtOS45LS4wNC0xNC44NSwwLS44NS0uMTQtMS42Ny0uMzEtMi40OS0uMzktMS44OC0yLjA5LTMuMzYtNC4wMi0zLjU5LTMuOC0uNDUtNy4yMiwyLjM0LTcuODksNi40Mi0uMjEsMS4zLS4zLDIuNjEtLjMsMy45MywwLDMuOTEsMCw3LjgyLDAsMTEuODRoLTQuMjN2LTI1Ljc5Yy43MiwwLDEuNDIsMCwyLjEzLDAsLjY3LDAsMS4zMywwLDIuMDcsMHYyLjgxYy41NS0uMTIuNzctLjUzLDEuMDctLjgxLDMuNC0zLjE3LDguNDgtMy42LDEyLjEyLTEuMDMsMS4yMS44NSwyLjA0LDIsMi43NCwzLjQuODctMS4wNywxLjY4LTIuMDcsMi43LTIuODgsMy4wOS0yLjQ2LDguNTEtMy4zMywxMi4yNC4wMywxLjQxLDEuMjYsMi4xMSwyLjg2LDIuNTIsNC42NC40MSwxLjguNTIsMy42My41Miw1LjQ3LDAsNC40NywwLDguOTQsMCwxMy40MiwwLC4yMy0uMDMuNDctLjA1Ljc3aC00LjJjLS4yNC0uNC0uMTMtLjg1LS4xMy0xLjI3LDAtNC42MywwLTkuMjYsMC0xMy45LDAtMS4yNC0uMTEtMi40Ny0uNDEtMy42Ny0uNDYtMS44Mi0xLjk1LTMuMDctMy43OS0zLjM2LTMuODQtLjYtNy4yLDIuMTMtNy45Niw1LjgyLS4zOCwxLjg0LS41MSwzLjcxLS41MSw1LjU5LDAsMy4xOSwwLDYuMzksMCw5LjU4LDAsLjM5LjA5Ljc5LS4xMywxLjI0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xODEuOCw4OS41MWMuMTYsNC4yMSwyLjc1LDcuNTcsNi40Nyw4LjU5LDQuNDYsMS4yMiw4LjEyLS42MSwxMS40OS01LjgsMS4xOC42LDIuMzYsMS4yMSwzLjY2LDEuODgtMS45NSwzLjc1LTQuNTUsNi42OC04LjcxLDcuNzItNS4wNSwxLjI3LTkuNjkuNDgtMTMuNDktMy4zNS02LjM2LTYuNDItNC45OC0xOC4zNiw0LjAzLTIyLjM4LDcuODUtMy41LDE3LjM4LDEsMTguNTgsMTAuMzguMTIuOTUuMjYsMS44OS4xNiwyLjk2aC0yMi4xOVptMTcuMzMtMy44NmMuMTUtLjExLjE0LS4yMywwLS4zNC0xLjE2LTQuMS01LjMyLTYuNjctMTAuMjgtNS45My0yLjk4LjQ0LTUuOTMsMy4wOC02LjMyLDYuMjMuMTEuMDIuMjMuMDcuMzQuMDcsNS40MiwwLDEwLjg0LS4wMiwxNi4yNi0uMDNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIxMy44Nyw3OC42NGMxLjg4LTEuODIsNC4wMy0zLjExLDYuNjYtMy40OSw1LjQ2LS44MSwxMC4wNSwyLjU3LDEwLjkxLDcuNTIuMjksMS42Ni40NSwzLjMyLjQ2LDQuOTkuMDEsNC4zNSwwLDguNzEsMCwxMy4wNiwwLC4yNy4wOC41Ni0uMTcuODVoLTMuOThjLS4yOC0uNDMtLjE1LS44OC0uMTUtMS4zMS0uMDItNC43MS0uMDMtOS40Mi0uMDQtMTQuMTQsMC0uODgtLjExLTEuNzYtLjMyLTIuNjEtLjgxLTMuMjgtMy41NS00Ljk2LTYuOTEtNC4yOS0zLjc0Ljc1LTYuNDIsMy44OS02LjY5LDcuNzEtLjMxLDQuNDMtLjEzLDguODYtLjE5LDEzLjI5LDAsLjQzLDAsLjg2LDAsMS4zNGgtNC4yNnYtMjUuNzdjMS4zNC0uMTMsMi43Mi0uMDQsNC4xNC0uMDUuMjUuOTkuMDIsMS45NS4xNSwyLjg4LS4wMy4xMSwwLC4yLjEuMjYuMTYsMCwuMjYtLjA5LjMxLS4yNFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTIzLjY4LDk4LjUyYy0uNjQuNTMtMS4yNSwxLjExLTEuOTMsMS41OS0yLjgyLDIuMDEtNS45NCwyLjctOS4zLDEuNzgtMy43Ni0xLjAzLTYuMjItNC4xLTYuNzItOC4xNi0uMTUtMS4xOS0uMjUtMi4zOC0uMjktMy41NywwLS4wOS0uMDEtLjE3LS4wMi0uMjZ2LTE0LjA4aDQuMjJjLjI0LjQyLjEyLjg2LjEzLDEuMjkuMDIsNC43MS4wMyw5LjQyLjA0LDE0LjEzLDAsLjk2LjE1LDEuOTEuNDEsMi44My44NSwzLjA5LDMuMTMsNC40MSw2LjI3LDQuMDgsNC4wNC0uNDMsNi45Ny0zLjc0LDcuMjUtNy44Mi4zLTQuMzkuMTMtOC43Ny4xOS0xMy4xNiwwLS40MywwLS44NiwwLTEuMzcsMS40Ni0uMTIsMi44My0uMDgsNC4yNi0uMDN2MjUuNzZoLTQuM3YtMi45N2MuMDUtLjA4LjA0LS4xNS0uMDQtLjItLjA1LjA1LS4xLjExLS4xNS4xNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTAwLjksODEuNmMtMS4xNy43My0yLjI4LDEuNDMtMy40MiwyLjE0LTEuMTEtMS41NC0yLjQtMi43OC00LjA4LTMuNTQtNC42OC0yLjEzLTEwLjYxLS45NC0xMy40NCwzLjY0LTMuMjgsNS4zMi0uMjIsMTIuNzUsNS45MiwxNC4yLDQsLjk1LDcuNjEuMTMsMTAuNTMtMi45NS4zNi0uMzcuNzEtLjc1LDEuMTMtMS4yLDEuMTEuNzMsMi4yLDEuNDUsMy4zNSwyLjIxLS43NSwxLjQ0LTEuODIsMi41OC0zLjExLDMuNDMtNS4xNSwzLjQxLTEwLjYzLDQuMDQtMTYuMjMsMS4zMy01LjItMi41Mi03Ljg3LTguMjMtNy4xMy0xMy45Ni42OS01LjM2LDUuNC0xMC45MSwxMS45NC0xMS42Nyw0LjE0LS40OCw3Ljk0LjIsMTEuMzUsMi42OCwxLjMxLjk1LDIuMzQsMi4xNSwzLjE5LDMuNzFaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTI2Ny43Miw3OC45NmMtLjk5Ljk1LTEuOSwxLjg0LTIuODcsMi43OC0uNjctLjUxLTEuMy0xLjE4LTIuMDktMS42NC0xLjEyLS42Ni0yLjI3LTEuMTgtMy42Mi0uODYtMS4xMy4yNy0xLjk5LjkyLTIuMjksMi4wNS0uMzIsMS4yMS4wNSwyLjI5LDEuMDYsMy4wOSwxLjE5Ljk1LDIuNTQsMS42NiwzLjg3LDIuMzgsMS4yLjY1LDIuMzMsMS4zOCwzLjM0LDIuMywyLjM5LDIuMTYsMi45OSw0Ljg1LDIuMDYsNy44NC0uOTQsMy4wNS0zLjExLDQuOTUtNi4yNCw1LjQyLTMuODYuNTctNy4wMy0uODItOS41MS0zLjkzLjgzLTEuMDgsMS43MS0yLjA0LDIuNjUtMy4wMS41NS4yMy44My43NCwxLjIzLDEuMSwxLjIsMS4wNiwyLjUsMS44Niw0LjE3LDEuODIsMS41My0uMDQsMi42Ny0uNzgsMy40Ny0yLjAyLjgxLTEuMjYuNDctMy4xLS43MS00LjEzLTEuMDMtLjktMi4yMy0xLjU0LTMuNDQtMi4xNi0xLjI1LS42My0yLjQ0LTEuMzYtMy41My0yLjI0LTIuNjMtMi4xNC0zLjAyLTUuMzMtMi4yNS03LjkyLjgtMi42OCwzLjU3LTQuNjIsNi41Ni00Ljc4LDEuNzMtLjA5LDMuMzIuMjksNC44LDEuMTksMS4yLjczLDIuMjksMS41OCwzLjMzLDIuNzJaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIzNS4wNCw3OS41OXYtMy43OWg0LjI0di05LjU2YzEuNDgtLjE2LDIuODMtLjA1LDQuMzEtLjA4djkuNTVoNS4wMWMuMzgsMS4zMy4wNSwyLjU0LjEzLDMuODdoLTQuOTVjLS4yNiwxLjY1LS4xNywxNy4zNC4xMSwxOC41OSwxLjE3LjMzLDIuNDEsMCwzLjY4LjIuMTYsMS4yLjAzLDIuMzguMDksMy42MS0xLjczLjQ3LTMuNDMuNTktNS4xMy4zNC0xLjY5LS4yNS0yLjc0LTEuNDItMy4wMi0zLjEyLS4xMy0uNzktLjE5LTEuNTgtLjE5LTIuMzguMDEtNS4yNywwLTEwLjU0LDAtMTUuODJ2LTEuNDFoLTQuMjlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNSIgZD0ibTE0MC41MSwzMS4yMWMtLjAzLjIxLS4xMy4zNS0uMzUuMzYtLjE1LS4xMS0uMTYtLjI1LS4xMS0uNDFsLjQ3LjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0yMTMuODcsNzguNjRjLS4wNS4xNS0uMTUuMjQtLjMxLjI0LS4xLS4wNi0uMTMtLjE1LS4xLS4yNi4xNCwwLC4yNy4wMS40MS4wMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTIzLjY4LDk4LjUyYy4wNS0uMDUuMS0uMTEuMTUtLjE2LjA4LjA1LjEuMTIuMDQuMi0uMDcsMC0uMTMsMC0uMTktLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMDUuNDEsODkuOWMwLC4wOS4wMS4xNy4wMi4yNi0uMTUtLjA4LS4xOC0uMTYtLjAyLS4yNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTk0LjkxLDY1LjA0bC4yOC4wNGMtLjEyLjEzLS4yMS4wOS0uMjgtLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Im0yMDcuMzMsNTkuODRjLjA3LS4wOS4xNS0uMTUuMjUtLjA2LjAzLjA0LDAsLjEzLDAsLjItLjA5LS4wNS0uMTctLjA5LS4yNi0uMTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTIxNi43MSw1Ny44MmMtLjExLS4wOS0uMTUtLjE5LS4wNi0uMzIuMDMuMDcuMDcuMTMuMDkuMjEsMCwuMDMtLjAyLjA3LS4wNC4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJtMTQ1LjQ2LDM1LjE0Yy4wOS0uMS4yLS4xMy4zMy0uMDctLjA5LjExLS4yLjE1LS4zMy4wN1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJtMjU5Ljk2LDM0Ljg1Yy4wMS0uMDcuMDItLjEzLjA0LS4yLjA2LjAzLjExLjA2LjE3LjA5LS4wNS4wNi0uMTIuMS0uMi4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTMxLDMxLjY1Yy4xLjEzLjA1LjIyLS4wNi4zLS4wNS0uMTItLjAzLS4yMi4wNi0uM1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJtMjguODMsMjIuNjRjLS4wNy0uMTQtLjAzLS4yNC4wOS0uMzMuMDYuMTMuMDIuMjQtLjA5LjMzWiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im01Mi40OSw5OC4zNGMyLjM4LDAsNC4zNC0uNjgsNS45Ni0yLjA3LDQuODYtNC4xOCw0LjM2LTExLjgtMS0xNS40Ni0zLjc3LTIuNTctOC41Ny0yLTExLjU2LDEuNDUtMi4zNCwyLjctMi45NSw1Ljc5LTIuMTIsOS4yNi44OSwzLjcxLDQuNjksNy4wNiw4LjcyLDYuODNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyIgZD0ibTE5OS4xMyw4NS42NWMwLS4xMSwwLS4yMywwLS4zNC4xNC4xMS4xNS4yMywwLC4zNFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n 'get-template-names': GetTemplateNamesComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n 'generate-document': 'Document genereren',\n 'get-template-names': 'Templatenamen ophalen',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n templateGroup: 'Template groep',\n templateName: 'Template naam',\n templateGroupName: 'Template groepsnaam',\n resultingTemplateNameListProcessVariableName:\n 'Naam van process variable om lijst in op te slaan',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n 'generate-document': 'Generate document',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n templateGroup: 'Template group',\n templateName: 'Template name',\n templateGroupName: 'Template group name',\n resultingTemplateNameListProcessVariableName: 'Name of process variable to save the list in',\n\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n 'generate-document': 'Dokument generieren',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n templateGroup: 'Template gruppe',\n templateName: 'Template name',\n templateGroupName: 'Template gruppe name',\n resultingTemplateNameListProcessVariableName:\n 'Name der Prozessvariable, um die Liste zu speichern',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {DocumentenApiManagementAllVersions} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getManagementApiAllVersions(): Observable<DocumentenApiManagementAllVersions> {\n return this.http.get<DocumentenApiManagementAllVersions>(\n `${this.valtimoEndpointUri}management/v1/documenten-api/versions`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {DocumentenApiService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n styleUrls: ['./documenten-api-configuration.component.scss'],\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly apiVersionItems$: Observable<Array<{id: string; text: string}>> =\n this.documentenApiService.getManagementApiAllVersions().pipe(\n map(response =>\n response.versions.map(version => ({\n id: version,\n text: version,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly documentenApiService: DocumentenApiService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n if (!formValue.apiVersion) {\n formValue.apiVersion = null;\n }\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Documenten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/documenten/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{apiVersionItems: apiVersionItems$ | async} as pObs\">\n <v-select\n [loading]=\"!pObs.apiVersionItems\"\n [items]=\"pObs.apiVersionItems\"\n [margin]=\"true\"\n name=\"apiVersion\"\n [title]=\"'apiVersion' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.apiVersion\"\n [required]=\"false\"\n [tooltip]=\"'apiVersionTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {StoreTempDocumentConfig, DocumentLanguage, DocumentStatus} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n styleUrls: ['./store-temp-document-configuration.component.scss'],\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n styleUrls: ['./store-uploaded-document-configuration.component.scss'],\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DownloadDocumentConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-download-document-configuration',\n templateUrl: './download-document-configuration.component.html',\n styleUrls: ['./download-document-configuration.component.scss'],\n})\nexport class DownloadDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DownloadDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DownloadDocumentConfig> =\n new EventEmitter<DownloadDocumentConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DownloadDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n formValueChange(formValue: DownloadDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DownloadDocumentConfig): void {\n const valid = !!formValue.processVariableName;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n 'download-document': DownloadDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n apiVersion: 'Documenten API versie',\n apiVersionTooltip: 'Selecteer de versie van de Documenten API',\n downloadDocumentMessage:\n 'Het downloaden van een document vanuit de Documenten API vereist geen configuratie.',\n processVariableName:\n 'Wat is de naam van de procesvariabele waarnaar u het document wilt downloaden?',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n apiVersion: 'Documenten API version',\n apiVersionTooltip: 'Select the version of the Documenten API',\n downloadDocumentMessage:\n 'Downloading a document form the Documenten API does not require any configuration.',\n processVariableName:\n 'What is the name of the process variable you want to download the document to?',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n 'download-document': 'Dokument herunterladen',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n apiVersion: 'Documenten-API-Version',\n apiVersionTooltip: 'Wählen Sie die Version der Documenten-API aus',\n downloadDocumentMessage:\n 'Das Herunterladen eines Dokuments aus der Documenten-API erfordert keine Konfiguration.',\n processVariableName:\n 'Wie lautet der Name der Prozessvariablen, in die Sie das Dokument herunterladen möchten?',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface DocumentenApiConfig extends PluginConfigurationData {\n url: string;\n bronorganisatie: string;\n authenticationPluginConfiguration: string;\n apiVersion?: string;\n}\n\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentLanguage = 'nld';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ninterface StoreTempDocumentConfig {\n fileName: string;\n confidentialityLevel: ConfidentialityLevel;\n title: string;\n description: string;\n localDocumentLocation: string;\n storedDocumentUrl: string;\n taal: DocumentLanguage;\n status: DocumentStatus;\n informatieobjecttype: string;\n}\n\ninterface DocumentenApiManagementAllVersions {\n versions: Array<string>;\n}\n\nexport interface DownloadDocumentConfig {\n processVariableName: string;\n}\n\nexport {\n DocumentenApiConfig,\n StoreTempDocumentConfig,\n ConfidentialityLevel,\n DocumentLanguage,\n DocumentStatus,\n DocumentenApiManagementAllVersions,\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecttypen API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objecttypen.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Zaken API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/zaken/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'titelTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {ResultaatType, StatusType} from '../models';\nimport {Eigenschap} from '../models/eigenschap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getStatusTypesByCaseDefinition(caseDefinitionId: string): Observable<Array<StatusType>> {\n return this.http.get<Array<StatusType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/statustype`\n );\n }\n\n public getResultaatTypesByCaseDefinition(\n caseDefinitionId: string\n ): Observable<Array<ResultaatType>> {\n return this.http.get<Array<ResultaatType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/resultaattype`\n );\n }\n\n public getEigenschappenByCaseDefinition(\n caseDefinitionName: string\n ): Observable<Array<Eigenschap>> {\n return this.http.get<Array<Eigenschap>>(\n `${this.valtimoEndpointUri}management/v1/case-definition/${caseDefinitionName}/catalogi-eigenschappen`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, SetZaakStatusConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-set-zaak-status-configuration',\n templateUrl: './set-zaak-status-configuration.component.html',\n styleUrls: ['./set-zaak-status-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class SetZaakStatusConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<SetZaakStatusConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SetZaakStatusConfig> =\n new EventEmitter<SetZaakStatusConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n readonly clearStatusSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly statusTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getStatusTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const statusTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = statusTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const statusTypeUrl = prefillConfig?.statustypeUrl;\n\n if (statusTypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === statusTypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SetZaakStatusConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SetZaakStatusConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakStatusToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakStatusToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearStatusSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: SetZaakStatusConfig): void {\n const valid = !!formValue.statustypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n statustoelichting: formValue.statustoelichting,\n statustypeUrl: formValue.statustypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakResultaatConfig, InputOption} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-resultaat-configuration',\n templateUrl: './create-zaak-resultaat-configuration.component.html',\n styleUrls: ['./create-zaak-resultaat-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakResultaatConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakResultaatConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakResultaatConfig> =\n new EventEmitter<CreateZaakResultaatConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n readonly clearStatusSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly resultaatTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getResultaatTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const resultaatTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = resultaatTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const resultaatTypeUrl = prefillConfig?.resultaattypeUrl;\n\n if (resultaatTypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === resultaatTypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakResultaatConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakResultaatConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakResultaatToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearStatusSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakResultaatConfig): void {\n const valid = !!formValue.resultaattypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n toelichting: formValue.toelichting,\n resultaattypeUrl: formValue.resultaattypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"toelichting\"\n [title]=\"'resultaattoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'resultaattoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakResultaatToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakResultaatToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'resultaattypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipResultaat' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.resultaatTypeItems && obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.resultaatTypeItems ||\n !obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.resultaattypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.resultaatTypeItems\"\n [tooltip]=\"'resultaattypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-natuurlijk-persoon-zaak-rol.component.scss'],\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(\n null\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNietNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-create-niet-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-niet-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-niet-natuurlijk-persoon-zaak-rol.component.scss'],\n})\nexport class CreateNietNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNietNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ =\n new BehaviorSubject<CreateNietNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"innNnpId\"\n [title]=\"'innNnpId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.innNnpId\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'innNnpIdTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"annIdentificatie\"\n [title]=\"'annIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.annIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'annIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakConfig, InputOption} from '../../models';\nimport {OpenZaakService, ZaakType, ZaakTypeLink} from '@valtimo/resource';\nimport {DocumentService} from '@valtimo/document';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly zaakTypeItems$: Observable<Array<SelectItem>> = this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n this.openZaakService.getZaakTypes(),\n ...processDocumentDefinitions.map(processDocumentDefinition =>\n this.openZaakService.getZaakTypeLink(\n processDocumentDefinition.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(results => {\n const zaakTypes = results[0] as Array<ZaakType>;\n const zaakTypeLinks = results.filter((result, index) => index !== 0) as Array<ZaakTypeLink>;\n\n return zaakTypeLinks\n .filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)\n .map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }));\n }),\n tap(zaakTypeSelectItems => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const zaakTypeUrl = prefillConfig?.zaaktypeUrl;\n\n if (\n zaakTypeUrl &&\n !((zaakTypeSelectItems as Array<SelectItem>) || []).find(item => item.id === zaakTypeUrl)\n ) {\n this.selectedInputOption$.next('text');\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly documentService: DocumentService,\n private readonly modalService: ModalService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakConfig): void {\n const inputTypeZaakTypeToggle = formValue.inputTypeZaakTypeToggle;\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (inputTypeZaakTypeToggle) {\n this.selectedInputOption$.next(inputTypeZaakTypeToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectItemsIncludeId(selectItems: Array<SelectItem>, id: string): boolean {\n if (Array.isArray(selectItems)) {\n return !!selectItems.find(item => item.id === id);\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n rsin: formValue.rsin,\n zaaktypeUrl: formValue.zaaktypeUrl,\n manualZaakTypeUrl: formValue.manualZaakTypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n zaakTypeSelectItems: zaakTypeItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakTypeToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'selection'\"\n [required]=\"true\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.zaakTypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n oneSelectItem(obs.zaakTypeSelectItems)\n \"\n [defaultSelectionId]=\"\n (selectItemsIncludeId(obs.zaakTypeSelectItems, obs.prefill?.zaaktypeUrl) &&\n obs.prefill?.zaaktypeUrl) ||\n (oneSelectItem(obs.zaakTypeSelectItems) && obs.zaakTypeSelectItems[0].id)\n \"\n [required]=\"true\"\n [loading]=\"!obs.zaakTypeSelectItems\"\n [tooltip]=\"'zaakTypeSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SetZaakopschortingConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n providers: [PluginTranslatePipe],\n selector: 'valtimo-set-zaak-opschorting-configuration',\n templateUrl: './set-zaakopschorting.component.html',\n})\nexport class SetZaakopschortingComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SetZaakopschortingConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<SetZaakopschortingConfig> =\n new EventEmitter<SetZaakopschortingConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<SetZaakopschortingConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakopschortingConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SetZaakopschortingConfig): void {\n const valid = !!(\n formValue.toelichtingVerlenging &&\n formValue.toelichtingOpschorting &&\n formValue.verlengingsduur\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"verlengingsduur\"\n [title]=\"'verlengingsduur' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verlengingsduur\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingVerlenging\"\n [title]=\"'toelichtingVerlenging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingVerlenging\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingOpschorting\"\n [title]=\"'toelichtingOpschorting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingOpschorting\"\n [disabled]=\"\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {StartHersteltermijnConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-start-hersteltermijn-configuration',\n templateUrl: './start-hersteltermijn-configuration.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class StartHersteltermijnConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StartHersteltermijnConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StartHersteltermijnConfig> =\n new EventEmitter<StartHersteltermijnConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<StartHersteltermijnConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StartHersteltermijnConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StartHersteltermijnConfig): void {\n const valid = !!formValue.maxDurationInDays;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n maxDurationInDays: formValue.maxDurationInDays,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <ng-container>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'startHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"maxDurationInDays\"\n [min]=\"1\"\n [title]=\"'maxDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.maxDurationInDays\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'maxDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-end-hersteltermijn',\n templateUrl: './end-hersteltermijn.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class EndHersteltermijnComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<any>;\n @Input() pluginId: string;\n\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _saveSubscription = new Subscription();\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription.add(\n this.save$?.subscribe(() => {\n this.configuration.emit({});\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, CreateZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaakeigenschap',\n templateUrl: './create-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakeigenschapConfig> =\n new EventEmitter<CreateZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, UpdateZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-update-zaakeigenschap',\n templateUrl: './update-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class UpdateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<UpdateZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<UpdateZaakeigenschapConfig> =\n new EventEmitter<UpdateZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<UpdateZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: UpdateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: UpdateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, DeleteZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-delete-zaakeigenschap',\n templateUrl: './delete-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class DeleteZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<DeleteZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteZaakeigenschapConfig> =\n new EventEmitter<DeleteZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DeleteZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: DeleteZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {LoadingModule, ToggleModule} from 'carbon-components-angular';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateZaakConfigurationComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateZaakConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'set-zaakstatus': SetZaakStatusConfigurationComponent,\n 'create-zaakresultaat': CreateZaakResultaatConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n 'create-niet-natuurlijk-persoon-zaak-rol': CreateNietNatuurlijkPersoonZaakRolComponent,\n 'set-zaakopschorting': SetZaakopschortingComponent,\n 'start-hersteltermijn': StartHersteltermijnConfigurationComponent,\n 'end-hersteltermijn': EndHersteltermijnComponent,\n 'create-zaakeigenschap': CreateZaakeigenschapComponent,\n 'update-zaakeigenschap': UpdateZaakeigenschapComponent,\n 'delete-zaakeigenschap': DeleteZaakeigenschapComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n verlengingsduur: 'Aantal dagen dat de einddatum wordt verlengd (in cijfers)',\n toelichtingVerlenging: 'Reden voor verlenging',\n toelichtingOpschorting: 'Reden voor opschorting',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n zaakTypeSelectTooltip:\n 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - natuurlijk persoon',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - niet natuurlijk persoon',\n 'set-zaakopschorting': 'Schort een zaak op',\n 'start-hersteltermijn': 'Start hersteltermijn',\n startRecoveryPeriodInformation:\n 'Deze actie start een hersteltermijn voor de zaak die aan dit proces is gekoppeld.',\n maxDurationInDays: 'Maximale duur in dagen',\n maxDurationInDaysTooltip:\n 'De ingevoerde waarde vertegenwoordigt de maximale duur van de hersteltermijn in dagen.',\n 'end-hersteltermijn': 'Beëindig hersteltermijn',\n endHersteltermijnInformation: 'Beëindigt de momenteel lopende hersteltermijn van de Zaak',\n 'create-zaakeigenschap': 'Creëer zaakeigenschap',\n 'update-zaakeigenschap': 'Bijwerken zaakeigenschap',\n 'delete-zaakeigenschap': 'Verwijder zaakeigenschap',\n eigenschapUrl: 'Eigenschap URL',\n eigenschapUrlTooltip: 'URL-referentie naar de eigenschap.',\n eigenschapValue: 'Eigenschap waarde',\n eigenschapValueTooltip: 'De waarde van de zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Selecteer een eigenschap.',\n inputTypeEigenschapToggle: 'Invoertype eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Selecteer de dossierdefinitie waarvan u een eigenschap wilt selecteren. Als er slechts één eigenschap beschikbaar is, wordt deze standaard geselecteerd.',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n annIdentificatie: 'Ander niet natuurlijk persoon identificatie',\n annIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander niet-natuurlijk persoon (annIdentificatie).',\n inpA_nummer: 'Administratienummer persoon',\n innNnpId: 'Niet natuurlijk persoonsnummer',\n innNnpIdTooltip:\n 'Het door een kamer toegekend uniek nummer voor de ingeschreven niet-natuurlijk persoon (innNnpId).',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon',\n inpA_nummerTooltip: 'Het administratienummer van de persoon, bedoeld in de Wet BRP',\n 'set-zaakstatus': 'Zaakstatus aanmaken',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL-referentie naar het statustype.',\n statustoelichting: 'Zaakstatus toelichting',\n statustoelichtingTooltip:\n 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',\n 'create-zaakresultaat': 'Zaakresultaat aanmaken',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL-referentie naar het resultaattype.',\n resultaattoelichting: 'Zaakresultaat toelichting',\n resultaattoelichtingTooltip: 'Een toelichting op wat het resultaat van de zaak inhoudt.',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Zaakstatus-type wilt selecteren. Als er slechts één statustype beschikbaar is, wordt deze standaard geselecteerd.',\n caseDefinitionTooltipResultaat:\n 'Selecteer de dossierdefinitie waarvan u een Zaakresultaat-type wilt selecteren. Als er slechts één resultaattype beschikbaar is, wordt deze standaard geselecteerd.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Selecteer het statustype.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',\n inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n verlengingsduur: 'Amount of days to prolong (in numbers)',\n toelichtingVerlenging: 'Reason for prolonging',\n toelichtingOpschorting: 'Reason for suspending',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n zaakTypeSelectTooltip:\n 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - not a natural person',\n 'set-zaakopschorting': 'Suspend case',\n 'start-hersteltermijn': 'Start recovery period',\n startHersteltermijnInformation:\n 'This action initiates a recovery period for the case associated with this process.',\n maxDurationInDays: 'Maximum duration in days',\n maxDurationInDaysTooltip:\n 'The entered value represents the maximum duration of the recovery period in days.',\n 'end-hersteltermijn': 'End recovery period',\n endHersteltermijnInformation: 'Ends the currently running recovery period of the Zaak',\n 'create-zaakeigenschap': 'Create zaakeigenschap',\n 'update-zaakeigenschap': 'Update zaakeigenschap',\n 'delete-zaakeigenschap': 'Delete zaakeigenschap',\n eigenschapUrl: 'Property URL',\n eigenschapUrlTooltip: 'URL reference to the eigenschap.',\n eigenschapValue: 'Eigenschap value',\n eigenschapValueTooltip: 'The value of the zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Select a eigenschap.',\n inputTypeEigenschapToggle: 'Input type eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Select the case definition from which you want to select an eigenschap. If only one eigenschap is available, it will be selected by default.',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n annIdentificatie: 'Other not natural person identification',\n annIdentificatieTooltip:\n 'The unique number issued by the municipality for another non-natural person (annIdentificatie).',\n inpA_nummer: 'Administration number person',\n innNnpId: 'Not a natural personal number',\n innNnpIdTooltip:\n 'The unique number assigned by the government for the registered non-natural person (innNnpId).',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person',\n inpA_nummerTooltip: 'The administration number of the person, as referred to in the Wet BRP',\n 'set-zaakstatus': 'Create zaakstatus',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL reference to the status type.',\n statustoelichting: 'Zaakstatus explanation',\n statustoelichtingTooltip:\n 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',\n 'create-zaakresultaat': 'Create Zaakresultaat',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL reference to the resultaat type.',\n resultaattoelichting: 'Zaakresultaat explanation',\n resultaattoelichtingTooltip: 'An explanation of what the result of the zaak means.',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Zaakstatus type. If only one status type is available, it will be selected by default.',\n caseDefinitionTooltipResultaat:\n 'Select the case definition from which you want to select a Resultaat type. If only one resultaat type is available, it will be selected by default.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Select the status type.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Select the resultaat type.',\n inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n verlengingsduur: 'Anzahl der Tage, um die das Enddatum verlängert wird (in Zahlen)',\n toelichtingVerlenging: 'Grund für die Verlängerung',\n toelichtingOpschorting: 'Grund für die Suspendierung',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n zaakTypeSelectTooltip:\n 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – keine natürliche Person',\n 'set-zaakopschorting': 'Einen Fall aussetzen',\n 'start-hersteltermijn': 'Beginnen Sie mit der Erholungsphase',\n startHersteltermijnInformation:\n 'Diese Aktion startet eine Erholungszeit für den Fall, der mit diesem Prozess verknüpft ist.',\n maxDurationInDays: 'Maximale Dauer in Tagen',\n maxDurationInDaysTooltip:\n 'Der eingegebene Wert stellt die maximale Dauer der Erholungszeit in Tagen dar.',\n 'end-hersteltermijn': 'Beenden Sie mit der Erholungsphase',\n endHersteltermijnInformation: 'Beenden die aktuelle Erholungsphase des Case',\n 'create-zaakeigenschap': 'Zaakeigenschaft erstellen',\n 'update-zaakeigenschap': 'Zaakeigenschaft aktualisieren',\n 'delete-zaakeigenschap': 'Zaakeigenschaft löschen',\n eigenschapUrl: 'Eigenschafts-URL',\n eigenschapUrlTooltip: 'URL-Referenz zur Eigenschaft.',\n eigenschapValue: 'Eigenschaftswert',\n eigenschapValueTooltip: 'Der Wert der Zaakeigenschaft',\n inputTypeEigenschapToggle: 'Eingabetyp eigenschap-URL',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Wählen Sie den eigenschap aus.',\n caseDefinitionTooltipEigenschap:\n 'Wählen Sie die eigenschap aus, aus der Sie einen eigenschap auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n annIdentificatie: 'Andere Identifizierung keine natürlicher Personen',\n annIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere nicht natürliche Person vergeben wird (annIdentificatie).',\n inpA_nummer: 'Verwaltungsnummer Person',\n innNnpId: 'Keine natürliche Personennummer',\n innNnpIdTooltip:\n 'Die von der Regierung vergebene eindeutige Nummer für die registrierte nicht natürliche Person (innNnpId).',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird',\n inpA_nummerTooltip: 'Die Verwaltungsnummer der Person im Sinne des Wet BRP',\n 'set-zaakstatus': 'Fallstatus erstellen',\n statustypeUrl: 'URL des Zaakstatustyps',\n statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',\n statustoelichting: 'Erklärung des Zaakstatus',\n statustoelichtingTooltip:\n 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',\n 'create-zaakresultaat': 'Zaakgebnis erstellen',\n resultaattypeUrl: 'URL des Zaakgebnistyps',\n resultaattypeUrlTooltip: 'URL-Verweis auf den Ergebnistyp.',\n resultaattoelichting: 'Geschäftsergebniserklärung',\n resultaattoelichtingTooltip: 'Eine Erklärung, was das Ergebnis des Zaak beinhaltet.',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakstatus-typ auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n caseDefinitionTooltipResultaat:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakresultaat-typ auswählen möchten. Wenn nur ein Resultaattyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Wählen Sie den Statustyp aus.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',\n inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objectenapi.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteObjectConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-delete-object',\n templateUrl: './delete-object.component.html',\n styleUrls: ['./delete-object.component.scss'],\n})\nexport class DeleteObjectComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteObjectConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteObjectConfig> =\n new EventEmitter<DeleteObjectConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DeleteObjectConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteObjectConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteObjectConfig): void {\n const valid = !!formValue.objectUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'deleteObjectWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"objectUrl\"\n [title]=\"'objectUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'objectUrlTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.objectUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'delete-object': DeleteObjectComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'delete-object': 'Object verwijderen',\n deleteObjectWarning:\n 'Waarschuwing: de objecten die met deze actie verwijderd worden mogen niet gekoppeld zijn aan een Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"De URL van het object dat verwijderd moet worden uit de Objecten API. De ingevoerde waarde mag een procesvariable zijn, bijvoorbeeld: 'pv:object'.\",\n },\n en: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'delete-object': 'Delete object',\n deleteObjectWarning:\n 'Warning: the objects that are deleted with this action must not be linked to a Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"The URL of the object to be removed from the Objecten API. The value entered may be a process variable, for example: 'pv:object'.\",\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'delete-object': 'Objekt löschen',\n deleteObjectWarning:\n 'Achtung: Die Objekte, die mit dieser Aktion gelöscht werden, dürfen nicht mit einem Zaak verknüpft werden.',\n objectUrl: 'Objekt URL',\n objectUrlTooltip:\n \"Die URL des Objekts, das aus der Objecten API entfernt werden soll. Der eingegebene Wert kann eine Prozessvariable sein, zum Beispiel: 'pv:object'.\",\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Catalogi API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/catalogi/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetStatustypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-statustype-configuration',\n templateUrl: './get-statustype-configuration.component.html',\n styleUrls: ['./get-statustype-configuration.component.scss'],\n})\nexport class GetStatustypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetStatustypeConfig> =\n new EventEmitter<GetStatustypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetStatustypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetStatustypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypeConfig): void {\n const valid = !!(formValue.statustype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"statustype\"\n [title]=\"'statustype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'statustypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluittypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-besluittype-configuration',\n templateUrl: './get-besluittype-configuration.component.html',\n styleUrls: ['./get-besluittype-configuration.component.scss'],\n})\nexport class GetBesluittypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluittypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluittypeConfig> =\n new EventEmitter<GetBesluittypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetBesluittypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetBesluittypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluittypeConfig): void {\n const valid = !!(formValue.besluittype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getBesluittypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluittype\"\n [title]=\"'besluittype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluittypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluitProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetResultaattypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-resultaattype-configuration',\n templateUrl: './get-resultaattype-configuration.component.html',\n styleUrls: ['./get-resultaattype-configuration.component.scss'],\n})\nexport class GetResultaattypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetResultaattypeConfig> =\n new EventEmitter<GetResultaattypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetResultaattypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetResultaattypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypeConfig): void {\n const valid = !!(formValue.resultaattype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultaattype\"\n [title]=\"'resultaattype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'resultaattypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'reslutaatProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\n\n@NgModule({\n declarations: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n ],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'get-besluittype': GetBesluittypeConfigurationComponent,\n 'get-resultaattype': GetResultaattypeConfigurationComponent,\n 'get-statustype': GetStatustypeConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'get-statustype': 'Statustype opvragen',\n getStatustypeInformation:\n 'De statustype wordt opgehaald en daarna opgeslagen in een process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generieke aanduiding van de aard van een status.',\n processVariable: 'Naam procesvariabele',\n processVariableTooltip:\n 'Nadat de statustype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n 'get-besluittype': 'Besluittype opvragen',\n getBesluittypeInformation:\n 'Het besluittype wordt opgehaald en daarna opgeslagen in een process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Omschrijving van de aard van het besluit.',\n besluitProcessVariableTooltip:\n 'Nadat de besluittype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n 'get-resultaattype': 'Resultaattype opvragen',\n getResultaattypeInformation:\n 'Het resultaattype wordt opgehaald en daarna opgeslagen in een process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Omschrijving van de aard van het resultaat.',\n reslutaatProcessVariableTooltip:\n 'Nadat de resultaattype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description: 'API for storage and retrieval of zaaktype catalogs, zaaktypes and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'get-statustype': 'Retrieve statustype',\n getStatustypeInformation:\n 'The statustype is retrieved and then stored in a process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generic indication of the nature of a status.',\n processVariable: 'Process variable name',\n processVariableTooltip:\n 'Once the statustype is retrieved, it is stored in a process variable with the given name.',\n 'get-besluittype': 'Retrieve besluittype',\n getBesluittypeInformation:\n 'The besluittype is retrieved and then stored in a process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Description of the nature of the decision.',\n besluitProcessVariableTooltip:\n 'After the besluittype is retrieved, it is stored in a process variable with this name.',\n 'get-resultaattype': 'Retrieve resultaattype',\n getResultaattypeInformation:\n 'The resultaattype is retrieved and then stored in a process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Description of the nature of the result.',\n reslutaatProcessVariableTooltip:\n 'After the resultaattype is retrieved, it is stored in a process variable with this name.',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'get-statustype': 'Statustype anfordern',\n getStatustypeInformation:\n 'Der Statustyp wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generische Angabe der Art eines Status.',\n processVariable: 'Prozessvariablenname',\n processVariableTooltip:\n 'Sobald der Statustype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-besluittype': 'Besluittype anfordern',\n getBesluittypeInformation:\n 'Der besluittype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Beschreibung der Art der besluit.',\n besluitProcessVariableTooltip:\n 'Sobald der besluittype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-resultaattype': 'Resultaattype anfordern',\n getResultaattypeInformation:\n 'Der resultaattype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Beschreibung der Art der resultaat.',\n reslutaatProcessVariableTooltip:\n 'Sobald der resultaattype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Notificaties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://opennotificaties.example.com/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://{gzac-front-end-url}/api/v1/notificatiesapi/callback\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip:\n 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Notificaties Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/components';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Portaaltaak Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"completeTaakProcess\"\n [title]=\"'completeTaakProcess' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.completeTaakProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'completeTaakProcessTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <valtimo-carbon-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></valtimo-carbon-multi-input>\n <valtimo-carbon-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></valtimo-carbon-multi-input>\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n name=\"verloopDurationInDays\"\n [type]=\"'number'\"\n [title]=\"'verloopDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verloopDurationInDays?.toString()\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'verloopDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n CarbonMultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/components';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n CarbonMultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg us, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Voor hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier de sleutel van het Form.IO-veld dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Voor hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar de sleutel van het Form.IO-veld waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n completeTaakProcess: 'Geüploade documentverwerkingsproces',\n completeTaakProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n verloopDurationInDays: 'Verlooptijd taak in dagen',\n verloopDurationInDaysTooltip:\n 'Het aantal dagen na aanmaken van een taak dat deze verloopt. Deze wordt alleen ingesteld voor de portaal taak, niet in het BPMN proces.',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notificaties API plugin. If the selection box remains empty, the Notificaties API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the key of the Form.IO field to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the key of the Form.IO field where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n completeTaakProcess: 'Process to complete Portaaltaak',\n completeTaakProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n verloopDurationInDays: 'Number of days for the task to expire',\n verloopDurationInDaysTooltip:\n 'The number of days from the creation time until the task expires. This will only be used in the portal task. The BPMN due date needs to be configured separately.',\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n 'create-portaaltaak': 'Portalaufgabe erstellen',\n 'complete-portaaltaak': 'Portaaltaak komplett',\n formType: 'Formulartyp',\n formTypeTooltip:\n 'Wählen Sie hier aus, ob das anzuzeigende Formular aus einer Set-Definition oder von einer externen URL stammen soll.',\n id: 'Formulardefinition',\n url: 'URL',\n sendData: 'Auftragsdaten für den Empfänger',\n sendDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die an die Objecten API gesendet werden sollen. Der Schlüssel hier ist der Schlüssel des Form.IO-Felds, das gefüllt werden soll (z. B. 'firstName‘). Der Wert zeigt auf die Daten, mit denen dieses Feld gefüllt wird muss ausgefüllt werden (z.B. 'doc:/customer/firstName').\",\n receiveData: 'Vom Empfänger eingegebene Informationen',\n receiveDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die von der Objecten API empfangen werden sollen. Der Schlüssel hier ist der Ort, an dem die Daten gespeichert werden sollen (z. B. 'doc:/customer/signedAgreement'). Der Wert zeigt auf den Schlüssel des Form.IO-Feld, aus dem die Daten stammen sollen (z. B. '/signedAgreement').\",\n receiver: 'Empfänger',\n receiverTooltip:\n 'Bestimmen Sie hier, wer die Daten der abgeschlossenen Aufgabe erhalten soll.',\n zaakInitiator: 'Initiator des Falles',\n other: 'Andere',\n otherReceiver: 'Anderer Empfänger',\n otherReceiverTooltip:\n 'Sie haben die Option für einen anderen Empfänger gewählt. Wählen Sie hier aus, welcher Typ das sein soll.',\n kvk: 'KVK-Nummer',\n bsn: 'Bürgerservicenummer (BSN)',\n kvkTooltip: 'Die KVK-Nummer des gewünschten Empfängers.',\n bsnTooltip: 'Die Bürgerservicenummer (BSN) des gewünschten Empfängers.',\n completeTaakProcess: 'Handhabungsprozess für hochgeladene Dokumente',\n completeTaakProcessTooltip:\n 'Der Prozess, der die hochgeladenen Dokumente im Portal handhaben soll.',\n identificationKey: 'Identifikationsschlüssel',\n identificationKeyTooltip:\n \"Der eingegebene Schlüssel bestimmt, wie der Empfänger identifiziert wird. Gültige Beispiele sind 'bsn' oder 'kvk'.\",\n identificationValue: 'Identifikationswert',\n identificationValueTooltip:\n \"Der Wert, der den Empfänger identifiziert. Wird beispielsweise im Feld 'Identifikationsschlüssel' der Wert 'bsn' eingetragen, kann in diesem Feld eine Sozialversicherungsnummer eingetragen werden (z. B. 558099476).\",\n verloopDurationInDays: 'Ablaufzeit der Aufgabe in Tagen',\n verloopDurationInDaysTooltip:\n 'Die Anzahl der Tage vom Erstellungszeitpunkt bis zum Ablauf der Aufgabe. Dies wird nur in der Portalaufgabe verwendet. Das BPMN-Fälligkeitsdatum muss separat konfiguriert werden.',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config?.valtimoApi?.endpointUri;\n }\n\n getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByDocumentDefinitionName(documentDefinitionName: string): Observable<Array<Roltype>> {\n return this.http\n .get<\n Array<Roltype>\n >(`${this.valtimoEndpointUri}v1/case-definition/${documentDefinitionName}/zaaktype/roltype`)\n .pipe(catchError(() => of([])));\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subscription,\n take,\n tap,\n} from 'rxjs';\nimport {CopyStrategy, VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {MultiInputValues, RadioValue, SelectItem} from '@valtimo/components';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DocumentService} from '@valtimo/document';\n\n@Component({\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n mappedPrefill$: Observable<VerzoekConfig>;\n\n private mappingSet!: boolean;\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name ?? '',\n }))\n )\n );\n\n readonly documentSelectItems$: Observable<Array<SelectItem>> = this.documentService\n .getAllDefinitions()\n .pipe(\n map(documentDefinitions =>\n documentDefinitions.content.map(documentDefinition => ({\n id: documentDefinition.id.name,\n text: documentDefinition.id.name,\n }))\n )\n );\n\n readonly RADIO_ITEMS: Array<CopyStrategy> = ['full', 'specified'];\n readonly radioItems$: Observable<Array<RadioValue>> = this.translateService.stream('key').pipe(\n map(() =>\n this.RADIO_ITEMS.map(radioItem => ({\n value: radioItem,\n title: this.pluginTranslationService.instant(radioItem, this.pluginId),\n }))\n )\n );\n\n readonly rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionName: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly showMappingButtons: {[uuid: string]: boolean} = {};\n\n readonly showMappingModals: {[uuid: string]: boolean} = {};\n readonly showMappingModalsDelay: {[uuid: string]: boolean} = {};\n\n readonly tempMappings: {[uuid: string]: MultiInputValues} = {};\n\n readonly mappings: {[uuid: string]: MultiInputValues} = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly documentService: DocumentService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.setMappedPrefill();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionName = formValue?.caseDefinitionName;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n\n this.showMappingButtons[uuid] = formValue.copyStrategy === 'specified';\n\n if (caseDefinitionName) {\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionName !== caseDefinitionName\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: this.verzoekPluginService\n .getRoltypesByDocumentDefinitionName(caseDefinitionName)\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string): void {\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n openMappingModal(uuid: string): void {\n this.showMappingModals[uuid] = true;\n this.showMappingModalsDelay[uuid] = true;\n }\n\n closeMappingModal(uuid: string): void {\n this.showMappingModals[uuid] = false;\n\n setTimeout(() => {\n this.showMappingModalsDelay[uuid] = false;\n }, 250);\n }\n\n mappingValueChange(newValue: MultiInputValues, uuid: string): void {\n this.tempMappings[uuid] = newValue;\n }\n\n saveMapping(uuid: string): void {\n this.mappings[uuid] = [...this.tempMappings[uuid]];\n this.tempMappings[uuid] = [];\n this.closeMappingModal(uuid);\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionName &&\n type.objectManagementId &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n const formValueToSave: VerzoekConfig = {\n ...formValue,\n verzoekProperties: formValue.verzoekProperties.map(verzoek => {\n const verzoekToReturn: VerzoekType = {...verzoek};\n delete verzoekToReturn.uuid;\n\n if (this.mappings[verzoek.uuid] && verzoek.copyStrategy === 'specified') {\n verzoekToReturn.mapping = this.mappings[verzoek.uuid];\n }\n\n return {\n ...verzoekToReturn,\n ...(verzoekToReturn.mapping && {\n mapping: verzoekToReturn.mapping.map(verzoekMapping => ({\n source: verzoekMapping.key,\n target: verzoekMapping.value,\n })) as Array<any>,\n }),\n };\n }),\n };\n if (valid) {\n this.configuration.emit(formValueToSave);\n }\n });\n });\n }\n\n private setMappedPrefill(): void {\n this.mappedPrefill$ = this.prefillConfiguration$.pipe(\n filter(prefill => !!prefill),\n map(prefill => ({\n ...prefill,\n verzoekProperties: prefill.verzoekProperties.map(verzoekType => ({\n ...verzoekType,\n ...(verzoekType.mapping &&\n Array.isArray(verzoekType.mapping) && {\n mapping: verzoekType.mapping.map(mapping => ({\n key: mapping.source,\n value: mapping.target,\n })),\n }),\n })),\n })),\n tap(prefill => {\n setTimeout(() => {\n this.formValue$.pipe(take(1)).subscribe(formValue => {\n if (!this.mappingSet) {\n const prefillVerzoeken = prefill?.verzoekProperties;\n const formValueVerzoeken = formValue?.verzoekProperties;\n\n prefillVerzoeken.forEach((verzoek, index) => {\n const mappingForVerzoek = verzoek?.mapping;\n const uuidForMapping = formValueVerzoeken[index].uuid;\n\n if (mappingForVerzoek && uuidForMapping) {\n this.mappings[uuidForMapping] = mappingForVerzoek;\n }\n });\n\n this.mappingSet = true;\n }\n });\n }, 250);\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal cdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule as CarbonButtonModule,\n InputModule as CarbonInputModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {\n CarbonMultiInputModule,\n ValtimoCdsModalDirectiveModule,\n ButtonModule,\n FormModule,\n InputLabelModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n TooltipIconModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n RadioModule,\n InputLabelModule,\n ButtonModule,\n ModalModule,\n CarbonInputModule,\n TooltipIconModule,\n CarbonMultiInputModule,\n CarbonButtonModule,\n ValtimoCdsModalDirectiveModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionName: 'Dossierdefinitie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n copyStrategy: 'Kopieerstrategie',\n copyStrategyTooltip:\n 'Met deze optie wordt bepaald of het volledige Verzoek-object in het document terecht komt, of slechts de gespecifieerde velden.',\n full: 'Volledig',\n specified: 'Gespecifieerde velden',\n mapping: 'Mapping',\n setMapping: 'Mapping instellen',\n mappingTooltip:\n \"Stel hier de velden in die gekopieerd moeten worden van het Verzoek-object naar het document. Bijvoorbeeld: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Sluiten',\n save: 'Opslaan',\n target: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionName: 'Case definition',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n copyStrategy: 'Copy strategy',\n copyStrategyTooltip:\n 'This option determines whether the entire Verzoek object is included in the document, or only the defined fields.',\n full: 'Complete',\n specified: 'Specified fields',\n mapping: 'Mapping',\n setMapping: 'Set mapping',\n mappingTooltip:\n \"Set the fields to be copied from the Verzoek object to the document. For example: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Close',\n save: 'Save',\n target: 'Target',\n source: 'Source',\n },\n de: {\n title: 'Verzoek',\n description:\n 'Das Verzoek-Plugin verarbeitet Anfragen und erstellt eine Zaakdossier. Eine Verzoek ist ein Object in der Objecten API und wird normalerweise mithilfe eines Portals erstellt.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-Konfiguration',\n objectManagementId: 'Object management-Konfiguration',\n processToStart: 'Prozess',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Typ',\n caseDefinitionName: 'Dateidefinition',\n initiatorRoltypeUrl: 'Rollentyp',\n processDefinitionKey: 'Prozessdefinition',\n initiatorRolDescription: 'Rollenbeschreibung',\n addVerzoekType: 'Verzoektyp hinzufügen',\n verzoekPropertiesTooltip:\n 'Die Verzoektypen die erstellt werden wenn eine Benachrichtigung eintrifft.',\n notificatiesApiPluginConfigurationTooltip:\n 'Konfiguration der Notificaties API, die für die Kommunikation zwischen GZAC und anderen Anwendungen verwendet wird.',\n objectManagementIdTooltip:\n 'Konfiguration des Objects, das zum Speichern einer Verzoek verwendet wird.',\n processToStartTooltip:\n 'Der Prozess, der einen Fall erstellt, wenn eine Benachrichtigung eintrifft.',\n rsinTooltip: 'Diese Nummer muss die gleichen Spezifikationen wie eine BSN-Nummer erfüllen.',\n typeTooltip:\n \"Der Verzoektyp, der zum Identifizieren des Objects verwendet wird. Z.B. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Wählen Sie hier den Falltyp aus, von dem eine Instanz gestartet werden soll, wenn eine Verzoek eintrifft.',\n initiatorRoltypeUrlTooltip:\n 'Der Rollentyp des Anforderers, der gespeichert wird, wenn eine Verzoek eingeht.',\n initiatorRolDescriptionTooltip:\n 'Eine Beschreibung des Rollentyps des Anforderers, die gespeichert wird, wenn eine Verzoek eingeht.',\n processDefinitionKeyTooltip:\n 'Wählen Sie hier den Prozess aus, der gestartet werden soll, wenn der zuvor ausgewählte Systemprozess beendet ist.',\n copyStrategy: 'Kopierstrategie',\n copyStrategyTooltip:\n 'Diese Option legt fest, ob das gesamte Verzoek-Objekt in das Dokument aufgenommen wird oder nur die definierten Felder.',\n full: 'Vollständig',\n specified: 'Angegebene Felder',\n mapping: 'Mapping',\n setMapping: 'Mapping festlegen',\n mappingTooltip:\n \"Legen Sie hier die Felder fest, die vom Verzoek-Objekt in das Dokument kopiert werden sollen. Zum Beispiel: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Schließen',\n save: 'Speichern',\n target: 'Ziel',\n source: 'Ursprung',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {BesluitenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-besluiten-api-configuration',\n templateUrl: './besluiten-api-configuration.component.html',\n styleUrls: ['./besluiten-api-configuration.component.scss'],\n})\nexport class BesluitenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<BesluitenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<BesluitenApiConfig> =\n new EventEmitter<BesluitenApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'besluiten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<BesluitenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: BesluitenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: BesluitenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.rsin &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BesluitenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getBesluitTypesByCaseDefinition(caseDefinitionId: string): Observable<Array<any>> {\n return this.http.get<Array<any>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/besluittype`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakBesluitConfig, Vervalredenen} from '../../models';\nimport {PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BesluitenApiService} from '../../services';\nimport {InputOption} from '../../../zaken-api/models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-besluit-configuration',\n templateUrl: './create-zaak-besluit-configuration.component.html',\n styleUrls: ['./create-zaak-besluit-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakBesluitConfig> =\n new EventEmitter<CreateZaakBesluitConfig>();\n readonly VERVALREDENEN: Array<Vervalredenen> = [\n 'tijdelijk',\n 'ingetrokken_overheid',\n 'ingetrokken_belanghebbende',\n ];\n readonly vervalredenenSelectItems$: Observable<Array<{id: Vervalredenen; text: string}>> =\n this.translateService.stream('key').pipe(\n switchMap(() => this.pluginId$),\n map(pluginId =>\n this.VERVALREDENEN.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, pluginId),\n }))\n )\n );\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedStartDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedExpirationDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly startDateInputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly expirationDateInputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly besluitTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.besluitenApiService.getBesluitTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const resultaatTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = resultaatTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const besluittypeUrl = prefillConfig?.besluittypeUrl;\n\n if (besluittypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === besluittypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly clearBesluitSelection$ = new Subject<void>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreateZaakBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly besluitenApiService: BesluitenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeBesluitToggle) {\n this.selectedInputOption$.next(formValue.inputTypeBesluitToggle);\n }\n\n if (formValue.inputTypeStartingDateToggle) {\n this.selectedStartDateInputOption$.next(formValue.inputTypeStartingDateToggle);\n }\n\n if (formValue.inputTypeExpirationDateToggle) {\n this.selectedExpirationDateInputOption$.next(formValue.inputTypeExpirationDateToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearBesluitSelection$.next();\n }\n\n private handleValid(formValue: CreateZaakBesluitConfig): void {\n const valid = !!formValue.besluittypeUrl && !!formValue.ingangsdatum;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n besluitTypeItems: besluitTypeSelectItems$ | async,\n selectedInputOption: selectedInputOption$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n selectedStartDateInputOption: selectedStartDateInputOption$ | async,\n selectedExpirationDateInputOption: selectedExpirationDateInputOption$ | async,\n pluginId: pluginId$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakBesluitInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-radio\n name=\"inputTypeBesluitToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeBesluitToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluittypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.besluitTypeItems && obs.besluitTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.besluitTypeItems ||\n !obs.besluitTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.besluittypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.besluitTypeItems\"\n [tooltip]=\"'besluittypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearBesluitSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"toelichting\"\n [title]=\"'toelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'toelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"bestuursorgaan\"\n [title]=\"'bestuursorgaan' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bestuursorgaan\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'bestuursorgaanTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeStartingDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeStartingDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"startDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeStartingDateToggle\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedStartDateInputOption === 'text'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n <v-date-picker\n *ngIf=\"obs.selectedStartDateInputOption === 'selection'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-radio\n name=\"inputTypeExpirationDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeExpirationDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"expirationDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeExpirationDateToggle\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedExpirationDateInputOption === 'text'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n <v-date-picker\n *ngIf=\"obs.selectedExpirationDateInputOption === 'selection'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-select\n name=\"vervalreden\"\n [title]=\"'vervalreden' | pluginTranslate: obs.pluginId | async\"\n [items]=\"vervalredenenSelectItems$ | async\"\n [defaultSelectionId]=\"obs.prefill?.vervalreden\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervalredenTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthInPx]=\"350\"\n [margin]=\"true\"\n ></v-select>\n <v-date-picker\n name=\"publicatiedatum\"\n [title]=\"'publicatiedatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.publicatiedatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'publicatiedatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-date-picker\n name=\"verzenddatum\"\n [title]=\"'verzenddatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.verzenddatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'verzenddatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-date-picker\n name=\"uiterlijkeReactieDatum\"\n [title]=\"'uiterlijkeReactieDatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.uiterlijkeReactieDatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'uiterlijkeReactieDatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-input\n name=\"createdBesluitUrl\"\n [title]=\"'besluitUrlProcessVariable' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.createdBesluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'besluitUrlProcessVariableTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {LinkDocumentToBesluitConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-besluit-configuration',\n templateUrl: './link-document-to-besluit-configuration.component.html',\n styleUrls: ['./link-document-to-besluit-configuration.component.scss'],\n})\nexport class LinkDocumentToBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToBesluitConfig> =\n new EventEmitter<LinkDocumentToBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToBesluitConfig): void {\n const valid = !!(formValue.besluitUrl || formValue.documentUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentToBesluitInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {LoadingModule} from 'carbon-components-angular';\nimport {\n DatePickerModule,\n FormModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n ParagraphModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n})\nexport class BesluitenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst BESLUITEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {BESLUITEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {BESLUITEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n\nconst besluitenApiPluginSpecification: PluginSpecification = {\n pluginId: 'besluitenapi',\n pluginConfigurationComponent: BesluitenApiConfigurationComponent,\n pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-besluit': CreateZaakBesluitConfigurationComponent,\n 'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n url: 'Besluiten API URL',\n urlTooltip: 'Een URL naar de REST API van Besluiten',\n description: 'API voor opslag en ontsluiting van besluiten en daarbij behorende metadata.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'create-besluit': 'Zaakbesluit aanmaken',\n createZaakBesluitInformation: 'Deze actie creëert een zaakbesluit in de Besluiten API.',\n besluittypeUrl: 'Besluittype-URL',\n besluittypeUrlTooltip: 'URL-referentie naar het besluittype',\n toelichting: 'Toelichting',\n toelichtingTooltip: 'Toelichting bij het besluit.',\n bestuursorgaan: 'Bestuursorgaan',\n bestuursorgaanTooltip:\n 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',\n ingangsdatum: 'Ingangsdatum',\n ingangsdatumTooltip:\n 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervaldatum: 'Vervaldatum',\n vervaldatumTooltip:\n 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervalreden: 'Vervalreden',\n vervalredenTooltip:\n 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen.',\n tijdelijk: 'Tijdelijk',\n ingetrokken_overheid: 'Ingetrokken door overheid',\n ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',\n publicatiedatum: 'Publicatiedatum',\n publicatiedatumTooltip: 'Datum waarop het besluit gepubliceerd wordt.',\n verzenddatum: 'Verzenddatum',\n verzenddatumTooltip: 'Datum waarop het besluit verzonden is.',\n uiterlijkeReactieDatum: 'Uiterlijke reactie datum',\n uiterlijkeReactieDatumTooltip: 'De datum tot wanneer verweer tegen het besluit mogelijk is.',\n besluitUrlProcessVariable: 'Naam procesvariabele met besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Hier moet de naam van de procesvariabele ingevuld worden waarin de besluit URL lokaal staat opgeslagen',\n 'link-document-to-besluit': 'Link Document aan Besluit',\n linkDocumentToBesluitInformation:\n 'Deze actie linkt een document aan een zaakbesluit in de Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-referentie naar het besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-referentie naar het document',\n inputTypeBesluitToggle: 'Invoertype Besluit-URL',\n inputTypeStartingDateToggle: 'Invoertype Begindatum',\n inputTypeExpirationDateToggle: 'Invoertype vervaldatum',\n text: 'Tekst',\n selection: 'Selectie',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',\n },\n en: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n url: 'Besluiten API URL',\n urlTooltip: 'A URL to the REST API of Besluiten',\n description: 'API for storage and access to decisions and associated metadata.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'create-besluit': 'Create Zaakbesluit',\n createZaakBesluitInformation: 'This action creates a Zaakbesluit in the Besluiten API.',\n besluittypeUrl: 'Besluit type URL',\n besluittypeUrlTooltip: 'URL reference to the besluit type',\n toelichting: 'Explanation',\n toelichtingTooltip: 'Explanation to the besluit.',\n bestuursorgaan: 'Governing body',\n bestuursorgaanTooltip:\n 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',\n ingangsdatum: 'Starting date',\n ingangsdatumTooltip:\n 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervaldatum: 'Expiration date',\n vervaldatumTooltip:\n 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervalreden: 'Reason for expiry',\n vervalredenTooltip:\n 'The description that indicates on the basis of which the decision has been or will be cancelled.',\n tijdelijk: 'Temporary',\n ingetrokken_overheid: 'Withdrawn by government',\n ingetrokken_belanghebbende: 'Withdrawn by interested party',\n publicatiedatum: 'Publication date',\n publicatiedatumTooltip: 'Date on which the besluit is published.',\n verzenddatum: 'Shipment date',\n verzenddatumTooltip: 'Date on which the besluit was sent.',\n uiterlijkeReactieDatum: 'Response deadline',\n uiterlijkeReactieDatumTooltip:\n 'The date until which a defense against the decision is possible.',\n besluitUrlProcessVariable: 'Process variable name with besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Here must be entered the name of the process variable in which the besluit URL is stored locally',\n 'link-document-to-besluit': 'Link Document to Besluit',\n linkDocumentToBesluitInformation:\n 'This action links a document to a zaakbesluit in the Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL reference to the besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL reference to the document',\n inputTypeBesluitToggle: 'Input type Besluit-URL',\n inputTypeStartingDateToggle: 'Input type start date',\n inputTypeExpirationDateToggle: 'Input type expiration date',\n text: 'Text',\n selection: 'Selection',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Select the Besluit type.',\n },\n de: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n url: 'Besluiten API URL',\n urlTooltip: 'Die URL zur REST API von Besluiten',\n description:\n 'API für die Speicherung und den Zugriff auf Entscheidungen und zugehörige Metadaten.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'create-besluit': 'Zaakbesluit erstellen',\n createZaakBesluitInformation: 'Diese Aktion erstellt eine Zaakbesluit in der Besluiten-API.',\n besluittypeUrl: 'Entscheidungstyp-URL',\n besluittypeUrlTooltip: 'URL-Referenz zum Entscheidungstyp',\n toelichting: 'Erläuterung',\n toelichtingTooltip: 'Begründung der Entscheidung.',\n bestuursorgaan: 'Leitungsgremium',\n bestuursorgaanTooltip:\n 'Eine Körperschaft einer juristischen Person des öffentlichen Rechts oder eine Person oder Körperschaft einer öffentlichen Behörde, unter deren Verantwortung die Entscheidung getroffen wurde.',\n ingangsdatum: 'Anfangsdatum',\n ingangsdatumTooltip:\n 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervaldatum: 'Verfallsdatum',\n vervaldatumTooltip:\n 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervalreden: 'Ablaufgrund',\n vervalredenTooltip:\n 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird.',\n tijdelijk: 'Temporär',\n ingetrokken_overheid: 'Von der Regierung zurückgezogen',\n ingetrokken_belanghebbende: 'Von interessierter Partei zurückgezogen',\n publicatiedatum: 'Veröffentlichungsdatum',\n publicatiedatumTooltip: 'Datum, an dem die Entscheidung veröffentlicht wird.',\n verzenddatum: 'Versanddatum',\n verzenddatumTooltip: 'Datum, an dem die Entscheidung gesendet wurde.',\n uiterlijkeReactieDatum: 'Antwortfrist',\n uiterlijkeReactieDatumTooltip:\n 'Das Datum, bis zu dem eine Verteidigung gegen die Entscheidung möglich ist.',\n besluitUrlProcessVariable: 'Prozessvariablenname mit Entscheidungs-URL',\n besluitUrlProcessVariableTooltip:\n 'Hier muss der Name der Prozessvariable eingetragen werden, in der die Entscheidungs-URL lokal gespeichert wird',\n 'link-document-to-besluit': 'Verknüpf Document zum Besluit',\n linkDocumentToBesluitInformation:\n 'Diese Aktion verknüpft ein Dokument mit einer Fallentscheidung in der Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-Referenz zum besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-Referenz zum document',\n inputTypeBesluitToggle: 'Eingabetyp Besluit-URL',\n inputTypeStartingDateToggle: 'Eingabetyp Begindatum',\n inputTypeExpirationDateToggle: 'Eingabetyp Einddatum',\n text: 'Text',\n selection: 'Auswahl',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Besluit-typ auswählen möchten. Wenn nur ein Besluit-typ verfügbar ist, wird dieser standardmäßig ausgewählt.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Wählen Sie den Besluit-typ aus.',\n },\n },\n};\n\nexport {besluitenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport ExactRefreshToken from './exact-refresh-token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExactPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n exchangeAuthorizationCode(\n clientId: string,\n clientSecret: string,\n code: string\n ): Observable<ExactRefreshToken> {\n return this.http.post<ExactRefreshToken>(`${this.valtimoEndpointUri}v1/plugin/exact/exchange`, {\n clientId,\n clientSecret,\n code,\n });\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ExactPluginService} from '../../exact-plugin.service';\nimport {ExactPluginConfig} from '../../exact-plugin';\n\n@Component({\n selector: 'valtimo-exact-plugin-configuration',\n templateUrl: './exact-plugin-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPluginConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPluginConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPluginConfig> = new EventEmitter<ExactPluginConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ExactPluginConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private storageCallbackFun!: (any) => void;\n\n constructor(private exactPluginService: ExactPluginService) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.storageCallbackFun = this.onReceiveToken.bind(this);\n window.addEventListener('storage', this.storageCallbackFun);\n }\n\n onReceiveToken(event): void {\n if (event.key === 'exactAuthorizationCode') {\n this.formValue$\n .pipe(take(1))\n .subscribe(formValue => {\n this.exchangeAuthorizationCode(formValue, localStorage.getItem('exactAuthorizationCode'));\n })\n .unsubscribe();\n }\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n window.removeEventListener('storage', this.storageCallbackFun);\n }\n\n exchangeAuthorizationCode(formValue, code): void {\n this.exactPluginService\n .exchangeAuthorizationCode(formValue.clientId, formValue.clientSecret, code)\n .subscribe(response => {\n formValue.accessToken = response.accessToken;\n formValue.accessTokenExpiresOn = response.accessTokenExpiresOn;\n formValue.refreshToken = response.refreshToken;\n formValue.refreshTokenExpiresOn = response.refreshTokenExpiresOn;\n this.formValueChange(formValue);\n });\n }\n\n formValueChange(formValue: ExactPluginConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n openAuthenticationWindow(): void {\n this.formValue$\n .subscribe((formValue: ExactPluginConfig) => {\n const redirect_url = window.location.origin + '/plugins/exact/redirect';\n window.open(\n `https://start.exactonline.nl/api/oauth2/auth?client_id=${formValue.clientId}&redirect_uri=${redirect_url}&response_type=code&force_login=0`,\n '_blank'\n );\n })\n .unsubscribe();\n }\n\n private handleValid(formValue: ExactPluginConfig): void {\n const valid = !!(\n formValue.clientId &&\n formValue.clientSecret &&\n formValue.accessToken &&\n formValue.refreshToken\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n ></v-input>\n <v-input\n name=\"clientSecret\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n\n <v-button [mdiIcon]=\"'check'\" type=\"secondary\" (click)=\"openAuthenticationWindow()\"\n >Give authorization\n </v-button>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactGetRequestConfiguration from './exact-get-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-get-request-configuration',\n templateUrl: './exact-get-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactGetRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactGetRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactGetRequestConfiguration> =\n new EventEmitter<ExactGetRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactGetRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactGetRequestConfiguration = {\n properties: {\n uri: input.uri,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactGetRequestConfiguration): void {\n const valid = !!(formValue.properties.uri || formValue.properties.bean);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPutRequestConfiguration from './exact-put-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-put-request-configuration',\n templateUrl: './exact-put-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPutRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPutRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPutRequestConfiguration> =\n new EventEmitter<ExactPutRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPutRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPutRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPutRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPostRequestConfiguration from './exact-post-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-post-request-configuration',\n templateUrl: './exact-post-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPostRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPostRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPostRequestConfiguration> =\n new EventEmitter<ExactPostRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPostRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPostRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPostRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\n\nconst exactPluginSpecification: PluginSpecification = {\n pluginId: 'exact',\n pluginConfigurationComponent: ExactPluginConfigurationComponent,\n pluginLogoBase64:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAkCAMAAAAq54ElAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACqVBMVEUAAADWIinZJCrZJirYJCrZJSvaJSv/AADXKCjcIyvWJCn/AADMMzPYJyfdKC3aJi3bJCrZJivXKCjRLi7XJSvZJivaJivYJSrZJSrZJivZJivZJSrXJC3YJivYJivYJSrZJinmGjPaJSvZJSvaJSvYJSvZJSq/QEDaJSrZJirYJyfaJSraJSvcIy7aJSvZJivaJSvZJivaJirdIiLZJircKSnZJirYJSvZJSvZJivYJSr/AADbJCTYJSvaJSvYJSvYJivaJSvSHi3ZJCvZJirbJivYJyvZJivaJSvYJyzaJSzYJSvXJSvYJCvZJirYJyfZJivaJSvZJibaJSrZJSrZJSvZJivYJSvYJSrbJirZJi3aJSvYJivVKyvZJivYJSvZJSvaJSrZJivYJCnYJSvZJivYJSvZJSrZJivaJSvYJyraJivWISnZJiraJSzfIDDYJivaJSvYJivYJivZJSveJyzXJSrXJCvYJyvYJynfICDYJivYJCrVKyvbJCzZJivYJSnZJivaJivYJSvZJizfJSvXJCvaJSvaJSnYJyvZJivaJSvbJivbJCvaJSzaJSrZJSrYJivYJSrbJCTYJivZJirZJirbJivZJivYJCvZJSraJSnZJivZJirZJirZJinaJinZJiraJSvjHBzaJSrYJyrhJCvYJSvZJirZJSrZJivZJSrZJivXJCzbJCrbJirZJivYJSraJSnZJiraJSvYJiraJSzbJCTXJC3bJC7dIivYJirZJivZJivZJivXKCjbJiraJivYJivZJirYJSrZJivZJivZJirYJSrZJivaJSvaJSrbJiraJivVICvYJSrWIinWKSmqVVXVJCrbJCrYJSneJyfZJSnbJC7ZJCrZJi/ZJinYJSnaJCvVJCvYJSndKSnZJCr////a6T7OAAAA4nRSTlMARL2vW/zpAhMkMgEFJy0iMe0mC1qa16T4PFj3OfnSnVcKWZnWsrsEdOwN1OEW73LjZOsPvSzyuNCungMOv2B9nNsRfrx+Ql/1NCl8U1TlGmuPFPH5tGyll4Yo8L4Mp5am2udprPPGzzWET+4fw0wQ+92V+p8uZ007YwjLYhIjoG9liHZRMEfce0iU1Y0qRZLOxasHxKm1k5t3wqaoeT1dREPiCdNWKrm2yV7HakYrgKGYPuaJqksVPxweo3jR0iCFZsxJsfSB2Wg29pGM5BhuJRkDK1uXJ6AyeRtRfY8qgiWT0Pv9JgAAAAFiS0dE4sYBnhwAAAAHdElNRQfiChMHJTUkS/K4AAAEWklEQVRYw+2Y90MURxTHX/RWNHeiWCIiZwXRCBgwFMEGoiIWRDSKgJpY46mgZ+8NeyWxJxqikdgSNBoS0iyxd43GXv4Tb2/ezM4uO8Oe7g/+4Ptp3vu+efvZ29mZtwfwbtoHtfxWG951cyh+q/Me9D1oABZUt96HvDnBRYf1dYnBGG0A4NTNaNigrstC7XoaaAiNNbII2bhJ048Ug/mu2QyHoc253DAMtggHcBknuVu2am2AbdO2XYQuJ1IDZdbeEmZUh45KdfNd7+NOOI6OYcn1YzHWGUxAVfskjq/dOd6ovzFol0/NLqeCQkIiOklB9PdJxkhXpwhUUVJSae1u7aurbwrq6q4IQaEH9Xpidi/009JBDKr0pr9nhmIfaB9FAsrA3H39bj90M/uDDNSdRWoPUCyDDhwkMPp+xCRKQdmjHpzNL4UhIAVVcvzy0FzroMNEpYYj6GcsEjFiZB5nuM5G5aNcEAWF9OUajZNT+Ql5Y8Z+Tmt94ZfHsdrR47Xa/TTQCTQWVzPoRPQnTRYsDbodKV+y7Sqim2gdTfFgylTVm0b3gek1b/g1gRYVE3dGunARz8QZ3lk4mDBbvOLnYM5cdTvB2omj4O1B56E7X3ztBQsNUyW5UOgmOYt843D2KGwAxV+geLHk4ktCdDOXSjeRNJK0zDdcjhOC7QBdQbzclXqL05VdVcxNbNnYeLCVrOZ2kzUka61PyCPDfKcV0LjlAltH9PXmt7FBX3ejpuRu0kubI033twE+aQsZbrWle1pqDhphOL22McWhE4pKBQ9MBU3Bfc0W0FJLoFDCNsSvdO/Z14oEdDsZ7rAFdLQlUGckU3by8RWKDHQENjS2gO6yBLqbk1prYfMjkoG2I8M9lkD3fiOwb4meY+Vl2hfKSbFav79fkYLiK5gGdmxP2Dtlflems3C+asz3upnJB6jQFCNjyrQPjYMaaE9spdrYAfoDuockH1Plhqm7qPIj8bfz2Yc10EHccfrWoIfQ3SgG7Y0p8fTQV46gcpS4xwSgWZheXr1mE+wCnJZBXdjFtTgu4izz4ik7NygJ5yb+RKQC4v4sAI2in1cdqndZqDSyDAoVtCk/cbKLGWf2L5hwyrdYo3HcqdCvncYHmGAOCrNYr/xrpb7qb7Rh/t0y6Dou5o3nrIoc5PSLao/a8Tenr/8ffvFPepN/lTPzcKCbTWurJ1U2i3tIENJFVkib9L8Fd/KPXz5DW3Zy6yupelb1Gsq3J0hNNpPOqdIaQ9DClr/PLQE9j32TF5ew819UL5SoboYcFOaFikD7BA4KQ8SgVXXQuUiTF8/AyCV1RQfny0HhcrEAtHJw4KDgiBWAsqYpg/2jAFeuYuy0urWc98hBISzWHBRO5gcOCtnXPKag13F44yaXfIsm3FK92129UlC4kxNiCgpZBYGDAty999/aU/creBsKD/7H4UNdJ/UIo70I/uMnT5+lVBhtClf7uUNX+wUVXjpevKKXeA1u5WsFezws2AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0xOVQwNzozNzo1MyswMDowMIPF6M0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMTlUMDc6Mzc6NTMrMDA6MDDymFBxAAAAAElFTkSuQmCC',\n functionConfigurationComponents: {\n 'exact-get-request': ExactGetRequestConfigurationComponent,\n 'exact-post-request': ExactPostRequestConfigurationComponent,\n 'exact-put-request': ExactPutRequestConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Bericht',\n },\n en: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Content',\n },\n de: {\n title: 'Exact Plugin',\n description: 'Plugin zum Einrichten einer Exact-API-Verbindung',\n configurationTitle: 'Konfigurationsname',\n clientId: 'Kunden ID',\n clientSecret: 'Client-Geheimnis',\n 'exact-get-request': 'Exakte GET-Anfrage',\n 'exact-post-request': 'Exakte POST-Anfrage',\n 'exact-put-request': 'Exakte PUT-Anfrage',\n uri: 'URI',\n bean: 'Serviceklasse',\n content: 'Inhalt',\n },\n },\n};\n\nexport {exactPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n selector: 'valtimo-exact-redirect',\n templateUrl: './exact-redirect.component.html',\n})\nexport class ExactRedirectComponent implements OnInit {\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n localStorage.setItem('exactAuthorizationCode', params.code);\n window.close();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>You can close this page.</p>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\nconst routes: Routes = [\n {\n path: 'plugins/exact/redirect',\n component: ExactRedirectComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Exact Redirect', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExactPluginRoutingModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule, FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {ExactPluginRoutingModule} from './exact-plugin-routing.module';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\n@NgModule({\n declarations: [\n ExactGetRequestConfigurationComponent,\n ExactPostRequestConfigurationComponent,\n ExactPutRequestConfigurationComponent,\n ExactPluginConfigurationComponent,\n ExactRedirectComponent,\n ],\n imports: [\n CommonModule,\n ExactPluginRoutingModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ButtonModule,\n ExactPluginRoutingModule,\n ],\n exports: [],\n})\nexport class ExactPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\nexport * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/models/config';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/download-document/download-document-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component';\nexport * from './lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nexport * from './lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component';\nexport * from './lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\nexport * from './lib/plugins/objecten-api/components/delete-object/delete-object.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n/* besluiten plugin */\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.module';\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';\nexport * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n/* exact */\nexport * from './lib/plugins/exact/exact.plugin.specification';\nexport * from './lib/plugins/exact/exact-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","isValidUUID","i2","i3","i1.PluginService","i4.DefaultPluginConfigurationComponent","i5","i3.PluginTranslatePipe","map","i1.PluginManagementService","i3.DocumentenApiService","i6.PluginTranslatePipe","i2.PluginTranslationService","i5.PluginTranslatePipe","tap","i3.ZakenApiService","i4.PluginTranslatePipe","i6","i7.PluginTranslatePipe","i2.ObjectService","i3.VerzoekPluginService","i7","i9.PluginTranslatePipe","CarbonInputModule","CarbonButtonModule","i5.BesluitenApiService","i1.ExactPluginService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.module.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/documenten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/zaken-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/besluiten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact.plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin-routing.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.module.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`\n );\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n getPluginConfigurationsByCategory(categoryId: string): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n newConfigurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n newId: newConfigurationId,\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginConfigurationData {\n configurationId: string;\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface DefaultPluginConfigurationData {\n configurationId: string;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n newId?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(private readonly pluginTranslationService: PluginTranslationService) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DefaultPluginConfigurationData} from '../../models';\nimport {validate as isValidUUID} from 'uuid';\n\n@Component({\n selector: 'valtimo-default-plugin-configuration',\n templateUrl: './default-plugin-configuration.component.html',\n styleUrls: ['./default-plugin-configuration.component.scss'],\n})\nexport class DefaultPluginConfigurationComponent implements OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DefaultPluginConfigurationData> =\n new EventEmitter<DefaultPluginConfigurationData>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DefaultPluginConfigurationData): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DefaultPluginConfigurationData): void {\n const valid = !formValue.configurationId || isValidUUID(formValue.configurationId);\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\nimport {NGXLogger} from 'ngx-logger';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n private readonly _defaultConfiguration =\n new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly _validDefaultConfiguration = new BehaviorSubject<boolean>(true);\n\n readonly isTypeConfiguration$: Observable<boolean> = this._componentType.pipe(\n map(componentType => componentType === 'configuration'),\n tap(isTypeConfiguration => this._validDefaultConfiguration.next(!isTypeConfiguration))\n );\n\n constructor(private readonly pluginService: PluginService) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n onDefaultConfiguration(defaultConfiguration: DefaultPluginConfigurationData) {\n this._defaultConfiguration.next(defaultConfiguration);\n }\n\n onValidDefaultConfiguration(valid: boolean) {\n this._validDefaultConfiguration.next(valid);\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n this.validSubscription = combineLatest([\n instance.valid,\n this._validDefaultConfiguration,\n ]).subscribe(([instanceValid, defaultConfigurationValid]) => {\n this.valid.emit(instanceValid && defaultConfigurationValid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n const configurationId = this._defaultConfiguration.value?.configurationId;\n this.configuration.emit({\n ...configuration,\n configurationId,\n } as any as PluginConfigurationData);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DefaultPluginConfigurationComponent} from './default-plugin-configuration.component';\nimport {FormModule, InputModule, ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [DefaultPluginConfigurationComponent],\n imports: [\n CommonModule,\n ParagraphModule,\n TranslateModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ],\n exports: [DefaultPluginConfigurationComponent],\n})\nexport class DefaultPluginConfigurationModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DefaultPluginConfigurationModule} from '../default-plugin-configuration/default-plugin-configuration.module';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule, DefaultPluginConfigurationModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent, PluginConfigurationData} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {openZaakPluginSpecification} from '../../open-zaak-plugin.specification';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenZaak Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAARtAAAEbQF9GpMFAAAAB3RJTUUH5gYKBB8NWNadBAAAAAZiS0dEAP8A/wD/oL2nkwAADG1JREFUaN7lm3tw1cUVx9O/2uqMnUEg1FZnOmOx8ih1ykwZcajaoVoEqmbkGR4+QEBQHI2iTpUZwSEhRJ6CgLwThhLCI2ocqChCpFJeLRhCeIcg3JsHSUhyb27uzel+9u7v5ndfed6EOOzMmfyyv92z57t7Xru/vXFxMSw9Upxxv/ioKC5+vvO2+PmOPooSFaUp+kJRniKnIpcinyGXqcszbdJMnz7wgBc8O11RAkI/VfSAoiRFOYouK3Irku6KuqU4pCuU7JA7DfFMHe9oE+8nt+mbY3g9YHjfZJALrsbFp2igdyh6SlGmWa367gYYdNcCh9y3pFj+tKpEHttYJk9vuS6jM/3EM3W8ow1trX7wgJfhmWnGuEOPqca+GSv6c0VPKtqjqIYV6mpWqtfSYklQYOZ+c0N25rvlv9fq5IdKn1S468VVVy+1Xj/xTB3vaENb+tAXHnaejGHGetKM3UFAU5w/UX/7KUpXVKWFUityT5pThmaUybJD1XLCUSfVnnppbaEvPOAFT3jrVfcDrzJj9zOytPuqTlJ0Id7M/t1KGNQz+7Rbyl2tBxmtwBPejMFYXVMCtn7ByBL71TZg4xUtw7My09jY4A2lsi3PJTdqYw80tDAGYzFm9wY1dxmZ4mMCuocfKHSvomycCB71Nwud8o+9N+SKsr2OLozJ2MjQrcGxZRsZtcxtBXu/on2WCv/x4xLJVDPt8cpNK4yNDMhiU/F9RtbWgbatbADsX9aXyndFHuksBVmQKQT0vS1Wb5vNZltg/7apTL531klnK8iEbDbQ2S2yaQP2Z8YZBFa2M4K1gw5Z6WUGQ3PAXuPvZDwgTqG/spN/dyI1jlaQEVmNI3P5MWgsTa7uHxSdx+3jCTO/d8mPpSArMpuQdd5gaTKxSLcSfty/x/ejwatlRWbbRiQ9YmIS/+E1CzAJelVXk1QUVXjl5IkTsnLlStm2bZtcv35dMz58+LCmDRs2yPbt26WqqkrXOxwOycjIkPXr18vly5d13dGjR3XbTZs26XclJSXtCrqo0qtlN/ZcZTBpjA2AUx0Qu57dzA4p3PZ8jxw9clgGDRokr7/+uiQkJMjLL78sbrdbnn32WXn44YflvffekwcffFDS0tI0aOpnzJih248ePVpP0JQpU2TAgAHy7rvval5vv/12h6g2GMxK79bYUh1h6sxM1JCkk7fWqOA+WwF6/vnnNZOTJ09K//79JS8vT8aPHy+zZ8/W9azmkCFDZN++fdKzZ0+ZP3++LFy4UHr16iWHDh2SSZMmSVJSkm77ySefyPDhw6W2trbd01AwgMXssp4KqLVt876VGWFnQrJOQVBWlXLhwgUNGBWdMGGCpKSk6HpUffDgwfL5558HAGMCa9askatXr8oLL7wQaItaDxs2rN0BU8BwT8Mqbw0cIhjAnCo40Puh6WVy3ex6duzYIQMHDtRg3n//fXn88celtLRUxo0bp0Hu3btXRo0apdW4qKhIHnnkEVm0aJGelK+++kpqamq0htgBDx06tEMAgwEsxpYdBmMAcJLlmZeqPahVsFdWCoAvvfSSHDlyRNezwmPGjJGpU6dqDTh//ryuP3jwoEybNk2/T05Olurqaq3Gn332mX6fm5ur7b2urmOSGLDYPHaSBZgDtxy2XJwy/M8RLgwC+nz++FRfXy+JiYmyePFi/b9VbxX+93g8up3V3nq2/u+oAhZ9cuJfZc7Iboszp4uFGDhnTE2dVCAw3nnLli2dPi6DBUzGeRWCFcBjOSmkcs43N5rFCNvsCDuMNNktLWAygDkNHRtnzoL1iSGHaPZCCCJuvvnmmwGaNWuWvPHGG/LWW2/JtWvXgtozCdgsDqyxgq3v3LkzIqCtW7fK2bNnw8wkKytLdu/e3WLAYAKbseM0AH+BYd+3xKlPDu0Fj4yjOXDgQIAQlkkYMWKE3LgRrBEnVFbWt29fHZujFYTHARK7KysrwwDPnDlTj2Ovw3ymT58uV65caTFgMIHNOK8vAJzHDoOz4eYc2ZAy4qFJF0MLHpgsC0B46Ejl1KlTOja/+OKLsmfPniYBk7rCrymtaexICGxmF5UHYCexigNxzogbK3hrVHnJkiVh75xOp04tT58+rVcDzYhU6LtixQodqjCRUA9uB0wbwtylS5dabfdgApuJx04AuywPzcF4Y2XXrl06kaioqAh7h41ZeXJ6err25GHJgMqtJ06cqCeFTQTx/dy5c2GAmawvv/xSx3kyvLYUMNk8tQvAvjtN/szXgMZUmayK/DhsW6biLqv69ddfB9qOHTs2TA3J2F577bVA7P7ggw9k1apVQYBfffVVmTNnjs7k2HC0NW6DCWx3+gH7mgUYVX7nnXcCyUZoOX78uN4UMBnYKN6dbIuVtjsrJoXUs6CgQK8yqebIkSOD7H3y5Mm677Fjx7Q25eTkxBxwkyqdnZ0tzz33nJSXl0d8Txr5xBNP6HCF02LTwfYQwUlPKfn5+fLoo48Gto8Qq/nQQw8FbJbVJFUlR7f23fCxUtdYqXSjTgv1ZNBIqmw5K9SXFWMV0Qav1ytlZWVB3pyVTU1N1aBoY+XTq1evDth+JC+9bt06eeWVV3SyEyunFTUsITh2tHTp0uib7cxMvVqRbA0TmDt3rtYMJoU4HVouXrwozzzzTOCEJBQwGgJ/PHuswlLUxIOwgBqy1cOm2C1ZxP/FxcU6nkbLgFBjHB2riP1G2yURntauXRsRMKWwsFBry/79+2OSeERNLclwCA0IhH3aCSdG+Fi+fHnEMGU5O1LNefPmhYGwF9R+48aNWks2b94sZ86cCWtDf87QQndnrUktE/XmISXa5qHeT2zz1GA+Q34Vbl7IaI6QzQo/rd08pAQ2D4lB28OEkO3h+TKv/POkS7YoOvpD8GF8QalX10P7L9WKtx23ufBmDGs8xrYXZKMeWZHZvj1MiLA9vD3aAcChKx5994IZ+vvmhqMfHXuVbfRbXqydQd+PiuVAYfttF+HNGIzFmMdtvgaZhm/2e2Fk/c8VT2MHALc3esRDDBuXVa6DNseeWXmuIEVf8G2VWN+fcP1nS2P/DfWM4vnYxobvRoxpVyY+kiMbMiKrPZeIdsQTfIiXEbySn3L696H/jsUw9a64usEeS2t8kritPHD1iAAfS9Dwgqd15SlRASqraRgfWZBJ3zFRMn562h18iJcR/RAv4jEtpaq2Xg/EDPZIdcjCg8EzXFBaJ39lBZL9oFnp3EKP+Npg0/TNVWoMr27mChTPdtuF/YdKFmSyVrfKdvUi6jFttIN4+70NbOh3S/223HtZsey7WBt2WGZlM1Af1SY1t6pVVyLoQ194WPzgHXq4iAy9TZv7lWy5Nh/S6EF8tE8t9q+GzPi8Aw32yrfY0yV1YV4bTehhrjHR9s9rSyVV2dyxqx6pdNdHjCrU8Y42tB2k+sQbHvCCZ6hXZmz79+BkJZtdo5r+1BLtY1qlN9hesxrsFXd/sTxYEOwLp/J75VGtK4bdjPcckl4mM3MqZL5avZWHqzXxTB3vaENb60oiPOBlt1mdiqoxE0LsutTWplkf05r7uZSZ1sySG0AXhKw0M006l7S7UocQ+HRR7bvM8/+1+lq2aX9HW/rQFx6hfoCxAmCT/YtiX/1mfy5tyQdxgjxqZwmOan2j7ClUuDo1eL4S8GO1kuO3l8uA1SXy28VO+bVStbuUo4F4po53tKEtfep84U4Mm2UsCywyhCZDLfogTulurvw0deXhiBrIUhvLkeG9S6p9UTfh3Kc8qux0z7la2XHKrYln6ngX7fABnvDubXNijH0kBGykKw9g6d68ex5NX2qxnJTVhvBATMw65ZJyd9vzTHjAC57wthxUJCfW6kstLb22hLPAQxKyLGeDdxyuhMQp5RfXNXkwGHo6QR/6wuNuc6kU3ozBWKFOrM3Xllp6Mc3r8ycJzDzZjnX5mz7kvyO3+q8RY1/fXvZoAc+qBB/imTre0Ya29KGvxQee8GYMb4jFxOxiWmuuHpLlkNqR8fRc7L/12iW5wTP/MtXvBEkSCDkQz9TxLuCxzS15eMDr0wJ3UAalvXF7XD1s7eXSGqWW7LJQP3ZYOJtfLXAEYqwOQTayYjVtaEsf+sKjJoI5tNvl0lhcH6b+lLJJ8trF31XLrH9VypTsCpmoQhDEM3W8ow1tG+PV7teHoyQmk9tyQZyYSpyFmrPBaOKC+OR2/TlAfKozrvuC4k7zEwAtS2oH/MznlvmRxy37M55b8odaP9af4v0f7OO0BSS5cpoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDYtMTBUMDQ6MzE6MTMtMDQ6MDAqVmbCAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA2LTEwVDA0OjMxOjEzLTA0OjAwWwvefgAAAABJRU5ErkJggg==';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Object Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objecten API and Objecttypen API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objecten API und die Objecttypen API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take, tap} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Smart Documents Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig, SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n <valtimo-carbon-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetTemplateNamesConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n@Component({\n selector: 'valtimo-get-template-names',\n templateUrl: './get-template-names.component.html',\n})\nexport class GetTemplateNamesComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetTemplateNamesConfig>;\n @Output() configuration: EventEmitter<GetTemplateNamesConfig> =\n new EventEmitter<GetTemplateNamesConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<GetTemplateNamesConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetTemplateNamesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetTemplateNamesConfig): void {\n const valid = !!(\n formValue.templateGroupName && formValue.resultingTemplateNameListProcessVariableName\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroupName\"\n [title]=\"'templateGroupName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroupName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingTemplateNameListProcessVariableName\"\n [title]=\"'resultingTemplateNameListProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingTemplateNameListProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n} from '@valtimo/components';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\n@NgModule({\n declarations: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n ],\n exports: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjcuNzIgMTA2LjU1Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDE5ZWUwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNiYjhkYmM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2JmZTZmNzsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBmaWxsOiAjYzU5ZGM3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNjY2E5Y2U7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgZmlsbDogIzliNTY5ZDsKICAgICAgfQoKICAgICAgLmNscy03IHsKICAgICAgICBmaWxsOiAjN2ZjZWVmOwogICAgICB9CgogICAgICAuY2xzLTggewogICAgICAgIGZpbGw6ICM1OWMwZWE7CiAgICAgIH0KCiAgICAgIC5jbHMtOSB7CiAgICAgICAgZmlsbDogIzc5MWM3ZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj4KICAgIDxnPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yOC44MywyMi42NGMtLjA3LjM5LS4wOC44LS4yMSwxLjE4LS4zNC45OS0uMzIsMS45OS0uMDYsMi45NS44NywzLjE0LDIuNDUsNS44Nyw0Ljg5LDguMDguODcuNzksMS44NywxLjM5LDMuMDQsMS42LDEuODQuMzMsMy4yNy0uNDcsNC40Ny0xLjc3LDEuMzctMS40OSwyLjI3LTMuMjcsMy4wMS01LjEzLDEuMjgtMy4yLDIuMjUtNi40OCwyLjI2LTkuOTYsMC0xLjY5LS40OS0zLjE0LTEuNjctNC40Ni0yLjM1LTIuNjItMi45MS01Ljc1LTEuNzctOS4wNCwxLjE4LTMuNDIsMy43MS01LjQ4LDcuMjgtNS45OCw1LjIyLS43Myw5LjI5LDIuNzksMTAuMjIsNy4xOC45NSw0LjUtMS44LDkuMjUtNi4yNiwxMC40OC0xLjcuNDctMi44OSwxLjQ2LTMuODMsMi44NS0xLjgyLDIuNjktMi43NCw1Ljc0LTMuNDYsOC44Ni0uNiwyLjY1LS45OSw1LjMyLS41Myw4LjA2LjY3LDQuMDMsMy4zNSw1Ljc3LDcuMTQsNS4zLDEuMjgtLjE2LDIuNTEtLjQ4LDMuNjMtMS4xMywxLjM2LS43OCwyLjE5LTEuOTMsMi40Ni0zLjQ5LDEuMTItNi40NSw2LjYtMTEuNTksMTMuMS0xMi41OCw3LjgzLTEuMiwxNS43NywzLjgzLDE3LjY5LDEyLjA5LDEuOTksOC41NC0zLjc5LDE3LjM5LTEyLjQyLDE4LjktNi44NCwxLjItMTMuMjctMS43NS0xNi42NC03Ljc2LS45OS0xLjc2LTIuMzctMi43Ni00LjI3LTMuMTItMS44Mi0uMzQtMy42Ny0uMzUtNS40NC4yNi0zLjA0LDEuMDMtNC43OCwzLjI1LTUuNDUsNi4zLS43NCwzLjM5LS4yNyw2Ljc0LjU1LDEwLjA2LjI5LDEuMi42MiwyLjM5LDEuMjEsMy40OSwxLjY5LDMuMTcsNC4yOSw1LjAyLDcuODYsNS42MSw3LjU3LDEuMjQsMTMuNTMsNy4zMSwxNC41MywxNC44NywxLjM1LDEwLjIzLTUuNjIsMTguNzgtMTUuMDUsMjAuMDYtMTAuNzcsMS40Ni0xOC42OC02LjIzLTE5Ljk0LTE0LjQ4LTEuMDMtNi43OSwxLjA2LTEyLjQ0LDYuMzQtMTYuODQsMS45NS0xLjYzLDIuOTMtMy43OCwyLjk1LTYuMTguMDQtNS4yNi0xLjQyLTEwLjE3LTQuNDMtMTQuNTItMi4wMS0yLjkxLTUuMDYtNC4xNC04LjQ0LTQuNjktMS43LS4yOC0zLjQzLS4zNS01LjE0LS4yMy0yLjIyLjE1LTQuNjEuOTMtNS40NCwzLjk3LTEuMDcsMy45NC01LjIzLDcuOS0xMS41Nyw3LjI5LTQuNDgtLjQzLTguNDktNC4xOS05LjMtOC44NS0uODEtNC42OSwxLjQxLTkuMjksNS41NC0xMS40OSw0LjExLTIuMTksOS4yMi0xLjQ4LDEyLjY1LDEuNzcuNjcuNjMsMS4yNywxLjM0LDEuNzEsMi4xNS43NCwxLjM4LDEuOTMsMi4xLDMuNDEsMi4zNywzLjA1LjU2LDUuNzgtLjQsNy4xOC0yLjYzLjk4LTEuNTYsMS4wOS0zLjI2LjY1LTQuOTYtLjc5LTMuMDQtMi4zOC01LjY2LTQuNjctNy44LTEuMzktMS4zLTMuMDQtMS45Mi01LjAzLTEuNzYtMy4wMi4yNC01LjUtLjkyLTcuMTktMy40NC0xLjc0LTIuNi0xLjg2LTUuNDItLjQxLTguMTcsMS40MS0yLjY4LDMuNzMtNCw2Ljc4LTQuMTksMy45Ny0uMjQsOC41MywzLjE5LDguMTMsOC42My0uMTIuMDktLjE2LjItLjA5LjMzWm0xMC4zNiw2Ni4xMWMtLjE4LDguMiw2Ljk5LDEzLjc2LDEzLjI1LDEzLjY2LDcuNjctLjEzLDEzLjQtNS44NCwxMy41MS0xMy40OS4xMS03LjY2LTYuMjgtMTMuODMtMTMuMjktMTMuODItOC45NC4wMS0xMy44Niw3LjczLTEzLjQ4LDEzLjY2WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xNDAuNTEsMzEuMjFjMS45OC0yLjM5LDQuNC00LjA1LDcuNTQtNC40NCw0LjcyLS41OSw4LjgxLjQ3LDExLjY4LDQuNi4wNy4xLjE2LjE4LjMuMzQuNC0uNDMuOC0uODUsMS4xOS0xLjI3LDIuODgtMy4wNCw2LjQ3LTQuMDYsMTAuNTUtMy42OSwxLjkzLjE4LDMuNzYuNjcsNS40MSwxLjczLDMuMDIsMS45NCw0LjQxLDQuODMsNC43Nyw4LjMuMS45OS4wNiwxLjk5LjA2LDIuOTksMCw2LjM1LDAsMTIuNywwLDE5LjA1LDAsLjQ0LjAxLjg4LS4wMywxLjMyLS4zMywzLjQ5LTIuNDEsNC40MS01LjA3LDQuMjgtMi42NC0uMTMtNC4wNy0xLjYzLTQuMzItNC4yMy0uMDktLjg4LS4xMi0xLjc1LS4xMi0yLjYzLDAtNS41OSwwLTExLjE4LDAtMTYuNzcsMC0uNTIsMC0xLjA0LS4wNy0xLjU1LS4yNC0yLjA2LTEuNTItMy41Mi0zLjUzLTQuMDQtMy43NS0uOTctNi45NSwxLjEyLTcuNTYsNC45My0uMTEuNzEtLjE3LDEuNDItLjE3LDIuMTQsMCw1LjQ3LDAsMTAuOTQsMCwxNi40MSwwLC43Ni0uMDIsMS41MS0uMTcsMi4yNi0uNTgsMi43NS0yLjUsMy42NC00LjkzLDMuNDUtMi44OC0uMjItNC4yNC0xLjY2LTQuMjctNC41Ny0uMDctNi4xMS0uMDQtMTIuMjItLjA0LTE4LjMzLDAtLjY4LDAtMS4zNS0uMS0yLjAzLS40MS0yLjg3LTIuMTEtNC4zOS01LTQuNDMtLjI4LDAtLjU2LjAzLS44NC4wNC0uMTMtLjA2LS4yMy0uMDQtLjMzLjA3LTMuNDYuNDktNC45MiwzLjQzLTQuOTYsNi4yMy0uMDUsMi45NS0uMDEsNS45LS4wMSw4Ljg2LDAsMi45MSwwLDUuODMsMCw4Ljc0LDAsLjYtLjA2LDEuMTktLjE2LDEuNzgtLjM5LDIuNDUtMi4wOSwzLjk0LTUuMTIsMy42NC0yLjY4LS4yNi0zLjc2LTEuNC00LjE2LTQuMDgtLjA2LS40My0uMTItLjg3LS4xMi0xLjMxLDAtOS4wMiwwLTE4LjAzLDAtMjcuMDUuMTEtLjA4LjE3LS4xOC4wNi0uMy4xNi0xLjA3LjQtMi4wOCwxLjA3LTIuOTksMS40NS0xLjk3LDYuNDItMi4xOSw3LjU5LDEuMTQuMTYuNDUuMzMuODkuMzksMS4zNy0uMDQuMTYtLjAzLjMuMTEuNDEuMjItLjAyLjMzLS4xNS4zNS0uMzZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOSIgZD0ibTIwNy4zMyw1OS44NGMtMi43NiwzLjctNi41Nyw1LjIxLTExLjA3LDUuMjQtLjM2LDAtLjcyLDAtMS4wNywwbC0uMjgtLjA0Yy0yLjA3LS4xMS00LjAyLS42NC01LjczLTEuODUtMi4wMy0xLjQzLTMuMTctMy40My0zLjcxLTUuODEtLjUzLTIuMzctLjUyLTQuNzUuMDItNy4xMi41OS0yLjU2LDIuMDUtNC40NSw0LjMzLTUuNzQsMi4yNi0xLjI4LDQuNzQtMS44OCw3LjI2LTIuMywyLjI0LS4zNyw0LjUtLjY0LDYuNzUtLjk2LjMxLS4wNC42My0uMTEuOTQtLjE4LDEuNzgtLjQsMi4yNi0uODYsMi40My0yLjMxLjIyLTEuOTUtLjM2LTMuMjYtMS43Ny0zLjk2LTIuODctMS40Mi03LjY5LS42MS05Ljk1LDEuNjctLjY1LjY1LTEuMjUsMS4zNi0xLjk0LDEuOTUtMi40LDIuMDgtNS44OCwxLjE5LTYuNjYtMS43LS4zOS0xLjQ2LS4wNS0yLjg1LjcxLTQuMTMsMS4xMS0xLjg5LDIuNzktMy4xNiw0LjcyLTQuMTEsMi40Ny0xLjIyLDUuMS0xLjgsNy44NS0xLjg2LDMuMjUtLjA3LDYuNDcuMTMsOS41NywxLjE5LDIuMDMuNywzLjg1LDEuNzMsNS4yLDMuNDYsMS4zNSwxLjczLDEuNzQsMy43MywxLjczLDUuODUtLjAyLDYuNTUtLjAzLDEzLjEtLjA1LDE5LjY1LDAsLjI0LjAzLjQ4LjA0LjcyLS4wOS4xMy0uMDUuMjMuMDYuMzIuMDksMS4yNy4yNSwyLjU0LjI3LDMuODEuMDIsMS41NC0uODEsMi43LTIuMjcsMy4xNi0xLjY1LjUyLTMuMzIuNDYtNC44OC0uMzMtMS4zNy0uNjktMS44OC0xLjk5LTIuMTQtMy40MS0uMDYtLjM1LS4wNi0uNzEtLjA5LTEuMDcsMC0uMDcuMDMtLjE2LDAtLjItLjA5LS4xLS4xOC0uMDMtLjI1LjA2Wm0uMDktMTMuNjJjLTIuNjcsMS4yMy01LjM3LDEuNzItOC4wNiwyLjI4LS45Ny4yLTEuOTIuNTQtMi44LDEuMDMtMS43NC45Ni0yLjM5LDIuNDEtMi4xMyw0LjY3LjE4LDEuNTcsMS4zMywyLjkxLDMuMDgsMy4yNiw0LjU3LjkyLDguNjgtMS4zLDkuNjYtNS43Ny4zOC0xLjc0LjE0LTMuNS4yNC01LjQ3WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xMTEuNjMsNjUuMDJjLTMuODUuMDQtNy4yOS0uNTEtMTAuNDctMi4yLTEuNjUtLjg3LTMuMDYtMi4wMi00LjAzLTMuNjUtLjgyLTEuMzctMS4wNi0yLjg2LS42Ny00LjM4Ljc1LTIuODgsNC40Ni0zLjk4LDYuOTEtMi4wNi42Mi40OSwxLjIyLDEuMDUsMS43LDEuNjgsMi43LDMuNTUsNy42NiwzLjQ5LDEwLjc0LDIuNTMsMS41Ny0uNDksMi4zNi0xLjU2LDIuNDEtMi45My4wNS0xLjE3LS40My0xLjk5LTEuNTEtMi40Ny0xLjU4LS42OS0zLjI3LTEuMDEtNC45My0xLjQxLTIuNjMtLjY0LTUuMjktMS4xNy03LjgzLTIuMTUtMS44Ny0uNzItMy42NS0xLjU5LTUuMTItMy4wMS0xLjU3LTEuNTItMi4zNi0zLjQtMi40Ni01LjU1LS4yOC01Ljg0LDIuNjMtMTAuMDksOC4yNC0xMS44NCw1LjAxLTEuNTYsMTAuMDEtMS4zMiwxNC45LjUzLDEuNzMuNjYsMy4yOCwxLjY0LDQuNDQsMy4xNS4xLjEzLjIuMjUuMjkuMzgsMS4yNCwxLjgzLDEuMTksNC4wMS0uMTEsNS40My0xLjI2LDEuMzgtMy41MywxLjYtNS40MS41Mi0uOTctLjU2LTEuOC0xLjMzLTIuNzEtMS45Ny0yLjU5LTEuODItNS40MS0xLjk5LTguMzMtMS4wMS0uODYuMjktMS40OC45Mi0xLjc1LDEuODQtLjM4LDEuMzEtLjA1LDIuMjYsMS4xMywyLjk1LDEuMDQuNjEsMi4yMi44OCwzLjM4LDEuMTcsMi45NC43Myw1LjkzLDEuMjQsOC44MywyLjEzLDEuMjYuMzksMi40OS44NSwzLjY2LDEuNDYsMi44MSwxLjQ1LDQuNjMsMy42NCw0Ljk1LDYuODcuNDgsNC45LTEuMTQsOS41OC02LjE4LDEyLjAxLTEuNDEuNjgtMi44OSwxLjE2LTQuNDEsMS40Ni0xLjk2LjM4LTMuOTUuNTktNS42Ni41NFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjU5Ljk2LDM0Ljg1YzAsNi40MywwLDEyLjg2LDAsMTkuMjgsMCwuMjgsMCwuNTYuMDQuODQuMTgsMS4zMi41MSwxLjYyLDEuODEsMS43Ny45OS4xMSwxLjk5LjA4LDIuOTcuMywxLjM1LjI5LDIuMDgsMS4wNiwyLjI4LDIuNDIuMzEsMi4xMS0uNzksMy45Mi0yLjg2LDQuNTEtMS40Ni40Mi0yLjk4LjU1LTQuNS40NC0xLjE1LS4wOC0yLjMtLjExLTMuNDUtLjM0LTMuMzktLjY4LTUuMjItMi41OC01LjY4LTYuMDQtLjE3LTEuMy0uMjctMi42MS0uMjctMy45NC4wMS01Ljk5LDAtMTEuOTgsMC0xNy45NywwLS40My4xLS44Ny0uMTMtMS4zNi0uODgtLjA1LTEuOCwwLTIuNy0uMTktMS43LS4zNS0yLjUyLTEuMzYtMi41NC0zLjIzLS4wMi0xLjkuNzQtMi44OSwyLjQ0LTMuMzIuOTQtLjI0LDEuOS0uMDcsMi45NC0uMjMsMC0xLjU1LjAxLTMuMDYsMC00LjU2LDAtLjguMDYtMS41OS4yNS0yLjM3LjQ2LTEuODcsMS44NC0zLjAxLDMuNzUtMy4xMywzLjgxLS4yMyw1LjU4LDEuNDIsNS42LDUuMjMsMCwxLjU5LDAsMy4xOCwwLDQuOS43OSwwLDEuNDkuMDIsMi4yLDAsLjY1LS4wMiwxLjI4LjA2LDEuOS4yMSwxLjI1LjMsMS45OSwxLjEzLDIuMTcsMi40LjA4LjU2LjA5LDEuMTEsMCwxLjY3LS4yMiwxLjMzLTEuMDUsMi4xNi0yLjQ0LDIuNDMtMS4xOS4yMy0yLjM4LjE5LTMuNTguMTctLjA2LS4wMy0uMTEtLjA2LS4xNy0uMDktLjAxLjA3LS4wMi4xMy0uMDQuMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjI5LjY3LDMzLjkxYzEuMDgtMS42NywyLjA1LTMuMjksMy40Ni00LjYzLDEuNzUtMS42NSwzLjc3LTIuMzIsNi4xNS0xLjkzLDEuOTQuMzIsMy4zOSwxLjgzLDMuNjMsMy43Ny4xMywxLjA4LjE2LDIuMTYtLjMsMy4xNy0uNjcsMS40Ni0xLjgsMi4zLTMuNDQsMi40LS44NC4wNS0xLjY3LjA3LTIuNTEuMTYtMy43My4zOC01Ljk0LDIuODgtNi4yMiw2LjY5LS4wOSwxLjIzLS4wNSwyLjQ3LS4wNSwzLjcxLDAsMy43NSwwLDcuNTEsMCwxMS4yNiwwLC42OC0uMDYsMS4zNS0uMTYsMi4wMi0uNDIsMy4xLTIuNTcsMy45Ny00Ljg0LDMuODktMy4wMy0uMTEtNC40Ny0xLjYxLTQuNjUtNC42NS0uMDYtLjk2LS4wNi0xLjkyLS4wNi0yLjg3LDAtNy43MSwwLTE1LjQxLDAtMjMuMTIsMC0uOTIuMDQtMS44NC4xNS0yLjc1LjI2LTIuMywxLjc1LTMuNjcsNC4wNC0zLjc5LjMyLS4wMi42NC0uMDEuOTYsMCwyLjIyLjEsMy42NSwxLjQzLDMuODIsMy42NS4wOC45OS4wMSwxLjk5LjAxLDIuOTlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTEuNjYsMTAxLjYydi0zNC41M2MuMS0uMDYuMTctLjEzLjIzLS4xMyw0LjkxLS4wMiw5LjgyLS4xNiwxNC43MS40MSw3LjQ0Ljg3LDEzLjAxLDYuMjYsMTQuMDYsMTMuNjguNTcsNC4wMi40LDcuOTMtMS4zOSwxMS42OS0yLjI3LDQuNzgtNS44OSw3LjcxLTExLjIsOC40OC0xLjkuMjctMy44LjQyLTUuNzIuNDEtMy4xNS0uMDItNi4zMSwwLTkuNDYsMC0uMzksMC0uNzgsMC0xLjIzLDBabTQuMzUtNC4zYzMuNjYuMDQsNy4yNC4wNiwxMC44MS0uNDIsNC4wMi0uNTQsNi44MS0yLjc0LDguNDktNi4zNiwxLjE5LTIuNTcsMS4zOC01LjMxLDEuMDEtOC4wNy0uNjctNC45Mi0zLjU3LTguNzMtOC4zOC0xMC4xOS0xLjQyLS40My0yLjg5LS42LTQuMzYtLjcxLTIuNS0uMTktNS4wMS0uMjItNy41OC0uMTd2MjUuOTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE1NS40NiwxMDEuNThoLTMuOThjLS4yOS0uNDQtLjE2LS44OS0uMTYtMS4zMS0uMDItNC45NS0uMDMtOS45LS4wNC0xNC44NSwwLS44NS0uMTQtMS42Ny0uMzEtMi40OS0uMzktMS44OC0yLjA5LTMuMzYtNC4wMi0zLjU5LTMuOC0uNDUtNy4yMiwyLjM0LTcuODksNi40Mi0uMjEsMS4zLS4zLDIuNjEtLjMsMy45MywwLDMuOTEsMCw3LjgyLDAsMTEuODRoLTQuMjN2LTI1Ljc5Yy43MiwwLDEuNDIsMCwyLjEzLDAsLjY3LDAsMS4zMywwLDIuMDcsMHYyLjgxYy41NS0uMTIuNzctLjUzLDEuMDctLjgxLDMuNC0zLjE3LDguNDgtMy42LDEyLjEyLTEuMDMsMS4yMS44NSwyLjA0LDIsMi43NCwzLjQuODctMS4wNywxLjY4LTIuMDcsMi43LTIuODgsMy4wOS0yLjQ2LDguNTEtMy4zMywxMi4yNC4wMywxLjQxLDEuMjYsMi4xMSwyLjg2LDIuNTIsNC42NC40MSwxLjguNTIsMy42My41Miw1LjQ3LDAsNC40NywwLDguOTQsMCwxMy40MiwwLC4yMy0uMDMuNDctLjA1Ljc3aC00LjJjLS4yNC0uNC0uMTMtLjg1LS4xMy0xLjI3LDAtNC42MywwLTkuMjYsMC0xMy45LDAtMS4yNC0uMTEtMi40Ny0uNDEtMy42Ny0uNDYtMS44Mi0xLjk1LTMuMDctMy43OS0zLjM2LTMuODQtLjYtNy4yLDIuMTMtNy45Niw1LjgyLS4zOCwxLjg0LS41MSwzLjcxLS41MSw1LjU5LDAsMy4xOSwwLDYuMzksMCw5LjU4LDAsLjM5LjA5Ljc5LS4xMywxLjI0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xODEuOCw4OS41MWMuMTYsNC4yMSwyLjc1LDcuNTcsNi40Nyw4LjU5LDQuNDYsMS4yMiw4LjEyLS42MSwxMS40OS01LjgsMS4xOC42LDIuMzYsMS4yMSwzLjY2LDEuODgtMS45NSwzLjc1LTQuNTUsNi42OC04LjcxLDcuNzItNS4wNSwxLjI3LTkuNjkuNDgtMTMuNDktMy4zNS02LjM2LTYuNDItNC45OC0xOC4zNiw0LjAzLTIyLjM4LDcuODUtMy41LDE3LjM4LDEsMTguNTgsMTAuMzguMTIuOTUuMjYsMS44OS4xNiwyLjk2aC0yMi4xOVptMTcuMzMtMy44NmMuMTUtLjExLjE0LS4yMywwLS4zNC0xLjE2LTQuMS01LjMyLTYuNjctMTAuMjgtNS45My0yLjk4LjQ0LTUuOTMsMy4wOC02LjMyLDYuMjMuMTEuMDIuMjMuMDcuMzQuMDcsNS40MiwwLDEwLjg0LS4wMiwxNi4yNi0uMDNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIxMy44Nyw3OC42NGMxLjg4LTEuODIsNC4wMy0zLjExLDYuNjYtMy40OSw1LjQ2LS44MSwxMC4wNSwyLjU3LDEwLjkxLDcuNTIuMjksMS42Ni40NSwzLjMyLjQ2LDQuOTkuMDEsNC4zNSwwLDguNzEsMCwxMy4wNiwwLC4yNy4wOC41Ni0uMTcuODVoLTMuOThjLS4yOC0uNDMtLjE1LS44OC0uMTUtMS4zMS0uMDItNC43MS0uMDMtOS40Mi0uMDQtMTQuMTQsMC0uODgtLjExLTEuNzYtLjMyLTIuNjEtLjgxLTMuMjgtMy41NS00Ljk2LTYuOTEtNC4yOS0zLjc0Ljc1LTYuNDIsMy44OS02LjY5LDcuNzEtLjMxLDQuNDMtLjEzLDguODYtLjE5LDEzLjI5LDAsLjQzLDAsLjg2LDAsMS4zNGgtNC4yNnYtMjUuNzdjMS4zNC0uMTMsMi43Mi0uMDQsNC4xNC0uMDUuMjUuOTkuMDIsMS45NS4xNSwyLjg4LS4wMy4xMSwwLC4yLjEuMjYuMTYsMCwuMjYtLjA5LjMxLS4yNFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTIzLjY4LDk4LjUyYy0uNjQuNTMtMS4yNSwxLjExLTEuOTMsMS41OS0yLjgyLDIuMDEtNS45NCwyLjctOS4zLDEuNzgtMy43Ni0xLjAzLTYuMjItNC4xLTYuNzItOC4xNi0uMTUtMS4xOS0uMjUtMi4zOC0uMjktMy41NywwLS4wOS0uMDEtLjE3LS4wMi0uMjZ2LTE0LjA4aDQuMjJjLjI0LjQyLjEyLjg2LjEzLDEuMjkuMDIsNC43MS4wMyw5LjQyLjA0LDE0LjEzLDAsLjk2LjE1LDEuOTEuNDEsMi44My44NSwzLjA5LDMuMTMsNC40MSw2LjI3LDQuMDgsNC4wNC0uNDMsNi45Ny0zLjc0LDcuMjUtNy44Mi4zLTQuMzkuMTMtOC43Ny4xOS0xMy4xNiwwLS40MywwLS44NiwwLTEuMzcsMS40Ni0uMTIsMi44My0uMDgsNC4yNi0uMDN2MjUuNzZoLTQuM3YtMi45N2MuMDUtLjA4LjA0LS4xNS0uMDQtLjItLjA1LjA1LS4xLjExLS4xNS4xNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTAwLjksODEuNmMtMS4xNy43My0yLjI4LDEuNDMtMy40MiwyLjE0LTEuMTEtMS41NC0yLjQtMi43OC00LjA4LTMuNTQtNC42OC0yLjEzLTEwLjYxLS45NC0xMy40NCwzLjY0LTMuMjgsNS4zMi0uMjIsMTIuNzUsNS45MiwxNC4yLDQsLjk1LDcuNjEuMTMsMTAuNTMtMi45NS4zNi0uMzcuNzEtLjc1LDEuMTMtMS4yLDEuMTEuNzMsMi4yLDEuNDUsMy4zNSwyLjIxLS43NSwxLjQ0LTEuODIsMi41OC0zLjExLDMuNDMtNS4xNSwzLjQxLTEwLjYzLDQuMDQtMTYuMjMsMS4zMy01LjItMi41Mi03Ljg3LTguMjMtNy4xMy0xMy45Ni42OS01LjM2LDUuNC0xMC45MSwxMS45NC0xMS42Nyw0LjE0LS40OCw3Ljk0LjIsMTEuMzUsMi42OCwxLjMxLjk1LDIuMzQsMi4xNSwzLjE5LDMuNzFaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTI2Ny43Miw3OC45NmMtLjk5Ljk1LTEuOSwxLjg0LTIuODcsMi43OC0uNjctLjUxLTEuMy0xLjE4LTIuMDktMS42NC0xLjEyLS42Ni0yLjI3LTEuMTgtMy42Mi0uODYtMS4xMy4yNy0xLjk5LjkyLTIuMjksMi4wNS0uMzIsMS4yMS4wNSwyLjI5LDEuMDYsMy4wOSwxLjE5Ljk1LDIuNTQsMS42NiwzLjg3LDIuMzgsMS4yLjY1LDIuMzMsMS4zOCwzLjM0LDIuMywyLjM5LDIuMTYsMi45OSw0Ljg1LDIuMDYsNy44NC0uOTQsMy4wNS0zLjExLDQuOTUtNi4yNCw1LjQyLTMuODYuNTctNy4wMy0uODItOS41MS0zLjkzLjgzLTEuMDgsMS43MS0yLjA0LDIuNjUtMy4wMS41NS4yMy44My43NCwxLjIzLDEuMSwxLjIsMS4wNiwyLjUsMS44Niw0LjE3LDEuODIsMS41My0uMDQsMi42Ny0uNzgsMy40Ny0yLjAyLjgxLTEuMjYuNDctMy4xLS43MS00LjEzLTEuMDMtLjktMi4yMy0xLjU0LTMuNDQtMi4xNi0xLjI1LS42My0yLjQ0LTEuMzYtMy41My0yLjI0LTIuNjMtMi4xNC0zLjAyLTUuMzMtMi4yNS03LjkyLjgtMi42OCwzLjU3LTQuNjIsNi41Ni00Ljc4LDEuNzMtLjA5LDMuMzIuMjksNC44LDEuMTksMS4yLjczLDIuMjksMS41OCwzLjMzLDIuNzJaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIzNS4wNCw3OS41OXYtMy43OWg0LjI0di05LjU2YzEuNDgtLjE2LDIuODMtLjA1LDQuMzEtLjA4djkuNTVoNS4wMWMuMzgsMS4zMy4wNSwyLjU0LjEzLDMuODdoLTQuOTVjLS4yNiwxLjY1LS4xNywxNy4zNC4xMSwxOC41OSwxLjE3LjMzLDIuNDEsMCwzLjY4LjIuMTYsMS4yLjAzLDIuMzguMDksMy42MS0xLjczLjQ3LTMuNDMuNTktNS4xMy4zNC0xLjY5LS4yNS0yLjc0LTEuNDItMy4wMi0zLjEyLS4xMy0uNzktLjE5LTEuNTgtLjE5LTIuMzguMDEtNS4yNywwLTEwLjU0LDAtMTUuODJ2LTEuNDFoLTQuMjlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNSIgZD0ibTE0MC41MSwzMS4yMWMtLjAzLjIxLS4xMy4zNS0uMzUuMzYtLjE1LS4xMS0uMTYtLjI1LS4xMS0uNDFsLjQ3LjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0yMTMuODcsNzguNjRjLS4wNS4xNS0uMTUuMjQtLjMxLjI0LS4xLS4wNi0uMTMtLjE1LS4xLS4yNi4xNCwwLC4yNy4wMS40MS4wMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTIzLjY4LDk4LjUyYy4wNS0uMDUuMS0uMTEuMTUtLjE2LjA4LjA1LjEuMTIuMDQuMi0uMDcsMC0uMTMsMC0uMTktLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMDUuNDEsODkuOWMwLC4wOS4wMS4xNy4wMi4yNi0uMTUtLjA4LS4xOC0uMTYtLjAyLS4yNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTk0LjkxLDY1LjA0bC4yOC4wNGMtLjEyLjEzLS4yMS4wOS0uMjgtLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Im0yMDcuMzMsNTkuODRjLjA3LS4wOS4xNS0uMTUuMjUtLjA2LjAzLjA0LDAsLjEzLDAsLjItLjA5LS4wNS0uMTctLjA5LS4yNi0uMTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTIxNi43MSw1Ny44MmMtLjExLS4wOS0uMTUtLjE5LS4wNi0uMzIuMDMuMDcuMDcuMTMuMDkuMjEsMCwuMDMtLjAyLjA3LS4wNC4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJtMTQ1LjQ2LDM1LjE0Yy4wOS0uMS4yLS4xMy4zMy0uMDctLjA5LjExLS4yLjE1LS4zMy4wN1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJtMjU5Ljk2LDM0Ljg1Yy4wMS0uMDcuMDItLjEzLjA0LS4yLjA2LjAzLjExLjA2LjE3LjA5LS4wNS4wNi0uMTIuMS0uMi4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTMxLDMxLjY1Yy4xLjEzLjA1LjIyLS4wNi4zLS4wNS0uMTItLjAzLS4yMi4wNi0uM1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJtMjguODMsMjIuNjRjLS4wNy0uMTQtLjAzLS4yNC4wOS0uMzMuMDYuMTMuMDIuMjQtLjA5LjMzWiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im01Mi40OSw5OC4zNGMyLjM4LDAsNC4zNC0uNjgsNS45Ni0yLjA3LDQuODYtNC4xOCw0LjM2LTExLjgtMS0xNS40Ni0zLjc3LTIuNTctOC41Ny0yLTExLjU2LDEuNDUtMi4zNCwyLjctMi45NSw1Ljc5LTIuMTIsOS4yNi44OSwzLjcxLDQuNjksNy4wNiw4LjcyLDYuODNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyIgZD0ibTE5OS4xMyw4NS42NWMwLS4xMSwwLS4yMywwLS4zNC4xNC4xMS4xNS4yMywwLC4zNFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n 'get-template-names': GetTemplateNamesComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n 'generate-document': 'Document genereren',\n 'get-template-names': 'Templatenamen ophalen',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n templateGroup: 'Template groep',\n templateName: 'Template naam',\n templateGroupName: 'Template groepsnaam',\n resultingTemplateNameListProcessVariableName:\n 'Naam van process variable om lijst in op te slaan',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n 'generate-document': 'Generate document',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n templateGroup: 'Template group',\n templateName: 'Template name',\n templateGroupName: 'Template group name',\n resultingTemplateNameListProcessVariableName: 'Name of process variable to save the list in',\n\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n 'generate-document': 'Dokument generieren',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n templateGroup: 'Template gruppe',\n templateName: 'Template name',\n templateGroupName: 'Template gruppe name',\n resultingTemplateNameListProcessVariableName:\n 'Name der Prozessvariable, um die Liste zu speichern',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {DocumentenApiManagementAllVersions} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getManagementApiAllVersions(): Observable<DocumentenApiManagementAllVersions> {\n return this.http.get<DocumentenApiManagementAllVersions>(\n `${this.valtimoEndpointUri}management/v1/documenten-api/versions`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {DocumentenApiService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n styleUrls: ['./documenten-api-configuration.component.scss'],\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly apiVersionItems$: Observable<Array<{id: string; text: string}>> =\n this.documentenApiService.getManagementApiAllVersions().pipe(\n map(response =>\n response.versions.map(version => ({\n id: version,\n text: version,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly documentenApiService: DocumentenApiService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n if (!formValue.apiVersion) {\n formValue.apiVersion = null;\n }\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Documenten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/documenten/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{apiVersionItems: apiVersionItems$ | async} as pObs\">\n <v-select\n [loading]=\"!pObs.apiVersionItems\"\n [items]=\"pObs.apiVersionItems\"\n [margin]=\"true\"\n name=\"apiVersion\"\n [title]=\"'apiVersion' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.apiVersion\"\n [required]=\"false\"\n [tooltip]=\"'apiVersionTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {StoreTempDocumentConfig, DocumentLanguage, DocumentStatus} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n styleUrls: ['./store-temp-document-configuration.component.scss'],\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n styleUrls: ['./store-uploaded-document-configuration.component.scss'],\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DownloadDocumentConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-download-document-configuration',\n templateUrl: './download-document-configuration.component.html',\n styleUrls: ['./download-document-configuration.component.scss'],\n})\nexport class DownloadDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DownloadDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DownloadDocumentConfig> =\n new EventEmitter<DownloadDocumentConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DownloadDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n formValueChange(formValue: DownloadDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DownloadDocumentConfig): void {\n const valid = !!formValue.processVariableName;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n 'download-document': DownloadDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n apiVersion: 'Documenten API versie',\n apiVersionTooltip: 'Selecteer de versie van de Documenten API',\n downloadDocumentMessage:\n 'Het downloaden van een document vanuit de Documenten API vereist geen configuratie.',\n processVariableName:\n 'Wat is de naam van de procesvariabele waarnaar u het document wilt downloaden?',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n apiVersion: 'Documenten API version',\n apiVersionTooltip: 'Select the version of the Documenten API',\n downloadDocumentMessage:\n 'Downloading a document form the Documenten API does not require any configuration.',\n processVariableName:\n 'What is the name of the process variable you want to download the document to?',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n 'download-document': 'Dokument herunterladen',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n apiVersion: 'Documenten-API-Version',\n apiVersionTooltip: 'Wählen Sie die Version der Documenten-API aus',\n downloadDocumentMessage:\n 'Das Herunterladen eines Dokuments aus der Documenten-API erfordert keine Konfiguration.',\n processVariableName:\n 'Wie lautet der Name der Prozessvariablen, in die Sie das Dokument herunterladen möchten?',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface DocumentenApiConfig extends PluginConfigurationData {\n url: string;\n bronorganisatie: string;\n authenticationPluginConfiguration: string;\n apiVersion?: string;\n}\n\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentLanguage = 'nld';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ninterface StoreTempDocumentConfig {\n fileName: string;\n confidentialityLevel: ConfidentialityLevel;\n title: string;\n description: string;\n localDocumentLocation: string;\n storedDocumentUrl: string;\n taal: DocumentLanguage;\n status: DocumentStatus;\n informatieobjecttype: string;\n}\n\ninterface DocumentenApiManagementAllVersions {\n versions: Array<string>;\n}\n\nexport interface DownloadDocumentConfig {\n processVariableName: string;\n}\n\nexport {\n DocumentenApiConfig,\n StoreTempDocumentConfig,\n ConfidentialityLevel,\n DocumentLanguage,\n DocumentStatus,\n DocumentenApiManagementAllVersions,\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecttypen API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objecttypen.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Zaken API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/zaken/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'titelTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {ResultaatType, StatusType} from '../models';\nimport {Eigenschap} from '../models/eigenschap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getStatusTypesByCaseDefinition(caseDefinitionId: string): Observable<Array<StatusType>> {\n return this.http.get<Array<StatusType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/statustype`\n );\n }\n\n public getResultaatTypesByCaseDefinition(\n caseDefinitionId: string\n ): Observable<Array<ResultaatType>> {\n return this.http.get<Array<ResultaatType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/resultaattype`\n );\n }\n\n public getEigenschappenByCaseDefinition(\n caseDefinitionName: string\n ): Observable<Array<Eigenschap>> {\n return this.http.get<Array<Eigenschap>>(\n `${this.valtimoEndpointUri}management/v1/case-definition/${caseDefinitionName}/catalogi-eigenschappen`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, SetZaakStatusConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-set-zaak-status-configuration',\n templateUrl: './set-zaak-status-configuration.component.html',\n styleUrls: ['./set-zaak-status-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class SetZaakStatusConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<SetZaakStatusConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SetZaakStatusConfig> =\n new EventEmitter<SetZaakStatusConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n readonly clearStatusSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly statusTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getStatusTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const statusTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = statusTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const statusTypeUrl = prefillConfig?.statustypeUrl;\n\n if (statusTypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === statusTypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SetZaakStatusConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SetZaakStatusConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakStatusToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakStatusToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearStatusSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: SetZaakStatusConfig): void {\n const valid = !!formValue.statustypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n statustoelichting: formValue.statustoelichting,\n statustypeUrl: formValue.statustypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakResultaatConfig, InputOption} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-resultaat-configuration',\n templateUrl: './create-zaak-resultaat-configuration.component.html',\n styleUrls: ['./create-zaak-resultaat-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakResultaatConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakResultaatConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakResultaatConfig> =\n new EventEmitter<CreateZaakResultaatConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n readonly clearStatusSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly resultaatTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getResultaatTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const resultaatTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = resultaatTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const resultaatTypeUrl = prefillConfig?.resultaattypeUrl;\n\n if (resultaatTypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === resultaatTypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakResultaatConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakResultaatConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakResultaatToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearStatusSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakResultaatConfig): void {\n const valid = !!formValue.resultaattypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n toelichting: formValue.toelichting,\n resultaattypeUrl: formValue.resultaattypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"toelichting\"\n [title]=\"'resultaattoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'resultaattoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakResultaatToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakResultaatToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'resultaattypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipResultaat' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.resultaatTypeItems && obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.resultaatTypeItems ||\n !obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.resultaattypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.resultaatTypeItems\"\n [tooltip]=\"'resultaattypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-natuurlijk-persoon-zaak-rol.component.scss'],\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(\n null\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNietNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-create-niet-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-niet-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-niet-natuurlijk-persoon-zaak-rol.component.scss'],\n})\nexport class CreateNietNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNietNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ =\n new BehaviorSubject<CreateNietNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"innNnpId\"\n [title]=\"'innNnpId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.innNnpId\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'innNnpIdTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"annIdentificatie\"\n [title]=\"'annIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.annIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'annIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakConfig, InputOption} from '../../models';\nimport {OpenZaakService, ZaakType, ZaakTypeLink} from '@valtimo/resource';\nimport {DocumentService} from '@valtimo/document';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly zaakTypeItems$: Observable<Array<SelectItem>> = this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n this.openZaakService.getZaakTypes(),\n ...processDocumentDefinitions.map(processDocumentDefinition =>\n this.openZaakService.getZaakTypeLink(\n processDocumentDefinition.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(results => {\n const zaakTypes = results[0] as Array<ZaakType>;\n const zaakTypeLinks = results.filter((result, index) => index !== 0) as Array<ZaakTypeLink>;\n\n return zaakTypeLinks\n .filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)\n .map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }));\n }),\n tap(zaakTypeSelectItems => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const zaakTypeUrl = prefillConfig?.zaaktypeUrl;\n\n if (\n zaakTypeUrl &&\n !((zaakTypeSelectItems as Array<SelectItem>) || []).find(item => item.id === zaakTypeUrl)\n ) {\n this.selectedInputOption$.next('text');\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly documentService: DocumentService,\n private readonly modalService: ModalService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakConfig): void {\n const inputTypeZaakTypeToggle = formValue.inputTypeZaakTypeToggle;\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (inputTypeZaakTypeToggle) {\n this.selectedInputOption$.next(inputTypeZaakTypeToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectItemsIncludeId(selectItems: Array<SelectItem>, id: string): boolean {\n if (Array.isArray(selectItems)) {\n return !!selectItems.find(item => item.id === id);\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n rsin: formValue.rsin,\n zaaktypeUrl: formValue.zaaktypeUrl,\n manualZaakTypeUrl: formValue.manualZaakTypeUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n zaakTypeSelectItems: zaakTypeItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakTypeToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'selection'\"\n [required]=\"true\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.zaakTypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n oneSelectItem(obs.zaakTypeSelectItems)\n \"\n [defaultSelectionId]=\"\n (selectItemsIncludeId(obs.zaakTypeSelectItems, obs.prefill?.zaaktypeUrl) &&\n obs.prefill?.zaaktypeUrl) ||\n (oneSelectItem(obs.zaakTypeSelectItems) && obs.zaakTypeSelectItems[0].id)\n \"\n [required]=\"true\"\n [loading]=\"!obs.zaakTypeSelectItems\"\n [tooltip]=\"'zaakTypeSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SetZaakopschortingConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n providers: [PluginTranslatePipe],\n selector: 'valtimo-set-zaak-opschorting-configuration',\n templateUrl: './set-zaakopschorting.component.html',\n})\nexport class SetZaakopschortingComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SetZaakopschortingConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<SetZaakopschortingConfig> =\n new EventEmitter<SetZaakopschortingConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<SetZaakopschortingConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakopschortingConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SetZaakopschortingConfig): void {\n const valid = !!(\n formValue.toelichtingVerlenging &&\n formValue.toelichtingOpschorting &&\n formValue.verlengingsduur\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"verlengingsduur\"\n [title]=\"'verlengingsduur' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verlengingsduur\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingVerlenging\"\n [title]=\"'toelichtingVerlenging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingVerlenging\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingOpschorting\"\n [title]=\"'toelichtingOpschorting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingOpschorting\"\n [disabled]=\"\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {StartHersteltermijnConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-start-hersteltermijn-configuration',\n templateUrl: './start-hersteltermijn-configuration.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class StartHersteltermijnConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StartHersteltermijnConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StartHersteltermijnConfig> =\n new EventEmitter<StartHersteltermijnConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<StartHersteltermijnConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StartHersteltermijnConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StartHersteltermijnConfig): void {\n const valid = !!formValue.maxDurationInDays;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n maxDurationInDays: formValue.maxDurationInDays,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <ng-container>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'startHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"maxDurationInDays\"\n [min]=\"1\"\n [title]=\"'maxDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.maxDurationInDays\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'maxDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-end-hersteltermijn',\n templateUrl: './end-hersteltermijn.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class EndHersteltermijnComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<any>;\n @Input() pluginId: string;\n\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _saveSubscription = new Subscription();\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription.add(\n this.save$?.subscribe(() => {\n this.configuration.emit({});\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, CreateZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaakeigenschap',\n templateUrl: './create-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakeigenschapConfig> =\n new EventEmitter<CreateZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, UpdateZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-update-zaakeigenschap',\n templateUrl: './update-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class UpdateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<UpdateZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<UpdateZaakeigenschapConfig> =\n new EventEmitter<UpdateZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<UpdateZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: UpdateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: UpdateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, DeleteZaakeigenschapConfig} from '../../models';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-delete-zaakeigenschap',\n templateUrl: './delete-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class DeleteZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<DeleteZaakeigenschapConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteZaakeigenschapConfig> =\n new EventEmitter<DeleteZaakeigenschapConfig>();\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionName$ = new BehaviorSubject<string>('');\n readonly clearEigenschapSelection$ = new Subject<void>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly eigenschapSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.zakenApiService.getEigenschappenByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const eigenschappen = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({\n id: eigenschap.url,\n text: eigenschap.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const eigenschapUrl = prefillConfig?.eigenschapUrl;\n\n if (eigenschapUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DeleteZaakeigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n selectCaseDefinition(caseDefinitionName: string): void {\n this.selectedCaseDefinitionName$.next(caseDefinitionName);\n this.clearEigenschapSelection$.next();\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: DeleteZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {LoadingModule, ToggleModule} from 'carbon-components-angular';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateZaakConfigurationComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateZaakConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'set-zaakstatus': SetZaakStatusConfigurationComponent,\n 'create-zaakresultaat': CreateZaakResultaatConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n 'create-niet-natuurlijk-persoon-zaak-rol': CreateNietNatuurlijkPersoonZaakRolComponent,\n 'set-zaakopschorting': SetZaakopschortingComponent,\n 'start-hersteltermijn': StartHersteltermijnConfigurationComponent,\n 'end-hersteltermijn': EndHersteltermijnComponent,\n 'create-zaakeigenschap': CreateZaakeigenschapComponent,\n 'update-zaakeigenschap': UpdateZaakeigenschapComponent,\n 'delete-zaakeigenschap': DeleteZaakeigenschapComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n verlengingsduur: 'Aantal dagen dat de einddatum wordt verlengd (in cijfers)',\n toelichtingVerlenging: 'Reden voor verlenging',\n toelichtingOpschorting: 'Reden voor opschorting',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n zaakTypeSelectTooltip:\n 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - natuurlijk persoon',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - niet natuurlijk persoon',\n 'set-zaakopschorting': 'Schort een zaak op',\n 'start-hersteltermijn': 'Start hersteltermijn',\n startRecoveryPeriodInformation:\n 'Deze actie start een hersteltermijn voor de zaak die aan dit proces is gekoppeld.',\n maxDurationInDays: 'Maximale duur in dagen',\n maxDurationInDaysTooltip:\n 'De ingevoerde waarde vertegenwoordigt de maximale duur van de hersteltermijn in dagen.',\n 'end-hersteltermijn': 'Beëindig hersteltermijn',\n endHersteltermijnInformation: 'Beëindigt de momenteel lopende hersteltermijn van de Zaak',\n 'create-zaakeigenschap': 'Creëer zaakeigenschap',\n 'update-zaakeigenschap': 'Bijwerken zaakeigenschap',\n 'delete-zaakeigenschap': 'Verwijder zaakeigenschap',\n eigenschapUrl: 'Eigenschap URL',\n eigenschapUrlTooltip: 'URL-referentie naar de eigenschap.',\n eigenschapValue: 'Eigenschap waarde',\n eigenschapValueTooltip: 'De waarde van de zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Selecteer een eigenschap.',\n inputTypeEigenschapToggle: 'Invoertype eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Selecteer de dossierdefinitie waarvan u een eigenschap wilt selecteren. Als er slechts één eigenschap beschikbaar is, wordt deze standaard geselecteerd.',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n annIdentificatie: 'Ander niet natuurlijk persoon identificatie',\n annIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander niet-natuurlijk persoon (annIdentificatie).',\n inpA_nummer: 'Administratienummer persoon',\n innNnpId: 'Niet natuurlijk persoonsnummer',\n innNnpIdTooltip:\n 'Het door een kamer toegekend uniek nummer voor de ingeschreven niet-natuurlijk persoon (innNnpId).',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon',\n inpA_nummerTooltip: 'Het administratienummer van de persoon, bedoeld in de Wet BRP',\n 'set-zaakstatus': 'Zaakstatus aanmaken',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL-referentie naar het statustype.',\n statustoelichting: 'Zaakstatus toelichting',\n statustoelichtingTooltip:\n 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',\n 'create-zaakresultaat': 'Zaakresultaat aanmaken',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL-referentie naar het resultaattype.',\n resultaattoelichting: 'Zaakresultaat toelichting',\n resultaattoelichtingTooltip: 'Een toelichting op wat het resultaat van de zaak inhoudt.',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Zaakstatus-type wilt selecteren. Als er slechts één statustype beschikbaar is, wordt deze standaard geselecteerd.',\n caseDefinitionTooltipResultaat:\n 'Selecteer de dossierdefinitie waarvan u een Zaakresultaat-type wilt selecteren. Als er slechts één resultaattype beschikbaar is, wordt deze standaard geselecteerd.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Selecteer het statustype.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',\n inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n verlengingsduur: 'Amount of days to prolong (in numbers)',\n toelichtingVerlenging: 'Reason for prolonging',\n toelichtingOpschorting: 'Reason for suspending',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n zaakTypeSelectTooltip:\n 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - not a natural person',\n 'set-zaakopschorting': 'Suspend case',\n 'start-hersteltermijn': 'Start recovery period',\n startHersteltermijnInformation:\n 'This action initiates a recovery period for the case associated with this process.',\n maxDurationInDays: 'Maximum duration in days',\n maxDurationInDaysTooltip:\n 'The entered value represents the maximum duration of the recovery period in days.',\n 'end-hersteltermijn': 'End recovery period',\n endHersteltermijnInformation: 'Ends the currently running recovery period of the Zaak',\n 'create-zaakeigenschap': 'Create zaakeigenschap',\n 'update-zaakeigenschap': 'Update zaakeigenschap',\n 'delete-zaakeigenschap': 'Delete zaakeigenschap',\n eigenschapUrl: 'Property URL',\n eigenschapUrlTooltip: 'URL reference to the eigenschap.',\n eigenschapValue: 'Eigenschap value',\n eigenschapValueTooltip: 'The value of the zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Select a eigenschap.',\n inputTypeEigenschapToggle: 'Input type eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Select the case definition from which you want to select an eigenschap. If only one eigenschap is available, it will be selected by default.',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n annIdentificatie: 'Other not natural person identification',\n annIdentificatieTooltip:\n 'The unique number issued by the municipality for another non-natural person (annIdentificatie).',\n inpA_nummer: 'Administration number person',\n innNnpId: 'Not a natural personal number',\n innNnpIdTooltip:\n 'The unique number assigned by the government for the registered non-natural person (innNnpId).',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person',\n inpA_nummerTooltip: 'The administration number of the person, as referred to in the Wet BRP',\n 'set-zaakstatus': 'Create zaakstatus',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL reference to the status type.',\n statustoelichting: 'Zaakstatus explanation',\n statustoelichtingTooltip:\n 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',\n 'create-zaakresultaat': 'Create Zaakresultaat',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL reference to the resultaat type.',\n resultaattoelichting: 'Zaakresultaat explanation',\n resultaattoelichtingTooltip: 'An explanation of what the result of the zaak means.',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Zaakstatus type. If only one status type is available, it will be selected by default.',\n caseDefinitionTooltipResultaat:\n 'Select the case definition from which you want to select a Resultaat type. If only one resultaat type is available, it will be selected by default.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Select the status type.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Select the resultaat type.',\n inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n verlengingsduur: 'Anzahl der Tage, um die das Enddatum verlängert wird (in Zahlen)',\n toelichtingVerlenging: 'Grund für die Verlängerung',\n toelichtingOpschorting: 'Grund für die Suspendierung',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n zaakTypeSelectTooltip:\n 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – keine natürliche Person',\n 'set-zaakopschorting': 'Einen Fall aussetzen',\n 'start-hersteltermijn': 'Beginnen Sie mit der Erholungsphase',\n startHersteltermijnInformation:\n 'Diese Aktion startet eine Erholungszeit für den Fall, der mit diesem Prozess verknüpft ist.',\n maxDurationInDays: 'Maximale Dauer in Tagen',\n maxDurationInDaysTooltip:\n 'Der eingegebene Wert stellt die maximale Dauer der Erholungszeit in Tagen dar.',\n 'end-hersteltermijn': 'Beenden Sie mit der Erholungsphase',\n endHersteltermijnInformation: 'Beenden die aktuelle Erholungsphase des Case',\n 'create-zaakeigenschap': 'Zaakeigenschaft erstellen',\n 'update-zaakeigenschap': 'Zaakeigenschaft aktualisieren',\n 'delete-zaakeigenschap': 'Zaakeigenschaft löschen',\n eigenschapUrl: 'Eigenschafts-URL',\n eigenschapUrlTooltip: 'URL-Referenz zur Eigenschaft.',\n eigenschapValue: 'Eigenschaftswert',\n eigenschapValueTooltip: 'Der Wert der Zaakeigenschaft',\n inputTypeEigenschapToggle: 'Eingabetyp eigenschap-URL',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Wählen Sie den eigenschap aus.',\n caseDefinitionTooltipEigenschap:\n 'Wählen Sie die eigenschap aus, aus der Sie einen eigenschap auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n annIdentificatie: 'Andere Identifizierung keine natürlicher Personen',\n annIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere nicht natürliche Person vergeben wird (annIdentificatie).',\n inpA_nummer: 'Verwaltungsnummer Person',\n innNnpId: 'Keine natürliche Personennummer',\n innNnpIdTooltip:\n 'Die von der Regierung vergebene eindeutige Nummer für die registrierte nicht natürliche Person (innNnpId).',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird',\n inpA_nummerTooltip: 'Die Verwaltungsnummer der Person im Sinne des Wet BRP',\n 'set-zaakstatus': 'Fallstatus erstellen',\n statustypeUrl: 'URL des Zaakstatustyps',\n statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',\n statustoelichting: 'Erklärung des Zaakstatus',\n statustoelichtingTooltip:\n 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',\n 'create-zaakresultaat': 'Zaakgebnis erstellen',\n resultaattypeUrl: 'URL des Zaakgebnistyps',\n resultaattypeUrlTooltip: 'URL-Verweis auf den Ergebnistyp.',\n resultaattoelichting: 'Geschäftsergebniserklärung',\n resultaattoelichtingTooltip: 'Eine Erklärung, was das Ergebnis des Zaak beinhaltet.',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakstatus-typ auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n caseDefinitionTooltipResultaat:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakresultaat-typ auswählen möchten. Wenn nur ein Resultaattyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Wählen Sie den Statustyp aus.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',\n inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objectenapi.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteObjectConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-delete-object',\n templateUrl: './delete-object.component.html',\n styleUrls: ['./delete-object.component.scss'],\n})\nexport class DeleteObjectComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteObjectConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteObjectConfig> =\n new EventEmitter<DeleteObjectConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DeleteObjectConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteObjectConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteObjectConfig): void {\n const valid = !!formValue.objectUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'deleteObjectWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"objectUrl\"\n [title]=\"'objectUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'objectUrlTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.objectUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'delete-object': DeleteObjectComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'delete-object': 'Object verwijderen',\n deleteObjectWarning:\n 'Waarschuwing: de objecten die met deze actie verwijderd worden mogen niet gekoppeld zijn aan een Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"De URL van het object dat verwijderd moet worden uit de Objecten API. De ingevoerde waarde mag een procesvariable zijn, bijvoorbeeld: 'pv:object'.\",\n },\n en: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'delete-object': 'Delete object',\n deleteObjectWarning:\n 'Warning: the objects that are deleted with this action must not be linked to a Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"The URL of the object to be removed from the Objecten API. The value entered may be a process variable, for example: 'pv:object'.\",\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'delete-object': 'Objekt löschen',\n deleteObjectWarning:\n 'Achtung: Die Objekte, die mit dieser Aktion gelöscht werden, dürfen nicht mit einem Zaak verknüpft werden.',\n objectUrl: 'Objekt URL',\n objectUrlTooltip:\n \"Die URL des Objekts, das aus der Objecten API entfernt werden soll. Der eingegebene Wert kann eine Prozessvariable sein, zum Beispiel: 'pv:object'.\",\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Catalogi API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/catalogi/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetStatustypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-statustype-configuration',\n templateUrl: './get-statustype-configuration.component.html',\n styleUrls: ['./get-statustype-configuration.component.scss'],\n})\nexport class GetStatustypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetStatustypeConfig> =\n new EventEmitter<GetStatustypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetStatustypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetStatustypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypeConfig): void {\n const valid = !!(formValue.statustype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"statustype\"\n [title]=\"'statustype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'statustypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluittypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-besluittype-configuration',\n templateUrl: './get-besluittype-configuration.component.html',\n styleUrls: ['./get-besluittype-configuration.component.scss'],\n})\nexport class GetBesluittypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluittypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluittypeConfig> =\n new EventEmitter<GetBesluittypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetBesluittypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetBesluittypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluittypeConfig): void {\n const valid = !!(formValue.besluittype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getBesluittypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluittype\"\n [title]=\"'besluittype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluittypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluitProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetResultaattypeConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-set-resultaattype-configuration',\n templateUrl: './get-resultaattype-configuration.component.html',\n styleUrls: ['./get-resultaattype-configuration.component.scss'],\n})\nexport class GetResultaattypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetResultaattypeConfig> =\n new EventEmitter<GetResultaattypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetResultaattypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetResultaattypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypeConfig): void {\n const valid = !!(formValue.resultaattype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultaattype\"\n [title]=\"'resultaattype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'resultaattypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'reslutaatProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\n\n@NgModule({\n declarations: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n ],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'get-besluittype': GetBesluittypeConfigurationComponent,\n 'get-resultaattype': GetResultaattypeConfigurationComponent,\n 'get-statustype': GetStatustypeConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'get-statustype': 'Statustype opvragen',\n getStatustypeInformation:\n 'De statustype wordt opgehaald en daarna opgeslagen in een process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generieke aanduiding van de aard van een status.',\n processVariable: 'Naam procesvariabele',\n processVariableTooltip:\n 'Nadat de statustype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n 'get-besluittype': 'Besluittype opvragen',\n getBesluittypeInformation:\n 'Het besluittype wordt opgehaald en daarna opgeslagen in een process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Omschrijving van de aard van het besluit.',\n besluitProcessVariableTooltip:\n 'Nadat de besluittype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n 'get-resultaattype': 'Resultaattype opvragen',\n getResultaattypeInformation:\n 'Het resultaattype wordt opgehaald en daarna opgeslagen in een process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Omschrijving van de aard van het resultaat.',\n reslutaatProcessVariableTooltip:\n 'Nadat de resultaattype is opgehaald, wordt deze opgeslagen in een process variable met deze naam.',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description: 'API for storage and retrieval of zaaktype catalogs, zaaktypes and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'get-statustype': 'Retrieve statustype',\n getStatustypeInformation:\n 'The statustype is retrieved and then stored in a process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generic indication of the nature of a status.',\n processVariable: 'Process variable name',\n processVariableTooltip:\n 'Once the statustype is retrieved, it is stored in a process variable with the given name.',\n 'get-besluittype': 'Retrieve besluittype',\n getBesluittypeInformation:\n 'The besluittype is retrieved and then stored in a process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Description of the nature of the decision.',\n besluitProcessVariableTooltip:\n 'After the besluittype is retrieved, it is stored in a process variable with this name.',\n 'get-resultaattype': 'Retrieve resultaattype',\n getResultaattypeInformation:\n 'The resultaattype is retrieved and then stored in a process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Description of the nature of the result.',\n reslutaatProcessVariableTooltip:\n 'After the resultaattype is retrieved, it is stored in a process variable with this name.',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'get-statustype': 'Statustype anfordern',\n getStatustypeInformation:\n 'Der Statustyp wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generische Angabe der Art eines Status.',\n processVariable: 'Prozessvariablenname',\n processVariableTooltip:\n 'Sobald der Statustype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-besluittype': 'Besluittype anfordern',\n getBesluittypeInformation:\n 'Der besluittype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Beschreibung der Art der besluit.',\n besluitProcessVariableTooltip:\n 'Sobald der besluittype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-resultaattype': 'Resultaattype anfordern',\n getResultaattypeInformation:\n 'Der resultaattype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Beschreibung der Art der resultaat.',\n reslutaatProcessVariableTooltip:\n 'Sobald der resultaattype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Notificaties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://opennotificaties.example.com/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://{gzac-front-end-url}/api/v1/notificatiesapi/callback\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip:\n 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Notificaties Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/components';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Portaaltaak Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"completeTaakProcess\"\n [title]=\"'completeTaakProcess' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.completeTaakProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'completeTaakProcessTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <valtimo-carbon-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></valtimo-carbon-multi-input>\n <valtimo-carbon-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate: pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></valtimo-carbon-multi-input>\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n name=\"verloopDurationInDays\"\n [type]=\"'number'\"\n [title]=\"'verloopDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verloopDurationInDays?.toString()\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'verloopDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n CarbonMultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/components';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n CarbonMultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg us, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Voor hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier de sleutel van het Form.IO-veld dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Voor hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar de sleutel van het Form.IO-veld waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n completeTaakProcess: 'Geüploade documentverwerkingsproces',\n completeTaakProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n verloopDurationInDays: 'Verlooptijd taak in dagen',\n verloopDurationInDaysTooltip:\n 'Het aantal dagen na aanmaken van een taak dat deze verloopt. Deze wordt alleen ingesteld voor de portaal taak, niet in het BPMN proces.',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notificaties API plugin. If the selection box remains empty, the Notificaties API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the key of the Form.IO field to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the key of the Form.IO field where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n completeTaakProcess: 'Process to complete Portaaltaak',\n completeTaakProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n verloopDurationInDays: 'Number of days for the task to expire',\n verloopDurationInDaysTooltip:\n 'The number of days from the creation time until the task expires. This will only be used in the portal task. The BPMN due date needs to be configured separately.',\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n 'create-portaaltaak': 'Portalaufgabe erstellen',\n 'complete-portaaltaak': 'Portaaltaak komplett',\n formType: 'Formulartyp',\n formTypeTooltip:\n 'Wählen Sie hier aus, ob das anzuzeigende Formular aus einer Set-Definition oder von einer externen URL stammen soll.',\n id: 'Formulardefinition',\n url: 'URL',\n sendData: 'Auftragsdaten für den Empfänger',\n sendDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die an die Objecten API gesendet werden sollen. Der Schlüssel hier ist der Schlüssel des Form.IO-Felds, das gefüllt werden soll (z. B. 'firstName‘). Der Wert zeigt auf die Daten, mit denen dieses Feld gefüllt wird muss ausgefüllt werden (z.B. 'doc:/customer/firstName').\",\n receiveData: 'Vom Empfänger eingegebene Informationen',\n receiveDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die von der Objecten API empfangen werden sollen. Der Schlüssel hier ist der Ort, an dem die Daten gespeichert werden sollen (z. B. 'doc:/customer/signedAgreement'). Der Wert zeigt auf den Schlüssel des Form.IO-Feld, aus dem die Daten stammen sollen (z. B. '/signedAgreement').\",\n receiver: 'Empfänger',\n receiverTooltip:\n 'Bestimmen Sie hier, wer die Daten der abgeschlossenen Aufgabe erhalten soll.',\n zaakInitiator: 'Initiator des Falles',\n other: 'Andere',\n otherReceiver: 'Anderer Empfänger',\n otherReceiverTooltip:\n 'Sie haben die Option für einen anderen Empfänger gewählt. Wählen Sie hier aus, welcher Typ das sein soll.',\n kvk: 'KVK-Nummer',\n bsn: 'Bürgerservicenummer (BSN)',\n kvkTooltip: 'Die KVK-Nummer des gewünschten Empfängers.',\n bsnTooltip: 'Die Bürgerservicenummer (BSN) des gewünschten Empfängers.',\n completeTaakProcess: 'Handhabungsprozess für hochgeladene Dokumente',\n completeTaakProcessTooltip:\n 'Der Prozess, der die hochgeladenen Dokumente im Portal handhaben soll.',\n identificationKey: 'Identifikationsschlüssel',\n identificationKeyTooltip:\n \"Der eingegebene Schlüssel bestimmt, wie der Empfänger identifiziert wird. Gültige Beispiele sind 'bsn' oder 'kvk'.\",\n identificationValue: 'Identifikationswert',\n identificationValueTooltip:\n \"Der Wert, der den Empfänger identifiziert. Wird beispielsweise im Feld 'Identifikationsschlüssel' der Wert 'bsn' eingetragen, kann in diesem Feld eine Sozialversicherungsnummer eingetragen werden (z. B. 558099476).\",\n verloopDurationInDays: 'Ablaufzeit der Aufgabe in Tagen',\n verloopDurationInDaysTooltip:\n 'Die Anzahl der Tage vom Erstellungszeitpunkt bis zum Ablauf der Aufgabe. Dies wird nur in der Portalaufgabe verwendet. Das BPMN-Fälligkeitsdatum muss separat konfiguriert werden.',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config?.valtimoApi?.endpointUri;\n }\n\n getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByDocumentDefinitionName(documentDefinitionName: string): Observable<Array<Roltype>> {\n return this.http\n .get<\n Array<Roltype>\n >(`${this.valtimoEndpointUri}v1/case-definition/${documentDefinitionName}/zaaktype/roltype`)\n .pipe(catchError(() => of([])));\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subscription,\n take,\n tap,\n} from 'rxjs';\nimport {CopyStrategy, VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {MultiInputValues, RadioValue, SelectItem} from '@valtimo/components';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DocumentService} from '@valtimo/document';\n\n@Component({\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n mappedPrefill$: Observable<VerzoekConfig>;\n\n private mappingSet!: boolean;\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name ?? '',\n }))\n )\n );\n\n readonly documentSelectItems$: Observable<Array<SelectItem>> = this.documentService\n .getAllDefinitions()\n .pipe(\n map(documentDefinitions =>\n documentDefinitions.content.map(documentDefinition => ({\n id: documentDefinition.id.name,\n text: documentDefinition.id.name,\n }))\n )\n );\n\n readonly RADIO_ITEMS: Array<CopyStrategy> = ['full', 'specified'];\n readonly radioItems$: Observable<Array<RadioValue>> = this.translateService.stream('key').pipe(\n map(() =>\n this.RADIO_ITEMS.map(radioItem => ({\n value: radioItem,\n title: this.pluginTranslationService.instant(radioItem, this.pluginId),\n }))\n )\n );\n\n readonly rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionName: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly showMappingButtons: {[uuid: string]: boolean} = {};\n\n readonly showMappingModals: {[uuid: string]: boolean} = {};\n readonly showMappingModalsDelay: {[uuid: string]: boolean} = {};\n\n readonly tempMappings: {[uuid: string]: MultiInputValues} = {};\n\n readonly mappings: {[uuid: string]: MultiInputValues} = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly documentService: DocumentService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.setMappedPrefill();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionName = formValue?.caseDefinitionName;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n\n this.showMappingButtons[uuid] = formValue.copyStrategy === 'specified';\n\n if (caseDefinitionName) {\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionName !== caseDefinitionName\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: this.verzoekPluginService\n .getRoltypesByDocumentDefinitionName(caseDefinitionName)\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string): void {\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n openMappingModal(uuid: string): void {\n this.showMappingModals[uuid] = true;\n this.showMappingModalsDelay[uuid] = true;\n }\n\n closeMappingModal(uuid: string): void {\n this.showMappingModals[uuid] = false;\n\n setTimeout(() => {\n this.showMappingModalsDelay[uuid] = false;\n }, 250);\n }\n\n mappingValueChange(newValue: MultiInputValues, uuid: string): void {\n this.tempMappings[uuid] = newValue;\n }\n\n saveMapping(uuid: string): void {\n this.mappings[uuid] = [...this.tempMappings[uuid]];\n this.tempMappings[uuid] = [];\n this.closeMappingModal(uuid);\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionName &&\n type.objectManagementId &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n const formValueToSave: VerzoekConfig = {\n ...formValue,\n verzoekProperties: formValue.verzoekProperties.map(verzoek => {\n const verzoekToReturn: VerzoekType = {...verzoek};\n delete verzoekToReturn.uuid;\n\n if (this.mappings[verzoek.uuid] && verzoek.copyStrategy === 'specified') {\n verzoekToReturn.mapping = this.mappings[verzoek.uuid];\n }\n\n return {\n ...verzoekToReturn,\n ...(verzoekToReturn.mapping && {\n mapping: verzoekToReturn.mapping.map(verzoekMapping => ({\n source: verzoekMapping.key,\n target: verzoekMapping.value,\n })) as Array<any>,\n }),\n };\n }),\n };\n if (valid) {\n this.configuration.emit(formValueToSave);\n }\n });\n });\n }\n\n private setMappedPrefill(): void {\n this.mappedPrefill$ = this.prefillConfiguration$.pipe(\n filter(prefill => !!prefill),\n map(prefill => ({\n ...prefill,\n verzoekProperties: prefill.verzoekProperties.map(verzoekType => ({\n ...verzoekType,\n ...(verzoekType.mapping &&\n Array.isArray(verzoekType.mapping) && {\n mapping: verzoekType.mapping.map(mapping => ({\n key: mapping.source,\n value: mapping.target,\n })),\n }),\n })),\n })),\n tap(prefill => {\n setTimeout(() => {\n this.formValue$.pipe(take(1)).subscribe(formValue => {\n if (!this.mappingSet) {\n const prefillVerzoeken = prefill?.verzoekProperties;\n const formValueVerzoeken = formValue?.verzoekProperties;\n\n prefillVerzoeken.forEach((verzoek, index) => {\n const mappingForVerzoek = verzoek?.mapping;\n const uuidForMapping = formValueVerzoeken[index].uuid;\n\n if (mappingForVerzoek && uuidForMapping) {\n this.mappings[uuidForMapping] = mappingForVerzoek;\n }\n });\n\n this.mappingSet = true;\n }\n });\n }, 250);\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal cdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule as CarbonButtonModule,\n InputModule as CarbonInputModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {\n CarbonMultiInputModule,\n ValtimoCdsModalDirectiveModule,\n ButtonModule,\n FormModule,\n InputLabelModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n TooltipIconModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n RadioModule,\n InputLabelModule,\n ButtonModule,\n ModalModule,\n CarbonInputModule,\n TooltipIconModule,\n CarbonMultiInputModule,\n CarbonButtonModule,\n ValtimoCdsModalDirectiveModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionName: 'Dossierdefinitie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n copyStrategy: 'Kopieerstrategie',\n copyStrategyTooltip:\n 'Met deze optie wordt bepaald of het volledige Verzoek-object in het document terecht komt, of slechts de gespecifieerde velden.',\n full: 'Volledig',\n specified: 'Gespecifieerde velden',\n mapping: 'Mapping',\n setMapping: 'Mapping instellen',\n mappingTooltip:\n \"Stel hier de velden in die gekopieerd moeten worden van het Verzoek-object naar het document. Bijvoorbeeld: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Sluiten',\n save: 'Opslaan',\n target: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionName: 'Case definition',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n copyStrategy: 'Copy strategy',\n copyStrategyTooltip:\n 'This option determines whether the entire Verzoek object is included in the document, or only the defined fields.',\n full: 'Complete',\n specified: 'Specified fields',\n mapping: 'Mapping',\n setMapping: 'Set mapping',\n mappingTooltip:\n \"Set the fields to be copied from the Verzoek object to the document. For example: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Close',\n save: 'Save',\n target: 'Target',\n source: 'Source',\n },\n de: {\n title: 'Verzoek',\n description:\n 'Das Verzoek-Plugin verarbeitet Anfragen und erstellt eine Zaakdossier. Eine Verzoek ist ein Object in der Objecten API und wird normalerweise mithilfe eines Portals erstellt.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-Konfiguration',\n objectManagementId: 'Object management-Konfiguration',\n processToStart: 'Prozess',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Typ',\n caseDefinitionName: 'Dateidefinition',\n initiatorRoltypeUrl: 'Rollentyp',\n processDefinitionKey: 'Prozessdefinition',\n initiatorRolDescription: 'Rollenbeschreibung',\n addVerzoekType: 'Verzoektyp hinzufügen',\n verzoekPropertiesTooltip:\n 'Die Verzoektypen die erstellt werden wenn eine Benachrichtigung eintrifft.',\n notificatiesApiPluginConfigurationTooltip:\n 'Konfiguration der Notificaties API, die für die Kommunikation zwischen GZAC und anderen Anwendungen verwendet wird.',\n objectManagementIdTooltip:\n 'Konfiguration des Objects, das zum Speichern einer Verzoek verwendet wird.',\n processToStartTooltip:\n 'Der Prozess, der einen Fall erstellt, wenn eine Benachrichtigung eintrifft.',\n rsinTooltip: 'Diese Nummer muss die gleichen Spezifikationen wie eine BSN-Nummer erfüllen.',\n typeTooltip:\n \"Der Verzoektyp, der zum Identifizieren des Objects verwendet wird. Z.B. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Wählen Sie hier den Falltyp aus, von dem eine Instanz gestartet werden soll, wenn eine Verzoek eintrifft.',\n initiatorRoltypeUrlTooltip:\n 'Der Rollentyp des Anforderers, der gespeichert wird, wenn eine Verzoek eingeht.',\n initiatorRolDescriptionTooltip:\n 'Eine Beschreibung des Rollentyps des Anforderers, die gespeichert wird, wenn eine Verzoek eingeht.',\n processDefinitionKeyTooltip:\n 'Wählen Sie hier den Prozess aus, der gestartet werden soll, wenn der zuvor ausgewählte Systemprozess beendet ist.',\n copyStrategy: 'Kopierstrategie',\n copyStrategyTooltip:\n 'Diese Option legt fest, ob das gesamte Verzoek-Objekt in das Dokument aufgenommen wird oder nur die definierten Felder.',\n full: 'Vollständig',\n specified: 'Angegebene Felder',\n mapping: 'Mapping',\n setMapping: 'Mapping festlegen',\n mappingTooltip:\n \"Legen Sie hier die Felder fest, die vom Verzoek-Objekt in das Dokument kopiert werden sollen. Zum Beispiel: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Schließen',\n save: 'Speichern',\n target: 'Ziel',\n source: 'Ursprung',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {BesluitenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-besluiten-api-configuration',\n templateUrl: './besluiten-api-configuration.component.html',\n styleUrls: ['./besluiten-api-configuration.component.scss'],\n})\nexport class BesluitenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<BesluitenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<BesluitenApiConfig> =\n new EventEmitter<BesluitenApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'besluiten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<BesluitenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: BesluitenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: BesluitenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.rsin &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BesluitenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getBesluitTypesByCaseDefinition(caseDefinitionId: string): Observable<Array<any>> {\n return this.http.get<Array<any>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionId}/zaaktype/besluittype`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api.service';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakBesluitConfig, Vervalredenen} from '../../models';\nimport {PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BesluitenApiService} from '../../services';\nimport {InputOption} from '../../../zaken-api/models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n selector: 'valtimo-create-zaak-besluit-configuration',\n templateUrl: './create-zaak-besluit-configuration.component.html',\n styleUrls: ['./create-zaak-besluit-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakBesluitConfig> =\n new EventEmitter<CreateZaakBesluitConfig>();\n readonly VERVALREDENEN: Array<Vervalredenen> = [\n 'tijdelijk',\n 'ingetrokken_overheid',\n 'ingetrokken_belanghebbende',\n ];\n readonly vervalredenenSelectItems$: Observable<Array<{id: Vervalredenen; text: string}>> =\n this.translateService.stream('key').pipe(\n switchMap(() => this.pluginId$),\n map(pluginId =>\n this.VERVALREDENEN.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, pluginId),\n }))\n )\n );\n\n readonly caseDefinitionSelectItems$ = new BehaviorSubject<Array<SelectItem>>(null);\n readonly selectedCaseDefinitionId$ = new BehaviorSubject<string>('');\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedStartDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedExpirationDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly startDateInputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly expirationDateInputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly besluitTypeSelectItems$: Observable<{[caseDefinitionId: string]: Array<SelectItem>}> =\n this.modalService.modalData$.pipe(\n switchMap(params =>\n this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(\n params?.processDefinitionKey\n )\n ),\n tap(processDocumentDefinitions => {\n const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({\n text: processDocDef.id.documentDefinitionId.name,\n id: processDocDef.id.documentDefinitionId.name,\n }));\n\n this.caseDefinitionSelectItems$.next(caseDefSelectItems);\n\n if (this.oneSelectItem(caseDefSelectItems)) {\n this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);\n }\n }),\n switchMap(processDocumentDefinitions =>\n combineLatest([\n of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),\n ...processDocumentDefinitions.map(processDocDef =>\n this.besluitenApiService.getBesluitTypesByCaseDefinition(\n processDocDef.id.documentDefinitionId.name\n )\n ),\n ])\n ),\n map(res => {\n const caseDefinitionIds = res[0];\n const resultaatTypes = res.filter((curr, index) => index !== 0);\n const selectObject = {};\n\n caseDefinitionIds.forEach((caseDefinitionId, index) => {\n selectObject[caseDefinitionId] = resultaatTypes[index].map(statusType => ({\n id: statusType.url,\n text: statusType.name,\n }));\n });\n\n return selectObject;\n }),\n tap(selectObject => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const besluittypeUrl = prefillConfig?.besluittypeUrl;\n\n if (besluittypeUrl) {\n let selectedCaseDefinitionId!: string;\n\n Object.keys(selectObject).forEach(caseDefinitionId => {\n if (selectObject[caseDefinitionId].find(item => item.id === besluittypeUrl)) {\n selectedCaseDefinitionId = caseDefinitionId;\n }\n\n if (selectedCaseDefinitionId) {\n this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);\n } else {\n this.selectedInputOption$.next('text');\n }\n });\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly clearBesluitSelection$ = new Subject<void>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreateZaakBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly besluitenApiService: BesluitenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeBesluitToggle) {\n this.selectedInputOption$.next(formValue.inputTypeBesluitToggle);\n }\n\n if (formValue.inputTypeStartingDateToggle) {\n this.selectedStartDateInputOption$.next(formValue.inputTypeStartingDateToggle);\n }\n\n if (formValue.inputTypeExpirationDateToggle) {\n this.selectedExpirationDateInputOption$.next(formValue.inputTypeExpirationDateToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectCaseDefinition(caseDefinitionId: string): void {\n this.selectedCaseDefinitionId$.next(caseDefinitionId);\n this.clearBesluitSelection$.next();\n }\n\n private handleValid(formValue: CreateZaakBesluitConfig): void {\n const valid = !!formValue.besluittypeUrl && !!formValue.ingangsdatum;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n besluitTypeItems: besluitTypeSelectItems$ | async,\n selectedInputOption: selectedInputOption$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n selectedStartDateInputOption: selectedStartDateInputOption$ | async,\n selectedExpirationDateInputOption: selectedExpirationDateInputOption$ | async,\n pluginId: pluginId$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakBesluitInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-radio\n name=\"inputTypeBesluitToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeBesluitToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluittypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.besluitTypeItems && obs.besluitTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.besluitTypeItems ||\n !obs.besluitTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.besluittypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.besluitTypeItems\"\n [tooltip]=\"'besluittypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearBesluitSelection$\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"toelichting\"\n [title]=\"'toelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'toelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"bestuursorgaan\"\n [title]=\"'bestuursorgaan' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bestuursorgaan\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'bestuursorgaanTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeStartingDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeStartingDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"startDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeStartingDateToggle\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedStartDateInputOption === 'text'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n <v-date-picker\n *ngIf=\"obs.selectedStartDateInputOption === 'selection'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-radio\n name=\"inputTypeExpirationDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeExpirationDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"expirationDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeExpirationDateToggle\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedExpirationDateInputOption === 'text'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n <v-date-picker\n *ngIf=\"obs.selectedExpirationDateInputOption === 'selection'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-select\n name=\"vervalreden\"\n [title]=\"'vervalreden' | pluginTranslate: obs.pluginId | async\"\n [items]=\"vervalredenenSelectItems$ | async\"\n [defaultSelectionId]=\"obs.prefill?.vervalreden\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervalredenTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthInPx]=\"350\"\n [margin]=\"true\"\n ></v-select>\n <v-date-picker\n name=\"publicatiedatum\"\n [title]=\"'publicatiedatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.publicatiedatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'publicatiedatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-date-picker\n name=\"verzenddatum\"\n [title]=\"'verzenddatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.verzenddatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'verzenddatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-date-picker\n name=\"uiterlijkeReactieDatum\"\n [title]=\"'uiterlijkeReactieDatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.uiterlijkeReactieDatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'uiterlijkeReactieDatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n <v-input\n name=\"createdBesluitUrl\"\n [title]=\"'besluitUrlProcessVariable' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.createdBesluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'besluitUrlProcessVariableTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {LinkDocumentToBesluitConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-besluit-configuration',\n templateUrl: './link-document-to-besluit-configuration.component.html',\n styleUrls: ['./link-document-to-besluit-configuration.component.scss'],\n})\nexport class LinkDocumentToBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToBesluitConfig> =\n new EventEmitter<LinkDocumentToBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToBesluitConfig): void {\n const valid = !!(formValue.besluitUrl || formValue.documentUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentToBesluitInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {LoadingModule} from 'carbon-components-angular';\nimport {\n DatePickerModule,\n FormModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n ParagraphModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n})\nexport class BesluitenApiPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst BESLUITEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {BESLUITEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api-plugin-logo';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {BESLUITEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n\nconst besluitenApiPluginSpecification: PluginSpecification = {\n pluginId: 'besluitenapi',\n pluginConfigurationComponent: BesluitenApiConfigurationComponent,\n pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-besluit': CreateZaakBesluitConfigurationComponent,\n 'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n url: 'Besluiten API URL',\n urlTooltip: 'Een URL naar de REST API van Besluiten',\n description: 'API voor opslag en ontsluiting van besluiten en daarbij behorende metadata.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'create-besluit': 'Zaakbesluit aanmaken',\n createZaakBesluitInformation: 'Deze actie creëert een zaakbesluit in de Besluiten API.',\n besluittypeUrl: 'Besluittype-URL',\n besluittypeUrlTooltip: 'URL-referentie naar het besluittype',\n toelichting: 'Toelichting',\n toelichtingTooltip: 'Toelichting bij het besluit.',\n bestuursorgaan: 'Bestuursorgaan',\n bestuursorgaanTooltip:\n 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',\n ingangsdatum: 'Ingangsdatum',\n ingangsdatumTooltip:\n 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervaldatum: 'Vervaldatum',\n vervaldatumTooltip:\n 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervalreden: 'Vervalreden',\n vervalredenTooltip:\n 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen.',\n tijdelijk: 'Tijdelijk',\n ingetrokken_overheid: 'Ingetrokken door overheid',\n ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',\n publicatiedatum: 'Publicatiedatum',\n publicatiedatumTooltip: 'Datum waarop het besluit gepubliceerd wordt.',\n verzenddatum: 'Verzenddatum',\n verzenddatumTooltip: 'Datum waarop het besluit verzonden is.',\n uiterlijkeReactieDatum: 'Uiterlijke reactie datum',\n uiterlijkeReactieDatumTooltip: 'De datum tot wanneer verweer tegen het besluit mogelijk is.',\n besluitUrlProcessVariable: 'Naam procesvariabele met besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Hier moet de naam van de procesvariabele ingevuld worden waarin de besluit URL lokaal staat opgeslagen',\n 'link-document-to-besluit': 'Link Document aan Besluit',\n linkDocumentToBesluitInformation:\n 'Deze actie linkt een document aan een zaakbesluit in de Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-referentie naar het besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-referentie naar het document',\n inputTypeBesluitToggle: 'Invoertype Besluit-URL',\n inputTypeStartingDateToggle: 'Invoertype Begindatum',\n inputTypeExpirationDateToggle: 'Invoertype vervaldatum',\n text: 'Tekst',\n selection: 'Selectie',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',\n },\n en: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n url: 'Besluiten API URL',\n urlTooltip: 'A URL to the REST API of Besluiten',\n description: 'API for storage and access to decisions and associated metadata.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'create-besluit': 'Create Zaakbesluit',\n createZaakBesluitInformation: 'This action creates a Zaakbesluit in the Besluiten API.',\n besluittypeUrl: 'Besluit type URL',\n besluittypeUrlTooltip: 'URL reference to the besluit type',\n toelichting: 'Explanation',\n toelichtingTooltip: 'Explanation to the besluit.',\n bestuursorgaan: 'Governing body',\n bestuursorgaanTooltip:\n 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',\n ingangsdatum: 'Starting date',\n ingangsdatumTooltip:\n 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervaldatum: 'Expiration date',\n vervaldatumTooltip:\n 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervalreden: 'Reason for expiry',\n vervalredenTooltip:\n 'The description that indicates on the basis of which the decision has been or will be cancelled.',\n tijdelijk: 'Temporary',\n ingetrokken_overheid: 'Withdrawn by government',\n ingetrokken_belanghebbende: 'Withdrawn by interested party',\n publicatiedatum: 'Publication date',\n publicatiedatumTooltip: 'Date on which the besluit is published.',\n verzenddatum: 'Shipment date',\n verzenddatumTooltip: 'Date on which the besluit was sent.',\n uiterlijkeReactieDatum: 'Response deadline',\n uiterlijkeReactieDatumTooltip:\n 'The date until which a defense against the decision is possible.',\n besluitUrlProcessVariable: 'Process variable name with besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Here must be entered the name of the process variable in which the besluit URL is stored locally',\n 'link-document-to-besluit': 'Link Document to Besluit',\n linkDocumentToBesluitInformation:\n 'This action links a document to a zaakbesluit in the Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL reference to the besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL reference to the document',\n inputTypeBesluitToggle: 'Input type Besluit-URL',\n inputTypeStartingDateToggle: 'Input type start date',\n inputTypeExpirationDateToggle: 'Input type expiration date',\n text: 'Text',\n selection: 'Selection',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Select the Besluit type.',\n },\n de: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n url: 'Besluiten API URL',\n urlTooltip: 'Die URL zur REST API von Besluiten',\n description:\n 'API für die Speicherung und den Zugriff auf Entscheidungen und zugehörige Metadaten.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'create-besluit': 'Zaakbesluit erstellen',\n createZaakBesluitInformation: 'Diese Aktion erstellt eine Zaakbesluit in der Besluiten-API.',\n besluittypeUrl: 'Entscheidungstyp-URL',\n besluittypeUrlTooltip: 'URL-Referenz zum Entscheidungstyp',\n toelichting: 'Erläuterung',\n toelichtingTooltip: 'Begründung der Entscheidung.',\n bestuursorgaan: 'Leitungsgremium',\n bestuursorgaanTooltip:\n 'Eine Körperschaft einer juristischen Person des öffentlichen Rechts oder eine Person oder Körperschaft einer öffentlichen Behörde, unter deren Verantwortung die Entscheidung getroffen wurde.',\n ingangsdatum: 'Anfangsdatum',\n ingangsdatumTooltip:\n 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervaldatum: 'Verfallsdatum',\n vervaldatumTooltip:\n 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervalreden: 'Ablaufgrund',\n vervalredenTooltip:\n 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird.',\n tijdelijk: 'Temporär',\n ingetrokken_overheid: 'Von der Regierung zurückgezogen',\n ingetrokken_belanghebbende: 'Von interessierter Partei zurückgezogen',\n publicatiedatum: 'Veröffentlichungsdatum',\n publicatiedatumTooltip: 'Datum, an dem die Entscheidung veröffentlicht wird.',\n verzenddatum: 'Versanddatum',\n verzenddatumTooltip: 'Datum, an dem die Entscheidung gesendet wurde.',\n uiterlijkeReactieDatum: 'Antwortfrist',\n uiterlijkeReactieDatumTooltip:\n 'Das Datum, bis zu dem eine Verteidigung gegen die Entscheidung möglich ist.',\n besluitUrlProcessVariable: 'Prozessvariablenname mit Entscheidungs-URL',\n besluitUrlProcessVariableTooltip:\n 'Hier muss der Name der Prozessvariable eingetragen werden, in der die Entscheidungs-URL lokal gespeichert wird',\n 'link-document-to-besluit': 'Verknüpf Document zum Besluit',\n linkDocumentToBesluitInformation:\n 'Diese Aktion verknüpft ein Dokument mit einer Fallentscheidung in der Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-Referenz zum besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-Referenz zum document',\n inputTypeBesluitToggle: 'Eingabetyp Besluit-URL',\n inputTypeStartingDateToggle: 'Eingabetyp Begindatum',\n inputTypeExpirationDateToggle: 'Eingabetyp Einddatum',\n text: 'Text',\n selection: 'Auswahl',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Besluit-typ auswählen möchten. Wenn nur ein Besluit-typ verfügbar ist, wird dieser standardmäßig ausgewählt.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Wählen Sie den Besluit-typ aus.',\n },\n },\n};\n\nexport {besluitenApiPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport ExactRefreshToken from './exact-refresh-token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExactPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n exchangeAuthorizationCode(\n clientId: string,\n clientSecret: string,\n code: string\n ): Observable<ExactRefreshToken> {\n return this.http.post<ExactRefreshToken>(`${this.valtimoEndpointUri}v1/plugin/exact/exchange`, {\n clientId,\n clientSecret,\n code,\n });\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ExactPluginService} from '../../exact-plugin.service';\nimport {ExactPluginConfig} from '../../exact-plugin';\n\n@Component({\n selector: 'valtimo-exact-plugin-configuration',\n templateUrl: './exact-plugin-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPluginConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPluginConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPluginConfig> = new EventEmitter<ExactPluginConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ExactPluginConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private storageCallbackFun!: (any) => void;\n\n constructor(private exactPluginService: ExactPluginService) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.storageCallbackFun = this.onReceiveToken.bind(this);\n window.addEventListener('storage', this.storageCallbackFun);\n }\n\n onReceiveToken(event): void {\n if (event.key === 'exactAuthorizationCode') {\n this.formValue$\n .pipe(take(1))\n .subscribe(formValue => {\n this.exchangeAuthorizationCode(formValue, localStorage.getItem('exactAuthorizationCode'));\n })\n .unsubscribe();\n }\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n window.removeEventListener('storage', this.storageCallbackFun);\n }\n\n exchangeAuthorizationCode(formValue, code): void {\n this.exactPluginService\n .exchangeAuthorizationCode(formValue.clientId, formValue.clientSecret, code)\n .subscribe(response => {\n formValue.accessToken = response.accessToken;\n formValue.accessTokenExpiresOn = response.accessTokenExpiresOn;\n formValue.refreshToken = response.refreshToken;\n formValue.refreshTokenExpiresOn = response.refreshTokenExpiresOn;\n this.formValueChange(formValue);\n });\n }\n\n formValueChange(formValue: ExactPluginConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n openAuthenticationWindow(): void {\n this.formValue$\n .subscribe((formValue: ExactPluginConfig) => {\n const redirect_url = window.location.origin + '/plugins/exact/redirect';\n window.open(\n `https://start.exactonline.nl/api/oauth2/auth?client_id=${formValue.clientId}&redirect_uri=${redirect_url}&response_type=code&force_login=0`,\n '_blank'\n );\n })\n .unsubscribe();\n }\n\n private handleValid(formValue: ExactPluginConfig): void {\n const valid = !!(\n formValue.clientId &&\n formValue.clientSecret &&\n formValue.accessToken &&\n formValue.refreshToken\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n ></v-input>\n <v-input\n name=\"clientSecret\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n\n <v-button [mdiIcon]=\"'check'\" type=\"secondary\" (click)=\"openAuthenticationWindow()\"\n >Give authorization\n </v-button>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactGetRequestConfiguration from './exact-get-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-get-request-configuration',\n templateUrl: './exact-get-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactGetRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactGetRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactGetRequestConfiguration> =\n new EventEmitter<ExactGetRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactGetRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactGetRequestConfiguration = {\n properties: {\n uri: input.uri,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactGetRequestConfiguration): void {\n const valid = !!(formValue.properties.uri || formValue.properties.bean);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPutRequestConfiguration from './exact-put-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-put-request-configuration',\n templateUrl: './exact-put-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPutRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPutRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPutRequestConfiguration> =\n new EventEmitter<ExactPutRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPutRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPutRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPutRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPostRequestConfiguration from './exact-post-request-configuration';\n\n@Component({\n selector: 'valtimo-exact-post-request-configuration',\n templateUrl: './exact-post-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPostRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPostRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPostRequestConfiguration> =\n new EventEmitter<ExactPostRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPostRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPostRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPostRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\n\nconst exactPluginSpecification: PluginSpecification = {\n pluginId: 'exact',\n pluginConfigurationComponent: ExactPluginConfigurationComponent,\n pluginLogoBase64:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAkCAMAAAAq54ElAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACqVBMVEUAAADWIinZJCrZJirYJCrZJSvaJSv/AADXKCjcIyvWJCn/AADMMzPYJyfdKC3aJi3bJCrZJivXKCjRLi7XJSvZJivaJivYJSrZJSrZJivZJivZJSrXJC3YJivYJivYJSrZJinmGjPaJSvZJSvaJSvYJSvZJSq/QEDaJSrZJirYJyfaJSraJSvcIy7aJSvZJivaJSvZJivaJirdIiLZJircKSnZJirYJSvZJSvZJivYJSr/AADbJCTYJSvaJSvYJSvYJivaJSvSHi3ZJCvZJirbJivYJyvZJivaJSvYJyzaJSzYJSvXJSvYJCvZJirYJyfZJivaJSvZJibaJSrZJSrZJSvZJivYJSvYJSrbJirZJi3aJSvYJivVKyvZJivYJSvZJSvaJSrZJivYJCnYJSvZJivYJSvZJSrZJivaJSvYJyraJivWISnZJiraJSzfIDDYJivaJSvYJivYJivZJSveJyzXJSrXJCvYJyvYJynfICDYJivYJCrVKyvbJCzZJivYJSnZJivaJivYJSvZJizfJSvXJCvaJSvaJSnYJyvZJivaJSvbJivbJCvaJSzaJSrZJSrYJivYJSrbJCTYJivZJirZJirbJivZJivYJCvZJSraJSnZJivZJirZJirZJinaJinZJiraJSvjHBzaJSrYJyrhJCvYJSvZJirZJSrZJivZJSrZJivXJCzbJCrbJirZJivYJSraJSnZJiraJSvYJiraJSzbJCTXJC3bJC7dIivYJirZJivZJivZJivXKCjbJiraJivYJivZJirYJSrZJivZJivZJirYJSrZJivaJSvaJSrbJiraJivVICvYJSrWIinWKSmqVVXVJCrbJCrYJSneJyfZJSnbJC7ZJCrZJi/ZJinYJSnaJCvVJCvYJSndKSnZJCr////a6T7OAAAA4nRSTlMARL2vW/zpAhMkMgEFJy0iMe0mC1qa16T4PFj3OfnSnVcKWZnWsrsEdOwN1OEW73LjZOsPvSzyuNCungMOv2B9nNsRfrx+Ql/1NCl8U1TlGmuPFPH5tGyll4Yo8L4Mp5am2udprPPGzzWET+4fw0wQ+92V+p8uZ007YwjLYhIjoG9liHZRMEfce0iU1Y0qRZLOxasHxKm1k5t3wqaoeT1dREPiCdNWKrm2yV7HakYrgKGYPuaJqksVPxweo3jR0iCFZsxJsfSB2Wg29pGM5BhuJRkDK1uXJ6AyeRtRfY8qgiWT0Pv9JgAAAAFiS0dE4sYBnhwAAAAHdElNRQfiChMHJTUkS/K4AAAEWklEQVRYw+2Y90MURxTHX/RWNHeiWCIiZwXRCBgwFMEGoiIWRDSKgJpY46mgZ+8NeyWxJxqikdgSNBoS0iyxd43GXv4Tb2/ezM4uO8Oe7g/+4Ptp3vu+efvZ29mZtwfwbtoHtfxWG951cyh+q/Me9D1oABZUt96HvDnBRYf1dYnBGG0A4NTNaNigrstC7XoaaAiNNbII2bhJ048Ug/mu2QyHoc253DAMtggHcBknuVu2am2AbdO2XYQuJ1IDZdbeEmZUh45KdfNd7+NOOI6OYcn1YzHWGUxAVfskjq/dOd6ovzFol0/NLqeCQkIiOklB9PdJxkhXpwhUUVJSae1u7aurbwrq6q4IQaEH9Xpidi/009JBDKr0pr9nhmIfaB9FAsrA3H39bj90M/uDDNSdRWoPUCyDDhwkMPp+xCRKQdmjHpzNL4UhIAVVcvzy0FzroMNEpYYj6GcsEjFiZB5nuM5G5aNcEAWF9OUajZNT+Ql5Y8Z+Tmt94ZfHsdrR47Xa/TTQCTQWVzPoRPQnTRYsDbodKV+y7Sqim2gdTfFgylTVm0b3gek1b/g1gRYVE3dGunARz8QZ3lk4mDBbvOLnYM5cdTvB2omj4O1B56E7X3ztBQsNUyW5UOgmOYt843D2KGwAxV+geLHk4ktCdDOXSjeRNJK0zDdcjhOC7QBdQbzclXqL05VdVcxNbNnYeLCVrOZ2kzUka61PyCPDfKcV0LjlAltH9PXmt7FBX3ejpuRu0kubI033twE+aQsZbrWle1pqDhphOL22McWhE4pKBQ9MBU3Bfc0W0FJLoFDCNsSvdO/Z14oEdDsZ7rAFdLQlUGckU3by8RWKDHQENjS2gO6yBLqbk1prYfMjkoG2I8M9lkD3fiOwb4meY+Vl2hfKSbFav79fkYLiK5gGdmxP2Dtlflems3C+asz3upnJB6jQFCNjyrQPjYMaaE9spdrYAfoDuockH1Plhqm7qPIj8bfz2Yc10EHccfrWoIfQ3SgG7Y0p8fTQV46gcpS4xwSgWZheXr1mE+wCnJZBXdjFtTgu4izz4ik7NygJ5yb+RKQC4v4sAI2in1cdqndZqDSyDAoVtCk/cbKLGWf2L5hwyrdYo3HcqdCvncYHmGAOCrNYr/xrpb7qb7Rh/t0y6Dou5o3nrIoc5PSLao/a8Tenr/8ffvFPepN/lTPzcKCbTWurJ1U2i3tIENJFVkib9L8Fd/KPXz5DW3Zy6yupelb1Gsq3J0hNNpPOqdIaQ9DClr/PLQE9j32TF5ew819UL5SoboYcFOaFikD7BA4KQ8SgVXXQuUiTF8/AyCV1RQfny0HhcrEAtHJw4KDgiBWAsqYpg/2jAFeuYuy0urWc98hBISzWHBRO5gcOCtnXPKag13F44yaXfIsm3FK92129UlC4kxNiCgpZBYGDAty999/aU/creBsKD/7H4UNdJ/UIo70I/uMnT5+lVBhtClf7uUNX+wUVXjpevKKXeA1u5WsFezws2AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0xOVQwNzozNzo1MyswMDowMIPF6M0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMTlUMDc6Mzc6NTMrMDA6MDDymFBxAAAAAElFTkSuQmCC',\n functionConfigurationComponents: {\n 'exact-get-request': ExactGetRequestConfigurationComponent,\n 'exact-post-request': ExactPostRequestConfigurationComponent,\n 'exact-put-request': ExactPutRequestConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Bericht',\n },\n en: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Content',\n },\n de: {\n title: 'Exact Plugin',\n description: 'Plugin zum Einrichten einer Exact-API-Verbindung',\n configurationTitle: 'Konfigurationsname',\n clientId: 'Kunden ID',\n clientSecret: 'Client-Geheimnis',\n 'exact-get-request': 'Exakte GET-Anfrage',\n 'exact-post-request': 'Exakte POST-Anfrage',\n 'exact-put-request': 'Exakte PUT-Anfrage',\n uri: 'URI',\n bean: 'Serviceklasse',\n content: 'Inhalt',\n },\n },\n};\n\nexport {exactPluginSpecification};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n selector: 'valtimo-exact-redirect',\n templateUrl: './exact-redirect.component.html',\n})\nexport class ExactRedirectComponent implements OnInit {\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n localStorage.setItem('exactAuthorizationCode', params.code);\n window.close();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>You can close this page.</p>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\nconst routes: Routes = [\n {\n path: 'plugins/exact/redirect',\n component: ExactRedirectComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Exact Redirect', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExactPluginRoutingModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule, FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {ExactPluginRoutingModule} from './exact-plugin-routing.module';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\n@NgModule({\n declarations: [\n ExactGetRequestConfigurationComponent,\n ExactPostRequestConfigurationComponent,\n ExactPutRequestConfigurationComponent,\n ExactPluginConfigurationComponent,\n ExactRedirectComponent,\n ],\n imports: [\n CommonModule,\n ExactPluginRoutingModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ButtonModule,\n ExactPluginRoutingModule,\n ],\n exports: [],\n})\nexport class ExactPluginModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\nexport * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/models/config';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/download-document/download-document-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component';\nexport * from './lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nexport * from './lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component';\nexport * from './lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\nexport * from './lib/plugins/objecten-api/components/delete-object/delete-object.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n/* besluiten plugin */\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.module';\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';\nexport * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n/* exact */\nexport * from './lib/plugins/exact/exact.plugin.specification';\nexport * from './lib/plugins/exact/exact-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","isValidUUID","i2","i3","i1.PluginService","i4.DefaultPluginConfigurationComponent","i5","i3.PluginTranslatePipe","map","i1.PluginManagementService","i3.DocumentenApiService","i6.PluginTranslatePipe","i2.PluginTranslationService","i5.PluginTranslatePipe","tap","i3.ZakenApiService","i4.PluginTranslatePipe","i6","i7.PluginTranslatePipe","i2.ObjectService","i3.VerzoekPluginService","i7","i9.PluginTranslatePipe","CarbonInputModule","CarbonButtonModule","i5.BesluitenApiService","i1.ExactPluginService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAKH,MAAM,aAAa,GAAG,IAAI,cAAc,CACtC,2DAA2D;;ACpB7D;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAWU,aAAa,CAAA;AAMxB,IAAA,WAAA,CAAoD,YAA0B,EAAA;QAA1B,IAAY,CAAA,YAAA,GAAZ,YAAY;AAL/C,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAA6B,EAAE,CAAC;QAC5E,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACtE,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAC/F;AAGC,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC;;AAGhD,IAAA,IAAI,qBAAqB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE;;AAGnD,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE;;AAG/C,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;;AAnBvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAMJ,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAOc,MAAM;2BAAC,aAAa;;;AC/BnC;;;;;;;;;;;;;;AAcG;MAYU,wBAAwB,CAAA;IACnC,WACmB,CAAA,gBAAkC,EAClC,aAA4B,EAAA;QAD5B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAa,CAAA,aAAA,GAAb,aAAa;;IAGhC,SAAS,CAAC,YAAoB,EAAE,mBAA2B,EAAA;AACzD,QAAA,OAAO,aAAa,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,qBAAqB;AACxC,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,KACzB,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAC7E,CACF;;IAGH,OAAO,CAAC,YAAoB,EAAE,mBAA2B,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EACvC,mBAAmB,EACnB,YAAY,CACb;;AAGK,IAAA,cAAc,CACpB,oBAAgD,EAChD,mBAA2B,EAC3B,YAAoB,EAAA;AAEpB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW;AACrD,QAAA,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE;QACD,MAAM,WAAW,GAAG,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC;AACtF,QAAA,OAAO,WAAW,IAAI,CAAA,EAAG,mBAAmB,CAAI,CAAA,EAAA,YAAY,EAAE;;+GAnCrD,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;MAmBU,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CACmB,aAA4B,EAC5B,aAA4B,EAC5B,SAAuB,EACvB,IAAgB,EAAA;QAHhB,IAAa,CAAA,aAAA,GAAb,aAAa;QACb,IAAa,CAAA,aAAA,GAAb,aAAa;QACb,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAI,CAAA,IAAA,GAAJ,IAAI;QANN,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;IAS5F,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAAsB,oBAAA,CAAA,CACvD;;AAGH,IAAA,kBAAkB,CAAC,kBAA0B,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,qBAAA,EAAwB,kBAAkB,CAAA,OAAA,CAAS,CACpF;;IAGH,0BAA0B,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAAyB,uBAAA,CAAA,CAC1D;;AAGH,IAAA,4CAA4C,CAC1C,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,4CAAA,EAA+C,mBAAmB,CAAA,CAAE,CACrG;;AAGH,IAAA,iCAAiC,CAAC,UAAkB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,iCAAA,EAAoC,UAAU,CAAA,CAAE,CACjF;;AAGH,IAAA,iDAAiD,CAC/C,YAAoB,EAAA;AAEpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,qCAAA,EAAwC,YAAY,CAAA,CAAE,CACvF;;AAGH,IAAA,mCAAmC,CACjC,YAAqB,EAAA;AAErB,QAAA,OAAO,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG;cACzC,IAAI,CAAC,mCAAmC,CACtC,IAAI,CAAC,iDAAiD,CAAC,YAAY,CAAC;cAEtE,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;;AAGjF,IAAA,uBAAuB,CACrB,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,uBAAA,CAAyB,EACzD,mBAAmB,CACpB;;AAGH,IAAA,yBAAyB,CACvB,eAAuB,EACvB,kBAA0B,EAC1B,kBAA0B,EAC1B,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAA2B,wBAAA,EAAA,eAAe,EAAE,EAC5E;AACE,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,UAAU,EAAE,uBAAuB;AACpC,SAAA,CACF;;AAGH,IAAA,yBAAyB,CAAC,eAAuB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,wBAAA,EAA2B,eAAe,CAAA,CAAE,CAC7E;;AAGK,IAAA,mCAAmC,CACzC,qBAA6D,EAAA;AAE7D,QAAA,OAAO,aAAa,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAC1F,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,KAC/C,oBAAoB,EAAE,GAAG,CAAC,mBAAmB,IAAG;YAC9C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,CACvF;YAED,OAAO;AACL,gBAAA,GAAG,mBAAmB;AACtB,gBAAA,IAAI,mBAAmB,EAAE,gBAAgB,IAAI;oBAC3C,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAC7D,mBAAmB,EAAE,gBAAgB,CACtC;iBACF,CAAC;aACH;SACF,CAAC,CACH,CACF;;+GA/GQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;;4FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AChCD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MASU,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAA6B,wBAAkD,EAAA;QAAlD,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;;IAErD,SAAS,CAAC,YAAoB,EAAE,mBAA2B,EAAA;QACzD,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;;+GAJxE,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA;;;ACtBD;;;;;;;;;;;;;;AAcG;MAWU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAHrB,YAAA,EAAA,CAAA,mBAAmB,CADxB,EAAA,OAAA,EAAA,CAAA,eAAe,aAEf,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJ1B,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAId,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAYU,mCAAmC,CAAA;AALhD,IAAA,WAAA,GAAA;AASY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAkC;AAGnC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAwC,IAAI,CAAC;AAC7E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAgC9D;IA9BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAyC,EAAA;AACvD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAyC,EAAA;AAC3D,QAAA,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,eAAe,IAAIC,QAAW,CAAC,SAAS,CAAC,eAAe,CAAC;AAClF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAxCO,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,6OC1BhD,otCAmCA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAM,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDTa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,sCAAsC,EAAA,QAAA,EAAA,otCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAKvC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AE/BH;;;;;;;;;;;;;;AAcG;MA+BU,qCAAqC,CAAA;IAMhD,IAAa,IAAI,CAAC,IAAgC,EAAA;AAChD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;;IAEhC,IAAa,mBAAmB,CAAC,GAAW,EAAA;AAC1C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;;IAErC,IAAa,WAAW,CAAC,GAAW,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;;AA+B7B,IAAA,WAAA,CAA6B,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa;AA1BhC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA2B;AAEpC,QAAA,IAAA,CAAA,kCAAkC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AACxE,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAE1C,SAAS,CAAC;AAOK,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAoC,IAAI,CAAC;AAC7E,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AACtD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC9C,QAAA,IAAA,CAAA,qBAAqB,GACpC,IAAI,eAAe,CAAwC,IAAI,CAAC;AACjD,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAEvE,QAAA,IAAA,CAAA,oBAAoB,GAAwB,IAAI,CAAC,cAAc,CAAC,IAAI,CAC3E,GAAG,CAAC,aAAa,IAAI,aAAa,KAAK,eAAe,CAAC,EACvD,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACvF;;IAID,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,iCAAiC,EAAE;;IAG1C,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;AACtC,QAAA,IAAI,CAAC,wBAAwB,EAAE,WAAW,EAAE;;AAG9C,IAAA,sBAAsB,CAAC,oBAAoD,EAAA;AACzE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC;;AAGvD,IAAA,2BAA2B,CAAC,KAAc,EAAA;AACxC,QAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGrC,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;AACtC,YAAA,IAAI,CAAC,oBAAoB;AACzB,YAAA,IAAI,CAAC,YAAY;AACjB,YAAA,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,aAAa,CAAC,qBAAqB;SACzC;AACE,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,CAAC,KAAI;AAC9E,YAAA,IAAI,sBAEH;AAED,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAE7B,YAAA,IAAI,aAAa,KAAK,eAAe,IAAI,mBAAmB,EAAE;AAC5D,gBAAA,sBAAsB,GAAG,oBAAoB,CAAC,IAAI,CAChD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE,EAAE,4BAA4B;;iBAC1B,IAAI,aAAa,KAAK,UAAU,IAAI,mBAAmB,IAAI,WAAW,EAAE;AAC7E,gBAAA,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE;gBACD,sBAAsB;AACpB,oBAAA,mBAAmB,EAAE,+BAA+B,CAAC,WAAW,CAAC;;YAGrE,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC;AAClF,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AACrC,gBAAA,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC;;iBAC9C;AACL,gBAAA,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEtD,SAAC,CAAC;AAEH,aAAA,SAAS,EAAE;;IAGR,iCAAiC,GAAA;AACvC,QAAA,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC;AAC5C,YAAA,IAAI,CAAC,aAAa;AAClB,YAAA,IAAI,CAAC,oBAAoB;SAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAI;AAC1C,YAAA,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ;AAE9B,YAAA,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE;YAErC,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AAC3B,gBAAA,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AACnC,gBAAA,QAAQ,CAAC,QAAQ,GAAG,mBAAmB;AAEvC,gBAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,oBAAA,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB;;AAG7D,gBAAA,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;AACrC,oBAAA,QAAQ,CAAC,KAAK;AACd,oBAAA,IAAI,CAAC,0BAA0B;iBAChC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,yBAAyB,CAAC,KAAI;oBAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,yBAAyB,CAAC;AAC7D,iBAAC,CAAC;gBAEF,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,IAAG;oBAChF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,eAAe;AACzE,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,wBAAA,GAAG,aAAa;wBAChB,eAAe;AACkB,qBAAA,CAAC;AACtC,iBAAC,CAAC;;AAEN,SAAC,CAAC;;+GAzIO,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArC,qCAAqC,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAGgB,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChDlF,otCA6BA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,mCAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDgBa,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,otCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;+EAQ3C,gBAAgB,EAAA,CAAA;sBADtB,SAAS;uBAAC,8BAA8B,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAC;gBAGpE,IAAI,EAAA,CAAA;sBAAhB;gBAGY,mBAAmB,EAAA,CAAA;sBAA/B;gBAGY,WAAW,EAAA,CAAA;sBAAvB;gBAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEhEH;;;;;;;;;;;;;;AAcG;MAqBU,gCAAgC,CAAA;+GAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhC,gCAAgC,EAAA,YAAA,EAAA,CAX5B,mCAAmC,CAAA,EAAA,OAAA,EAAA,CAEhD,YAAY;YACZ,eAAe;YACf,eAAe;YACf,yBAAyB;YACzB,UAAU;AACV,YAAA,WAAW,aAEH,mCAAmC,CAAA,EAAA,CAAA,CAAA;AAElC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,YATzC,YAAY;YACZ,eAAe;YACf,eAAe;YACf,yBAAyB;YACzB,UAAU;YACV,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAIF,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAZ5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mCAAmC,CAAC;AACnD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,yBAAyB;wBACzB,UAAU;wBACV,WAAW;AACZ,qBAAA;oBACD,OAAO,EAAE,CAAC,mCAAmC,CAAC;AAC/C,iBAAA;;;AClCD;;;;;;;;;;;;;;AAcG;MAcU,kCAAkC,CAAA;+GAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlC,kCAAkC,EAAA,YAAA,EAAA,CAJ9B,qCAAqC,CAAA,EAAA,OAAA,EAAA,CAC1C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAChF,qCAAqC,CAAA,EAAA,CAAA,CAAA;AAEpC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,YAHnC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,gCAAgC,CAAA,EAAA,CAAA,CAAA;;4FAG/E,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qCAAqC,CAAC;oBACrD,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,gCAAgC,CAAC;oBAC3F,OAAO,EAAE,CAAC,qCAAqC,CAAC;AACjD,iBAAA;;;AC3BD;;;;;;;;;;;;;;AAcG;MAaU,8BAA8B,CAAA;AAL3C,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAiC,IAAI,YAAY,EAAkB;AAIzE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC;AAC7D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAyB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC;AAE9F,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA5CO,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,8PC3B3C,o8DA0DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ba,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,o8DAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOlC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEnCH;;;;;;;;;;;;;;AAcG;MAaU,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CACnC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAChE,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAE7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAHrB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;;4FAG/D,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;oBAC9C,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC;oBAC3E,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,4BAA4B,GAChC,whJAAwhJ;;ACjB1hJ;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,2BAA2B,GAAwB;AACvD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,4BAA4B,EAAE,8BAA8B;AAC5D,IAAA,gBAAgB,EAAE,4BAA4B;AAC9C,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,0HAA0H;AAC5H,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,mMAAmM;AACrM,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,sDAAsD;AAC5E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,yHAAyH;AAC3H,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iFAAiF;AACnF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,kMAAkM;AACpM,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,qDAAqD;AAC3E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,wIAAwI;AAC1I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,yEAAyE;AAC3E,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,uNAAuN;AACzN,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,gEAAgE;AACtF,SAAA;AACF,KAAA;;;AChEH;;;;;;;;;;;;;;AAcG;MAYU,6CAA6C,CAAA;AAL1D,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAmC;AAIpC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAyC,IAAI,CAAC;AAC9E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA0C,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA0C,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;AAE/E,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA7CO,6CAA6C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6CAA6C,gRC1B1D,0kDA8CA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDpBa,6CAA6C,EAAA,UAAA,EAAA,CAAA;kBALzD,SAAS;+BACE,mDAAmD,EAAA,QAAA,EAAA,0kDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOpD,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAaU,qCAAqC,CAAA;+GAArC,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAArC,qCAAqC,EAAA,YAAA,EAAA,CAJjC,6CAA6C,CAAA,EAAA,OAAA,EAAA,CAClD,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAChE,6CAA6C,CAAA,EAAA,CAAA,CAAA;AAE5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,YAHtC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAG/D,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,6CAA6C,CAAC;oBAC7D,OAAO,EAAE,CAAC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAC;oBAC3E,OAAO,EAAE,CAAC,6CAA6C,CAAC;AACzD,iBAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,8CAA8C,GAClD,gsIAAgsI;;ACjBlsI;;;;;;;;;;;;;;AAcG;AAMH,MAAM,4CAA4C,GAAwB;AACxE,IAAA,QAAQ,EAAE,2BAA2B;AACrC,IAAA,4BAA4B,EAAE,6CAA6C;AAC3E,IAAA,gBAAgB,EAAE,8CAA8C;AAEhE,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,4BAA4B;AACnC,YAAA,WAAW,EACT,0FAA0F;AAC5F,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,qHAAqH;AACxH,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,6BAA6B;AACpC,YAAA,WAAW,EAAE,8EAA8E;AAC3F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,wFAAwF;AAC3F,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,WAAW,EACT,4FAA4F;AAC9F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,yGAAyG;AAC5G,SAAA;AACF,KAAA;;;AC1DH;;;;;;;;;;;;;;AAcG;MAYU,oCAAoC,CAAA;AALjD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAwB;AAIzB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA8B,IAAI,CAAC;AACnE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAsC9D;IApCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA+B,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;AACb,YAAA,SAAS,CAAC,QAAQ;YAClB,SAAS,CAAC,QAAQ,CACnB;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAlDO,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,oQC1BjD,sgEAiEA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvCa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,sgEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOxC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAiBU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;QAEnC,IAAO,CAAA,OAAA,GAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QAC/D,IAAmB,CAAA,mBAAA,GAAsC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;AAC5F,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,IAAI,EAAE,MAAM;AACb,SAAA,CAAC,CAAC;AAGc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAuC9D;IArCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,aAAa;AACvB,YAAA,SAAS,CAAC,YAAY;AACtB,YAAA,SAAS,CAAC,MAAM;AAChB,YAAA,SAAS,CAAC,oCAAoC;AAC9C,YAAA,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CACnC;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAxDO,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC/BnD,ypFA8EA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ca,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,ypFAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEvCH;;;;;;;;;;;;;;AAcG;MAUU,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAWY,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;AAClC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAEnD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;AAErE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAmC9D;IAjCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,iBAAiB,IAAI,SAAS,CAAC,4CAA4C,CACtF;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA9CO,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,yPCxBtC,g9CAyCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,g9CAAA,EAAA;8BAM7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBAES,KAAK,EAAA,CAAA;sBAAd;;;AEjCH;;;;;;;;;;;;;;AAcG;MAqCU,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,iBAnBnC,oCAAoC;YACpC,sCAAsC;AACtC,YAAA,yBAAyB,aAGzB,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,sBAAsB;AACtB,YAAA,eAAe,aAGf,oCAAoC;YACpC,sCAAsC;YACtC,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAdnC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAQN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBArBtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oCAAoC;wBACpC,sCAAsC;wBACtC,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,sBAAsB;wBACtB,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oCAAoC;wBACpC,sCAAsC;wBACtC,yBAAyB;AAC1B,qBAAA;AACF,iBAAA;;;AClDD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,kCAAkC,GACtC,wweAAwwe;;ACjB1we;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAQH,MAAM,iCAAiC,GAAwB;AAC7D,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,4BAA4B,EAAE,oCAAoC;AAClE,IAAA,gBAAgB,EAAE,kCAAkC;AACpD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,mBAAmB,EAAE,sCAAsC;AAC3D,QAAA,oBAAoB,EAAE,yBAAyB;AAChD,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,+CAA+C;AAC5D,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,oBAAoB,EAAE,uBAAuB;AAC7C,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,iBAAiB,EAAE,qBAAqB;AACxC,YAAA,4CAA4C,EAC1C,mDAAmD;AACrD,YAAA,mBAAmB,EACjB,2FAA2F;AAC7F,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,oCAAoC,EAAE,2CAA2C;AACjF,YAAA,2CAA2C,EACzC,kLAAkL;AACpL,YAAA,uBAAuB,EACrB,6GAA6G;AAChH,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,0CAA0C;AACvD,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,iBAAiB,EAAE,qBAAqB;AACxC,YAAA,4CAA4C,EAAE,8CAA8C;AAE5F,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,wFAAwF;AAC1F,YAAA,oCAAoC,EAAE,4CAA4C;AAClF,YAAA,2CAA2C,EACzC,wJAAwJ;AAC1J,YAAA,uBAAuB,EACrB,oFAAoF;AACvF,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,mBAAmB,EAAE,qBAAqB;AAC1C,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,aAAa,EAAE,iBAAiB;AAChC,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,iBAAiB,EAAE,sBAAsB;AACzC,YAAA,4CAA4C,EAC1C,qDAAqD;AACvD,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,8FAA8F;AAChG,YAAA,oCAAoC,EAAE,kDAAkD;AACxF,YAAA,2CAA2C,EACzC,oLAAoL;AACtL,YAAA,uBAAuB,EACrB,qGAAqG;AACxG,SAAA;AACF,KAAA;;;AC7GH;;;;;;;;;;;;;;AAcG;MAWU,oBAAoB,CAAA;IAG/B,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;IAGhE,2BAA2B,GAAA;AAChC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,kBAAkB,CAAuC,qCAAA,CAAA,CAClE;;+GAbQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAeU,mCAAmC,CAAA;AA2C9C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAClD,oBAA0C,EAAA;QAH1C,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;QACxB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;AAxC7B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAuB;AAIxB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC;AAClE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAEpD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAC5D,+BAA+B,CAChC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLM,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;QACM,IAAgB,CAAA,gBAAA,GACvB,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAC1DA,KAAG,CAAC,QAAQ,IACV,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK;AAChC,YAAA,EAAE,EAAE,OAAO;AACX,YAAA,IAAI,EAAE,OAAO;SACd,CAAC,CAAC,CACJ,CACF;;IASH,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzB,YAAA,SAAS,CAAC,UAAU,GAAG,IAAI;;AAE7B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA8B,EAAA;AAChD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;AACb,YAAA,SAAS,CAAC,eAAe;YACzB,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvFO,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAU,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,mQC7BhD,qsGAsFA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDzDa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,sCAAsC,EAAA,QAAA,EAAA,qsGAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4LAOvC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AErCH;;;;;;;;;;;;;;AAcG;MAoBU,uCAAuC,CAAA;IA6DlD,WACmB,CAAA,gBAAkC,EAClC,wBAAkD,EAAA;QADlD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AAxDjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA2B;AAEpC,QAAA,IAAA,CAAA,2BAA2B,GAAgC;YAClE,UAAU;YACV,kBAAkB;YAClB,QAAQ;YACR,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,QAAQ;YACR,aAAa;SACd;QACQ,IAA0B,CAAA,0BAAA,GACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCH,KAAG,CAAC,MACF,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,KAAK;AAC5D,YAAA,EAAE,EAAE,oBAAoB;AACxB,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjF,CAAC,CAAC,CACJ,CACF;AAEM,QAAA,IAAA,CAAA,cAAc,GAA4B,CAAC,KAAK,CAAC;QACjD,IAAoB,CAAA,oBAAA,GAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCA,KAAG,CAAC,MACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK;AAC/B,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjE,CAAC,CAAC,CACJ,CACF;AACM,QAAA,IAAA,CAAA,YAAY,GAA0B;YAC7C,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,cAAc;SACf;QACQ,IAAkB,CAAA,kBAAA,GACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCA,KAAG,CAAC,MACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK;AAC7B,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjE,CAAC,CAAC,CACJ,CACF;AAGc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAiC,IAAI,CAAC;AACtE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAO7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAkC,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAkC,EAAA;AACpD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,qBAAqB;AAC/B,YAAA,SAAS,CAAC,IAAI;AACd,YAAA,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,oBAAoB,CAC/B;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GApGO,uCAAuC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,wQClCpD,s3HA4GA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD1Ea,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBALnD,SAAS;+BACE,2CAA2C,EAAA,QAAA,EAAA,s3HAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;yHAO5C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AE1CH;;;;;;;;;;;;;;AAcG;MAWU,2CAA2C,CAAA;AALxD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO;AAsBrE;IAlBC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE;;IAGlB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;IAG9B,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGf,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7B,SAAC,CAAC;;+GA5BO,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2CAA2C,4QCzBxD,oyBAmBA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBALvD,SAAS;+BACE,+CAA+C,EAAA,QAAA,EAAA,oyBAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOhD,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEjCH;;;;;;;;;;;;;;AAcG;MAYU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAkC9D;IAhCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGvB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;IAG9B,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;AAGJ,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB;AAE7C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;+GA7Cb,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC1BnD,osCAiCA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDPa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,osCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAiCU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBApBlC,mCAAmC;YACnC,uCAAuC;YACvC,2CAA2C;AAC3C,YAAA,sCAAsC,aAGtC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;AACZ,YAAA,eAAe,aAGf,mCAAmC;YACnC,uCAAuC;YACvC,2CAA2C;YAC3C,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAG7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAdlC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA;;4FASN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAtBrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mCAAmC;wBACnC,uCAAuC;wBACvC,2CAA2C;wBAC3C,sCAAsC;AACvC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mCAAmC;wBACnC,uCAAuC;wBACvC,2CAA2C;wBAC3C,sCAAsC;AACvC,qBAAA;AACF,iBAAA;;;AC9CD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,iCAAiC,GACrC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AASH,MAAM,gCAAgC,GAAwB;AAC5D,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,4BAA4B,EAAE,mCAAmC;AACjE,IAAA,gBAAgB,EAAE,iCAAiC;AACnD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,qBAAqB,EAAE,uCAAuC;AAC9D,QAAA,yBAAyB,EAAE,2CAA2C;AACtE,QAAA,mBAAmB,EAAE,sCAAsC;AAC5D,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,8EAA8E;AAC3F,YAAA,qBAAqB,EAAE,kBAAkB;AACzC,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,4BAA4B,EAC1B,sEAAsE;AACxE,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,qHAAqH;AACvH,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,yHAAyH;AAC3H,YAAA,eAAe,EAAE,sBAAsB;AACvC,YAAA,sBAAsB,EACpB,oFAAoF;AACtF,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,eAAe,EACb,qGAAqG;AACvG,YAAA,oBAAoB,EAAE,8BAA8B;AACpD,YAAA,2BAA2B,EACzB,4EAA4E;AAC9E,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,uBAAuB,EAAE,2DAA2D;AACpF,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,gBAAgB,EAAE,kBAAkB;AACpC,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,4BAA4B,EAC1B,kHAAkH;AACpH,YAAA,iBAAiB,EAAE,+CAA+C;AAClE,YAAA,uBAAuB,EACrB,mIAAmI;AACrI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,mCAAmC;AACzD,YAAA,2BAA2B,EACzB,oKAAoK;AACtK,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,gBAAgB,EAAE,kBAAkB;AACpC,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,wCAAwC,EACtC,uKAAuK;AACzK,YAAA,UAAU,EAAE,uBAAuB;AACnC,YAAA,iBAAiB,EAAE,2CAA2C;AAC9D,YAAA,uBAAuB,EACrB,qFAAqF;AACvF,YAAA,mBAAmB,EACjB,gFAAgF;AACnF,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,kEAAkE;AAC/E,YAAA,qBAAqB,EAAE,eAAe;AACtC,YAAA,yBAAyB,EAAE,wBAAwB;AACnD,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,4BAA4B,EAC1B,iEAAiE;AACnE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iIAAiI;AACnI,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,uHAAuH;AACzH,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,sBAAsB,EACpB,uJAAuJ;AACzJ,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,qGAAqG;AACvG,YAAA,oBAAoB,EAAE,uBAAuB;AAC7C,YAAA,2BAA2B,EACzB,8EAA8E;AAChF,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,uBAAuB,EAAE,sDAAsD;AAC/E,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,gBAAgB,EAAE,mBAAmB;AACrC,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,aAAa,EAAE,cAAc;AAC7B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,wCAAwC;AAC/D,YAAA,4BAA4B,EAC1B,6FAA6F;AAC/F,YAAA,iBAAiB,EAAE,gDAAgD;AACnE,YAAA,uBAAuB,EACrB,0IAA0I;AAC5I,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,kCAAkC;AACxD,YAAA,2BAA2B,EACzB,2JAA2J;AAC7J,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,gBAAgB,EAAE,iBAAiB;AACnC,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,wCAAwC,EACtC,mKAAmK;AACrK,YAAA,UAAU,EAAE,wBAAwB;AACpC,YAAA,iBAAiB,EAAE,0CAA0C;AAC7D,YAAA,uBAAuB,EACrB,oFAAoF;AACtF,YAAA,mBAAmB,EACjB,gFAAgF;AACnF,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,yEAAyE;AACtF,YAAA,qBAAqB,EAAE,oBAAoB;AAC3C,YAAA,yBAAyB,EAAE,kCAAkC;AAC7D,YAAA,mBAAmB,EAAE,wBAAwB;AAC7C,YAAA,4BAA4B,EAC1B,4EAA4E;AAC9E,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,kIAAkI;AACpI,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,sHAAsH;AACxH,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,sBAAsB,EACpB,8LAA8L;AAChM,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,yGAAyG;AAC3G,YAAA,oBAAoB,EAAE,yBAAyB;AAC/C,YAAA,2BAA2B,EACzB,oEAAoE;AACtE,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,wDAAwD;AAC3E,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,uBAAuB,EAAE,wDAAwD;AACjF,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,gBAAgB,EAAE,0BAA0B;AAC5C,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,4BAA4B,EAC1B,qGAAqG;AACvG,YAAA,iBAAiB,EAAE,0DAA0D;AAC7E,YAAA,uBAAuB,EACrB,wIAAwI;AAC1I,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,+BAA+B;AACrD,YAAA,2BAA2B,EACzB,gLAAgL;AAClL,YAAA,GAAG,EAAE,gBAAgB;AACrB,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,UAAU,EAAE,WAAW;AACvB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,wCAAwC,EACtC,kLAAkL;AACpL,YAAA,UAAU,EAAE,wBAAwB;AACpC,YAAA,iBAAiB,EAAE,+CAA+C;AAClE,YAAA,uBAAuB,EACrB,yFAAyF;AAC3F,YAAA,mBAAmB,EACjB,0FAA0F;AAC7F,SAAA;AACF,KAAA;;;ACxNH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAcU,oCAAoC,CAAA;AAgC/C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA5BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAwB;AAIzB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA8B,IAAI,CAAC;AACnE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAEpD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;;IAQH,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA+B,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvEO,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,oQC5BjD,srEA4DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,srEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOxC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAoBU,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAXtB,oCAAoC,CAAA,EAAA,OAAA,EAAA,CAEjD,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;AACZ,YAAA,eAAe,aAEP,oCAAoC,CAAA,EAAA,CAAA,CAAA;AAEnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YATnC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAIN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAZtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oCAAoC,CAAC;AACpD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,oCAAoC,CAAC;AAChD,iBAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,kCAAkC,GACtC,gsIAAgsI;;ACjBlsI;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,iCAAiC,GAAwB;AAC7D,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,4BAA4B,EAAE,oCAAoC;AAClE,IAAA,gBAAgB,EAAE,kCAAkC;AAEpD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,uEAAuE;AACnF,YAAA,WAAW,EACT,6IAA6I;AAC/I,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,gEAAgE;AAC5E,YAAA,WAAW,EACT,6IAA6I;AAC/I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,iEAAiE;AAC7E,YAAA,WAAW,EACT,0JAA0J;AAC5J,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC3DH;;;;;;;;;;;;;;AAcG;MAcU,8BAA8B,CAAA;AA+BzC,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA3BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAiC,IAAI,YAAY,EAAkB;AAIzE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC;AAC7D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAEpD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,0BAA0B,CAAC;AAC1F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLL,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;;IAQH,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAyB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAtEO,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,8PC5B3C,wxEA6DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjCa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,wxEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOlC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAcU,wCAAwC,CAAA;AAgCnD,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA5BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA4B;AAI7B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAkC,IAAI,CAAC;AACvE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAEpD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,uBAAuB,CAAC;AACvF,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLL,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;;IAQH,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAmC,EAAA;AACjD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAmC,EAAA;AACrD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW;AAErC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAnEO,wCAAwC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,0QC5BrD,kgEA4DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBALpD,SAAS;+BACE,6CAA6C,EAAA,QAAA,EAAA,kgEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAO9C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAWU,gDAAgD,CAAA;AAL7D,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO;AAsBrE;IAlBC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE;;IAGlB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;IAG9B,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGf,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7B,SAAC,CAAC;;+GA5BO,gDAAgD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gDAAgD,mRCzB7D,yyBAmBA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,gDAAgD,EAAA,UAAA,EAAA,CAAA;kBAL5D,SAAS;+BACE,sDAAsD,EAAA,QAAA,EAAA,yyBAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOvD,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEjCH;;;;;;;;;;;;;;AAcG;MAYU,eAAe,CAAA;IAG1B,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;AAGhE,IAAA,8BAA8B,CAAC,gBAAwB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,mBAAA,EAAsB,gBAAgB,CAAA,oBAAA,CAAsB,CACvF;;AAGI,IAAA,iCAAiC,CACtC,gBAAwB,EAAA;AAExB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,mBAAA,EAAsB,gBAAgB,CAAA,uBAAA,CAAyB,CAC1F;;AAGI,IAAA,gCAAgC,CACrC,kBAA0B,EAAA;AAE1B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,8BAAA,EAAiC,kBAAkB,CAAA,uBAAA,CAAyB,CACvG;;+GA7BQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MA6BU,mCAAmC,CAAA;IAK9C,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAyG5B,IAAA,WAAA,CACmB,YAA0B,EAC1B,eAAgC,EAChC,eAAgC,EAChC,mBAAwC,EAAA;QAHxC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA1G5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAuB;AAEhC,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC3D,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAAQ;AAE3C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,sBAAsB,GAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDY,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAEhE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,eAAe,CAAC,8BAA8B,CACjD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACrE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFA,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa;gBAElD,IAAI,aAAa,EAAE;AACjB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;4BAC1E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BACxD;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAEpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAE3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC;AAClE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAS7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,yBAAyB,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;;;AAIvE,IAAA,oBAAoB,CAAC,gBAAwB,EAAA;AAC3C,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;;AAGnC,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAA8B,EAAA;AAChD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;wBAC9C,aAAa,EAAE,SAAS,CAAC,aAAa;AACvC,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvKO,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,EAFnC,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCzClC,0lIA4GA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjEa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAN/C,SAAS;+BACE,uCAAuC,EAAA,SAAA,EAGtC,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,0lIAAA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA;6KAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AErDH;;;;;;;;;;;;;;AAcG;MA6BU,yCAAyC,CAAA;IAKpD,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAyG5B,IAAA,WAAA,CACmB,YAA0B,EAC1B,eAAgC,EAChC,eAAgC,EAChC,mBAAwC,EAAA;QAHxC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA1G5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA6B;AAEtC,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC3D,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAAQ;AAE3C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,yBAAyB,GAChC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDJ,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAEhE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,eAAe,CAAC,iCAAiC,CACpD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACxE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFA,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,gBAAgB,GAAG,aAAa,EAAE,gBAAgB;gBAExD,IAAI,gBAAgB,EAAE;AACpB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE;4BAC7E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BACxD;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAEpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAE3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAmC,IAAI,CAAC;AACxE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAS7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAoC,EAAA;AAClD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,4BAA4B,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC;;;AAI1E,IAAA,oBAAoB,CAAC,gBAAwB,EAAA;AAC3C,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;;AAGnC,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAAoC,EAAA;AACtD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB;AAE1C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;AAC7C,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvKO,yCAAyC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,EAFzC,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCzClC,gpIA4GA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjEa,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBANrD,SAAS;+BACE,6CAA6C,EAAA,SAAA,EAG5C,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,gpIAAA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA;6KAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AErDH;;;;;;;;;;;;;;AAcG;MAYU,uCAAuC,CAAA;AALpD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAyC;AAI1C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAC/C,IAAI,CACL;AACgB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAgD,EAAA;AAC9D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAgD,EAAA;AAClE,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,UAAU,CAAC;AAElE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA/CO,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,uRC1BpD,gmFA+EA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAArB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDrDa,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBALnD,SAAS;+BACE,0DAA0D,EAAA,QAAA,EAAA,gmFAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO3D,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAYU,2CAA2C,CAAA;AALxD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA6C;AAI9C,QAAA,IAAA,CAAA,UAAU,GACzB,IAAI,eAAe,CAAmD,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAoD,EAAA;AAClE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAoD,EAAA;AACtE,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,UAAU,CAAC;AAElE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA9CO,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2CAA2C,4RC1BxD,mwEAoEA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD1Ca,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBALvD,SAAS;+BACE,+DAA+D,EAAA,QAAA,EAAA,mwEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOhE,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MA2BU,gCAAgC,CAAA;IAK3C,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AA4E5B,IAAA,WAAA,CACmB,eAAgC,EAChC,eAAgC,EAChC,YAA0B,EAC1B,mBAAwC,EAAA;QAHxC,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA7E5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAmC,IAAI,YAAY,EAAoB;AAErF,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;QAEpE,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACDC,KAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA0B,IAAI,CAAC;AAC/D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAEpD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,cAAc,GAAkC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CACxF,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACD,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;YACnC,GAAG,0BAA0B,CAAC,GAAG,CAAC,yBAAyB,IACzD,IAAI,CAAC,eAAe,CAAC,eAAe,CAClC,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CACvD,CACF;AACF,SAAA,CAAC,CACH,EACDA,KAAG,CAAC,OAAO,IAAG;AACZ,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAoB;AAC/C,YAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAwB;AAE3F,YAAA,OAAO;iBACJ,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW;AAClD,iBAAA,GAAG,CAAC,YAAY,KAAK;gBACpB,EAAE,EAAE,YAAY,CAAC,WAAW;AAC5B,gBAAA,IAAI,EACF,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY;AACnF,oBAAA,YAAY,CAAC,WAAW;AAC3B,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,EACFM,KAAG,CAAC,mBAAmB,IAAG;AACxB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,WAAW,GAAG,aAAa,EAAE,WAAW;AAE9C,gBAAA,IACE,WAAW;AACX,oBAAA,CAAC,CAAE,mBAAyC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EACzF;AACA,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;;IASD,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA2B,EAAA;AACzC,QAAA,MAAM,uBAAuB,GAAG,SAAS,CAAC,uBAAuB;AACjE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAE3B,IAAI,uBAAuB,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC;;;AAI3D,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;IAGd,oBAAoB,CAAC,WAA8B,EAAE,EAAU,EAAA;AAC7D,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;;AAGnD,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAA2B,EAAA;AAC7C,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC;AAEzD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;AAC/C,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GA/IO,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EAFhC,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCvClC,giHA8FA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDrDa,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAN5C,SAAS;+BACE,mCAAmC,EAAA,SAAA,EAGlC,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,giHAAA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA;kLAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEnDH;;;;;;;;;;;;;;AAcG;MAaU,2BAA2B,CAAA;AALxC,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA4B;AACpC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAEnD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAkC,IAAI,CAAC;AAEvE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAqC9D;IAnCQ,QAAQ,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;;IAGtB,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAG/B,IAAA,eAAe,CAAC,SAAmC,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAmC,EAAA;AACrD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,qBAAqB;AAC/B,YAAA,SAAS,CAAC,sBAAsB;YAChC,SAAS,CAAC,eAAe,CAC1B;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAhDO,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAJ3B,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCvBlC,4uDAwDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAArB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD7Ba,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;gCACG,CAAC,mBAAmB,CAAC,EAAA,QAAA,EACtB,4CAA4C,EAAA,QAAA,EAAA,4uDAAA,EAAA;8BAM7C,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBAES,KAAK,EAAA,CAAA;sBAAd;;;AEpCH;;;;;;;;;;;;;;AAcG;MAaU,yCAAyC,CAAA;AALtD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA6B;AAI9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAmC,IAAI,CAAC;AACxE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAmC9D;IAjCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAoC,EAAA;AAClD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAoC,EAAA;AACtD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAiB;AAE3C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;AAC/C,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GA/CO,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,EAFzC,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCzBlC,mgDA0CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDfa,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBALrD,SAAS;+BACE,4CAA4C,EAAA,SAAA,EAE3C,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,mgDAAA,EAAA;8BAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEnCH;;;;;;;;;;;;;;AAcG;MAWU,0BAA0B,CAAA;AALvC,IAAA,WAAA,GAAA;AAaY,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO;AAC1D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAE5D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE;AAsB/C;IApBQ,QAAQ,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE;;IAGX,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;;IAG9B,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGf,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACxB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAK;AACzB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,CAAC,CACH;;+GA/BQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAF1B,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCvBlC,oyBAmBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,4BAA4B,EAAA,SAAA,EAE3B,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,oyBAAA,EAAA;8BAKvB,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAES,aAAa,EAAA,CAAA;sBAAtB;gBACS,KAAK,EAAA,CAAA;sBAAd;;;AElCH;;;;;;;;;;;;;;AAcG;MA4BU,6BAA6B,CAAA;IAKxC,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAyG5B,IAAA,WAAA,CACmB,YAA0B,EAC1B,eAAgC,EAChC,eAAgC,EAChC,mBAAwC,EAAA;QAHxC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA1G5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA8B;AAEvC,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC7D,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,OAAO,EAAQ;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,sBAAsB,GAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDO,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAElE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,eAAe,CAAC,gCAAgC,CACnD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACvE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFA,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa;gBAElD,IAAI,aAAa,EAAE;AACjB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;4BAC1E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BAC1D;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAEpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAE3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAoC,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAS7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAqC,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,yBAAyB,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;;;AAIvE,IAAA,oBAAoB,CAAC,kBAA0B,EAAA;AAC7C,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE;;AAGvC,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAAqC,EAAA;AACvD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,aAAa,EAAE,SAAS,CAAC,aAAa;wBACtC,eAAe,EAAE,SAAS,CAAC,eAAe;AAC3C,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvKO,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAF7B,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCxClC,kmIA4GA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlEa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,+BAA+B,EAAA,SAAA,EAE9B,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,kmIAAA,EAAA;6KAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpDH;;;;;;;;;;;;;;AAcG;MA4BU,6BAA6B,CAAA;IAKxC,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAyG5B,IAAA,WAAA,CACmB,YAA0B,EAC1B,eAAgC,EAChC,eAAgC,EAChC,mBAAwC,EAAA;QAHxC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA1G5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA8B;AAEvC,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC7D,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,OAAO,EAAQ;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,sBAAsB,GAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDJ,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAElE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,eAAe,CAAC,gCAAgC,CACnD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACvE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFA,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa;gBAElD,IAAI,aAAa,EAAE;AACjB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;4BAC1E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BAC1D;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAEpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAE3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAoC,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAS7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAqC,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,yBAAyB,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;;;AAIvE,IAAA,oBAAoB,CAAC,kBAA0B,EAAA;AAC7C,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE;;AAGvC,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAAqC,EAAA;AACvD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,aAAa,EAAE,SAAS,CAAC,aAAa;wBACtC,eAAe,EAAE,SAAS,CAAC,eAAe;AAC3C,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvKO,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAF7B,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCxClC,kmIA4GA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlEa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,+BAA+B,EAAA,SAAA,EAE9B,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,kmIAAA,EAAA;6KAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpDH;;;;;;;;;;;;;;AAcG;MA4BU,6BAA6B,CAAA;IAKxC,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAyG5B,IAAA,WAAA,CACmB,YAA0B,EAC1B,eAAgC,EAChC,eAAgC,EAChC,mBAAwC,EAAA;QAHxC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AA1G5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA8B;AAEvC,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC7D,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,OAAO,EAAQ;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,sBAAsB,GAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDJ,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAElE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,eAAe,CAAC,gCAAgC,CACnD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACvE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFA,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa;gBAElD,IAAI,aAAa,EAAE;AACjB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;4BAC1E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BAC1D;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAEpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAE3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAIgB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAoC,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAS7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAqC,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,yBAAyB,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;;;AAIvE,IAAA,oBAAoB,CAAC,kBAA0B,EAAA;AAC7C,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE;;AAGvC,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGN,IAAA,WAAW,CAAC,SAAqC,EAAA;AACvD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,aAAa,EAAE,SAAS,CAAC,aAAa;AACvC,qBAAA,CAAC;;AAEN,aAAC,CAAC;AACN,SAAC,CAAC;;+GAtKO,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAF7B,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BCxClC,+sHAiGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvDa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,+BAA+B,EAAA,SAAA,EAE9B,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,+sHAAA,EAAA;6KAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpDH;;;;;;;;;;;;;;AAcG;MA2EU,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBA5C7B,8BAA8B;YAC9B,wCAAwC;YACxC,gDAAgD;YAChD,mCAAmC;YACnC,yCAAyC;YACzC,uCAAuC;YACvC,2CAA2C;YAC3C,gCAAgC;YAChC,2BAA2B;YAC3B,yCAAyC;YACzC,0BAA0B;YAC1B,6BAA6B;YAC7B,6BAA6B;AAC7B,YAAA,6BAA6B,aAG7B,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,WAAW;AACX,YAAA,aAAa,aAGb,8BAA8B;YAC9B,wCAAwC;YACxC,gDAAgD;YAChD,mCAAmC;YACnC,yCAAyC;YACzC,gCAAgC;YAChC,uCAAuC;YACvC,2CAA2C;YAC3C,2BAA2B;YAC3B,yCAAyC;YACzC,0BAA0B;YAC1B,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAGpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YA5B7B,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAmBJ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA9ChC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,8BAA8B;wBAC9B,wCAAwC;wBACxC,gDAAgD;wBAChD,mCAAmC;wBACnC,yCAAyC;wBACzC,uCAAuC;wBACvC,2CAA2C;wBAC3C,gCAAgC;wBAChC,2BAA2B;wBAC3B,yCAAyC;wBACzC,0BAA0B;wBAC1B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,8BAA8B;wBAC9B,wCAAwC;wBACxC,gDAAgD;wBAChD,mCAAmC;wBACnC,yCAAyC;wBACzC,gCAAgC;wBAChC,uCAAuC;wBACvC,2CAA2C;wBAC3C,2BAA2B;wBAC3B,yCAAyC;wBACzC,0BAA0B;wBAC1B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,6BAA6B;AAC9B,qBAAA;AACF,iBAAA;;;ACxFD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,4BAA4B,GAChC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAmBH,MAAM,2BAA2B,GAAwB;AACvD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,4BAA4B,EAAE,8BAA8B;AAC5D,IAAA,gBAAgB,EAAE,4BAA4B;AAC9C,IAAA,+BAA+B,EAAE;AAC/B,QAAA,uBAAuB,EAAE,wCAAwC;AACjE,QAAA,gCAAgC,EAAE,gDAAgD;AAClF,QAAA,gBAAgB,EAAE,mCAAmC;AACrD,QAAA,sBAAsB,EAAE,yCAAyC;AACjE,QAAA,aAAa,EAAE,gCAAgC;AAC/C,QAAA,oCAAoC,EAAE,uCAAuC;AAC7E,QAAA,yCAAyC,EAAE,2CAA2C;AACtF,QAAA,qBAAqB,EAAE,2BAA2B;AAClD,QAAA,sBAAsB,EAAE,yCAAyC;AACjE,QAAA,oBAAoB,EAAE,0BAA0B;AAChD,QAAA,uBAAuB,EAAE,6BAA6B;AACtD,QAAA,uBAAuB,EAAE,6BAA6B;AACtD,QAAA,uBAAuB,EAAE,6BAA6B;AACvD,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,UAAU,EACR,mHAAmH;AACrH,YAAA,WAAW,EACT,oIAAoI;AACtI,YAAA,uBAAuB,EAAE,0BAA0B;AACnD,YAAA,gCAAgC,EAAE,mCAAmC;AACrE,YAAA,iCAAiC,EAC/B,oFAAoF;AACtF,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,WAAW,EAAE,uBAAuB;AACpC,YAAA,kBAAkB,EAChB,0GAA0G;AAC5G,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,YAAY,EACV,2FAA2F;AAC7F,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,kGAAkG;AACpG,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,wCAAwC,EACtC,uKAAuK;AACzK,YAAA,uBAAuB,EACrB,8FAA8F;AAChG,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,qBAAqB,EACnB,wFAAwF;AAC1F,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,eAAe,EAAE,2DAA2D;AAC5E,YAAA,qBAAqB,EAAE,uBAAuB;AAC9C,YAAA,sBAAsB,EAAE,wBAAwB;AAChD,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,eAAe,EAAE,yDAAyD;AAC1E,YAAA,qBAAqB,EACnB,wIAAwI;AAC1I,YAAA,uBAAuB,EAAE,yBAAyB;AAClD,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,oCAAoC,EAAE,uCAAuC;AAC7E,YAAA,yCAAyC,EAAE,4CAA4C;AACvF,YAAA,qBAAqB,EAAE,oBAAoB;AAC3C,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,8BAA8B,EAC5B,mFAAmF;AACrF,YAAA,iBAAiB,EAAE,wBAAwB;AAC3C,YAAA,wBAAwB,EACtB,wFAAwF;AAC1F,YAAA,oBAAoB,EAAE,yBAAyB;AAC/C,YAAA,4BAA4B,EAAE,2DAA2D;AACzF,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,uBAAuB,EAAE,0BAA0B;AACnD,YAAA,uBAAuB,EAAE,0BAA0B;AACnD,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,oBAAoB,EAAE,oCAAoC;AAC1D,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,sBAAsB,EAAE,iCAAiC;AACzD,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,2BAA2B;AACvD,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,+BAA+B,EAC7B,0JAA0J;AAC5J,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,cAAc,EAAE,gBAAgB;AAChC,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,gBAAgB,EAAE,wCAAwC;AAC1D,YAAA,gBAAgB,EAAE,6CAA6C;AAC/D,YAAA,uBAAuB,EACrB,0GAA0G;AAC5G,YAAA,WAAW,EAAE,6BAA6B;AAC1C,YAAA,QAAQ,EAAE,gCAAgC;AAC1C,YAAA,eAAe,EACb,oGAAoG;AACtG,YAAA,iBAAiB,EAAE,uDAAuD;AAC1E,YAAA,qBAAqB,EAAE,qCAAqC;AAC5D,YAAA,aAAa,EAAE,0CAA0C;AACzD,YAAA,uBAAuB,EACrB,iFAAiF;AACnF,YAAA,kBAAkB,EAAE,+DAA+D;AACnF,YAAA,gBAAgB,EAAE,qBAAqB;AACvC,YAAA,aAAa,EAAE,qBAAqB;AACpC,YAAA,oBAAoB,EAAE,qCAAqC;AAC3D,YAAA,iBAAiB,EAAE,wBAAwB;AAC3C,YAAA,wBAAwB,EACtB,sFAAsF;AACxF,YAAA,sBAAsB,EAAE,wBAAwB;AAChD,YAAA,gBAAgB,EAAE,wBAAwB;AAC1C,YAAA,uBAAuB,EAAE,wCAAwC;AACjE,YAAA,oBAAoB,EAAE,2BAA2B;AACjD,YAAA,2BAA2B,EAAE,2DAA2D;AACxF,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,qBAAqB,EACnB,+JAA+J;AACjK,YAAA,8BAA8B,EAC5B,qKAAqK;AACvK,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,2BAA2B;AACvD,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,6BAA6B,EAAE,8BAA8B;AAC7D,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,4BAA4B,EAAE,8BAA8B;AAC7D,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EACR,iHAAiH;AACnH,YAAA,WAAW,EACT,mHAAmH;AACrH,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,gCAAgC,EAAE,gCAAgC;AAClE,YAAA,iCAAiC,EAC/B,mEAAmE;AACrE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,WAAW,EAAE,qBAAqB;AAClC,YAAA,kBAAkB,EAChB,4FAA4F;AAC9F,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,YAAY,EACV,gGAAgG;AAClG,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,sGAAsG;AACxG,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,wCAAwC,EACtC,mKAAmK;AACrK,YAAA,uBAAuB,EACrB,2FAA2F;AAC7F,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,qBAAqB,EACnB,mFAAmF;AACrF,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,oDAAoD;AACjE,YAAA,eAAe,EAAE,wCAAwC;AACzD,YAAA,qBAAqB,EAAE,uBAAuB;AAC9C,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,eAAe,EAAE,mEAAmE;AACpF,YAAA,qBAAqB,EACnB,sIAAsI;AACxI,YAAA,uBAAuB,EAAE,yBAAyB;AAClD,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,oCAAoC,EAAE,iCAAiC;AACvE,YAAA,yCAAyC,EAAE,uCAAuC;AAClF,YAAA,qBAAqB,EAAE,cAAc;AACrC,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,8BAA8B,EAC5B,oFAAoF;AACtF,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,wBAAwB,EACtB,mFAAmF;AACrF,YAAA,oBAAoB,EAAE,qBAAqB;AAC3C,YAAA,4BAA4B,EAAE,wDAAwD;AACtF,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,aAAa,EAAE,cAAc;AAC7B,YAAA,oBAAoB,EAAE,kCAAkC;AACxD,YAAA,eAAe,EAAE,kBAAkB;AACnC,YAAA,sBAAsB,EAAE,iCAAiC;AACzD,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,sBAAsB;AAClD,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,+BAA+B,EAC7B,8IAA8I;AAChJ,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,gBAAgB,EAAE,qCAAqC;AACvD,YAAA,gBAAgB,EAAE,yCAAyC;AAC3D,YAAA,uBAAuB,EACrB,iGAAiG;AACnG,YAAA,WAAW,EAAE,8BAA8B;AAC3C,YAAA,QAAQ,EAAE,+BAA+B;AACzC,YAAA,eAAe,EACb,gGAAgG;AAClG,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,qBAAqB,EAAE,uCAAuC;AAC9D,YAAA,aAAa,EAAE,wCAAwC;AACvD,YAAA,uBAAuB,EACrB,yEAAyE;AAC3E,YAAA,kBAAkB,EAAE,wEAAwE;AAC5F,YAAA,gBAAgB,EAAE,mBAAmB;AACrC,YAAA,aAAa,EAAE,qBAAqB;AACpC,YAAA,oBAAoB,EAAE,mCAAmC;AACzD,YAAA,iBAAiB,EAAE,wBAAwB;AAC3C,YAAA,wBAAwB,EACtB,uFAAuF;AACzF,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,gBAAgB,EAAE,wBAAwB;AAC1C,YAAA,uBAAuB,EAAE,sCAAsC;AAC/D,YAAA,oBAAoB,EAAE,2BAA2B;AACjD,YAAA,2BAA2B,EAAE,sDAAsD;AACnF,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,qBAAqB,EACnB,mJAAmJ;AACrJ,YAAA,8BAA8B,EAC5B,qJAAqJ;AACvJ,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,yBAAyB;AACrD,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,6BAA6B,EAAE,4BAA4B;AAC3D,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,4BAA4B,EAAE,8BAA8B;AAC7D,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EACR,gHAAgH;AAClH,YAAA,WAAW,EACT,kHAAkH;AACpH,YAAA,uBAAuB,EAAE,8BAA8B;AACvD,YAAA,gCAAgC,EAAE,4CAA4C;AAC9E,YAAA,iCAAiC,EAC/B,4FAA4F;AAC9F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,kBAAkB,EAChB,iHAAiH;AACnH,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,YAAY,EACV,kGAAkG;AACpG,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,0GAA0G;AAC5G,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,wCAAwC,EACtC,kLAAkL;AACpL,YAAA,uBAAuB,EACrB,mGAAmG;AACrG,YAAA,aAAa,EAAE,iBAAiB;AAChC,YAAA,qBAAqB,EACnB,mGAAmG;AACrG,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,kEAAkE;AAC/E,YAAA,eAAe,EAAE,kEAAkE;AACnF,YAAA,qBAAqB,EAAE,4BAA4B;AACnD,YAAA,sBAAsB,EAAE,6BAA6B;AACrD,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,eAAe,EAAE,wDAAwD;AACzE,YAAA,qBAAqB,EACnB,kIAAkI;AACpI,YAAA,uBAAuB,EAAE,yBAAyB;AAClD,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,oCAAoC,EAAE,uCAAuC;AAC7E,YAAA,yCAAyC,EAAE,6CAA6C;AACxF,YAAA,qBAAqB,EAAE,sBAAsB;AAC7C,YAAA,sBAAsB,EAAE,qCAAqC;AAC7D,YAAA,8BAA8B,EAC5B,6FAA6F;AAC/F,YAAA,iBAAiB,EAAE,yBAAyB;AAC5C,YAAA,wBAAwB,EACtB,gFAAgF;AAClF,YAAA,oBAAoB,EAAE,oCAAoC;AAC1D,YAAA,4BAA4B,EAAE,8CAA8C;AAC5E,YAAA,uBAAuB,EAAE,2BAA2B;AACpD,YAAA,uBAAuB,EAAE,+BAA+B;AACxD,YAAA,uBAAuB,EAAE,yBAAyB;AAClD,YAAA,aAAa,EAAE,kBAAkB;AACjC,YAAA,oBAAoB,EAAE,+BAA+B;AACrD,YAAA,eAAe,EAAE,kBAAkB;AACnC,YAAA,sBAAsB,EAAE,8BAA8B;AACtD,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,gCAAgC;AAC5D,YAAA,+BAA+B,EAC7B,4JAA4J;AAC9J,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,gBAAgB,EAAE,6CAA6C;AAC/D,YAAA,gBAAgB,EAAE,mDAAmD;AACrE,YAAA,uBAAuB,EACrB,uHAAuH;AACzH,YAAA,WAAW,EAAE,0BAA0B;AACvC,YAAA,QAAQ,EAAE,iCAAiC;AAC3C,YAAA,eAAe,EACb,4GAA4G;AAC9G,YAAA,iBAAiB,EAAE,4DAA4D;AAC/E,YAAA,qBAAqB,EAAE,gCAAgC;AACvD,YAAA,aAAa,EAAE,8CAA8C;AAC7D,YAAA,uBAAuB,EACrB,6FAA6F;AAC/F,YAAA,kBAAkB,EAAE,uDAAuD;AAC3E,YAAA,gBAAgB,EAAE,sBAAsB;AACxC,YAAA,aAAa,EAAE,wBAAwB;AACvC,YAAA,oBAAoB,EAAE,6BAA6B;AACnD,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,wBAAwB,EACtB,oFAAoF;AACtF,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,gBAAgB,EAAE,wBAAwB;AAC1C,YAAA,uBAAuB,EAAE,kCAAkC;AAC3D,YAAA,oBAAoB,EAAE,4BAA4B;AAClD,YAAA,2BAA2B,EAAE,uDAAuD;AACpF,YAAA,cAAc,EAAE,SAAS;AACzB,YAAA,qBAAqB,EACnB,6JAA6J;AAC/J,YAAA,8BAA8B,EAC5B,mKAAmK;AACrK,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,0BAA0B,EAAE,+BAA+B;AAC3D,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,6BAA6B,EAAE,mCAAmC;AAClE,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,4BAA4B,EAAE,8BAA8B;AAC7D,SAAA;AACF,KAAA;;;ACtXH;;;;;;;;;;;;;;AAcG;MAcU,iCAAiC,CAAA;AA+B5C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA3BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB;AAI/E,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAEpD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLV,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;;IAQH,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAtEO,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,iQC5B9C,mrEA4DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,oCAAoC,EAAA,QAAA,EAAA,mrEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOrC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAYU,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAsB;AAGvB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA4B,IAAI,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA6B,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS;AAEnC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA1CO,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,oPC1BlC,+zCAqCA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDXa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,+zCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAKxB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEhCH;;;;;;;;;;;;;;AAcG;MAqBU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAXnB,YAAA,EAAA,CAAA,iCAAiC,EAAE,qBAAqB,aAErE,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,OAAA,EAAA,CAEP,iCAAiC,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEvD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAThC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAIN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;AACxE,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;AACpE,iBAAA;;;AClCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,+BAA+B,GACnC,gsIAAgsI;;ACjBlsI;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAOH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,eAAe,EAAE,qBAAqB;AACvC,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EACT,0IAA0I;AAC5I,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,eAAe,EAAE,oBAAoB;AACrC,YAAA,mBAAmB,EACjB,wGAAwG;AAC1G,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,gBAAgB,EACd,oJAAoJ;AACvJ,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,kCAAkC;AAC9C,YAAA,WAAW,EACT,wIAAwI;AAC1I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,mBAAmB,EACjB,sFAAsF;AACxF,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,gBAAgB,EACd,mIAAmI;AACtI,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EACT,wJAAwJ;AAC1J,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,eAAe,EAAE,gBAAgB;AACjC,YAAA,mBAAmB,EACjB,4GAA4G;AAC9G,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,gBAAgB,EACd,qJAAqJ;AACxJ,SAAA;AACF,KAAA;;;AChFH;;;;;;;;;;;;;;AAcG;MAcU,iCAAiC,CAAA;AA4B5C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AAxBjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB;QACvF,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;AAEc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAQ7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAnEO,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,iQC5B9C,0rEA4DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,oCAAoC,EAAA,QAAA,EAAA,0rEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOrC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAYU,mCAAmC,CAAA;AALhD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAuB;AAIxB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC;AAClE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA8B,EAAA;AAChD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,eAAe,CAAC;AAEnE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA7CO,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,mQC1BhD,gsDAiDA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,sCAAsC,EAAA,QAAA,EAAA,gsDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOvC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAYU,oCAAoC,CAAA;AALjD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAwB;AAIzB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA8B,IAAI,CAAC;AACnE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA+B,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC;AAEpE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA7CO,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,oQC1BjD,4sDAiDA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,4sDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOxC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAYU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;AAI3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,CAAC;AAEtE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA7CO,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC1BnD,wtDAiDA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,wtDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAiCU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBApBhC,iCAAiC;YACjC,oCAAoC;YACpC,sCAAsC;AACtC,YAAA,mCAAmC,aAGnC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;AACZ,YAAA,eAAe,aAGf,iCAAiC;YACjC,oCAAoC;YACpC,sCAAsC;YACtC,mCAAmC,CAAA,EAAA,CAAA,CAAA;AAG1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAdhC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA;;4FASN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAtBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iCAAiC;wBACjC,oCAAoC;wBACpC,sCAAsC;wBACtC,mCAAmC;AACpC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iCAAiC;wBACjC,oCAAoC;wBACpC,sCAAsC;wBACtC,mCAAmC;AACpC,qBAAA;AACF,iBAAA;;;AC9CD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,+BAA+B,GACnC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AASH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,iBAAiB,EAAE,oCAAoC;AACvD,QAAA,mBAAmB,EAAE,sCAAsC;AAC3D,QAAA,gBAAgB,EAAE,mCAAmC;AACtD,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EACT,yFAAyF;AAC3F,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,gBAAgB,EAAE,qBAAqB;AACvC,YAAA,wBAAwB,EACtB,6EAA6E;AAC/E,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,eAAe,EAAE,sBAAsB;AACvC,YAAA,sBAAsB,EACpB,gGAAgG;AAClG,YAAA,iBAAiB,EAAE,sBAAsB;AACzC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,2CAA2C;AAC/D,YAAA,6BAA6B,EAC3B,iGAAiG;AACnG,YAAA,mBAAmB,EAAE,wBAAwB;AAC7C,YAAA,2BAA2B,EACzB,iFAAiF;AACnF,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,oBAAoB,EAAE,6CAA6C;AACnE,YAAA,+BAA+B,EAC7B,mGAAmG;AACtG,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EAAE,gFAAgF;AAC7F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,gBAAgB,EAAE,qBAAqB;AACvC,YAAA,wBAAwB,EACtB,oEAAoE;AACtE,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,iBAAiB,EAAE,+CAA+C;AAClE,YAAA,eAAe,EAAE,uBAAuB;AACxC,YAAA,sBAAsB,EACpB,2FAA2F;AAC7F,YAAA,iBAAiB,EAAE,sBAAsB;AACzC,YAAA,yBAAyB,EACvB,qEAAqE;AACvE,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,4CAA4C;AAChE,YAAA,6BAA6B,EAC3B,wFAAwF;AAC1F,YAAA,mBAAmB,EAAE,wBAAwB;AAC7C,YAAA,2BAA2B,EACzB,uEAAuE;AACzE,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,oBAAoB,EAAE,0CAA0C;AAChE,YAAA,+BAA+B,EAC7B,0FAA0F;AAC7F,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EACT,0FAA0F;AAC5F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,gBAAgB,EAAE,sBAAsB;AACxC,YAAA,wBAAwB,EACtB,8EAA8E;AAChF,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,iBAAiB,EAAE,yCAAyC;AAC5D,YAAA,eAAe,EAAE,sBAAsB;AACvC,YAAA,sBAAsB,EACpB,wGAAwG;AAC1G,YAAA,iBAAiB,EAAE,uBAAuB;AAC1C,YAAA,yBAAyB,EACvB,gFAAgF;AAClF,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,mCAAmC;AACvD,YAAA,6BAA6B,EAC3B,yGAAyG;AAC3G,YAAA,mBAAmB,EAAE,yBAAyB;AAC9C,YAAA,2BAA2B,EACzB,kFAAkF;AACpF,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,oBAAoB,EAAE,qCAAqC;AAC3D,YAAA,+BAA+B,EAC7B,2GAA2G;AAC9G,SAAA;AACF,KAAA;;;ACnIH;;;;;;;;;;;;;;AAcG;MAcU,qCAAqC,CAAA;AA+BhD,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA3BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAyB;QAClC,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAC5D,iCAAiC,CAClC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;AAEc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA+B,IAAI,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAQ7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAgC,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAgC,EAAA;AAClD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC;AAExF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAlEO,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,qQC5BlD,wlFAuEA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD3Ca,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,wlFAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOzC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAoBU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA3B,2BAA2B,EAAA,YAAA,EAAA,CAXvB,qCAAqC,CAAA,EAAA,OAAA,EAAA,CAElD,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;AACZ,YAAA,eAAe,aAEP,qCAAqC,CAAA,EAAA,CAAA,CAAA;AAEpC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YATpC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAIN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qCAAqC,CAAC;AACrD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,qCAAqC,CAAC;AACjD,iBAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,mCAAmC,GACvC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;AAMH,MAAM,kCAAkC,GAAwB;AAC9D,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,4BAA4B,EAAE,qCAAqC;AACnE,IAAA,gBAAgB,EAAE,mCAAmC;AACrD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,2CAA2C;AACvD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,yEAAyE;AAC7F,YAAA,WAAW,EAAE,6DAA6D;AAC1E,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,2DAA2D;AAC/E,YAAA,WAAW,EAAE,oDAAoD;AACjE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAChB,0EAA0E;AAC5E,YAAA,WAAW,EAAE,gFAAgF;AAC7F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC9DH;;;;;;;;;;;;;;AAcG;MAYU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;AAI3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC;AAE9F,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA7CO,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC1BnD,u7DAyDA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ba,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,u7DAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAaU,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA5B,4BAA4B,EAAA,YAAA,EAAA,CAJxB,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAC3C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAChE,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAErC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAH7B,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;;4FAG/D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sCAAsC,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC;oBAC3E,OAAO,EAAE,CAAC,sCAAsC,CAAC;AAClD,iBAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,oCAAoC,GACxC,ooYAAooY;;ACjBtoY;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,mCAAmC,GAAwB;AAC/D,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,4BAA4B,EAAE,sCAAsC;AACpE,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,kIAAkI;AACpI,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,2MAA2M;AAC7M,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,sDAAsD;AAC5E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,iIAAiI;AACnI,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iFAAiF;AACnF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,0MAA0M;AAC5M,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,qDAAqD;AAC3E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,gJAAgJ;AAClJ,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,yEAAyE;AAC3E,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,+NAA+N;AACjO,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,gEAAgE;AACtF,SAAA;AACF,KAAA;;;AChEH;;;;;;;;;;;;;;AAcG;MAWU,aAAa,CAAA;IAGxB,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;IAGhE,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,kBAAkB,CAAoC,kCAAA,CAAA,CAC/D;;+GAbQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAiBU,iCAAiC,CAAA;IAkD5C,WACmB,CAAA,uBAAgD,EAChD,uBAAsC,EACtC,gBAAkC,EAClC,wBAAkD,EAClD,cAA8B,EAAA;QAJ9B,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;QACxB,IAAc,CAAA,cAAA,GAAd,cAAc;AAhDvB,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB;QACvF,IAAiC,CAAA,iCAAA,GAAkC,aAAa,CAAC;AACxF,YAAA,IAAI,CAAC,uBAAuB,CAAC,4CAA4C,CAAC,iBAAiB,CAAC;AAC5F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLM,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;QACQ,IAAmC,CAAA,mCAAA,GAAkC,aAAa,CAAC;AAC1F,YAAA,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE;AAC5C,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLA,KAAG,CAAC,CAAC,CAAC,8BAA8B,CAAC,KACnC,8BAA8B,CAAC,GAAG,CAAC,aAAa,KAAK;YACnD,EAAE,EAAE,aAAa,CAAC,EAAE;AACpB,YAAA,IAAI,EAAE,CAAA,EAAG,aAAa,CAAC,KAAK,CAAE,CAAA;SAC/B,CAAC,CAAC,CACJ,CACF;QAEQ,IAAmB,CAAA,mBAAA,GAAkC,IAAI,CAAC;AAChE,aAAA,qBAAqB;AACrB,aAAA,IAAI,CACHA,KAAG,CAAC,kBAAkB,IACpB,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,KAAK;YAC3C,EAAE,EAAE,iBAAiB,CAAC,GAAG;YACzB,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CAAC,CACJ,CACF;AAGc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAU7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,kCAAkC;YAC5C,SAAS,CAAC,+BAA+B,CAC1C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA3FO,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAU,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAhB,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,gQC/B9C,moGA8EA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ca,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,moGAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;kNAOpC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEvCH;;;;;;;;;;;;;;AAcG;MAeU,yBAAyB,CAAA;IA6BpC,WACmB,CAAA,gBAAkC,EAClC,wBAAkD,EAAA;QADlD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AAxBjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B;AACnC,QAAA,IAAA,CAAA,eAAe,GAAoB,CAAC,IAAI,EAAE,KAAK,CAAC;QAChD,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC;AAE9E,QAAA,IAAA,CAAA,cAAc,GAAoB,CAAC,eAAe,EAAE,OAAO,CAAC;QAC5D,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC;AAE7E,QAAA,IAAA,CAAA,oBAAoB,GAAyB,CAAC,KAAK,EAAE,KAAK,CAAC;QAC3D,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAGhF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC;QAC7E,IAAc,CAAA,cAAA,GAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CACjEV,KAAG,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAC5C;QACQ,IAAgB,CAAA,gBAAA,GAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CACnEA,KAAG,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAC9C;AACgB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAO7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GACT,CAAC,CAAC,SAAS,CAAC,QAAQ;AACpB,aAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC;AACxD,gBAAA,CAAC,EAAE,SAAS,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC,CAAC,SAAS,EAAE,QAAQ;AACrB,aAAC,SAAS,CAAC,QAAQ,KAAK;kBACpB,CAAC,EAAE,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,iBAAiB;kBAC/D,IAAI,CAAC;AAEX,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;AAGI,IAAA,4BAA4B,CAAC,WAA0B,EAAA;QAC7D,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7CA,KAAG,CAAC,MACF,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK;AACvB,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjE,CAAC,CAAC,CACJ,CACF;;+GAjFQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,yPC7BtC,oiJA4HA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Fa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,oiJAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;yHAO7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AErCH;;;;;;;;;;;;;;AAcG;MAWU,2BAA2B,CAAA;AALxC,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO;AAiBrE;IAdC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGvB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;IAG9B,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7B,SAAC,CAAC;;+GAvBO,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,2PCzBxC,gpBAeA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA,CAAA;;4FDUa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,8BAA8B,EAAA,QAAA,EAAA,gpBAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAO/B,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEjCH;;;;;;;;;;;;;;AAcG;MAqCU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAnBhC,iCAAiC;YACjC,yBAAyB;AACzB,YAAA,2BAA2B,aAG3B,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;AACf,YAAA,sBAAsB,aAGtB,iCAAiC;YACjC,yBAAyB;YACzB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAdhC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAQb,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iCAAiC;wBACjC,yBAAyB;wBACzB,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iCAAiC;wBACjC,yBAAyB;wBACzB,2BAA2B;AAC5B,qBAAA;AACF,iBAAA;;;AClDD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,8BAA8B,GAClC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;AAQH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,8BAA8B;AAChD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,oBAAoB,EAAE,yBAAyB;AAC/C,QAAA,sBAAsB,EAAE,2BAA2B;AACpD,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,WAAW,EAAE,mEAAmE;AAChF,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,kCAAkC,EAAE,yBAAyB;AAC7D,YAAA,yCAAyC,EACvC,qIAAqI;AACvI,YAAA,6BAA6B,EAAE,gCAAgC;AAC/D,YAAA,oCAAoC,EAClC,6JAA6J;AAC/J,YAAA,oBAAoB,EAAE,sBAAsB;AAC5C,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,eAAe,EACb,8GAA8G;AAChH,YAAA,EAAE,EAAE,oBAAoB;AACxB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,kBAAkB,EAAE,8DAA8D;AAClF,YAAA,QAAQ,EAAE,gCAAgC;AAC1C,YAAA,eAAe,EACb,6SAA6S;AAC/S,YAAA,WAAW,EAAE,sCAAsC;AACnD,YAAA,kBAAkB,EAChB,qUAAqU;AACvU,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EAAE,uEAAuE;AACxF,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,aAAa,EAAE,kBAAkB;AACjC,YAAA,oBAAoB,EAClB,kGAAkG;AACpG,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,GAAG,EAAE,2BAA2B;AAChC,YAAA,UAAU,EAAE,2CAA2C;AACvD,YAAA,UAAU,EAAE,0DAA0D;AACtE,YAAA,mBAAmB,EAAE,qCAAqC;AAC1D,YAAA,0BAA0B,EACxB,sEAAsE;AACxE,YAAA,iBAAiB,EAAE,sBAAsB;AACzC,YAAA,wBAAwB,EACtB,gHAAgH;AAClH,YAAA,mBAAmB,EAAE,qBAAqB;AAC1C,YAAA,0BAA0B,EACxB,sOAAsO;AACxO,YAAA,qBAAqB,EAAE,2BAA2B;AAClD,YAAA,4BAA4B,EAC1B,yIAAyI;AAC5I,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,WAAW,EAAE,wDAAwD;AACrE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,kCAAkC,EAAE,yBAAyB;AAC7D,YAAA,yCAAyC,EACvC,oIAAoI;AACtI,YAAA,6BAA6B,EAAE,iCAAiC;AAChE,YAAA,oCAAoC,EAClC,oJAAoJ;AACtJ,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,yGAAyG;AAC3G,YAAA,EAAE,EAAE,iBAAiB;AACrB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,kBAAkB,EAAE,8DAA8D;AAClF,YAAA,QAAQ,EAAE,6BAA6B;AACvC,YAAA,eAAe,EACb,0PAA0P;AAC5P,YAAA,WAAW,EAAE,sCAAsC;AACnD,YAAA,kBAAkB,EAChB,4RAA4R;AAC9R,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,eAAe,EAAE,mEAAmE;AACpF,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,oBAAoB,EAClB,2FAA2F;AAC7F,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,GAAG,EAAE,8BAA8B;AACnC,YAAA,UAAU,EAAE,yCAAyC;AACrD,YAAA,UAAU,EAAE,0DAA0D;AACtE,YAAA,mBAAmB,EAAE,iCAAiC;AACtD,YAAA,0BAA0B,EACxB,sEAAsE;AACxE,YAAA,iBAAiB,EAAE,oBAAoB;AACvC,YAAA,wBAAwB,EACtB,gGAAgG;AAClG,YAAA,mBAAmB,EAAE,sBAAsB;AAC3C,YAAA,0BAA0B,EACxB,uMAAuM;AACzM,YAAA,qBAAqB,EAAE,uCAAuC;AAC9D,YAAA,4BAA4B,EAC1B,mKAAmK;AACtK,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,WAAW,EACT,mFAAmF;AACrF,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,kCAAkC,EAAE,8BAA8B;AAClE,YAAA,yCAAyC,EACvC,0IAA0I;AAC5I,YAAA,6BAA6B,EAAE,gCAAgC;AAC/D,YAAA,oCAAoC,EAClC,mJAAmJ;AACrJ,YAAA,oBAAoB,EAAE,yBAAyB;AAC/C,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,eAAe,EACb,sHAAsH;AACxH,YAAA,EAAE,EAAE,oBAAoB;AACxB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,QAAQ,EAAE,iCAAiC;AAC3C,YAAA,eAAe,EACb,kUAAkU;AACpU,YAAA,WAAW,EAAE,yCAAyC;AACtD,YAAA,kBAAkB,EAChB,yUAAyU;AAC3U,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,8EAA8E;AAChF,YAAA,aAAa,EAAE,sBAAsB;AACrC,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,aAAa,EAAE,mBAAmB;AAClC,YAAA,oBAAoB,EAClB,2GAA2G;AAC7G,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,GAAG,EAAE,2BAA2B;AAChC,YAAA,UAAU,EAAE,4CAA4C;AACxD,YAAA,UAAU,EAAE,2DAA2D;AACvE,YAAA,mBAAmB,EAAE,+CAA+C;AACpE,YAAA,0BAA0B,EACxB,wEAAwE;AAC1E,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,wBAAwB,EACtB,oHAAoH;AACtH,YAAA,mBAAmB,EAAE,qBAAqB;AAC1C,YAAA,0BAA0B,EACxB,wNAAwN;AAC1N,YAAA,qBAAqB,EAAE,iCAAiC;AACxD,YAAA,4BAA4B,EAC1B,oLAAoL;AACvL,SAAA;AACF,KAAA;;;AC5LH;;;;;;;;;;;;;;AAcG;MAWU,oBAAoB,CAAA;IAG/B,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW;;IAGzE,aAAa,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,kBAAkB,CAAoC,kCAAA,CAAA,CAC/D;;AAGH,IAAA,mCAAmC,CAAC,sBAA8B,EAAA;QAChE,OAAO,IAAI,CAAC;aACT,GAAG,CAEF,GAAG,IAAI,CAAC,kBAAkB,CAAsB,mBAAA,EAAA,sBAAsB,mBAAmB;AAC1F,aAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;+GArBxB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAX,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MA4BU,6BAA6B,CAAA;IA0FxC,WACmB,CAAA,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAClD,oBAA0C,EAC1C,cAA8B,EAC9B,eAAgC,EAAA;QALhC,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;QACxB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAe,CAAA,eAAA,GAAf,eAAe;AAzFxB,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAgC,IAAI,YAAY,EAAiB;QAM/E,IAA6B,CAAA,6BAAA,GAAkC,aAAa,CAAC;AACpF,YAAA,IAAI,CAAC,uBAAuB,CAAC,4CAA4C,CAAC,iBAAiB,CAAC;AAC5F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLM,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;QAEQ,IAA4B,CAAA,4BAAA,GAAkC,IAAI,CAAC;AACzE,aAAA,aAAa;AACb,aAAA,IAAI,CACHA,KAAG,CAAC,OAAO,IACT,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;YACrB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC,CAAC,CACJ,CACF;QAEM,IAAmB,CAAA,mBAAA,GAAkC,IAAI,CAAC;AAChE,aAAA,qBAAqB;AACrB,aAAA,IAAI,CACHA,KAAG,CAAC,kBAAkB,IACpB,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,KAAK;YAC3C,EAAE,EAAE,iBAAiB,CAAC,GAAG;AACzB,YAAA,IAAI,EAAE,iBAAiB,CAAC,IAAI,IAAI,EAAE;SACnC,CAAC,CAAC,CACJ,CACF;QAEM,IAAoB,CAAA,oBAAA,GAAkC,IAAI,CAAC;AACjE,aAAA,iBAAiB;AACjB,aAAA,IAAI,CACHA,KAAG,CAAC,mBAAmB,IACrB,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK;AACrD,YAAA,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI;AAC9B,YAAA,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI;SACjC,CAAC,CAAC,CACJ,CACF;AAEM,QAAA,IAAA,CAAA,WAAW,GAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;QACxD,IAAW,CAAA,WAAA,GAAkC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAC5FA,KAAG,CAAC,MACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,KAAK;AACjC,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;SACvE,CAAC,CAAC,CACJ,CACF;QAEQ,IAA6B,CAAA,6BAAA,GAElC,EAAE;QAEG,IAAkB,CAAA,kBAAA,GAA8B,EAAE;QAElD,IAAiB,CAAA,iBAAA,GAA8B,EAAE;QACjD,IAAsB,CAAA,sBAAA,GAA8B,EAAE;QAEtD,IAAY,CAAA,YAAA,GAAuC,EAAE;QAErD,IAAQ,CAAA,QAAA,GAAuC,EAAE;AAIzC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAuB,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAW7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,gBAAgB,EAAE;;IAGzB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAwB,EAAA;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;IAG7B,qBAAqB,CAAC,SAAsB,EAAE,IAAY,EAAA;AACxD,QAAA,MAAM,kBAAkB,GAAG,SAAS,EAAE,kBAAkB;AACxD,QAAA,MAAM,6BAA6B,GAAG,IAAI,CAAC,6BAA6B;QAExE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,YAAY,KAAK,WAAW;QAEtE,IAAI,kBAAkB,EAAE;AACtB,YAAA,IACE,CAAC,6BAA6B,CAAC,IAAI,CAAC;gBACpC,6BAA6B,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,EAC7E;gBACA,6BAA6B,CAAC,IAAI,CAAC,GAAG;oBACpC,kBAAkB;oBAClB,KAAK,EAAE,IAAI,CAAC;yBACT,mCAAmC,CAAC,kBAAkB;AACtD,yBAAA,IAAI,CACHA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC,CAClF;iBACJ;;;aAEE;YACL,6BAA6B,CAAC,IAAI,CAAC,GAAG;gBACpC,kBAAkB;AAClB,gBAAA,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;aACd;;;AAIL,IAAA,SAAS,CAAC,IAAY,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC;;AAGjD,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI;AACnC,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI;;AAG1C,IAAA,iBAAiB,CAAC,IAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK;QAEpC,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK;SAC1C,EAAE,GAAG,CAAC;;IAGT,kBAAkB,CAAC,QAA0B,EAAE,IAAY,EAAA;AACzD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ;;AAGpC,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;;AAGtB,IAAA,WAAW,CAAC,SAAwB,EAAA;AAC1C,QAAA,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,kCAAkC;AAC5C,YAAA,SAAS,CAAC,IAAI;YACd,SAAS,CAAC,cAAc,CACzB;AACD,QAAA,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,IAAI,EAAE;AACtD,QAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAC3C,IAAI,IACF,CAAC,EACC,IAAI,CAAC,IAAI;AACT,YAAA,IAAI,CAAC,kBAAkB;AACvB,YAAA,IAAI,CAAC,kBAAkB;AACvB,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,oBAAoB;AACzB,YAAA,IAAI,CAAC,uBAAuB,CAC7B,CACJ;QACD,MAAM,KAAK,GAAG,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM;AAC3E,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,MAAM,eAAe,GAAkB;AACrC,oBAAA,GAAG,SAAS;oBACZ,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,IAAG;AAC3D,wBAAA,MAAM,eAAe,GAAgB,EAAC,GAAG,OAAO,EAAC;wBACjD,OAAO,eAAe,CAAC,IAAI;AAE3B,wBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE;4BACvE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;;wBAGvD,OAAO;AACL,4BAAA,GAAG,eAAe;AAClB,4BAAA,IAAI,eAAe,CAAC,OAAO,IAAI;gCAC7B,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK;oCACtD,MAAM,EAAE,cAAc,CAAC,GAAG;oCAC1B,MAAM,EAAE,cAAc,CAAC,KAAK;AAC7B,iCAAA,CAAC,CAAe;6BAClB,CAAC;yBACH;AACH,qBAAC,CAAC;iBACH;gBACD,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;;AAE5C,aAAC,CAAC;AACN,SAAC,CAAC;;IAGI,gBAAgB,GAAA;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,EAC5BA,KAAG,CAAC,OAAO,KAAK;AACd,YAAA,GAAG,OAAO;YACV,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,KAAK;AAC/D,gBAAA,GAAG,WAAW;gBACd,IAAI,WAAW,CAAC,OAAO;AACrB,oBAAA,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI;oBACpC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK;wBAC3C,GAAG,EAAE,OAAO,CAAC,MAAM;wBACnB,KAAK,EAAE,OAAO,CAAC,MAAM;AACtB,qBAAA,CAAC,CAAC;iBACJ,CAAC;AACL,aAAA,CAAC,CAAC;AACJ,SAAA,CAAC,CAAC,EACHM,KAAG,CAAC,OAAO,IAAG;YACZ,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAG;AAClD,oBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,wBAAA,MAAM,gBAAgB,GAAG,OAAO,EAAE,iBAAiB;AACnD,wBAAA,MAAM,kBAAkB,GAAG,SAAS,EAAE,iBAAiB;wBAEvD,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAI;AAC1C,4BAAA,MAAM,iBAAiB,GAAG,OAAO,EAAE,OAAO;4BAC1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI;AAErD,4BAAA,IAAI,iBAAiB,IAAI,cAAc,EAAE;AACvC,gCAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,iBAAiB;;AAErD,yBAAC,CAAC;AAEF,wBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;AAE1B,iBAAC,CAAC;aACH,EAAE,GAAG,CAAC;SACR,CAAC,CACH;;+GAtQQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAoB,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,IAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,4PC1C1C,+8TA2PA,EAAA,MAAA,EAAA,CAAA,+2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjNa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,+BAA+B,EAAA,QAAA,EAAA,+8TAAA,EAAA,MAAA,EAAA,CAAA,+2BAAA,CAAA,EAAA;yPAOhC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElDH;;;;;;;;;;;;;;AAcG;MA+CU,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CArBf,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAE1C,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,gBAAgB;YAChB,YAAY;YACZ,WAAW;YACXC,aAAiB;YACjB,iBAAiB;YACjB,sBAAsB;YACtBC,cAAkB;AAClB,YAAA,8BAA8B,aAEtB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAE5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAnB5B,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,gBAAgB;YAChB,YAAY;YACZ,WAAW;YACXD,aAAiB;YACjB,iBAAiB;YACjB,sBAAsB;YACtBC,cAAkB;YAClB,8BAA8B,CAAA,EAAA,CAAA,CAAA;;4FAIrB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAtB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;AAC7C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,oBAAoB;wBACpB,WAAW;wBACX,gBAAgB;wBAChB,YAAY;wBACZ,WAAW;wBACXD,aAAiB;wBACjB,iBAAiB;wBACjB,sBAAsB;wBACtBC,cAAkB;wBAClB,8BAA8B;AAC/B,qBAAA;oBACD,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACzC,iBAAA;;;AC5DD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,0BAA0B,GAC9B,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;AAMH,MAAM,0BAA0B,GAAwB;AACtD,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,4BAA4B,EAAE,6BAA6B;AAC3D,IAAA,gBAAgB,EAAE,0BAA0B;AAC5C,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,WAAW,EACT,2KAA2K;AAC7K,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,kCAAkC,EAAE,+BAA+B;AACnE,YAAA,kBAAkB,EAAE,gCAAgC;AACpD,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,mBAAmB,EAAE,SAAS;AAC9B,YAAA,oBAAoB,EAAE,iBAAiB;AACvC,YAAA,uBAAuB,EAAE,iBAAiB;AAC1C,YAAA,cAAc,EAAE,uBAAuB;AACvC,YAAA,wBAAwB,EACtB,+EAA+E;AACjF,YAAA,yCAAyC,EACvC,+GAA+G;AACjH,YAAA,yBAAyB,EACvB,4EAA4E;AAC9E,YAAA,qBAAqB,EAAE,sEAAsE;AAC7F,YAAA,WAAW,EAAE,wEAAwE;AACrF,YAAA,WAAW,EACT,4FAA4F;AAC9F,YAAA,yBAAyB,EACvB,6GAA6G;AAC/G,YAAA,0BAA0B,EACxB,sFAAsF;AACxF,YAAA,8BAA8B,EAC5B,2GAA2G;AAC7G,YAAA,2BAA2B,EACzB,+GAA+G;AACjH,YAAA,YAAY,EAAE,kBAAkB;AAChC,YAAA,mBAAmB,EACjB,iIAAiI;AACnI,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,SAAS,EAAE,uBAAuB;AAClC,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,UAAU,EAAE,mBAAmB;AAC/B,YAAA,cAAc,EACZ,mKAAmK;AACrK,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,MAAM,EAAE,MAAM;AACf,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,WAAW,EACT,kJAAkJ;AACpJ,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,kCAAkC,EAAE,gCAAgC;AACpE,YAAA,kBAAkB,EAAE,iCAAiC;AACrD,YAAA,cAAc,EAAE,SAAS;AACzB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,kBAAkB,EAAE,iBAAiB;AACrC,YAAA,mBAAmB,EAAE,WAAW;AAChC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,uBAAuB,EAAE,kBAAkB;AAC3C,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,wBAAwB,EACtB,qEAAqE;AACvE,YAAA,yCAAyC,EACvC,gGAAgG;AAClG,YAAA,yBAAyB,EAAE,sDAAsD;AACjF,YAAA,qBAAqB,EAAE,kEAAkE;AACzF,YAAA,WAAW,EAAE,gEAAgE;AAC7E,YAAA,WAAW,EAAE,iEAAiE;AAC9E,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,0BAA0B,EACxB,uEAAuE;AACzE,YAAA,8BAA8B,EAC5B,mFAAmF;AACrF,YAAA,2BAA2B,EACzB,qGAAqG;AACvG,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,mHAAmH;AACrH,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,SAAS,EAAE,kBAAkB;AAC7B,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,cAAc,EACZ,yIAAyI;AAC3I,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,WAAW,EACT,gLAAgL;AAClL,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,kCAAkC,EAAE,gCAAgC;AACpE,YAAA,kBAAkB,EAAE,iCAAiC;AACrD,YAAA,cAAc,EAAE,SAAS;AACzB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,kBAAkB,EAAE,iBAAiB;AACrC,YAAA,mBAAmB,EAAE,WAAW;AAChC,YAAA,oBAAoB,EAAE,mBAAmB;AACzC,YAAA,uBAAuB,EAAE,oBAAoB;AAC7C,YAAA,cAAc,EAAE,uBAAuB;AACvC,YAAA,wBAAwB,EACtB,4EAA4E;AAC9E,YAAA,yCAAyC,EACvC,qHAAqH;AACvH,YAAA,yBAAyB,EACvB,4EAA4E;AAC9E,YAAA,qBAAqB,EACnB,6EAA6E;AAC/E,YAAA,WAAW,EAAE,8EAA8E;AAC3F,YAAA,WAAW,EACT,oFAAoF;AACtF,YAAA,yBAAyB,EACvB,2GAA2G;AAC7G,YAAA,0BAA0B,EACxB,iFAAiF;AACnF,YAAA,8BAA8B,EAC5B,oGAAoG;AACtG,YAAA,2BAA2B,EACzB,mHAAmH;AACrH,YAAA,YAAY,EAAE,iBAAiB;AAC/B,YAAA,mBAAmB,EACjB,yHAAyH;AAC3H,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,SAAS,EAAE,mBAAmB;AAC9B,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,UAAU,EAAE,mBAAmB;AAC/B,YAAA,cAAc,EACZ,mKAAmK;AACrK,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,UAAU;AACnB,SAAA;AACF,KAAA;;;AC9KH;;;;;;;;;;;;;;AAcG;MAcU,kCAAkC,CAAA;AA+B7C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;AA3BjC,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAsB;QAC/B,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAC5D,8BAA8B,CAC/B;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLhB,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF;AAEc,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA4B,IAAI,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAQ7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAA6B,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,IAAI;AACd,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAvEO,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,kQC5B/C,ygFAuEA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD3Ca,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,qCAAqC,EAAA,QAAA,EAAA,ygFAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;4JAOtC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEpCH;;;;;;;;;;;;;;AAcG;MAUU,mBAAmB,CAAA;IAG9B,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;AAGhE,IAAA,+BAA+B,CAAC,gBAAwB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,mBAAA,EAAsB,gBAAgB,CAAA,qBAAA,CAAuB,CACxF;;+GAbQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAX,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACvBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAgCU,uCAAuC,CAAA;IAKlD,IAAa,QAAQ,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;IAqJ5B,WACmB,CAAA,gBAAkC,EAClC,wBAAkD,EAClD,YAA0B,EAC1B,eAAgC,EAChC,mBAAwC,EACxC,mBAAwC,EAAA;QALxC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QACnB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AAxJ5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA2B;AACpC,QAAA,IAAA,CAAA,aAAa,GAAyB;YAC7C,WAAW;YACX,sBAAsB;YACtB,4BAA4B;SAC7B;AACQ,QAAA,IAAA,CAAA,yBAAyB,GAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAC/BM,KAAG,CAAC,QAAQ,IACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK;AAC9B,YAAA,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SAC5D,CAAC,CAAC,CACJ,CACF;AAEM,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC;AACzE,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAE3D,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AACpE,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAC7E,QAAA,IAAA,CAAA,kCAAkC,GAAG,IAAI,eAAe,CAAc,WAAW,CAAC;AAElF,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;QAC3C,IAAiB,CAAA,iBAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7E,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACDA,KAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;QAEQ,IAA0B,CAAA,0BAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CACtF,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACDA,KAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;QAEQ,IAA+B,CAAA,+BAAA,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC3F,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,QAAQ,IAChB,aAAa,CAAC;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,SAAA,CAAC,CACH,EACDA,KAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,KAAK;AAC/C,YAAA,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAC;AACxC,SAAA,CAAC,CACH;AAEQ,QAAA,IAAA,CAAA,uBAAuB,GAC9B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,eAAe,CAAC,oDAAoD,CACvE,MAAM,EAAE,oBAAoB,CAC7B,CACF,EACDM,KAAG,CAAC,0BAA0B,IAAG;YAC/B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,KAAK;AAC1E,gBAAA,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAChD,gBAAA,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;SAEhE,CAAC,EACF,SAAS,CAAC,0BAA0B,IAClC,aAAa,CAAC;AACZ,YAAA,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzF,GAAG,0BAA0B,CAAC,GAAG,CAAC,aAAa,IAC7C,IAAI,CAAC,mBAAmB,CAAC,+BAA+B,CACtD,aAAa,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CACF;AACF,SAAA,CAAC,CACH,EACDN,KAAG,CAAC,GAAG,IAAG;AACR,YAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,EAAE;YAEvB,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,KAAK,KAAI;AACpD,gBAAA,YAAY,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK;oBACxE,EAAE,EAAE,UAAU,CAAC,GAAG;oBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC;AAEF,YAAA,OAAO,YAAY;AACrB,SAAC,CAAC,EACFM,KAAG,CAAC,YAAY,IAAG;AACjB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAG;AACjE,gBAAA,MAAM,cAAc,GAAG,aAAa,EAAE,cAAc;gBAEpD,IAAI,cAAc,EAAE;AAClB,oBAAA,IAAI,wBAAiC;oBAErC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAG;AACnD,wBAAA,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE;4BAC3E,wBAAwB,GAAG,gBAAgB;;wBAG7C,IAAI,wBAAwB,EAAE;AAC5B,4BAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC;;6BACxD;AACL,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,qBAAC,CAAC;;AAEN,aAAC,CAAC;AACJ,SAAC,CAAC,EACFA,KAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CACH;AAEM,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,OAAO,EAAQ;AAGpC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAiC,IAAI,CAAC;AACtE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAW7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAkC,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAI,SAAS,CAAC,sBAAsB,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;;AAGlE,QAAA,IAAI,SAAS,CAAC,2BAA2B,EAAE;YACzC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;;AAGhF,QAAA,IAAI,SAAS,CAAC,6BAA6B,EAAE;YAC3C,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC;;;AAIzF,IAAA,aAAa,CAAC,WAA8B,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;;AAGjC,QAAA,OAAO,KAAK;;AAGd,IAAA,oBAAoB,CAAC,gBAAwB,EAAA;AAC3C,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE;;AAG5B,IAAA,WAAW,CAAC,SAAkC,EAAA;AACpD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY;AAEpE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA1NO,uCAAuC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA0B,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,EAFvC,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,0BC5ClC,4tTAiPA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlB,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAkB,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnMa,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBANnD,SAAS;+BACE,2CAA2C,EAAA,SAAA,EAG1C,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,4tTAAA,EAAA,MAAA,EAAA,CAAA,svBAAA,CAAA,EAAA;oPAKvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AExDH;;;;;;;;;;;;;;AAcG;MAYU,2CAA2C,CAAA;AALxD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA+B;AAGhC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAqC,IAAI,CAAC;AAC1E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAiC9D;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,SAAsC,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAsC,EAAA;AACxD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,CAAC;AAE/D,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA5CO,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2CAA2C,6QC1BxD,krDAiDA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBALvD,SAAS;+BACE,gDAAgD,EAAA,QAAA,EAAA,krDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAOjD,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;MAyCU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,iBArBjC,kCAAkC;YAClC,uCAAuC;AACvC,YAAA,2CAA2C,aAG3C,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,WAAW;AACX,YAAA,aAAa,aAGb,kCAAkC;YAClC,uCAAuC;YACvC,2CAA2C,CAAA,EAAA,CAAA,CAAA;AAGlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAhBjC,YAAY;YACZ,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,WAAW;YACX,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAQJ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAvBpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kCAAkC;wBAClC,uCAAuC;wBACvC,2CAA2C;AAC5C,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB,eAAe;wBACf,WAAW;wBACX,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kCAAkC;wBAClC,uCAAuC;wBACvC,2CAA2C;AAC5C,qBAAA;AACF,iBAAA;;;ACtDD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,gCAAgC,GACpC,grFAAgrF;;ACjBlrF;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAQH,MAAM,+BAA+B,GAAwB;AAC3D,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,4BAA4B,EAAE,kCAAkC;AAChE,IAAA,gBAAgB,EAAE,gCAAgC;AAClD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,gBAAgB,EAAE,uCAAuC;AACzD,QAAA,0BAA0B,EAAE,2CAA2C;AACxE,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,GAAG,EAAE,mBAAmB;AACxB,YAAA,UAAU,EAAE,wCAAwC;AACpD,YAAA,WAAW,EAAE,6EAA6E;AAC1F,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,gBAAgB,EAAE,sBAAsB;AACxC,YAAA,4BAA4B,EAAE,yDAAyD;AACvF,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,qBAAqB,EAAE,qCAAqC;AAC5D,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,8BAA8B;AAClD,YAAA,cAAc,EAAE,gBAAgB;AAChC,YAAA,qBAAqB,EACnB,2LAA2L;AAC7L,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,mBAAmB,EACjB,sWAAsW;AACxW,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAChB,wWAAwW;AAC1W,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAChB,oFAAoF;AACtF,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,oBAAoB,EAAE,2BAA2B;AACjD,YAAA,0BAA0B,EAAE,iCAAiC;AAC7D,YAAA,eAAe,EAAE,iBAAiB;AAClC,YAAA,sBAAsB,EAAE,8CAA8C;AACtE,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,mBAAmB,EAAE,wCAAwC;AAC7D,YAAA,sBAAsB,EAAE,0BAA0B;AAClD,YAAA,6BAA6B,EAAE,6DAA6D;AAC5F,YAAA,yBAAyB,EAAE,sCAAsC;AACjE,YAAA,gCAAgC,EAC9B,wGAAwG;AAC1G,YAAA,0BAA0B,EAAE,2BAA2B;AACvD,YAAA,gCAAgC,EAC9B,wEAAwE;AAC1E,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,iBAAiB,EAAE,iCAAiC;AACpD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,kCAAkC;AACtD,YAAA,sBAAsB,EAAE,wBAAwB;AAChD,YAAA,2BAA2B,EAAE,uBAAuB;AACpD,YAAA,6BAA6B,EAAE,wBAAwB;AACvD,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,qBAAqB,EACnB,6JAA6J;AAC/J,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,2BAA2B,EAAE,4BAA4B;AAC1D,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,oDAAoD;AACjE,YAAA,GAAG,EAAE,mBAAmB;AACxB,YAAA,UAAU,EAAE,oCAAoC;AAChD,YAAA,WAAW,EAAE,kEAAkE;AAC/E,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,gBAAgB,EAAE,oBAAoB;AACtC,YAAA,4BAA4B,EAAE,yDAAyD;AACvF,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,6BAA6B;AACjD,YAAA,cAAc,EAAE,gBAAgB;AAChC,YAAA,qBAAqB,EACnB,+JAA+J;AACjK,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,8UAA8U;AAChV,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,kBAAkB,EAChB,6UAA6U;AAC/U,YAAA,WAAW,EAAE,mBAAmB;AAChC,YAAA,kBAAkB,EAChB,kGAAkG;AACpG,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,oBAAoB,EAAE,yBAAyB;AAC/C,YAAA,0BAA0B,EAAE,+BAA+B;AAC3D,YAAA,eAAe,EAAE,kBAAkB;AACnC,YAAA,sBAAsB,EAAE,yCAAyC;AACjE,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EAAE,qCAAqC;AAC1D,YAAA,sBAAsB,EAAE,mBAAmB;AAC3C,YAAA,6BAA6B,EAC3B,kEAAkE;AACpE,YAAA,yBAAyB,EAAE,wCAAwC;AACnE,YAAA,gCAAgC,EAC9B,kGAAkG;AACpG,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,gCAAgC,EAC9B,qEAAqE;AACvE,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,iBAAiB,EAAE,8BAA8B;AACjD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,+BAA+B;AACnD,YAAA,sBAAsB,EAAE,wBAAwB;AAChD,YAAA,2BAA2B,EAAE,uBAAuB;AACpD,YAAA,6BAA6B,EAAE,4BAA4B;AAC3D,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,qBAAqB,EACnB,iJAAiJ;AACnJ,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,2BAA2B,EAAE,0BAA0B;AACxD,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,kEAAkE;AAC/E,YAAA,GAAG,EAAE,mBAAmB;AACxB,YAAA,UAAU,EAAE,oCAAoC;AAChD,YAAA,WAAW,EACT,sFAAsF;AACxF,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,gBAAgB,EAAE,uBAAuB;AACzC,YAAA,4BAA4B,EAAE,8DAA8D;AAC5F,YAAA,cAAc,EAAE,sBAAsB;AACtC,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAAE,8BAA8B;AAClD,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,qBAAqB,EACnB,gMAAgM;AAClM,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,mBAAmB,EACjB,6XAA6X;AAC/X,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,kBAAkB,EAChB,8XAA8X;AAChY,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,kBAAkB,EAChB,oFAAoF;AACtF,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,oBAAoB,EAAE,iCAAiC;AACvD,YAAA,0BAA0B,EAAE,yCAAyC;AACrE,YAAA,eAAe,EAAE,wBAAwB;AACzC,YAAA,sBAAsB,EAAE,qDAAqD;AAC7E,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,mBAAmB,EAAE,gDAAgD;AACrE,YAAA,sBAAsB,EAAE,cAAc;AACtC,YAAA,6BAA6B,EAC3B,6EAA6E;AAC/E,YAAA,yBAAyB,EAAE,4CAA4C;AACvE,YAAA,gCAAgC,EAC9B,gHAAgH;AAClH,YAAA,0BAA0B,EAAE,+BAA+B;AAC3D,YAAA,gCAAgC,EAC9B,sFAAsF;AACxF,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,2BAA2B;AAC/C,YAAA,sBAAsB,EAAE,wBAAwB;AAChD,YAAA,2BAA2B,EAAE,uBAAuB;AACpD,YAAA,6BAA6B,EAAE,sBAAsB;AACrD,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,cAAc,EAAE,SAAS;AACzB,YAAA,qBAAqB,EACnB,4JAA4J;AAC9J,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,2BAA2B,EAAE,iCAAiC;AAC/D,SAAA;AACF,KAAA;;;ACnNH;;;;;;;;;;;;;;AAcG;MAWU,kBAAkB,CAAA;IAG7B,WACU,CAAA,IAAgB,EACxB,aAA4B,EAAA;QADpB,IAAI,CAAA,IAAA,GAAJ,IAAI;QAGZ,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW;;AAGvE,IAAA,yBAAyB,CACvB,QAAgB,EAChB,YAAoB,EACpB,IAAY,EAAA;QAEZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,wBAAA,CAA0B,EAAE;YAC7F,QAAQ;YACR,YAAY;YACZ,IAAI;AACL,SAAA,CAAC;;+GAnBO,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;AAYH;MACa,iCAAiC,CAAA;AAe5C,IAAA,WAAA,CAAoB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;AAR5B,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB;AAG/E,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC;AAChE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;;IAK7D,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC;;AAG7D,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,EAAE;AAC1C,YAAA,IAAI,CAAC;AACF,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,SAAS,IAAG;AACrB,gBAAA,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAC3F,aAAC;AACA,iBAAA,WAAW,EAAE;;;IAIpB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;QACpC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC;;IAGhE,yBAAyB,CAAC,SAAS,EAAE,IAAI,EAAA;AACvC,QAAA,IAAI,CAAC;aACF,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI;aAC1E,SAAS,CAAC,QAAQ,IAAG;AACpB,YAAA,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW;AAC5C,YAAA,SAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB;AAC9D,YAAA,SAAS,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY;AAC9C,YAAA,SAAS,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB;AAChE,YAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;AACjC,SAAC,CAAC;;AAGN,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;IAG7B,wBAAwB,GAAA;AACtB,QAAA,IAAI,CAAC;AACF,aAAA,SAAS,CAAC,CAAC,SAA4B,KAAI;YAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,yBAAyB;AACvE,YAAA,MAAM,CAAC,IAAI,CACT,CAAA,uDAAA,EAA0D,SAAS,CAAC,QAAQ,CAAA,cAAA,EAAiB,YAAY,CAAA,iCAAA,CAAmC,EAC5I,QAAQ,CACT;AACH,SAAC;AACA,aAAA,WAAW,EAAE;;AAGV,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,QAAQ;AAClB,YAAA,SAAS,CAAC,YAAY;AACtB,YAAA,SAAS,CAAC,WAAW;YACrB,SAAS,CAAC,YAAY,CACvB;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAzFO,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAwB,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,iQC3B9C,g0DAuDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAxB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAc,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5Ba,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,oCAAoC,EAAA,QAAA,EAAA,g0DAAA,EAAA;oFAOrC,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AEnCH;;;;;;;;;;;;;;AAcG;AAWH;MACa,qCAAqC,CAAA;AALlD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAgC;AAIjC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAsC,IAAI,CAAC;AAC3E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAE7D,IAAU,CAAA,UAAA,GAAQ,IAAI;AAwCvB;IAtCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,MAAM,SAAS,GAAiC;AAC9C,YAAA,UAAU,EAAE;gBACV,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;AACjB,aAAA;SACF;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAuC,EAAA;AACzD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAEvE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GAtDO,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,sQC1BlD,w5CA6CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAnB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnBa,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,w5CAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;AAWH;MACa,qCAAqC,CAAA;AALlD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAgC;AAIjC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAsC,IAAI,CAAC;AAC3E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAE7D,IAAU,CAAA,UAAA,GAAQ,IAAI;AA4CvB;IA1CC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,MAAM,SAAS,GAAiC;AAC9C,YAAA,UAAU,EAAE;gBACV,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;AACjB,aAAA;SACF;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAuC,EAAA;AACzD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO;AACzD,YAAA,SAAS,CAAC,UAAU,CAAC,IAAI,CAC1B;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA1DO,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,sQC1BlD,+rDAwDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD9Ba,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,+rDAAA,EAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;AAWH;MACa,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC1D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAiC;AAIlC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAuC,IAAI,CAAC;AAC5E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAE7D,IAAU,CAAA,UAAA,GAAQ,IAAI;AA4CvB;IA1CC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE;;IAG7B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;;AAGtC,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,MAAM,SAAS,GAAkC;AAC/C,YAAA,UAAU,EAAE;gBACV,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;AACjB,aAAA;SACF;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGrB,IAAA,WAAW,CAAC,SAAwC,EAAA;AAC1D,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO;AACzD,YAAA,SAAS,CAAC,UAAU,CAAC,IAAI,CAC1B;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhB,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;gBAChC,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;AAEtC,aAAC,CAAC;AACN,SAAC,CAAC;;+GA1DO,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,uQC1BnD,+rDAwDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD9Ba,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,0CAA0C,EAAA,QAAA,EAAA,+rDAAA,EAAA;8BAO3C,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;AElCH;;;;;;;;;;;;;;AAcG;AAQH,MAAM,wBAAwB,GAAwB;AACpD,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EACd,wgGAAwgG;AAC1gG,IAAA,+BAA+B,EAAE;AAC/B,QAAA,mBAAmB,EAAE,qCAAqC;AAC1D,QAAA,oBAAoB,EAAE,sCAAsC;AAC5D,QAAA,mBAAmB,EAAE,qCAAqC;AAC3D,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,WAAW,EAAE,uCAAuC;AACpD,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,OAAO,EAAE,SAAS;AACnB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,WAAW,EAAE,uCAAuC;AACpD,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,OAAO,EAAE,SAAS;AACnB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,WAAW,EAAE,kDAAkD;AAC/D,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,YAAY,EAAE,kBAAkB;AAChC,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,oBAAoB,EAAE,qBAAqB;AAC3C,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA;AACF,KAAA;;;ACxEH;;;;;;;;;;;;;;AAcG;MASU,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAoB,KAAqB,EAAA;QAArB,IAAK,CAAA,KAAA,GAAL,KAAK;;IAEzB,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,IAAG;YACxC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC;YAC3D,MAAM,CAAC,KAAK,EAAE;AAChB,SAAC,CAAC;;+GAPO,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAV,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,8DCvBnC,mrBAiBA,EAAA,CAAA,CAAA;;4FDMa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,mrBAAA,EAAA;;;AEpBpC;;;;;;;;;;;;;;AAcG;AASH,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,SAAS,EAAE,sBAAsB;QACjC,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,IAAI,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;AACrD,KAAA;CACF;MAOY,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,OAAA,EAAA,CAHzB,YAAY,EAAAA,IAAA,CAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;gHAEX,wBAAwB,EAAA,OAAA,EAAA,CAHzB,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAEX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;ACpCD;;;;;;;;;;;;;;AAcG;MAgCU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAjB1B,qCAAqC;YACrC,sCAAsC;YACtC,qCAAqC;YACrC,iCAAiC;AACjC,YAAA,sBAAsB,aAGtB,YAAY;YACZ,wBAAwB;YACxB,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAIf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAV1B,YAAY;YACZ,wBAAwB;YACxB,yBAAyB;YACzB,UAAU;YACV,WAAW;YACX,YAAY;YACZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAIf,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,qCAAqC;wBACrC,sCAAsC;wBACtC,qCAAqC;wBACrC,iCAAiC;wBACjC,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA;;;AC7CD;;;;;;;;;;;;;;AAcG;AAEH;;AAEG;;AClBH;;AAEG;;;;"}
|