@c8y/ngx-components 1021.3.1 → 1021.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts +2 -1
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts +2 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
- package/cockpit-config/cockpit-config.service.d.ts.map +1 -1
- package/cockpit-config/cockpit-configuration.component.d.ts +1 -0
- package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
- package/cockpit-config/root-node-config.component.d.ts +2 -1
- package/cockpit-config/root-node-config.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.component.d.ts +3 -3
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/core/dashboard/dashboard.model.d.ts +11 -0
- package/core/dashboard/dashboard.model.d.ts.map +1 -1
- package/core/dashboard/dashboard.module.d.ts +2 -1
- package/core/dashboard/dashboard.module.d.ts.map +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts +6 -4
- package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
- package/core/login/login.component.d.ts.map +1 -1
- package/core/login/login.service.d.ts +1 -1
- package/core/login/login.service.d.ts.map +1 -1
- package/core/properties-list/properties-list.component.d.ts +6 -9
- package/core/properties-list/properties-list.component.d.ts.map +1 -1
- package/core/provider-configuration/provider-configuration.component.d.ts.map +1 -1
- package/esm2022/assets-navigator/asset-selector/asset-selector-node.component.mjs +6 -3
- package/esm2022/assets-navigator/asset-selector/asset-selector.component.mjs +7 -4
- package/esm2022/assets-navigator/asset-selector/miller-view.component.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.mjs +1 -1
- package/esm2022/cockpit-config/cockpit-config.service.mjs +7 -3
- package/esm2022/cockpit-config/cockpit-configuration.component.mjs +6 -3
- package/esm2022/cockpit-config/root-node-config.component.mjs +8 -4
- package/esm2022/cockpit-config/setup/cockpit-setup-step3.component.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +12 -7
- package/esm2022/core/dashboard/dashboard.model.mjs +5 -1
- package/esm2022/core/dashboard/dashboard.module.mjs +8 -4
- package/esm2022/core/dashboard/widgets-dashboard.component.mjs +33 -15
- package/esm2022/core/login/login.component.mjs +8 -3
- package/esm2022/core/login/login.service.mjs +5 -2
- package/esm2022/core/properties-list/properties-list.component.mjs +32 -42
- package/esm2022/core/provider-configuration/provider-configuration.component.mjs +8 -3
- package/esm2022/device-grid/columns/group.filtering-form-renderer.component.mjs +1 -1
- package/esm2022/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.mjs +11 -2
- package/esm2022/protocol-lwm2m/ng1/plugin-checker.service.mjs +2 -2
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +12 -6
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +19 -9
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +11 -6
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +10 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +83 -56
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +9 -0
- package/locales/es.po +9 -0
- package/locales/fr.po +9 -0
- package/locales/ja_JP.po +9 -3
- package/locales/locales.pot +15 -0
- package/locales/nl.po +9 -0
- package/locales/pl.po +9 -0
- package/locales/pt_BR.po +9 -0
- package/package.json +1 -1
- package/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.d.ts +10 -0
- package/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","sources":["../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.ts","../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.html","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.html","../../protocol-lwm2m/components/configuration/typed-forms/bootstrap-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/device-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/create-single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/servers-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/server-settings.component.html","../../protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { LWM2MEndpoint, Settings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { CoreModule, Tab, gettext } from '@c8y/ngx-components';\nimport { IIdentified } from '@c8y/client';\nimport { Lwm2mFormWrapperBase } from './typed-forms';\n\n@Component({\n selector: 'c8y-lwm2m-configuration',\n templateUrl: './lwm2m-configuration.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, CdkTreeModule, RouterModule],\n standalone: true\n})\nexport class Lwm2mConfigurationComponent {\n tabs: Tab[];\n componentInstance: Lwm2mFormWrapperBase<Settings>;\n\n constructor(\n private lwm2mConfigService: Lwm2mConfigurationService<IIdentified>,\n private route: ActivatedRoute\n ) {\n this.lwm2mConfigService.deviceId = this.route?.snapshot?.parent?.params?.id;\n\n this.tabs = [\n {\n icon: 'cog',\n label: gettext('Device settings'),\n path: this.getPath(LWM2MEndpoint.deviceSettings)\n },\n {\n icon: 'connected',\n label: gettext('Connectivity'),\n path: this.getPath(LWM2MEndpoint.connectivity)\n },\n {\n icon: 'c8y-firmware',\n label: gettext('Firmware update'),\n path: this.getPath(LWM2MEndpoint.firmware)\n },\n {\n icon: 'root-server',\n label: gettext('Bootstrap'),\n path: this.getPath(LWM2MEndpoint.bootstrap)\n },\n {\n icon: 'stack',\n label: gettext('Servers written during bootstrap'),\n path: this.getPath(LWM2MEndpoint.servers)\n }\n ];\n\n this.lwm2mConfigService.getSecurityModes();\n }\n\n onActivate(event) {\n this.componentInstance = event;\n }\n\n private getPath(endpoint: LWM2MEndpoint) {\n const { deviceId } = this.lwm2mConfigService;\n return `/device/${deviceId}/lwm2m-configuration/${endpoint}`;\n }\n}\n","<div class=\"card content-fullpage d-col\">\n <div class=\"card-header p-0\">\n <c8y-ui-tabs\n class=\"card-has-tabs card-tabs\"\n [tabs]=\"tabs\"\n [orientation]=\"'horizontal'\"\n ></c8y-ui-tabs>\n </div>\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <form class=\"card-block--formly fit-h\">\n <router-outlet (activate)=\"onActivate($event)\"></router-outlet>\n </form>\n </div>\n <div\n class=\"card-footer separator sticky-bottom\"\n *ngIf=\"componentInstance?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"componentInstance.cancel()\"\n [disabled]=\"!componentInstance.form.dirty\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"componentInstance.form.invalid || !componentInstance.form.dirty\"\n (click)=\"componentInstance.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { LWM2MEndpoint, permissionAlert } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-wrapper-base'\n})\nexport abstract class Lwm2mFormWrapperBase<T> implements OnInit, OnDestroy {\n private alertService: AlertService;\n protected abstract endpoint: LWM2MEndpoint;\n protected destroy$: Subject<void> = new Subject();\n\n model = {} as T;\n form = new FormGroup({});\n fields: FormlyFieldConfig[] = [];\n buttons = {};\n options: FormlyFormOptions = {\n formState: { disabled: false }\n };\n\n constructor(protected service: Lwm2mConfigurationService<T>) {\n this.fields = this.createForm();\n\n inject(FormlyFormBuilder)?.buildForm(this.form, this.fields, this.model, this.options);\n\n if (!inject(Permissions)?.hasRole(Permissions.ROLE_INVENTORY_ADMIN)) {\n this.alertService = inject(AlertService);\n this.alertService.info(permissionAlert.text as string);\n this.form.disable();\n this.options.formState.disabled = true;\n }\n }\n\n abstract createForm(): FormlyFieldConfig[];\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(next => (this.model = next));\n this.service.getSettingsFor({ endpoint: this.endpoint });\n }\n\n ngOnDestroy(): void {\n this.alertService?.remove(permissionAlert);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n save() {\n this.form.markAsPristine();\n this.form.markAsUntouched();\n this.service.updateConfig(this.model, this.endpoint);\n }\n\n cancel = () => {\n this.options.resetModel();\n this.service.getSettingsFor({ endpoint: this.endpoint });\n };\n}\n","<formly-form\n *ngIf=\"fields?.length > 0; else empty\"\n [model]=\"model\"\n [form]=\"form\"\n [fields]=\"fields\"\n [options]=\"options\"\n data-cy=\"lwm2m-device-configuration--formly-form\"\n></formly-form>\n<ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"'c8y-device-protocols'\"\n title=\"{{ 'No configuration selected' | translate }}\"\n subtitle=\"{{ 'Select a configuration on the left' | translate }}\"\n ></c8y-ui-empty-state>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { BootstrapSettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-bootstrap-settings'\n})\nexport class Lwm2mFormBootstrapSettings extends Lwm2mFormWrapperBase<BootstrapSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.bootstrap;\n constructor(protected service: Lwm2mConfigurationService<BootstrapSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'bootstrapServerId',\n type: 'number',\n props: {\n label: gettext('Bootstrap Server ID'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'securityInstanceOffset',\n type: 'number',\n props: {\n label: gettext('Security instance offset'),\n placeholder: '1',\n min: 0\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ConnectivitySettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { delay, map } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-connectivity-settings'\n})\nexport class Lwm2mFormConnectivitySettings extends Lwm2mFormWrapperBase<ConnectivitySettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.connectivity;\n constructor(protected service: Lwm2mConfigurationService<ConnectivitySettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'bootstrapConnectivity',\n label: gettext('Bootstrap server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInBootstrapConnectivity)),\n delay(1)\n )\n },\n {\n key: 'serverConnectivity',\n label: gettext('Server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInServerConnectivity)),\n delay(1)\n )\n }\n ];\n\n return [\n {\n fieldGroup: [\n ...selects.map(select => ({\n key: select.key,\n wrappers: ['legend'],\n props: {\n label: select.label\n },\n fieldGroup: [\n {\n type: '#securityMode',\n props: {\n options: select.options\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' }\n ]\n }))\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n AutoManageAvailabilty,\n BinaryEncoding,\n DeviceSettings,\n LWM2MEndpoint,\n SerializationFormat\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-device-settings'\n})\nexport class Lwm2mFormDeviceSettings extends Lwm2mFormWrapperBase<DeviceSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.deviceSettings;\n constructor(protected service: Lwm2mConfigurationService<DeviceSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'endpointId',\n type: 'string',\n props: {\n label: gettext('Endpoint client ID'),\n required: true\n }\n },\n {\n key: 'awakeTime',\n type: 'number',\n props: {\n label: gettext('Awake time registration parameter'),\n description: gettext('in milliseconds, 0 means device is always online'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'requestTimeout',\n type: 'number',\n props: {\n label: gettext('LWM2M request timeout'),\n description: gettext('in milliseconds'),\n placeholder: '180000',\n min: 0\n }\n },\n {\n key: 'binaryEncoding',\n type: 'select',\n defaultValue: BinaryEncoding.OPAQUE,\n props: {\n label: gettext('Binary delivery encoding'),\n options: Object.values(BinaryEncoding).map(value => ({ label: value, value }))\n }\n },\n {\n key: 'serializationFormat',\n type: 'select',\n props: {\n label: gettext('Serialization format'),\n placeholder: gettext('Default device value'),\n options: [\n ...Object.values(SerializationFormat).map(value => ({ label: value, value }))\n ],\n description: gettext(\n 'Indicates the preferred content format for LWM2M Agent to use to communicate with the device.'\n ),\n acceptUndefined: true,\n removeExempliGratia: true\n }\n },\n {\n key: 'useTimestampResources',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Use source timestamp'),\n description: gettext(\n 'LWM2M offers various methods for associating timestamp information with data points, including resources 5518 and 6050, SenML, or resource 5 for the location object (6). When activated, the LWM2M agent utilizes this timestamp data source to generate measurements, events, or alarms. If deactivated, the LWM2M agent resorts to using its local time.'\n )\n }\n },\n {\n key: 'keepOldValuesOnOperationFail',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Keep old values'),\n description: gettext('Keep old values in the objects tab if an operation fails')\n }\n },\n {\n key: 'disableObjectInstanceActions',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable default behavior for object instances'),\n description: gettext('Turns off the internal default handling of objects 3, 4 and 6')\n }\n },\n {\n key: 'autoManageAvailabilityRequiredInterval',\n type: 'select',\n defaultValue: null,\n props: {\n label: gettext('Set the required interval automatically'),\n options: [\n { label: gettext('Default'), value: null },\n ...Object.entries(AutoManageAvailabilty).map(entry => {\n return { label: gettext(entry[0]), value: !!+entry[1] };\n })\n ],\n description: gettext(\n 'When enabled, the LWM2M service automatically sets the interval to registration lifetime plus 2 minutes.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n LWM2MEndpoint,\n FWU_DeliveryMethod,\n FWU_ResetMechanism,\n FWU_SupportedDeviceProtocol,\n FirmwareSettings\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-firmware-settings'\n})\nexport class Lwm2mFormFirmwareSettings extends Lwm2mFormWrapperBase<FirmwareSettings> {\n protected endpoint = LWM2MEndpoint.firmware;\n constructor(protected service: Lwm2mConfigurationService<FirmwareSettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'firmwareDeliveryMethod',\n label: gettext('Update`verb` delivery method'),\n _enum: FWU_DeliveryMethod\n },\n {\n key: 'supportedDeviceProtocol',\n label: gettext('Update`verb` supported device protocol'),\n _enum: FWU_SupportedDeviceProtocol\n },\n {\n key: 'resetMethod',\n label: gettext('Update`verb` reset mechanism'),\n _enum: FWU_ResetMechanism\n }\n ];\n return [\n {\n fieldGroup: [\n {\n key: 'disableFirmwareStateMachine',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable automated firmware update support'),\n description: gettext('Turns off the internal firmware update state machine')\n }\n },\n {\n key: 'url',\n type: 'string',\n props: {\n label: gettext('Update`noun` URL'),\n placeholder: 'firmware-image-url',\n description: gettext('If not specified, LWM2M Agent generates the URL')\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n {\n key: 'resetStateMachineOnStart',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Always reset firmware state machine'),\n description: gettext(\n 'Controls if the LWM2M Agent performs an initial state machine reset before it starts a firmware update'\n )\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n ...selects.map(select => ({\n key: select.key,\n type: 'select',\n props: {\n label: select.label,\n placeholder: gettext('Default device value'),\n options: Object.values(select._enum).map(value => ({ label: value, value })),\n acceptUndefined: true,\n removeExempliGratia: true\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n }))\n ]\n }\n ];\n }\n}\n","import { Component, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport {\n BindingMode,\n CertificateUsage,\n LWM2MEndpoint,\n Mode,\n Security,\n ServerSettings,\n ValidationType\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { catchError, delay, filter, map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-single-server-settings'\n})\nexport class Lwm2mFormSingleServerSettings\n extends Lwm2mFormWrapperBase<ServerSettings>\n implements OnInit\n{\n id: string;\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.servers;\n protected alert: AlertService;\n private readonly COAP = 'coap://';\n private readonly COAPS = 'coaps://';\n private router: Router;\n private route: ActivatedRoute;\n\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.alert = inject(AlertService);\n }\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(data => (this.model = data));\n this.service.getSettingsFor({ endpoint: this.endpoint, id: this.id });\n }\n\n createForm() {\n return [\n {\n wrappers: ['legend'],\n fieldGroup: [\n {\n key: 'bootstrap',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Bootstrap server'),\n description: gettext('This configuration is for a bootstrap server')\n }\n },\n {\n key: 'uri',\n type: 'input-addon',\n props: {\n label: gettext('Server URI'),\n addonLabel: this.COAP,\n required: true,\n placeholder: '<LWM2M-server-domain>:<coap(s)-port>'\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.addonLabel = this.COAP;\n return field.options.fieldChanges.pipe(\n filter(\n e => e.type === 'valueChanges' && (e.field === field || e.field.key === 'mode')\n ),\n map(e => {\n if (e.field.key === 'uri')\n field.formControl.setValue(\n ((e.value as string) || '').replace(/^.*:\\/\\//i, '')\n );\n field.props.addonLabel =\n field.model?.security?.mode === Mode.NO_SEC ? this.COAP : this.COAPS;\n return e;\n })\n );\n }\n }\n },\n {\n key: 'security',\n wrappers: ['legend'],\n props: {\n label: 'Security'\n },\n fieldGroup: [\n {\n type: '#securityMode',\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.options = this.service.securityModesByScope$.pipe(delay(1));\n this.service.getSecurityModeByScope('useInServerConnectivity');\n return field.options.fieldChanges.pipe(\n filter(e => e.type === 'valueChanges' && e.field.key === 'bootstrap'),\n map(e => {\n if (e.value) {\n this.service.getSecurityModeByScope('useInBootstrapConnectivity');\n if (field.model?.mode === Mode.X509_EST) {\n field.formControl.setValue(Mode.NO_SEC);\n }\n } else {\n this.service.getSecurityModeByScope('useInServerConnectivity');\n }\n return e;\n })\n );\n }\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' },\n {\n key: 'x509ServerCertificateName',\n type: 'select',\n props: {\n label: gettext('Server certificate'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: this.service.certificates$.pipe(\n map(certs => certs.map(value => ({ label: value, value })))\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateUsage',\n type: 'select',\n props: {\n label: gettext('Certificate usage'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: Object.values(CertificateUsage).map(value => ({ label: value, value }))\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Certificate'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchCommonName(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'x509CertificateCommonName',\n type: 'file-pick-replace',\n props: {\n label: gettext('Certificate Common Name'),\n remove: () => this.removeCertificateAndCommonName(),\n onPick: certificate => this.patchCommonName(certificate)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'privateKeyDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Private key'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n disabled: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchFingerprint(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n },\n {\n key: 'x509PrivateKeyFingerPrint',\n type: 'file-pick-replace',\n props: {\n label: gettext('Fingerprint of the private key'),\n remove: () => this.removePrivateKeyAndFingerprint(),\n onPick: privateKey => this.patchFingerprint(privateKey)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n }\n ]\n },\n {\n wrappers: ['legend'],\n props: {\n label: gettext('Server object configuration')\n },\n fieldGroup: [\n {\n key: 'storeNotifications',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Store notifications'),\n description: gettext(\n 'LWM2M Client to store notify operations when client is offline or LWM2M Server is disabled. Also used to forward them to the LWM2M Server when the client is able to connect.'\n )\n }\n },\n {\n key: 'shortServerId',\n type: 'number',\n props: {\n label: gettext('Short Server ID'),\n description: gettext('in numbers'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'registrationLifetime',\n type: 'number',\n props: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'defaultMinPeriod',\n type: 'number',\n props: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaxPeriod',\n type: 'number',\n props: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n type: 'select',\n defaultValue: BindingMode.U,\n props: {\n label: gettext('Binding mode'),\n options: Object.values(BindingMode).map(value => ({\n label:\n value === BindingMode.U ? gettext('UDP') : gettext('UDP with queue mode'),\n value\n }))\n }\n },\n {\n key: 'disableTimeout',\n type: 'number',\n props: {\n label: gettext('Disable timeout'),\n description: gettext('in seconds'),\n placeholder: '86400',\n min: 0\n }\n }\n ]\n }\n ]\n }\n ];\n }\n\n save() {\n this.service\n .update$({\n ...this.model,\n uri: this.getFullURI(),\n endpoint: LWM2MEndpoint.servers\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n delete() {\n this.service\n .deleteServer$(this.model)\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n cancel = () => this.router.navigate(['../servers'], { relativeTo: this.route });\n\n protected getFullURI() {\n const {\n uri,\n security: { mode = Mode.NO_SEC }\n } = this.model;\n return (mode === Mode.NO_SEC ? this.COAP : this.COAPS).concat(uri);\n }\n\n private patchFingerprint(privateKey: string) {\n if (privateKey?.length > 0) {\n this.service\n .validate(privateKey, ValidationType.PRIVATE_KEY)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n fingerprint => {\n this.model.security.x509PrivateKey = privateKey;\n this.model.security.x509PrivateKeyFingerPrint = fingerprint;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private patchCommonName(certificate: string) {\n if (certificate?.length > 0) {\n this.service\n .validate(certificate, ValidationType.X509)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n commonName => {\n this.model.security.x509Certificate = certificate;\n this.model.security.x509CertificateCommonName = commonName;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private removePrivateKeyAndFingerprint() {\n this.form.patchValue({\n security: {\n x509PrivateKey: null,\n x509PrivateKeyFingerPrint: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509PrivateKey;\n delete this.model?.security?.x509PrivateKeyFingerPrint;\n this.form.markAsDirty();\n }\n\n private removeCertificateAndCommonName() {\n this.form.patchValue({\n security: {\n x509Certificate: null,\n x509CertificateCommonName: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509CertificateCommonName;\n delete this.model?.security?.x509Certificate;\n this.form.markAsDirty();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-create-single-server-settings'\n})\nexport class Lwm2mFormCreateSingleServerSettings\n extends Lwm2mFormSingleServerSettings\n implements OnInit\n{\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n }\n\n ngOnInit() {\n // override by design\n }\n\n create() {\n this.service\n .createServer$({\n ...this.model,\n uri: this.getFullURI()\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n}\n","import { Component, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Lwm2mFormCreateSingleServerSettings } from './create-single-server-settings.component';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: './server-settings.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, Lwm2mFormSingleServerSettings, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-server-settings'\n})\nexport class Lwm2mFormServerSettings implements OnInit {\n private componentRef: ComponentRef<\n Lwm2mFormSingleServerSettings | Lwm2mFormCreateSingleServerSettings\n >;\n private destroy$: Subject<void> = new Subject();\n @ViewChild('singleServerForm', { read: ViewContainerRef, static: true })\n formContainer: ViewContainerRef;\n cmp: Lwm2mFormSingleServerSettings;\n id: string;\n\n listelements$ = this.service.servers$.pipe(\n map(servers =>\n servers.map(server => ({\n title: server.uri || gettext('Invalid server configuration'),\n icon: 'server',\n id: server.id\n }))\n )\n );\n\n constructor(\n protected service: Lwm2mConfigurationService<ServerSettings>,\n protected route: ActivatedRoute,\n protected router: Router\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(({ id }) => {\n this.id = id;\n this.service.listServers();\n this.createComponent(id);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n select(id) {\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { id },\n queryParamsHandling: 'merge'\n });\n }\n\n createComponent(id) {\n this.formContainer.clear();\n this.cmp = null;\n\n if (!id) return;\n\n this.componentRef = this.formContainer.createComponent(\n id !== 'create' ? Lwm2mFormSingleServerSettings : Lwm2mFormCreateSingleServerSettings\n );\n this.cmp = this.componentRef?.instance;\n this.cmp.id = id;\n }\n}\n","<div class=\"split-view--5-7 grid__row--1 fit-h\">\n <div class=\"inner-scroll split-view__list\">\n <div class=\"bg-level-1 flex-grow\">\n <ng-container *ngIf=\"listelements$ | async as list\">\n <ng-container *ngIf=\"list.length > 0 || id === 'create'; else empty\">\n <c8y-list-group class=\"c8y-list__group nav c8y-nav-stacked\">\n <c8y-li\n class=\"c8y-stacked-item p-0 active\"\n *ngIf=\"id === 'create'\"\n >\n <c8y-li-icon icon=\"server\"></c8y-li-icon>\n <span title=\"{{ 'New server' | translate }}\">\n {{ 'New server' | translate }}\n </span>\n </c8y-li>\n <c8y-li\n class=\"c8y-stacked-item p-0\"\n [class.active]=\"el.id === id\"\n *ngFor=\"let el of list\"\n (click)=\"select(el.id)\"\n >\n <c8y-li-icon [icon]=\"el.icon\"></c8y-li-icon>\n <span title=\"{{ el.title }}\">\n {{ el.title }}\n </span>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n <ng-template #empty>\n <div class=\"card-block\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n [title]=\"'No servers found.' | translate\"\n [subtitle]=\"'Click below to add a new server.' | translate\"\n ></c8y-ui-empty-state>\n </div>\n </ng-template>\n </ng-container>\n </div>\n <div class=\"card-footer separator-top\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Add server' | translate }}\"\n [disabled]=\"id === 'create'\"\n (click)=\"select('create')\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add server' | translate }}\n </button>\n </div>\n </div>\n <form class=\"d-contents\">\n <div\n class=\"inner-scroll split-view__detail\"\n [ngClass]=\"{ 'split-view__detail--selected': cmp?.fields?.length > 0 }\"\n >\n <div class=\"card-header separator visible-sm visible-xs fit-w sticky-top\">\n <button\n class=\"btn btn-clean text-primary\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"cmp?.cancel()\"\n >\n <i c8y-icon=\"chevron-left\"></i>\n <span>{{ 'Back' | translate }}</span>\n </button>\n </div>\n <div class=\"card-block flex-grow overflow-visible\">\n <ng-container *ngIf=\"!cmp?.fields?.length\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n title=\"{{ 'No server to display.' | translate }}\"\n subtitle=\"{{ 'Add or select a server.' | translate }}\"\n ></c8y-ui-empty-state>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n >\n <strong>{{ 'Info' | translate }}</strong>\n {{\n 'Configured servers are written as soon as the device does a bootstrap connection.'\n | translate\n }}\n </div>\n </ng-container>\n <ng-container #singleServerForm></ng-container>\n </div>\n <div\n class=\"card-footer separator sticky-bottom bg-level-0\"\n *ngIf=\"cmp?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cmp.cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n\n <ng-container *ngIf=\"id !== 'create'; else createServer\">\n <button\n class=\"btn btn-danger\"\n title=\"{{ 'Delete' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.options?.formState?.disabled || false\"\n (click)=\"cmp.delete()\"\n >\n {{ 'Delete' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </ng-container>\n <ng-template #createServer>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.create()\"\n >\n {{ 'Create' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n </form>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","delay","i2","i3","i4"],"mappings":";;;;;;;;;;;;;;;;;;MAgBa,2BAA2B,CAAA;IAItC,WACU,CAAA,kBAA0D,EAC1D,KAAqB,EAAA;QADrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAwC;QAC1D,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AAE7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QAE5E,IAAI,CAAC,IAAI,GAAG;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC;AACjD,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;gBAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;AAC/C,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC3C,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;AAC5C,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,OAAO,CAAC,kCAAkC,CAAC;gBAClD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1C,aAAA;SACF,CAAC;AAEF,QAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;KAC5C;AAED,IAAA,UAAU,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;AAEO,IAAA,OAAO,CAAC,QAAuB,EAAA;AACrC,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAC7C,QAAA,OAAO,CAAW,QAAA,EAAA,QAAQ,CAAwB,qBAAA,EAAA,QAAQ,EAAE,CAAC;KAC9D;8GAhDU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBxC,smCAqCA,EDxBY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,qzBAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,yBAAyB,EAAA,OAAA,EAE1B,CAAC,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,CAAC,EAAA,UAAA,EAC1D,IAAI,EAAA,QAAA,EAAA,smCAAA,EAAA,CAAA;;;MEEI,oBAAoB,CAAA;AAaxC,IAAA,WAAA,CAAsB,OAAqC,EAAA;QAArC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8B;AAVjD,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAE,CAAC;QAElD,IAAK,CAAA,KAAA,GAAG,EAAO,CAAC;AAChB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;QACzB,IAAM,CAAA,MAAA,GAAwB,EAAE,CAAC;QACjC,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAA,CAAA,OAAO,GAAsB;AAC3B,YAAA,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC/B,CAAC;QAkCF,IAAM,CAAA,MAAA,GAAG,MAAK;AACZ,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3D,SAAC,CAAC;AAlCA,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAEvF,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE;AACnE,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,IAAc,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxC;KACF;IAID,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC1D;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtD;8GA3CmB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EChB1C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,EDHY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIpB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,6BAA6B,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;AEDnC,MAAO,0BAA2B,SAAQ,oBAAuC,CAAA;AAErF,IAAA,WAAA,CAAsB,OAAqD,EAAA;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8C;AADjE,QAAA,IAAA,CAAA,QAAQ,GAAkB,aAAa,CAAC,SAAS,CAAC;KAG3D;IAED,UAAU,GAAA;QACR,OAAO;AACL,YAAA;AACE,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,mBAAmB;AACxB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;AACrC,4BAAA,WAAW,EAAE,GAAG;AAChB,4BAAA,GAAG,EAAE,CAAC;AACP,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,wBAAwB;AAC7B,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,0BAA0B,CAAC;AAC1C,4BAAA,WAAW,EAAE,GAAG;AAChB,4BAAA,GAAG,EAAE,CAAC;AACP,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GA/BU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EDbvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,ECNY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,mCAAmC,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;ACGzC,MAAO,6BAA8B,SAAQ,oBAA0C,CAAA;AAE3F,IAAA,WAAA,CAAsB,OAAwD,EAAA;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiD;AADpE,QAAA,IAAA,CAAA,QAAQ,GAAkB,aAAa,CAAC,YAAY,CAAC;KAG9D;IAED,UAAU,GAAA;AACR,QAAA,MAAM,OAAO,GAAG;AACd,YAAA;AACE,gBAAA,GAAG,EAAE,uBAAuB;AAC5B,gBAAA,KAAK,EAAE,OAAO,CAAC,iCAAiC,CAAC;AACjD,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAC1C,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,EACpE,KAAK,CAAC,CAAC,CAAC,CACT;AACF,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,oBAAoB;AACzB,gBAAA,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC;AACvC,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAC1C,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC,EACjE,KAAK,CAAC,CAAC,CAAC,CACT;AACF,aAAA;SACF,CAAC;QAEF,OAAO;AACL,YAAA;AACE,gBAAA,UAAU,EAAE;oBACV,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;wBACxB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACpB,wBAAA,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,KAAK;AACpB,yBAAA;AACD,wBAAA,UAAU,EAAE;AACV,4BAAA;AACE,gCAAA,IAAI,EAAE,eAAe;AACrB,gCAAA,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM,CAAC,OAAO;AACxB,iCAAA;AACF,6BAAA;4BACD,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAClB,EAAE,IAAI,EAAE,SAAS,EAAE;AACpB,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GAjDU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EFd1C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,EELY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,sCAAsC,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;ACO5C,MAAO,uBAAwB,SAAQ,oBAAoC,CAAA;AAE/E,IAAA,WAAA,CAAsB,OAAkD,EAAA;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2C;AAD9D,QAAA,IAAA,CAAA,QAAQ,GAAkB,aAAa,CAAC,cAAc,CAAC;KAGhE;IAED,UAAU,GAAA;QACR,OAAO;AACL,YAAA;AACE,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,YAAY;AACjB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC;AACpC,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,WAAW;AAChB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,mCAAmC,CAAC;AACnD,4BAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,4BAAA,WAAW,EAAE,GAAG;AAChB,4BAAA,GAAG,EAAE,CAAC;AACP,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,gBAAgB;AACrB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC;AACvC,4BAAA,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACvC,4BAAA,WAAW,EAAE,QAAQ;AACrB,4BAAA,GAAG,EAAE,CAAC;AACP,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,gBAAgB;AACrB,wBAAA,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,cAAc,CAAC,MAAM;AACnC,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,0BAA0B,CAAC;4BAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/E,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,qBAAqB;AAC1B,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,4BAAA,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC;AAC5C,4BAAA,OAAO,EAAE;gCACP,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,6BAAA;AACD,4BAAA,WAAW,EAAE,OAAO,CAClB,+FAA+F,CAChG;AACD,4BAAA,eAAe,EAAE,IAAI;AACrB,4BAAA,mBAAmB,EAAE,IAAI;AAC1B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,uBAAuB;AAC5B,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,4BAAA,WAAW,EAAE,OAAO,CAClB,6VAA6V,CAC9V;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,8BAA8B;AACnC,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,4BAAA,WAAW,EAAE,OAAO,CAAC,0DAA0D,CAAC;AACjF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,8BAA8B;AACnC,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,+CAA+C,CAAC;AAC/D,4BAAA,WAAW,EAAE,OAAO,CAAC,+DAA+D,CAAC;AACtF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,wCAAwC;AAC7C,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,IAAI;AAClB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,yCAAyC,CAAC;AACzD,4BAAA,OAAO,EAAE;gCACP,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gCAC1C,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,KAAK,IAAG;oCACnD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,iCAAC,CAAC;AACH,6BAAA;AACD,4BAAA,WAAW,EAAE,OAAO,CAClB,0GAA0G,CAC3G;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GAhHU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EHnBpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,EGAY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,gCAAgC,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;ACEtC,MAAO,yBAA0B,SAAQ,oBAAsC,CAAA;AAEnF,IAAA,WAAA,CAAsB,OAAoD,EAAA;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAA6C;AADhE,QAAA,IAAA,CAAA,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;KAG3C;IAED,UAAU,GAAA;AACR,QAAA,MAAM,OAAO,GAAG;AACd,YAAA;AACE,gBAAA,GAAG,EAAE,wBAAwB;AAC7B,gBAAA,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC;AAC9C,gBAAA,KAAK,EAAE,kBAAkB;AAC1B,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,yBAAyB;AAC9B,gBAAA,KAAK,EAAE,OAAO,CAAC,wCAAwC,CAAC;AACxD,gBAAA,KAAK,EAAE,2BAA2B;AACnC,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC;AAC9C,gBAAA,KAAK,EAAE,kBAAkB;AAC1B,aAAA;SACF,CAAC;QACF,OAAO;AACL,YAAA;AACE,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,6BAA6B;AAClC,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,2CAA2C,CAAC;AAC3D,4BAAA,WAAW,EAAE,OAAO,CAAC,sDAAsD,CAAC;AAC7E,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,KAAK;AACV,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC;AAClC,4BAAA,WAAW,EAAE,oBAAoB;AACjC,4BAAA,WAAW,EAAE,OAAO,CAAC,iDAAiD,CAAC;AACxE,yBAAA;AACD,wBAAA,WAAW,EAAE;AACX,4BAAA,IAAI,EAAE,mCAAmC;AAC1C,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,0BAA0B;AAC/B,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,qCAAqC,CAAC;AACrD,4BAAA,WAAW,EAAE,OAAO,CAClB,wGAAwG,CACzG;AACF,yBAAA;AACD,wBAAA,WAAW,EAAE;AACX,4BAAA,IAAI,EAAE,mCAAmC;AAC1C,yBAAA;AACF,qBAAA;oBACD,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;wBACxB,GAAG,EAAE,MAAM,CAAC,GAAG;AACf,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,4BAAA,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC;4BAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,4BAAA,eAAe,EAAE,IAAI;AACrB,4BAAA,mBAAmB,EAAE,IAAI;AAC1B,yBAAA;AACD,wBAAA,WAAW,EAAE;AACX,4BAAA,IAAI,EAAE,mCAAmC;AAC1C,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GA/EU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EJnBtC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,EIAY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,kCAAkC,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;ACQxC,MAAO,6BACX,SAAQ,oBAAoC,CAAA;AAW5C,IAAA,WAAA,CAAsB,OAAkD,EAAA;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2C;AAP9D,QAAA,IAAA,CAAA,QAAQ,GAAkB,aAAa,CAAC,OAAO,CAAC;QAEzC,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC;QACjB,IAAK,CAAA,KAAA,GAAG,UAAU,CAAC;QA2UpC,IAAM,CAAA,MAAA,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AArU9E,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;KACnC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KACvE;IAED,UAAU,GAAA;QACR,OAAO;AACL,YAAA;gBACE,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,WAAW;AAChB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC;AAClC,4BAAA,WAAW,EAAE,OAAO,CAAC,8CAA8C,CAAC;AACrE,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,KAAK;AACV,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;4BAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;AACrB,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,WAAW,EAAE,sCAAsC;AACpD,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,MAAM,EAAE,CAAC,KAAwB,KAAI;gCACnC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,gCAAA,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CACpC,MAAM,CACJ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAChF,EACDA,KAAG,CAAC,CAAC,IAAG;AACN,oCAAA,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK;wCACvB,KAAK,CAAC,WAAW,CAAC,QAAQ,CACxB,CAAE,CAAC,CAAC,KAAgB,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CACrD,CAAC;oCACJ,KAAK,CAAC,KAAK,CAAC,UAAU;wCACpB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACvE,oCAAA,OAAO,CAAC,CAAC;iCACV,CAAC,CACH,CAAC;6BACH;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,UAAU;wBACf,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACpB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,UAAU;AAClB,yBAAA;AACD,wBAAA,UAAU,EAAE;AACV,4BAAA;AACE,gCAAA,IAAI,EAAE,eAAe;AACrB,gCAAA,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,CAAC,KAAwB,KAAI;AACnC,wCAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAACC,OAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,wCAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;AAC/D,wCAAA,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CACpC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,EACrED,KAAG,CAAC,CAAC,IAAG;AACN,4CAAA,IAAI,CAAC,CAAC,KAAK,EAAE;AACX,gDAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;gDAClE,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;oDACvC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iDACzC;6CACF;iDAAM;AACL,gDAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;6CAChE;AACD,4CAAA,OAAO,CAAC,CAAC;yCACV,CAAC,CACH,CAAC;qCACH;AACF,iCAAA;AACF,6BAAA;4BACD,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAClB,EAAE,IAAI,EAAE,SAAS,EAAE;AACnB,4BAAA;AACE,gCAAA,GAAG,EAAE,2BAA2B;AAChC,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC;AACpC,oCAAA,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC;AAC5C,oCAAA,eAAe,EAAE,IAAI;AACrB,oCAAA,mBAAmB,EAAE,IAAI;AACzB,oCAAA,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CACtCA,KAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAC5D;AACF,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,gBAAgB,EAAE,CAAC,KAAwB,KACzC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;AACrC,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;qCAC/E;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB;AACvB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACnC,oCAAA,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC;AAC5C,oCAAA,eAAe,EAAE,IAAI;AACrB,oCAAA,mBAAmB,EAAE,IAAI;oCACzB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACjF,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,gBAAgB,EAAE,CAAC,KAAwB,KACzC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;AACrC,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;qCAC/E;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,qBAAqB;AAC1B,gCAAA,IAAI,EAAE,MAAM;AACZ,gCAAA,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,KAAK;AACb,oCAAA,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC;AAC7B,oCAAA,WAAW,EAAE,OAAO,CAAC,+BAA+B,CAAC;AACrD,oCAAA,aAAa,EAAE,IAAI;AACnB,oCAAA,OAAO,EAAE,OAAO,KAAoB,KAClC,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAC3B,MAAM,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,EACrC,CACF;AACJ,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,QACE,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,yBAAyB,EAC3E;qCACH;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,2BAA2B;AAChC,gCAAA,IAAI,EAAE,mBAAmB;AACzB,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC;AACzC,oCAAA,MAAM,EAAE,MAAM,IAAI,CAAC,8BAA8B,EAAE;oCACnD,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;AACzD,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,gBAAgB,EAAE,CAAC,KAAwB,KACzC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;AACrC,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,QACE,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,yBAAyB,EAC1E;qCACH;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,oBAAoB;AACzB,gCAAA,IAAI,EAAE,MAAM;AACZ,gCAAA,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,KAAK;AACb,oCAAA,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC;AAC7B,oCAAA,WAAW,EAAE,OAAO,CAAC,+BAA+B,CAAC;AACrD,oCAAA,aAAa,EAAE,IAAI;AACnB,oCAAA,QAAQ,EAAE,IAAI;AACd,oCAAA,OAAO,EAAE,OAAO,KAAoB,KAClC,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAC3B,MAAM,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,EACrC,CACF;AACJ,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,gBAAgB,EAAE,CAAC,KAAwB,KACzC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;AACrC,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,QACE,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,yBAAyB,EAC3E;qCACH;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,2BAA2B;AAChC,gCAAA,IAAI,EAAE,mBAAmB;AACzB,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,gCAAgC,CAAC;AAChD,oCAAA,MAAM,EAAE,MAAM,IAAI,CAAC,8BAA8B,EAAE;oCACnD,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;AACxD,iCAAA;AACD,gCAAA,WAAW,EAAE;AACX,oCAAA,gBAAgB,EAAE,CAAC,KAAwB,KACzC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;AACrC,oCAAA,IAAI,EAAE,CAAC,KAAwB,KAAI;AACjC,wCAAA,QACE,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,yBAAyB,EAC1E;qCACH;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;wBACE,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACpB,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC;AAC9C,yBAAA;AACD,wBAAA,UAAU,EAAE;AACV,4BAAA;AACE,gCAAA,GAAG,EAAE,oBAAoB;AACzB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;AACrC,oCAAA,WAAW,EAAE,OAAO,CAClB,+KAA+K,CAChL;AACF,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,eAAe;AACpB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,oCAAA,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;AAClC,oCAAA,WAAW,EAAE,GAAG;AAChB,oCAAA,GAAG,EAAE,CAAC;AACP,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,sBAAsB;AAC3B,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC;AACvC,oCAAA,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;AAClC,oCAAA,WAAW,EAAE,KAAK;AAClB,oCAAA,GAAG,EAAE,CAAC;AACP,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB;AACvB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC;AACxC,oCAAA,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;AAClC,oCAAA,WAAW,EAAE,IAAI;AACjB,oCAAA,GAAG,EAAE,CAAC;AACP,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB;AACvB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC;AACxC,oCAAA,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;AAClC,oCAAA,WAAW,EAAE,IAAI;AACjB,oCAAA,GAAG,EAAE,CAAC;AACP,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,aAAa;AAClB,gCAAA,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,WAAW,CAAC,CAAC;AAC3B,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,oCAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK;AAChD,wCAAA,KAAK,EACH,KAAK,KAAK,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;wCAC3E,KAAK;AACN,qCAAA,CAAC,CAAC;AACJ,iCAAA;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,gBAAgB;AACrB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,oCAAA,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;AAClC,oCAAA,WAAW,EAAE,OAAO;AACpB,oCAAA,GAAG,EAAE,CAAC;AACP,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,CAAC;KACH;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,OAAO,CAAC;YACP,GAAG,IAAI,CAAC,KAAK;AACb,YAAA,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;YACtB,QAAQ,EAAE,aAAa,CAAC,OAAO;SAChC,CAAC;AACD,aAAA,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACjC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,SAAC,CAAC,CACH;aACA,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACtC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,aAAA,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACjC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,SAAC,CAAC,CACH;aACA,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACtC;IAIS,UAAU,GAAA;AAClB,QAAA,MAAM,EACJ,GAAG,EACH,QAAQ,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,EACjC,GAAG,IAAI,CAAC,KAAK,CAAC;QACf,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;KACpE;AAEO,IAAA,gBAAgB,CAAC,UAAkB,EAAA;AACzC,QAAA,IAAI,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO;AACT,iBAAA,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC;AAChD,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CACR,WAAW,IAAG;gBACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,GAAG,WAAW,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EACD,MAAM,IAAG;;AAET,aAAC,CACF,CAAC;SACL;KACF;AAEO,IAAA,eAAe,CAAC,WAAmB,EAAA;AACzC,QAAA,IAAI,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO;AACT,iBAAA,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;AAC1C,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CACR,UAAU,IAAG;gBACX,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,GAAG,WAAW,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,GAAG,UAAU,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aACzB,EACD,MAAM,IAAG;;AAET,aAAC,CACF,CAAC;SACL;KACF;IAEO,8BAA8B,GAAA;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,yBAAyB,EAAE,IAAI;AACX,aAAA;AACvB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,yBAAyB,CAAC;AACvD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACzB;IAEO,8BAA8B,GAAA;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,YAAA,QAAQ,EAAE;AACR,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,yBAAyB,EAAE,IAAI;AACX,aAAA;AACvB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,yBAAyB,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACzB;8GAzZU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,wHLzB1C,geAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EKMY,UAAU,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAAE,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI3C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;8BAEC,CAAC,UAAU,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAA,UAAA,EAC3C,IAAI,EAAA,QAAA,EACN,uCAAuC,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;ACR7C,MAAO,mCACX,SAAQ,6BAA6B,CAAA;AAGrC,IAAA,WAAA,CAAsB,OAAkD,EAAA;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2C;KAEvE;IAED,QAAQ,GAAA;;KAEP;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,aAAa,CAAC;YACb,GAAG,IAAI,CAAC,KAAK;AACb,YAAA,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;SACvB,CAAC;AACD,aAAA,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACjC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,SAAC,CAAC,CACH;aACA,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACtC;8GAzBU,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,ENfhD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,geAeA,EMJY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,+dAAE,kBAAkB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7B,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAN/C,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC7B,UAAA,EAAA,IAAI,YACN,8CAA8C,EAAA,QAAA,EAAA,geAAA,EAAA,CAAA;;;MCI7C,uBAAuB,CAAA;AAoBlC,IAAA,WAAA,CACY,OAAkD,EAClD,KAAqB,EACrB,MAAc,EAAA;QAFd,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2C;QAClD,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAnBlB,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAE,CAAC;QAMhD,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CACxCF,KAAG,CAAC,OAAO,IACT,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;YACrB,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,8BAA8B,CAAC;AAC5D,YAAA,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,MAAM,CAAC,EAAE;SACd,CAAC,CAAC,CACJ,CACF,CAAC;KAME;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KAAI;AACzE,YAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACb,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;AAED,IAAA,MAAM,CAAC,EAAE,EAAA;AACP,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,KAAK;YACtB,WAAW,EAAE,EAAE,EAAE,EAAE;AACnB,YAAA,mBAAmB,EAAE,OAAO;AAC7B,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,eAAe,CAAC,EAAE,EAAA;AAChB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;AAEhB,QAAA,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CACpD,EAAE,KAAK,QAAQ,GAAG,6BAA6B,GAAG,mCAAmC,CACtF,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;AACvC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;KAClB;8GA1DU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAKK,gBAAgB,ECtBzD,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,spJAuIA,2CD1HY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAiC,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI1E,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;8BAEC,CAAC,UAAU,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,YAAY,CAAC,EAAA,UAAA,EAC1E,IAAI,EAAA,QAAA,EACN,gCAAgC,EAAA,QAAA,EAAA,spJAAA,EAAA,CAAA;gJAQ1C,aAAa,EAAA,CAAA;sBADZ,SAAS;uBAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AEtBzE;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","sources":["../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.ts","../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.html","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.html","../../protocol-lwm2m/components/configuration/typed-forms/bootstrap-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/device-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/create-single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/servers-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/server-settings.component.html","../../protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { LWM2MEndpoint, Settings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { CoreModule, Tab, gettext } from '@c8y/ngx-components';\nimport { IIdentified } from '@c8y/client';\nimport { Lwm2mFormWrapperBase } from './typed-forms';\n\n@Component({\n selector: 'c8y-lwm2m-configuration',\n templateUrl: './lwm2m-configuration.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, CdkTreeModule, RouterModule],\n standalone: true\n})\nexport class Lwm2mConfigurationComponent {\n tabs: Tab[];\n componentInstance: Lwm2mFormWrapperBase<Settings>;\n\n constructor(\n private lwm2mConfigService: Lwm2mConfigurationService<IIdentified>,\n private route: ActivatedRoute\n ) {\n this.lwm2mConfigService.deviceId = this.route?.snapshot?.parent?.params?.id;\n\n this.tabs = [\n {\n icon: 'cog',\n label: gettext('Device settings'),\n path: this.getPath(LWM2MEndpoint.deviceSettings)\n },\n {\n icon: 'connected',\n label: gettext('Connectivity'),\n path: this.getPath(LWM2MEndpoint.connectivity)\n },\n {\n icon: 'c8y-firmware',\n label: gettext('Firmware update'),\n path: this.getPath(LWM2MEndpoint.firmware)\n },\n {\n icon: 'root-server',\n label: gettext('Bootstrap'),\n path: this.getPath(LWM2MEndpoint.bootstrap)\n },\n {\n icon: 'stack',\n label: gettext('Servers written during bootstrap'),\n path: this.getPath(LWM2MEndpoint.servers)\n }\n ];\n\n this.lwm2mConfigService.getSecurityModes();\n }\n\n onActivate(event) {\n this.componentInstance = event;\n }\n\n private getPath(endpoint: LWM2MEndpoint) {\n const { deviceId } = this.lwm2mConfigService;\n return `/device/${deviceId}/lwm2m-configuration/${endpoint}`;\n }\n}\n","<div class=\"card content-fullpage d-col\">\n <div class=\"card-header p-0\">\n <c8y-ui-tabs\n class=\"card-has-tabs card-tabs\"\n [tabs]=\"tabs\"\n [orientation]=\"'horizontal'\"\n ></c8y-ui-tabs>\n </div>\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <form class=\"card-block--formly fit-h\">\n <router-outlet (activate)=\"onActivate($event)\"></router-outlet>\n </form>\n </div>\n <div\n class=\"card-footer separator sticky-bottom\"\n *ngIf=\"componentInstance?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"componentInstance.cancel()\"\n [disabled]=\"!componentInstance.form.dirty\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"componentInstance.form.invalid || !componentInstance.form.dirty\"\n (click)=\"componentInstance.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { LWM2MEndpoint, permissionAlert } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-wrapper-base'\n})\nexport abstract class Lwm2mFormWrapperBase<T> implements OnInit, OnDestroy {\n private alertService: AlertService;\n protected abstract endpoint: LWM2MEndpoint;\n protected destroy$: Subject<void> = new Subject();\n\n model = {} as T;\n form = new FormGroup({});\n fields: FormlyFieldConfig[] = [];\n buttons = {};\n options: FormlyFormOptions = {\n formState: { disabled: false }\n };\n\n constructor(protected service: Lwm2mConfigurationService<T>) {\n this.fields = this.createForm();\n\n inject(FormlyFormBuilder)?.buildForm(this.form, this.fields, this.model, this.options);\n\n if (!inject(Permissions)?.hasRole(Permissions.ROLE_INVENTORY_ADMIN)) {\n this.alertService = inject(AlertService);\n this.alertService.info(permissionAlert.text as string);\n this.form.disable();\n this.options.formState.disabled = true;\n }\n }\n\n abstract createForm(): FormlyFieldConfig[];\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(next => (this.model = next));\n this.service.getSettingsFor({ endpoint: this.endpoint });\n }\n\n ngOnDestroy(): void {\n this.alertService?.remove(permissionAlert);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n save() {\n this.form.markAsPristine();\n this.form.markAsUntouched();\n this.service.updateConfig(this.model, this.endpoint);\n }\n\n cancel = () => {\n this.options.resetModel();\n this.service.getSettingsFor({ endpoint: this.endpoint });\n };\n}\n","<formly-form\n *ngIf=\"fields?.length > 0; else empty\"\n [model]=\"model\"\n [form]=\"form\"\n [fields]=\"fields\"\n [options]=\"options\"\n data-cy=\"lwm2m-device-configuration--formly-form\"\n></formly-form>\n<ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"'c8y-device-protocols'\"\n title=\"{{ 'No configuration selected' | translate }}\"\n subtitle=\"{{ 'Select a configuration on the left' | translate }}\"\n ></c8y-ui-empty-state>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { BootstrapSettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-bootstrap-settings'\n})\nexport class Lwm2mFormBootstrapSettings extends Lwm2mFormWrapperBase<BootstrapSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.bootstrap;\n constructor(protected service: Lwm2mConfigurationService<BootstrapSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'bootstrapServerId',\n type: 'number',\n props: {\n label: gettext('Bootstrap Server ID'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'securityInstanceOffset',\n type: 'number',\n props: {\n label: gettext('Security instance offset'),\n placeholder: '1',\n min: 0\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ConnectivitySettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { delay, map } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-connectivity-settings'\n})\nexport class Lwm2mFormConnectivitySettings extends Lwm2mFormWrapperBase<ConnectivitySettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.connectivity;\n constructor(protected service: Lwm2mConfigurationService<ConnectivitySettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'bootstrapConnectivity',\n label: gettext('Bootstrap server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInBootstrapConnectivity)),\n delay(1)\n )\n },\n {\n key: 'serverConnectivity',\n label: gettext('Server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInServerConnectivity)),\n delay(1)\n )\n }\n ];\n\n return [\n {\n fieldGroup: [\n ...selects.map(select => ({\n key: select.key,\n wrappers: ['legend'],\n props: {\n label: select.label\n },\n fieldGroup: [\n {\n type: '#securityMode',\n props: {\n options: select.options\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' }\n ]\n }))\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n AutoManageAvailabilty,\n BinaryEncoding,\n DeviceSettings,\n LWM2MEndpoint,\n SerializationFormat\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-device-settings'\n})\nexport class Lwm2mFormDeviceSettings extends Lwm2mFormWrapperBase<DeviceSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.deviceSettings;\n constructor(protected service: Lwm2mConfigurationService<DeviceSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'endpointId',\n type: 'string',\n props: {\n label: gettext('Endpoint client ID'),\n required: true\n }\n },\n {\n key: 'awakeTime',\n type: 'number',\n props: {\n label: gettext('Awake time registration parameter'),\n description: gettext('in milliseconds, 0 means device is always online'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'requestTimeout',\n type: 'number',\n props: {\n label: gettext('LWM2M request timeout'),\n description: gettext('in milliseconds'),\n placeholder: '180000',\n min: 0\n }\n },\n {\n key: 'binaryEncoding',\n type: 'select',\n defaultValue: BinaryEncoding.OPAQUE,\n props: {\n label: gettext('Binary delivery encoding'),\n options: Object.values(BinaryEncoding).map(value => ({ label: value, value }))\n }\n },\n {\n key: 'serializationFormat',\n type: 'select',\n props: {\n label: gettext('Serialization format'),\n placeholder: gettext('Default device value'),\n options: [\n ...Object.values(SerializationFormat).map(value => ({ label: value, value }))\n ],\n description: gettext(\n 'Indicates the preferred content format for LWM2M Agent to use to communicate with the device.'\n ),\n acceptUndefined: true,\n removeExempliGratia: true\n }\n },\n {\n key: 'useTimestampResources',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Use source timestamp'),\n description: gettext(\n 'LWM2M offers various methods for associating timestamp information with data points, including resources 5518 and 6050, SenML, or resource 5 for the location object (6). When activated, the LWM2M agent utilizes this timestamp data source to generate measurements, events, or alarms. If deactivated, the LWM2M agent resorts to using its local time.'\n )\n }\n },\n {\n key: 'keepOldValuesOnOperationFail',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Keep old values'),\n description: gettext('Keep old values in the objects tab if an operation fails')\n }\n },\n {\n key: 'disableObjectInstanceActions',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable default behavior for object instances'),\n description: gettext('Turns off the internal default handling of objects 3, 4 and 6')\n }\n },\n {\n key: 'autoManageAvailabilityRequiredInterval',\n type: 'select',\n defaultValue: null,\n props: {\n label: gettext('Set the required interval automatically'),\n options: [\n { label: gettext('Default'), value: null },\n ...Object.entries(AutoManageAvailabilty).map(entry => {\n return { label: gettext(entry[0]), value: !!+entry[1] };\n })\n ],\n description: gettext(\n 'When enabled, the LWM2M service automatically sets the interval to registration lifetime plus 2 minutes.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n LWM2MEndpoint,\n FWU_DeliveryMethod,\n FWU_ResetMechanism,\n FWU_SupportedDeviceProtocol,\n FirmwareSettings\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-firmware-settings'\n})\nexport class Lwm2mFormFirmwareSettings extends Lwm2mFormWrapperBase<FirmwareSettings> {\n protected endpoint = LWM2MEndpoint.firmware;\n constructor(protected service: Lwm2mConfigurationService<FirmwareSettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'firmwareDeliveryMethod',\n label: gettext('Update`verb` delivery method'),\n _enum: FWU_DeliveryMethod\n },\n {\n key: 'supportedDeviceProtocol',\n label: gettext('Update`verb` supported device protocol'),\n _enum: FWU_SupportedDeviceProtocol\n },\n {\n key: 'resetMethod',\n label: gettext('Update`verb` reset mechanism'),\n _enum: FWU_ResetMechanism\n }\n ];\n return [\n {\n fieldGroup: [\n {\n key: 'disableFirmwareStateMachine',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable automated firmware update support'),\n description: gettext('Turns off the internal firmware update state machine')\n }\n },\n {\n key: 'url',\n type: 'string',\n props: {\n label: gettext('Update`noun` URL'),\n placeholder: 'firmware-image-url',\n description: gettext('If not specified, LWM2M Agent generates the URL')\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n {\n key: 'resetStateMachineOnStart',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Always reset firmware state machine'),\n description: gettext(\n 'Controls if the LWM2M Agent performs an initial state machine reset before it starts a firmware update'\n )\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n ...selects.map(select => ({\n key: select.key,\n type: 'select',\n props: {\n label: select.label,\n placeholder: gettext('Default device value'),\n options: Object.values(select._enum).map(value => ({ label: value, value })),\n acceptUndefined: true,\n removeExempliGratia: true\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n })),\n {\n key: 'failOnStateAndResultIncompatibility',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Fail device firmware update on unexpected result'),\n description: gettext(\n 'If the configuration is enabled, the firmware update operation will fail if the update result (resource 5) is not as expected based on the LWM2M firmware state machine.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport {\n BindingMode,\n CertificateUsage,\n LWM2MEndpoint,\n Mode,\n Security,\n ServerSettings,\n ValidationType\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { catchError, delay, filter, map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-single-server-settings'\n})\nexport class Lwm2mFormSingleServerSettings\n extends Lwm2mFormWrapperBase<ServerSettings>\n implements OnInit\n{\n id: string;\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.servers;\n protected alert: AlertService;\n private readonly COAP = 'coap://';\n private readonly COAPS = 'coaps://';\n private router: Router;\n private route: ActivatedRoute;\n\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.alert = inject(AlertService);\n }\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(data => (this.model = data));\n this.service.getSettingsFor({ endpoint: this.endpoint, id: this.id });\n }\n\n createForm() {\n return [\n {\n wrappers: ['legend'],\n fieldGroup: [\n {\n key: 'bootstrap',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Bootstrap server'),\n description: gettext('This configuration is for a bootstrap server')\n }\n },\n {\n key: 'uri',\n type: 'input-addon',\n props: {\n label: gettext('Server URI'),\n addonLabel: this.COAP,\n required: true,\n placeholder: '<LWM2M-server-domain>:<coap(s)-port>'\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.addonLabel = this.COAP;\n return field.options.fieldChanges.pipe(\n filter(\n e => e.type === 'valueChanges' && (e.field === field || e.field.key === 'mode')\n ),\n map(e => {\n if (e.field.key === 'uri')\n field.formControl.setValue(\n ((e.value as string) || '').replace(/^.*:\\/\\//i, '')\n );\n field.props.addonLabel =\n field.model?.security?.mode === Mode.NO_SEC ? this.COAP : this.COAPS;\n return e;\n })\n );\n }\n }\n },\n {\n key: 'security',\n wrappers: ['legend'],\n props: {\n label: 'Security'\n },\n fieldGroup: [\n {\n type: '#securityMode',\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.options = this.service.securityModesByScope$.pipe(delay(1));\n this.service.getSecurityModeByScope('useInServerConnectivity');\n return field.options.fieldChanges.pipe(\n filter(e => e.type === 'valueChanges' && e.field.key === 'bootstrap'),\n map(e => {\n if (e.value) {\n this.service.getSecurityModeByScope('useInBootstrapConnectivity');\n if (field.model?.mode === Mode.X509_EST) {\n field.formControl.setValue(Mode.NO_SEC);\n }\n } else {\n this.service.getSecurityModeByScope('useInServerConnectivity');\n }\n return e;\n })\n );\n }\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' },\n {\n key: 'x509ServerCertificateName',\n type: 'select',\n props: {\n label: gettext('Server certificate'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: this.service.certificates$.pipe(\n map(certs => certs.map(value => ({ label: value, value })))\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateUsage',\n type: 'select',\n props: {\n label: gettext('Certificate usage'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: Object.values(CertificateUsage).map(value => ({ label: value, value }))\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Certificate'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchCommonName(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'x509CertificateCommonName',\n type: 'file-pick-replace',\n props: {\n label: gettext('Certificate Common Name'),\n remove: () => this.removeCertificateAndCommonName(),\n onPick: certificate => this.patchCommonName(certificate)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'privateKeyDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Private key'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n disabled: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchFingerprint(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n },\n {\n key: 'x509PrivateKeyFingerPrint',\n type: 'file-pick-replace',\n props: {\n label: gettext('Fingerprint of the private key'),\n remove: () => this.removePrivateKeyAndFingerprint(),\n onPick: privateKey => this.patchFingerprint(privateKey)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n }\n ]\n },\n {\n wrappers: ['legend'],\n props: {\n label: gettext('Server object configuration')\n },\n fieldGroup: [\n {\n key: 'storeNotifications',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Store notifications'),\n description: gettext(\n 'LWM2M Client to store notify operations when client is offline or LWM2M Server is disabled. Also used to forward them to the LWM2M Server when the client is able to connect.'\n )\n }\n },\n {\n key: 'shortServerId',\n type: 'number',\n props: {\n label: gettext('Short Server ID'),\n description: gettext('in numbers'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'registrationLifetime',\n type: 'number',\n props: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'defaultMinPeriod',\n type: 'number',\n props: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaxPeriod',\n type: 'number',\n props: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n type: 'select',\n defaultValue: BindingMode.U,\n props: {\n label: gettext('Binding mode'),\n options: Object.values(BindingMode).map(value => ({\n label:\n value === BindingMode.U ? gettext('UDP') : gettext('UDP with queue mode'),\n value\n }))\n }\n },\n {\n key: 'disableTimeout',\n type: 'number',\n props: {\n label: gettext('Disable timeout'),\n description: gettext('in seconds'),\n placeholder: '86400',\n min: 0\n }\n }\n ]\n }\n ]\n }\n ];\n }\n\n save() {\n this.service\n .update$({\n ...this.model,\n uri: this.getFullURI(),\n endpoint: LWM2MEndpoint.servers\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n delete() {\n this.service\n .deleteServer$(this.model)\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n cancel = () => this.router.navigate(['../servers'], { relativeTo: this.route });\n\n protected getFullURI() {\n const {\n uri,\n security: { mode = Mode.NO_SEC }\n } = this.model;\n return (mode === Mode.NO_SEC ? this.COAP : this.COAPS).concat(uri);\n }\n\n private patchFingerprint(privateKey: string) {\n if (privateKey?.length > 0) {\n this.service\n .validate(privateKey, ValidationType.PRIVATE_KEY)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n fingerprint => {\n this.model.security.x509PrivateKey = privateKey;\n this.model.security.x509PrivateKeyFingerPrint = fingerprint;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private patchCommonName(certificate: string) {\n if (certificate?.length > 0) {\n this.service\n .validate(certificate, ValidationType.X509)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n commonName => {\n this.model.security.x509Certificate = certificate;\n this.model.security.x509CertificateCommonName = commonName;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private removePrivateKeyAndFingerprint() {\n this.form.patchValue({\n security: {\n x509PrivateKey: null,\n x509PrivateKeyFingerPrint: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509PrivateKey;\n delete this.model?.security?.x509PrivateKeyFingerPrint;\n this.form.markAsDirty();\n }\n\n private removeCertificateAndCommonName() {\n this.form.patchValue({\n security: {\n x509Certificate: null,\n x509CertificateCommonName: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509CertificateCommonName;\n delete this.model?.security?.x509Certificate;\n this.form.markAsDirty();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-create-single-server-settings'\n})\nexport class Lwm2mFormCreateSingleServerSettings\n extends Lwm2mFormSingleServerSettings\n implements OnInit\n{\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n }\n\n ngOnInit() {\n // override by design\n }\n\n create() {\n this.service\n .createServer$({\n ...this.model,\n uri: this.getFullURI()\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n}\n","import { Component, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Lwm2mFormCreateSingleServerSettings } from './create-single-server-settings.component';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: './server-settings.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, Lwm2mFormSingleServerSettings, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-server-settings'\n})\nexport class Lwm2mFormServerSettings implements OnInit {\n private componentRef: ComponentRef<\n Lwm2mFormSingleServerSettings | Lwm2mFormCreateSingleServerSettings\n >;\n private destroy$: Subject<void> = new Subject();\n @ViewChild('singleServerForm', { read: ViewContainerRef, static: true })\n formContainer: ViewContainerRef;\n cmp: Lwm2mFormSingleServerSettings;\n id: string;\n\n listelements$ = this.service.servers$.pipe(\n map(servers =>\n servers.map(server => ({\n title: server.uri || gettext('Invalid server configuration'),\n icon: 'server',\n id: server.id\n }))\n )\n );\n\n constructor(\n protected service: Lwm2mConfigurationService<ServerSettings>,\n protected route: ActivatedRoute,\n protected router: Router\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(({ id }) => {\n this.id = id;\n this.service.listServers();\n this.createComponent(id);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n select(id) {\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { id },\n queryParamsHandling: 'merge'\n });\n }\n\n createComponent(id) {\n this.formContainer.clear();\n this.cmp = null;\n\n if (!id) return;\n\n this.componentRef = this.formContainer.createComponent(\n id !== 'create' ? Lwm2mFormSingleServerSettings : Lwm2mFormCreateSingleServerSettings\n );\n this.cmp = this.componentRef?.instance;\n this.cmp.id = id;\n }\n}\n","<div class=\"split-view--5-7 grid__row--1 fit-h\">\n <div class=\"inner-scroll split-view__list\">\n <div class=\"bg-level-1 flex-grow\">\n <ng-container *ngIf=\"listelements$ | async as list\">\n <ng-container *ngIf=\"list.length > 0 || id === 'create'; else empty\">\n <c8y-list-group class=\"c8y-list__group nav c8y-nav-stacked\">\n <c8y-li\n class=\"c8y-stacked-item p-0 active\"\n *ngIf=\"id === 'create'\"\n >\n <c8y-li-icon icon=\"server\"></c8y-li-icon>\n <span title=\"{{ 'New server' | translate }}\">\n {{ 'New server' | translate }}\n </span>\n </c8y-li>\n <c8y-li\n class=\"c8y-stacked-item p-0\"\n [class.active]=\"el.id === id\"\n *ngFor=\"let el of list\"\n (click)=\"select(el.id)\"\n >\n <c8y-li-icon [icon]=\"el.icon\"></c8y-li-icon>\n <span title=\"{{ el.title }}\">\n {{ el.title }}\n </span>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n <ng-template #empty>\n <div class=\"card-block\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n [title]=\"'No servers found.' | translate\"\n [subtitle]=\"'Click below to add a new server.' | translate\"\n ></c8y-ui-empty-state>\n </div>\n </ng-template>\n </ng-container>\n </div>\n <div class=\"card-footer separator-top\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Add server' | translate }}\"\n [disabled]=\"id === 'create'\"\n (click)=\"select('create')\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add server' | translate }}\n </button>\n </div>\n </div>\n <form class=\"d-contents\">\n <div\n class=\"inner-scroll split-view__detail\"\n [ngClass]=\"{ 'split-view__detail--selected': cmp?.fields?.length > 0 }\"\n >\n <div class=\"card-header separator visible-sm visible-xs fit-w sticky-top\">\n <button\n class=\"btn btn-clean text-primary\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"cmp?.cancel()\"\n >\n <i c8y-icon=\"chevron-left\"></i>\n <span>{{ 'Back' | translate }}</span>\n </button>\n </div>\n <div class=\"card-block flex-grow overflow-visible\">\n <ng-container *ngIf=\"!cmp?.fields?.length\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n title=\"{{ 'No server to display.' | translate }}\"\n subtitle=\"{{ 'Add or select a server.' | translate }}\"\n ></c8y-ui-empty-state>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n >\n <strong>{{ 'Info' | translate }}</strong>\n {{\n 'Configured servers are written as soon as the device does a bootstrap connection.'\n | translate\n }}\n </div>\n </ng-container>\n <ng-container #singleServerForm></ng-container>\n </div>\n <div\n class=\"card-footer separator sticky-bottom bg-level-0\"\n *ngIf=\"cmp?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cmp.cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n\n <ng-container *ngIf=\"id !== 'create'; else createServer\">\n <button\n class=\"btn btn-danger\"\n title=\"{{ 'Delete' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.options?.formState?.disabled || false\"\n (click)=\"cmp.delete()\"\n >\n {{ 'Delete' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </ng-container>\n <ng-template #createServer>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.create()\"\n >\n {{ 'Create' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n </form>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","delay","i2","i3","i4"],"mappings":"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"}
|
|
@@ -366,7 +366,7 @@ class Lwm2mPluginCheckerService {
|
|
|
366
366
|
this.applicationService = applicationService;
|
|
367
367
|
}
|
|
368
368
|
async isLwm2mPluginInstalled() {
|
|
369
|
-
const { data } = await this.applicationService.listByName('
|
|
369
|
+
const { data } = await this.applicationService.listByName('lwm2m-ui-plugin');
|
|
370
370
|
return data.some(({ manifest }) => manifest?.exports[0]?.module === 'Lwm2mModuleWrapper');
|
|
371
371
|
}
|
|
372
372
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Lwm2mPluginCheckerService, deps: [{ token: i1$1.ApplicationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/formly/lwm2m-file-pick-and-replace.type.component.ts","../../protocol-lwm2m/formly/lwm2m-file-pick-and-replace.type.component.html","../../protocol-lwm2m/formly/lwm2m-input-group-addon.type.component.ts","../../protocol-lwm2m/formly/lwm2m-input-group-addon.type.component.html","../../protocol-lwm2m/formly/lwm2m-UI-theme.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/ng1/plugin-checker.service.ts","../../protocol-lwm2m/ng1/index.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Component, ElementRef, ViewChild } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { AlertService, FilesService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-lwm2m-file-pick-replace-type',\n templateUrl: './lwm2m-file-pick-and-replace.type.component.html'\n})\nexport class Lwm2mFilePickAndReplaceType extends FieldType<FieldTypeConfig> {\n @ViewChild('picker', { static: false }) picker: ElementRef<HTMLInputElement>;\n private fileReader = new FileReader();\n\n constructor(\n private service: Lwm2mConfigurationService<unknown>,\n private fileService: FilesService,\n private alertService: AlertService\n ) {\n super();\n }\n\n onFocus() {\n this.picker?.nativeElement.click();\n this.field.focus = true;\n }\n\n onPick(event) {\n this.formControl.setErrors(null);\n\n this.fileService.getFileExtension(event?.target?.files[0]) === 'pem'\n ? this.fileReader.readAsDataURL(event?.target?.files[0])\n : this.field?.formControl.setErrors({ invalidType: true });\n\n if (this.props?.onPick instanceof Function && !this.formControl?.errors) {\n this.fileReader.onload = () =>\n this.onLoad(this.props.onPick, (error: DOMException) =>\n this.alertService.danger(error.message)\n );\n }\n }\n\n remove() {\n if (this.props.remove instanceof Function) {\n this.props.remove();\n }\n }\n\n private onLoad(resolve, reject) {\n if (this.fileReader.readyState !== 2) {\n return;\n }\n\n if (this.fileReader.error) {\n reject(this.fileReader.error);\n }\n\n const result = this.service.cleanUpBase64Data(this.fileReader.result as string);\n if (!result) this.formControl.setErrors({ strReplaceError: true });\n\n resolve(result);\n }\n}\n","<div class=\"input-group\">\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"props.required\"\n [disabled]=\"props.disabled\"\n readonly\n />\n <div class=\"input-group-btn a-i-end\">\n <button\n class=\"btn btn-primary btn-block\"\n title=\"{{ 'Replace' | translate }}\"\n type=\"button\"\n (click)=\"onFocus()\"\n [disabled]=\"props.disabled\"\n >\n <i c8yIcon=\"replace\"></i>\n <input\n class=\"hidden\"\n id=\"file\"\n type=\"file\"\n accept=\".pem\"\n #picker\n (change)=\"onPick($event)\"\n />\n </button>\n <button\n class=\"btn btn-danger btn-block\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"remove()\"\n [disabled]=\"props.disabled\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { gettext } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-lwm2m-input-group-addon',\n templateUrl: './lwm2m-input-group-addon.type.component.html'\n})\nexport class Lwm2mInputGroupAddonType extends FieldType<FieldTypeConfig> implements OnInit {\n ngOnInit() {\n this.props.addonLabel = this.props?.addonLabel || gettext('undefined');\n }\n}\n","<div class=\"input-group\">\n <span class=\"input-group-addon\">{{ props?.addonLabel }}</span>\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"props.required\"\n [disabled]=\"props.disabled\"\n />\n</div>\n","import { NgModule } from '@angular/core';\nimport { FORMLY_CONFIG, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyPresetModule } from '@ngx-formly/core/preset';\nimport { Mode } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFilePickAndReplaceType } from './lwm2m-file-pick-and-replace.type.component';\nimport { Lwm2mInputGroupAddonType } from './lwm2m-input-group-addon.type.component';\nimport {\n gettext,\n CommonModule as C8yCommonModule,\n FormsModule as C8yFormsModule,\n DynamicFormsModule,\n LegendFieldWrapper\n} from '@c8y/ngx-components';\n\n@NgModule({\n imports: [C8yCommonModule, C8yFormsModule, DynamicFormsModule, FormlyPresetModule],\n declarations: [Lwm2mFilePickAndReplaceType, Lwm2mInputGroupAddonType],\n providers: [\n {\n provide: FORMLY_CONFIG,\n multi: true,\n useValue: {\n wrappers: [\n {\n name: 'legend',\n component: LegendFieldWrapper\n }\n ],\n presets: [\n {\n name: 'securityMode',\n config: {\n key: 'mode',\n type: 'select',\n defaultValue: Mode.NO_SEC,\n props: {\n label: gettext('Mode')\n }\n }\n },\n {\n name: 'pskId',\n config: {\n key: 'pskId',\n type: 'string',\n props: {\n label: gettext('PSK ID'),\n required: true\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) => field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.PSK;\n }\n }\n }\n },\n {\n name: 'pskKey',\n config: {\n key: 'pskKey',\n type: 'string',\n props: {\n label: gettext('Pre-shared key'),\n placeholder: '0123456789abcdef',\n pattern: '^([a-fA-F0-9]{2})+$',\n required: true\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) => field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.PSK;\n }\n }\n }\n }\n ],\n types: [\n {\n name: 'switch',\n extends: 'checkbox',\n defaultOptions: {\n props: {\n switchMode: true,\n indeterminate: false\n }\n }\n },\n {\n name: 'file-pick-replace',\n component: Lwm2mFilePickAndReplaceType,\n wrappers: ['c8y-form-field']\n },\n {\n name: 'input-addon',\n component: Lwm2mInputGroupAddonType,\n wrappers: ['c8y-form-field']\n }\n ],\n validationMessages: [\n {\n name: 'invalidType',\n message: gettext('The selected file is not supported.')\n },\n {\n name: 'strReplaceError',\n message: gettext('The selected file is not processable.')\n }\n ]\n }\n }\n ]\n})\nexport class Lwm2mUIThemeModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n gettext,\n hookDataGridActionControls,\n hookNavigator,\n hookPatternMessages,\n hookRoute,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n Lwm2mDeviceGridFactory,\n LWM2MPostOpertaionsNavigationFactory\n} from '@c8y/ngx-components/protocol-lwm2m/factories';\nimport {\n Lwm2mBootstrapParametersApiGuard,\n Lwm2mConfigurationApiGuard,\n Lwm2mDeviceTypeGuard,\n Lwm2mMicroserviceGuard\n} from '@c8y/ngx-components/protocol-lwm2m/guards';\nimport {\n LWM2MEndpoint,\n lwm2mRegisterDeviceStringsIncomingFromMS\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mUIThemeModule } from './formly';\n@NgModule({\n imports: [Lwm2mUIThemeModule]\n})\nexport class Lwm2mModule {\n static forRoot(): ModuleWithProviders<Lwm2mModule> {\n return {\n ngModule: Lwm2mModule,\n providers: [\n hookNavigator(LWM2MPostOpertaionsNavigationFactory),\n hookDataGridActionControls(Lwm2mDeviceGridFactory),\n hookRoute({\n path: 'post-operations',\n loadComponent: () =>\n import(\n '@c8y/ngx-components/protocol-lwm2m/components/post-registration-operations'\n ).then(m => m.LWM2MPostOperationsComponent),\n icon: 'terminal',\n priority: 2000,\n canActivate: [Lwm2mMicroserviceGuard]\n }),\n hookRoute({\n label: gettext('LWM2M Configuration'),\n icon: 'c8y-device-protocols',\n path: 'lwm2m-configuration',\n context: ViewContext.Device,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mConfigurationComponent\n ),\n canActivate: [Lwm2mMicroserviceGuard, Lwm2mDeviceTypeGuard, Lwm2mConfigurationApiGuard],\n children: [\n { path: '', redirectTo: 'basic', pathMatch: 'full' },\n {\n path: LWM2MEndpoint.deviceSettings,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormDeviceSettings\n )\n },\n {\n path: LWM2MEndpoint.connectivity,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormConnectivitySettings\n )\n },\n {\n path: LWM2MEndpoint.firmware,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormFirmwareSettings\n )\n },\n {\n path: LWM2MEndpoint.bootstrap,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormBootstrapSettings\n )\n },\n {\n path: LWM2MEndpoint.servers,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormServerSettings\n )\n }\n ]\n }),\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/bootstrap-parameters').then(\n m => m.Lwm2mBootstrapParametersComponent\n ),\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [\n Lwm2mMicroserviceGuard,\n Lwm2mDeviceTypeGuard,\n Lwm2mBootstrapParametersApiGuard\n ]\n }),\n hookPatternMessages(lwm2mRegisterDeviceStringsIncomingFromMS)\n ]\n };\n }\n}\n\n@NgModule({\n imports: [Lwm2mModule.forRoot()]\n})\nexport class LWM2Module {}\n","import { Injectable } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { ApplicationService } from '@c8y/client';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mPluginCheckerService {\n constructor(private applicationService: ApplicationService) {}\n\n async isLwm2mPluginInstalled() {\n const { data } = await this.applicationService.listByName('LWM2M plugin');\n return data.some(({ manifest }) => manifest?.exports[0]?.module === 'Lwm2mModuleWrapper');\n }\n}\n\nexport const lwm2mPluginCheckerServiceDowngradedInjectable =\n downgradeInjectable(Lwm2mPluginCheckerService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules';\nimport { lwm2mPluginCheckerServiceDowngradedInjectable } from './plugin-checker.service';\n\nconst NAME_LWM2M = 'c8y.upgrade.lwm2m';\n\nangular\n .module(NAME_LWM2M, [])\n .factory('c8yLwm2mPluginCheckerService', lwm2mPluginCheckerServiceDowngradedInjectable);\n\nexport const ng1ModulesLWM2M = [NAME_LWM2M];\n\nregisterNgModule(ng1ModulesLWM2M);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","C8yCommonModule","C8yFormsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/formly/lwm2m-file-pick-and-replace.type.component.ts","../../protocol-lwm2m/formly/lwm2m-file-pick-and-replace.type.component.html","../../protocol-lwm2m/formly/lwm2m-input-group-addon.type.component.ts","../../protocol-lwm2m/formly/lwm2m-input-group-addon.type.component.html","../../protocol-lwm2m/formly/lwm2m-UI-theme.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/ng1/plugin-checker.service.ts","../../protocol-lwm2m/ng1/index.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Component, ElementRef, ViewChild } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { AlertService, FilesService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-lwm2m-file-pick-replace-type',\n templateUrl: './lwm2m-file-pick-and-replace.type.component.html'\n})\nexport class Lwm2mFilePickAndReplaceType extends FieldType<FieldTypeConfig> {\n @ViewChild('picker', { static: false }) picker: ElementRef<HTMLInputElement>;\n private fileReader = new FileReader();\n\n constructor(\n private service: Lwm2mConfigurationService<unknown>,\n private fileService: FilesService,\n private alertService: AlertService\n ) {\n super();\n }\n\n onFocus() {\n this.picker?.nativeElement.click();\n this.field.focus = true;\n }\n\n onPick(event) {\n this.formControl.setErrors(null);\n\n this.fileService.getFileExtension(event?.target?.files[0]) === 'pem'\n ? this.fileReader.readAsDataURL(event?.target?.files[0])\n : this.field?.formControl.setErrors({ invalidType: true });\n\n if (this.props?.onPick instanceof Function && !this.formControl?.errors) {\n this.fileReader.onload = () =>\n this.onLoad(this.props.onPick, (error: DOMException) =>\n this.alertService.danger(error.message)\n );\n }\n }\n\n remove() {\n if (this.props.remove instanceof Function) {\n this.props.remove();\n }\n }\n\n private onLoad(resolve, reject) {\n if (this.fileReader.readyState !== 2) {\n return;\n }\n\n if (this.fileReader.error) {\n reject(this.fileReader.error);\n }\n\n const result = this.service.cleanUpBase64Data(this.fileReader.result as string);\n if (!result) this.formControl.setErrors({ strReplaceError: true });\n\n resolve(result);\n }\n}\n","<div class=\"input-group\">\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"props.required\"\n [disabled]=\"props.disabled\"\n readonly\n />\n <div class=\"input-group-btn a-i-end\">\n <button\n class=\"btn btn-primary btn-block\"\n title=\"{{ 'Replace' | translate }}\"\n type=\"button\"\n (click)=\"onFocus()\"\n [disabled]=\"props.disabled\"\n >\n <i c8yIcon=\"replace\"></i>\n <input\n class=\"hidden\"\n id=\"file\"\n type=\"file\"\n accept=\".pem\"\n #picker\n (change)=\"onPick($event)\"\n />\n </button>\n <button\n class=\"btn btn-danger btn-block\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"remove()\"\n [disabled]=\"props.disabled\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { gettext } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-lwm2m-input-group-addon',\n templateUrl: './lwm2m-input-group-addon.type.component.html'\n})\nexport class Lwm2mInputGroupAddonType extends FieldType<FieldTypeConfig> implements OnInit {\n ngOnInit() {\n this.props.addonLabel = this.props?.addonLabel || gettext('undefined');\n }\n}\n","<div class=\"input-group\">\n <span class=\"input-group-addon\">{{ props?.addonLabel }}</span>\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"props.required\"\n [disabled]=\"props.disabled\"\n />\n</div>\n","import { NgModule } from '@angular/core';\nimport { FORMLY_CONFIG, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyPresetModule } from '@ngx-formly/core/preset';\nimport { Mode } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFilePickAndReplaceType } from './lwm2m-file-pick-and-replace.type.component';\nimport { Lwm2mInputGroupAddonType } from './lwm2m-input-group-addon.type.component';\nimport {\n gettext,\n CommonModule as C8yCommonModule,\n FormsModule as C8yFormsModule,\n DynamicFormsModule,\n LegendFieldWrapper\n} from '@c8y/ngx-components';\n\n@NgModule({\n imports: [C8yCommonModule, C8yFormsModule, DynamicFormsModule, FormlyPresetModule],\n declarations: [Lwm2mFilePickAndReplaceType, Lwm2mInputGroupAddonType],\n providers: [\n {\n provide: FORMLY_CONFIG,\n multi: true,\n useValue: {\n wrappers: [\n {\n name: 'legend',\n component: LegendFieldWrapper\n }\n ],\n presets: [\n {\n name: 'securityMode',\n config: {\n key: 'mode',\n type: 'select',\n defaultValue: Mode.NO_SEC,\n props: {\n label: gettext('Mode')\n }\n }\n },\n {\n name: 'pskId',\n config: {\n key: 'pskId',\n type: 'string',\n props: {\n label: gettext('PSK ID'),\n required: true\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) => field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.PSK;\n }\n }\n }\n },\n {\n name: 'pskKey',\n config: {\n key: 'pskKey',\n type: 'string',\n props: {\n label: gettext('Pre-shared key'),\n placeholder: '0123456789abcdef',\n pattern: '^([a-fA-F0-9]{2})+$',\n required: true\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) => field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.PSK;\n }\n }\n }\n }\n ],\n types: [\n {\n name: 'switch',\n extends: 'checkbox',\n defaultOptions: {\n props: {\n switchMode: true,\n indeterminate: false\n }\n }\n },\n {\n name: 'file-pick-replace',\n component: Lwm2mFilePickAndReplaceType,\n wrappers: ['c8y-form-field']\n },\n {\n name: 'input-addon',\n component: Lwm2mInputGroupAddonType,\n wrappers: ['c8y-form-field']\n }\n ],\n validationMessages: [\n {\n name: 'invalidType',\n message: gettext('The selected file is not supported.')\n },\n {\n name: 'strReplaceError',\n message: gettext('The selected file is not processable.')\n }\n ]\n }\n }\n ]\n})\nexport class Lwm2mUIThemeModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n gettext,\n hookDataGridActionControls,\n hookNavigator,\n hookPatternMessages,\n hookRoute,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n Lwm2mDeviceGridFactory,\n LWM2MPostOpertaionsNavigationFactory\n} from '@c8y/ngx-components/protocol-lwm2m/factories';\nimport {\n Lwm2mBootstrapParametersApiGuard,\n Lwm2mConfigurationApiGuard,\n Lwm2mDeviceTypeGuard,\n Lwm2mMicroserviceGuard\n} from '@c8y/ngx-components/protocol-lwm2m/guards';\nimport {\n LWM2MEndpoint,\n lwm2mRegisterDeviceStringsIncomingFromMS\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mUIThemeModule } from './formly';\n@NgModule({\n imports: [Lwm2mUIThemeModule]\n})\nexport class Lwm2mModule {\n static forRoot(): ModuleWithProviders<Lwm2mModule> {\n return {\n ngModule: Lwm2mModule,\n providers: [\n hookNavigator(LWM2MPostOpertaionsNavigationFactory),\n hookDataGridActionControls(Lwm2mDeviceGridFactory),\n hookRoute({\n path: 'post-operations',\n loadComponent: () =>\n import(\n '@c8y/ngx-components/protocol-lwm2m/components/post-registration-operations'\n ).then(m => m.LWM2MPostOperationsComponent),\n icon: 'terminal',\n priority: 2000,\n canActivate: [Lwm2mMicroserviceGuard]\n }),\n hookRoute({\n label: gettext('LWM2M Configuration'),\n icon: 'c8y-device-protocols',\n path: 'lwm2m-configuration',\n context: ViewContext.Device,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mConfigurationComponent\n ),\n canActivate: [Lwm2mMicroserviceGuard, Lwm2mDeviceTypeGuard, Lwm2mConfigurationApiGuard],\n children: [\n { path: '', redirectTo: 'basic', pathMatch: 'full' },\n {\n path: LWM2MEndpoint.deviceSettings,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormDeviceSettings\n )\n },\n {\n path: LWM2MEndpoint.connectivity,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormConnectivitySettings\n )\n },\n {\n path: LWM2MEndpoint.firmware,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormFirmwareSettings\n )\n },\n {\n path: LWM2MEndpoint.bootstrap,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormBootstrapSettings\n )\n },\n {\n path: LWM2MEndpoint.servers,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(\n m => m.Lwm2mFormServerSettings\n )\n }\n ]\n }),\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n loadComponent: () =>\n import('@c8y/ngx-components/protocol-lwm2m/components/bootstrap-parameters').then(\n m => m.Lwm2mBootstrapParametersComponent\n ),\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [\n Lwm2mMicroserviceGuard,\n Lwm2mDeviceTypeGuard,\n Lwm2mBootstrapParametersApiGuard\n ]\n }),\n hookPatternMessages(lwm2mRegisterDeviceStringsIncomingFromMS)\n ]\n };\n }\n}\n\n@NgModule({\n imports: [Lwm2mModule.forRoot()]\n})\nexport class LWM2Module {}\n","import { Injectable } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { ApplicationService } from '@c8y/client';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mPluginCheckerService {\n constructor(private applicationService: ApplicationService) {}\n\n async isLwm2mPluginInstalled() {\n const { data } = await this.applicationService.listByName('lwm2m-ui-plugin');\n return data.some(({ manifest }) => manifest?.exports[0]?.module === 'Lwm2mModuleWrapper');\n }\n}\n\nexport const lwm2mPluginCheckerServiceDowngradedInjectable =\n downgradeInjectable(Lwm2mPluginCheckerService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules';\nimport { lwm2mPluginCheckerServiceDowngradedInjectable } from './plugin-checker.service';\n\nconst NAME_LWM2M = 'c8y.upgrade.lwm2m';\n\nangular\n .module(NAME_LWM2M, [])\n .factory('c8yLwm2mPluginCheckerService', lwm2mPluginCheckerServiceDowngradedInjectable);\n\nexport const ng1ModulesLWM2M = [NAME_LWM2M];\n\nregisterNgModule(ng1ModulesLWM2M);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","C8yCommonModule","C8yFormsModule"],"mappings":"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"}
|