Helm Chart

Documentation of the helm chart values.yaml file, which automatically configures the helm chart depending on values in the .yaml file.

The helm chart is configured by the values.yaml supplied during the setup. In the values.yaml you will find commentary for some of the variables that can be adjusted. You will also find context on this page. If you need more context on the specific microservices, please refer to the respective documentations of the microservices.

Some variables pertain to microservices, which are not supported at the moment.

Please be aware of the commentary line :

DO NOT CHANGE ANYTHING BELOW HERE (except when you know what you are doing)

Do not change variables below this point unless you are absolutely sure what you are doing.

Variables

Slashes in the variable name in the table represents an indentation in the values.yaml file. _000_commonConfig or _001_customMicroservices as part of the path are excluded but you can conclude where to find the values based on the section headlines

Example:

---
_000_commonConfig:
    datasources:  
        barcodereader:
            enabled: true

is written here as /datasources/barcodereader/enabled

_000_commonConfig

General

Variable nameDescriptionTypePossible valuesExample Values
/serialnumberusually the hostname, so name of the edge PC; used in sensorconnect, kafkabridge, barcodereaderstringanydccaachenedge1

Barcodereader

Variable nameDescriptionTypePossible valuesExample Values
/datasources/barcodereader/enabledEnables or disables the microservice barcodereaderbooltrue, falsetrue
/datasources/barcodereader/USBDeviceNamename of the USB barcode readerstringanyDatalogic ADC, Inc. Handheld Barcode Scanner
/datasources/barcodereader/USBDevicePathLinux device path; if empty it will use the USBDeviceNamestringany valid device path/dev/ttyUSB0
/datasources/barcodereader/customerIDcustomerID used in the topic structure of messagesstringanyraw
/datasources/barcodereader/locationLocation used in the topic structure of messagesstringanydccaachen
/datasources/barcodereader/machineIDthe asset/machine ID used in the topic structure of messagesstringanybarcodereader

Sensorconnect

Variable nameDescriptionTypePossible valuesExample Values
/datasources/sensorconnect/enabledEnables or disables the microservice sensorconnectbooltrue, falsetrue
/datasources/sensorconnect/iprangeIP range in CIDR notationstringvalid IP ranges192.168.10.1/24
/datasources/sensorconnect/enableKafkaEnables or disables Kafka message processingbooltrue, falsetrue
/datasources/sensorconnect/enableMQTTEnables or disables MQTT message processingbooltrue, falsetrue

Cameraconnect

Variable nameDescriptionTypePossible valuesExample Values
/datasources/cameraconnect/enabledEnables or disables the microservice cameraconnectbooltrue, falsetrue
/datasources/cameraconnect/triggerHow the camera is triggered, either via MQTT messages or via a continuous time triggerstringMQTT,ContinuousMQTT
/datasources/cameraconnect/acquisitionDelayDelay between trigger and picture acquisitionstringany floating number0.0
/datasources/cameraconnect/cycleTimeCamera cycle frequency, only relevant when trigger is continuousstringany integer4
/datasources/cameraconnect/imageWidthWidth of images taken in pixelsstringany integer800
/datasources/cameraconnect/imageheightHeight of images taken in pixelsstringany integer800
/datasources/cameraconnect/imageChannelsNumber of color channels of the camerastringany integer3
/datasources/cameraconnect/macAddressMAC address of the camerastringany valid mac address02-2625A-09849
/datasources/cameraconnect/exposureTimeExposure time of the camera in msstringany integer1000
/datasources/cameraconnect/exposure_autoEnables or disables automatic exposure time adjustment by the camerastringOnce,Off, ContinuousOnce
/datasources/cameraconnect/pixelFormatPixel format used in image acquisitionstringMono8, RGB8Packed, BGR8PackedMono8

IoTSensorsMQTT

Variable nameDescriptionTypePossible valuesExample Values
/datasources/iotsensorsmqtt/enabledEnables or disables the microservice IoTSensorsMQTT, which simulates databooltrue, falsetrue

PackMLSimulator

Variable nameDescriptionTypePossible valuesExample Values
/datasources/packmlsimulator/enabledEnables or disables the microservice PackMLSimulator, which simulates a machinebooltrue, falsetrue

Data-processing

Variable nameDescriptionTypePossible valuesExample Values
/dataprocessing/nodered/enabledEnables or disables the microservice nodeREDbooltrue, falsetrue
/dataprocessing/nodered/defaultFlowsEnables or disables whether to load default flows into nodeREDbooltrue, falsetrue

Infrastructure

Variable nameDescriptionTypePossible valuesExample Values
/infrastructure/mqtt/enabledEnables or disables the hivemq MQTT infrastructure containerbooltrue, falsetrue
/infrastructure/mqtt/adminUser/enabledEnables or disables the hivemq admin userbooltrue, falsetrue
/infrastructure/mqtt/adminUser/namename of the admin userstringany UTF-8 string“admin-user”
/infrastructure/mqtt/adminUser/encryptedPasswordhivemq custom encrypted password for the admin user authenticationstringany UTF-8 stringsee below in “Example”
/infrastructure/mqtt/tls/useTLSEnables or disables TLS encryptionbooltrue, falsetrue
/infrastructure/mqtt/tls/insecureSkipVerifyverify that cert content matches server. IP matches what is in cert etc.booltrue, falsetrue
/infrastructure/mqtt/tls/keystoreBase64Base64 encrypted version of the hivemq keystorestringa validly encrypted keystoresee below in “Example”
/infrastructure/mqtt/tls/keystorePasswordPassword of the hivemq keystorestringany UTF-8 stringchangeme
/infrastructure/mqtt/tls/privateKeyPasswordPassword for the private key in the keystorestringany UTF-8 stringchangeme
/infrastructure/mqtt/tls/truststoreBase64Base64 encrypted version of the hivemq truststorestringa validly encrypted truststoresee below in “Example”
/infrastructure/mqtt/tls/truststorePasswordPassword for the hivemq truststorestringany UTF-8 stringchangeme
/infrastructure/mqtt/tls/caCertCertificate Authority certificatestringa valid CA certificatesee below in “Example”
/infrastructure/mqtt/tls/factoryinput/certCertificate for the MQTT Authorization for factoryinputstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/factoryinput/keyPrivate key of the certificate for factoryinputstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/mqtt_kafka_bridge/certCertificate for the MQTT Authorization for mqtt-kafka-bridgestringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/mqtt_kafka_bridge/keyPrivate key of the certificate for mqtt-kafka-bridgestringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/mqtt_bridge/local_certCertificate for the MQTT Authorization for the mqtt-bridge local brokerstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/mqtt_bridge/local_keyPrivate key of the certificate for mqtt-bridge local brokerstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/mqtt_bridge/remote_certCertificate for the MQTT Authorization for mqtt-bridge remote brokerstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/mqtt_bridge/remote_keyPrivate key of the certificate for mqtt-bridge remote brokerstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/sensorconnect/certCertificate for the MQTT Authorization for sensorconnectstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/sensorconnect/keyPrivate key of the certificate for sensorconnectstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/iotsensorsmqtt/certCertificate for the MQTT Authorization for iotsensorsmqttstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/iotsensorsmqtt/keyPrivate key of the certificate for iotsensorsmqttstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/packmlsimulator/certCertificate for the MQTT Authorization for packmlsimulatorstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/packmlsimulator/keyPrivate key of the certificate for packmlsimulatorstringcorresponding passwordsee below in “Example”
/infrastructure/mqtt/tls/node_red/certCertificate for the MQTT Authorization for Node-REDstringa valid authorization certificatesee below in “Example”
/infrastructure/mqtt/tls/node_red/keyPrivate key of the certificate for Node-REDstringcorresponding passwordsee below in “Example”
/infrastructure/kafka/enabledEnables or disables the Kafka broker containerbooltrue, falsetrue
/infrastructure/kafka/useSSLIf enabled, Kafka uses SSL protocol for comm securitybooltrue, falsetrue
/infrastructure/kafka/defaultTopicsStandard topics the Kafka broker subscribes tostringvalid Kafka topics, lined up without space, seperated with semicolonia.test.test.test.processValue;ia.test.test.test.count
/infrastructure/kafka/tls/CACertCertificate Authority certificatestringa valid CA certificatesee below in “Example”
/infrastructure/kafka/tls/kafka/certCertificate for the MQTT Authorization for the Kafka brokerstringa valid authorization certificatesee below in “Example”
/infrastructure/kafka/tls/kafka/privkeyPrivate key of the certificate for the Kafka brokerstringcorresponding passwordsee below in “Example”
/infrastructure/tls/barcodereader/sslKeyPasswordPassword encryption of the SSL key for barcodereader. Is an empty string if no password is usedstringanychangeme
/infrastructure/tls/barcodereader/sllKeyPemPrivate SSL key for barcode readerstringa valid SSL private key corresponding to the SSL certificate of barcodereadersee below in “Example”
/infrastructure/tls/barcodereader/sslCertificatePemSSL certificate for barcodereaderstringa valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkabridge/sllKeyPasswordLocalPassword encryption of the SSL key for the local Kafka broker. Is an empty string if no password is usedstringanychangeme
/infrastructure/tls/kafkabridge/sslKeyPemLocalPrivate SSL key for the local Kafka brokerstringa valid SSL key corresponding to the SSL certificate of the local Kafka brokersee below in “Example”
/infrastructure/tls/kafkabridge/sslCertificatePemLocalSSL certificate for the local Kafka brokerstringa valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkabridge/sslCACertRemoteCA certificate of the remote Kafka clusterstringa valid CA Certificatesee below in “Example”
/infrastructure/tls/kafkabridge/sslCertificatePemRemoteSSL certificate for the remote Kafka clusterstringa valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkabridge/sslKeyPasswordRemoteSSL key password encryption of the SSL private key of the remote Kafka cluster. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/kafkabridge/sslKeyPemRemoteThe SSL key corresponding to the SSL certificate of the remote Kafka clusterstringa valid private SSL keysee below in “Example”
/infrastructure/tls/kafkadebug/sslKeyPasswordPassword encryption of the private SSL key of the Kafka debugger. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/kafkadebug/sslKeyPemPrivate SSL key corresponding to the SSL certificate of the Kafka debuggerstringa valid private SSL keysee below in “Example”
/infrastructure/tls/kafkadebug/sslCertificatePemPrivate SSL certificate for the Kafka Debuggerstringa valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkainit/sslKeyPasswordPassword encryption of the private SSL Key of kafkainit. Is an empty string when no password is set.stringanychangeme
/infrastructure/tls/kafkainit/sslKeyPemPrivate SSL Key corresponding to the SSL certificate of kafkainitstringany valid private SSL keysee below in “Example”
/infrastructure/tls/kafkainit/sslCertificatePemSSL certificate for kafkainitstringany valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkastatedetector/sslKeyPasswordPassword encryption of the SSL key of kafkastatedetector. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/kafkastatedetector/sslKeyPemPrivate SSL key corresponding to the SSL certificate of kafkastatedetectorstringany valid private SSL keysee below in “Example”
/infrastructure/tls/kafkastatedetector/sslCertificatePemSSL Certificate of kafkastatedetectorstringany valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkatoblob/sslKeyPasswordPassword encryption of the private SSL key of kafkatoblob. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/kafkatoblob/sslKeyPemPrivate SSL key corresponding to the SSL certificate of kafkatoblobstringany valid private SSL keysee below in “Example”
/infrastructure/tls/kafkatoblob/sslCertificatePemSSL certificate of kafkatoblobstringa valid SSL certificatesee below in “Example”
/infrastructure/tls/kafkatopostgresql/sslKeyPasswordPassword encryption of the private SSL key for kafkatopostgresql. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/kafkatopostgresql/sslKeyPemPrivate SSL key corresponding to the SSL certificate of kafkatopostgresqlstringany valid private SSL keysee below in “Example”
/infrastructure/tls/kafkatopostgresql/sslCertificatePemSSL certificate of kafkatopostgresqlstringany valid SSL certificatesee below in “Example”
/infrastructure/tls/kowl/sslKeyPasswordPassword encryption for the private SSL key of kowlstringanychangeme
/infrastructure/tls/kowl/sslKeyPemPrivate SSL key corresponding to the SSL certificate for kowlstringany private SSl keysee below in “Example”
/infrastructure/tls/kowl/sslCertificatePemSSL certificate of kowlstringany valid SSL certificatesee below in “Example”
/infrastructure/tls/mqttkafkabridge/sslKeyPasswordPassword encryption of the private SSL key of mqttkafkabridge. Is an empty string when no password is setstringanychangeme
/infrastructure/tls/mqttkafkabridge/sslKeyPemPrivate SSL key corresponding to the SSL certificate used by mqttkafkabridgestringany valid private SSL Keysee below in “Example”
/infrastructure/tls/mqttkafkabridge/sslCertificatePemSSL certificate of mqttkafkabridgestringany valid SSL certificatesee below in “Example”
/infrastructure/tls/nodered/sslKeyPasswordPassword encryption of the private SSL key of nodered. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/nodered/sslKeyPemPrivate SSL key corresponding to the SSL certificate of noderedstringany valid private SSL keysee below in “Example”
/infrastructure/tls/nodered/sslCertificateSSL certificate of noderedstringany valid SSL certificatesee below in “Example”
/infrastructure/tls/sensorconnect/sslKeyPasswordPassword encryption of the private SSL key of sensorconnect. Is an empty string if no password is setstringanychangeme
/infrastructure/tls/sensorconnect/sslKeyPemPrivate SSL key of the corresponding SSL certificatestringany valid private SSL keysee below in “Example”
/infrastructure/tls/sensorconnect/sslCertificateSSL certificate of noderedstringany valid SSL certificatesee below in “Example”

Data storage

Variable nameDescriptionTypePossible valuesExample Values
/datastorage/enabledEnables or disables the datastorage infrastructure, which contains factoryinsight, mqtt-to-postgresql, Grafana and vernemqbooltrue, falsetrue
/datastorage/db_passwordPassword for the datastorage databasestringany“changeme”

Data input

Variable nameDescriptionTypePossible valuesExample Values
/dataInput/enabledEnables or disables the infrastructure to allow for data entry via Grafana. It contains factoryinput and grafanaproxybooltrue, falsetrue

Blob Storage

Variable nameDescriptionTypePossible valuesExample Values
/blobstorage/enabledEnables or disables the blobstorage infrastructure, which contains mqtt-to-blob nad kafka-to-blobbooltrue, falsetrue

MQTTBridge

Variable nameDescriptionTypePossible valuesExample Values
/mqttBridge/enabledEnables or disables mqttBridge, which allows connecting multiple MQTT brokersbooltrue, falsetrue
/mqttBridge/remoteBrokerURLURL of the remote Broker which is not part of the local network of the edge PCstringany valid URLssl://united-manufacturing-hub-vernemq-local-service.united-manufacturing-hub:8883
/mqttBridge/localSubTopicthe subtopic of the local MQTT brokerstringany topic structureia/factoryinsight
/mqttBridge/oneWayIf enabled, the bridge only transmits messages one way from local to remotebooltrue, falsetrue
/mqttBridge/localBrokerSSLEnabledIndicates whether or not the local broker uses SSL cryptographybooltrue, falsetrue
/mqttBridge/localPubTopicLocal MQTT publish topicstringany valid topicia
/mqttBridge/remoteBrokerSSLEnabledIndicates whether or not the remote broker uses SSL cryptographybooltrue, falsetrue
/mqttBridge/remoteSubTopicTopic the remote broker subscribes tostringany valid MQTT topicia
/mqttBridge/remotePubTopicTopic the remote broker publishesstringany valid MQTT topicia/factoryinsight

KafkaBridge

Variable nameDescriptionTypePossible valuesExample Values
/kafkaBridge/enabledEnables or disables the kafkabridge microservicebooltrue, falsetrue
/kafkaBridge/remotebootstrapServerURL of the remote Kafka serverstringany valid URLhttp://united-manufacturing-hub:9092
/kafkaBridge/topicCreationLocalListList of topics to create on the local server. Topics are listed without space, separated with a semicolonstringone or multiple valid topicsia.test.test.test.processValue;ia.test.test.test.count
/kafkaBridge/TopicCreationRemoteListList of topics to create on the remote server. Topics are listed without space, separated with a semicolonstringone or multiple valid topicsia.test.test.test.processValue;ia.test.test.test.count
/kafkaBridge/topicmapa JSON topic map of different topics to forwardJSONany topic mapsee below in “Example”

Kafkastatedetector

Variable nameDescriptionTypePossible valuesExample Values
/kafkaStateDetector/enabledDisables or enables the microservice kafkaStateDetectorbooltrue, falsetrue

_001_customMicroservices

Here you can add your custom microservices to the helm chart, as long as you access to a docker image of it and know what variables you need to set. You can list multiple microservices here.

Variable nameDescriptionTypePossible valuesExample Values
/-/nameName of the custom microservicestringUTF-8 stringchangeme
/-/imagedockerhub link to the image with tagstringa valid dockerhub linkmicroservicemaker/microservice:latest
/-/enabledEnables or disables the named microservicestringUTF-8 stringchangeme
/-/imagePullPolicyImage Pull policy for the image, consider IfNotPresent, or Always if the tag is set to lateststringIfNotPresent, Always, NeverAlways
/-/env(optional) Name-Value pair of environment variables to set for the microservicelistlist of Name-Value pairssee Example below
/-/port(optional) port you wish to exposeintvalid port number80
/-/externalPort(optional) external port you wish the port above to be accessible throughstringUTF-8 string8080
/-/statefulEnabledEnables or disables the mounting of a volume under /data, which can be used to store data, recommended to turn it offbooltrue, falsetrue
/-/startupProbe(optional) startup probe interval in secondsintpositive integer200
/-/livenessProbe(optional) liveness probe interval in secondsintpositive integer500
/-/probePortProbing port for liveness and startup probesintvalid port number9091

Example

---
# Please adjust the following lines
# _000_commonConfig contains the most common configuration options. To go into the details you can look into the configurations option after _000_commonConfig
_000_commonConfig:
  serialNumber: "default"  # usually the hostname
  # This allows to specify data sources, which is mostly used for instances running on the edge
  datasources:

    # barcodereader reads out connected USB barcodereaders emulating a keyboard
    barcodereader:
      enabled: false
      USBDeviceName: "Datalogic ADC, Inc. Handheld Barcode Scanner"
      USBDevicePath: "" # Linux device path, if empty, USBDeviceName is used
      customerID: "raw"
      location: "barcodereader"
      machineID: "barcodereader"

    # sensorconnect searches for ifm IO-Link gateways and reads out the connected sensors
    sensorconnect:
      enabled: false
      iprange: "192.168.10.1/24"  # IP Range in CIDR notation
      enableKafka: true
      enableMQTT: false

    # Warning: unstable
    # cameraconnect searches for GenICam compatible cameras and reads out the pictures
    cameraconnect:
      enabled: false
      trigger: "MQTT"
      acquisitionDelay: "0.0"
      cycleTime: "4"
      cameraInterface: "GenICam"
      imageWidth: "800"
      imageHeight: "800"
      imageChannels: "3"
      macAddress: "02-2625A-09849"
      exposureTime: "1000"
      exposureAuto: "Off"
      pixelFormat: "Mono8"

    # iotsensorsmqtt simulates IoT sensor data and publishes it over MQTT.
    # Learn more : https://github.com/amine-amaach/simulators/tree/main/ioTSensorsMQTT
    iotsensorsmqtt:
      enabled: true

    # packmlmqttsimulator simulates PackML state data and publishes it over MQTT
    # Learn more: https://github.com/Spruik/PackML-MQTT-Simulator
    packmlmqttsimulator:
      enabled: true

  # dataprocessing involves microservices, whose main purpose is to process the data
  dataprocessing:
    nodered:
      enabled: true
      defaultFlows: false

  # Infrastructure
  infrastructure:

    # hivemq
    mqtt:
      enabled: true
      adminUser:
        enabled: false
        name: "admin-user"
        encryptedPassword: M0p0Y1hhR2VGbzRGTkV3aXVkOHFab05uTTE1dHl3R0U=:100:MaQCaaTWf260vQou02+Z5XKPtjxQJbS/cUfB0kxKf9qFzZQ1V4R2YtCH4GDSguE+CLIrhEG8m3XbuvdbWdKBnA==
      tls:
        useTLS: true
        insecureSkipVerify: true
        keystoreBase64: |
                    MIIQQwIBAzCCD/wGCSqGSIb3DQEHAaCCD+0Egg/pMIIP5TCCCekGCSqGSIb3DQEHAaCCCdoEggnWMIIJ0jCCCc4GCyqGSIb3DQEMCgECoIIJezCCCXcwKQYKKoZIhvcNAQwBAzAbBBThGcyvS/619i/hSkDkgnlzRO7uqgIDAMNQBIIJSKr11ZcJIYLJIZyUYaP6f8atEZ8kPHC4766I5kq2vDhEjWVGz4Om3pn/LXPkMk51u91EZ4hzGki3Zsp4IcwSDzf2c9U+EZEeab6mYGRxscQW6JGJp4ghE85osS9Ah6cvJujJC/VQaBCg6SNQVMsJINyPxG8y8QCX0LBIR49fr6Ok902BCSN/oV6NuwOU3ZGAKnJKsyeVw3NKa+Z1ctL7sGHZ51MmtquGjAtrjJ878TciGW91uq20hV4pLb74LUD9dubvJCxIsT0xp+fVsGQKkJT/tSbLao1igL9nhpUMcbponRfpHXh6CprLbNqVCcpF9pRhleDjHNCEmX8UHR6upIwiCXBbWJML9O6hWJA1I+prh5tykb5eFZnyWQ9QcFMRzFVoFu2YS1gdWlWOoBlrqbSarfJSems3+2iwjBCzwvG1WBkG18elvP9iEdx03ydbB6Jd9Zbqa7x1IlzTGA2Ne7dca0ZYpVSpxLiFCfs7CcQC7lpUjbyJcJUZnFkfC64MMDW5fz74DX7X4ZZblLMhJHzjPgeCxQCXFOdZb2yB5xV4A7HNXwq+ITILOxEuM7WnPRhPQlvK4DBgnUTHje7PKfQV6WTxq/xVi8YNhrGSoYso7DQv6GlG7Y8xz7K1uhNph8vGnPbJUaThr7GRKmFBbkU0lCqvtOUks693yWN9L7UWmdexDyqimyAHHE4HSV81wMw6177YyqGoGnYVUvnppmvurI4VMoI9h5pUU81EQcjyfK1CmfX0KgYPJNumc/VuTFqrAFEJmYQCjRrxOMNlwRN43LOfgtb5yXtkSioFo1RE4c94jmgrbSxey+c3X7z66VaUJGjNzm84JlYpa5C0+8lgqyH8Ln2klQcf9qlqy0oE2MfXD1AXW6ic31ZZaJFlEomNszN372BavYGz6Bc6h860+P2AZenpGoFpHpj/ktn3t6heJiFlFd7T0D5CZFBFAKTayIADm8RMctV8kp3ncwpHCTAeUfrNG+0B4d5FXhodvtU4poYCAbKkie1OaOGWG6qTflHOUXqSMzhPYYarzihzC7y9kBki+vnNWM/jFWDs5X0qRMGJXxqVsKxHuSmBQi+1pRkPr4ntjR77nyy7ynAN/EEoY29YJUvpaSG/1aJFinvcVGogKXIruFAIAB14n6ScACgwf+CtpPDil4FcII5iEahjD9NgiOwGupZcXPeJEr760ZPd5BnqrPHuau8/Nc6kykPEng6em+D9uZAmyZOqWEArvQKTDFcuEaNO0xTVY+VgqhNsGxanrugU5giJjDEP5Q29ve5j4+v1VvWDS31oA6H1pazn72clMYV9YwjKLItx7RsWu81HNv/tknU2UgP1SeJuPxUZFNs3o+wNJY+OV8lA/w7xlnnGLOb+rafzZKt2Hmm/rF6H3prJPOeykhO5W3pHBO9WEA6HwwtKKXEQJhw8ugi4NZM/SIMGgFdcPO/tM+AwMQzQjtDZ7RgK4SFlZViBDFoEjbgD93iihT4tH6wrwmHyFi2gVEkZ5LVvK0nMR7HPmRo8fljGE71KCTmltyoeYps6tD09JNy9PdcqwH17YehJwLByzSDQa5K1uFRShqtWu4ELee+w5xVN+ouIBnWWIG7cy9Ok4pebFWMZrEXS9BtelNm+00HJbCtLhyA6WNDvGL2FzslH97ok2GS8YHPR+Mf4P83zezxjgnskSI17ihAF72MwBSra4VBIJ2Ky/y6WnlROxcibcorIGCT1pr5rZfY1bFJkzRy8OgYg/Ru6AoX6J+LeOxH0irvFKZm0legBG7GeHfMzBRBS+1o+6aKDMTptncIxqN59GhrtQJ8gF1AzplXesgH8oxl61TKvRUwDNPoSFyAFcp/s9+N+Arm5S5bTjgInm1Y6dyQBeFSHpihO2uqCiOoLw5nmURF3l13yMjrxJCWZqhbZRc0Z/eUdqeJfC3jdC3gMKkETzT3vr+enby16z13gfmLk4TWfUUOlwetmMR22W5eTJSRBHzseK9YlO+3N7cihsTGPRYpgaJoKwRI6KOGaUEC/zMsb+LU/Gwpcsg7oXlEbKLQiFHYNND8iMNQUynmfiljrtkHNVNrrXblIYHP0C2Rd9EHF5UratnUPVoirLjUQ45IfcfzlCFlJvkd5cm0nRper/TC+jZ/UygJHdyNxILN4u2JA5D2J6cqrp4podvy0/nN2ueECv+PZNq+oFIPnrO7HJ6telBgbK9N/+1/VsFUvwZhVLTAjiy0MaMYekgzj3xDXVcdOpjCC48lMtap3aFvJU2UACPxJPCebnW5rt8QohS1mQZ/0gEHWkOcD3Yqmd6iixMAIKwAKe0xXAAS2SvnLfNHrjGXPboa9/EGWPzGoPKzDB9GV+ep/GmH4OCAfx0etyog9ogFg6PXWiiVKXskm5FlwhK4aOCEQg6xhyHV6JPP6u+FmBZDZWvCqgcyLjWnRJBt8zM7hq/rcE8r78iTmm8EQw6kpzKtqGqVTPNC5THkUs5q1YnveUPDNzaYO981V6dn1R2n+ocv8xAOpKJuI3H1pjHlieFhHqcY2/c3+9b7Ni5w9o1Hganunr9/MRN7aBwIAfaaLxQ7GHMf47Hu2Y+vT8I2OG+n9Dbdf5OWDHg0EcKn8wLvi4vIMBCPO9DmCDtsfP90bWYKpT3FIOrTzFxdk+DLqgzyz6o57goF/Sh9S9YrN6XnDGJhsYsyitWMSDLqsyznOpeCG2gqugQiBYqGx51g+dJHulSQhJLQUiYDkrsJVuRtyTRgLK5ZCPscg7KOy/oii1YSbnezuMvg2LkW0oaw5xwVO9YcSUTvYEUxRQw6FSTNyZkt6QXhmQcrt6trFq1IzG4ykI1u9pEfjmEg6WIkXsVgg8Mz7LAZPVTGekWwKNKgLGUjwtkgEDdcSoqavE/dYIRRAsXBbBsm1rkp7B99dX4N7ZS0fc+alMTYHJGxv3RPZLxE4ifrU0K2XFQ02RPMH/7ylOm7aPJngCSVGuhQGhBp+3Rk4ovILOWs4HLdtYDCN7+InUncDRyPYDUptw6gjVhETAFeYU2jbMHNqiRbi4c0ByUoPZT1fovUn0TQ+HjSA3TbMdr8oDQeMZDyCpLHd7DKq2N/Rd25HhEHoon8y6L1vf604IGzNMq9kbErGQROtjQn7LKwp1SE2+SCx2TFjiqmU6GsspYJ8CdmZVH0tWDFAMBsGCSqGSIb3DQEJFDEOHgwAaABpAHYAZQBtAHEwIQYJKoZIhvcNAQkVMRQEElRpbWUgMTY2OTYyNjE3MzA2OTCCBfQGCSqGSIb3DQEHBqCCBeUwggXhAgEAMIIF2gYJKoZIhvcNAQcBMCkGCiqGSIb3DQEMAQYwGwQUtr0R8/w+RYVrDdbJ2moaSFIQcKICAwDDUICCBaAsCD6y1vnqSvKZ9ScKBWMytftv3p5PHUkelPqGtR51aH2celoiwTVNqyoKIBTECnAR5dM20dD6yVTNoTAop7zp5uGaOWYsdCz7qrlwaGu/Gi5JeZMcqotyaHkoK9UV5r5+HgNhtwTIGah5OJDmCR0JYNy2n3YjdE//7VVDjGj/s1yW886WsgXma1GTed4GWE3kCGGzY8YLOT1QwQ6l+Cwmy9Q72Pq1XVmkUflYeGPh6idKzDHoLjG8LTF7xo4ewxDU9VeWAG+mzamClvZ8lySzjcMgigAOqmqzKZ0/ZqSig3xTNX66X4piLzlgVmoA4ISfmpOFjkltp3/cCvcd9nUjbBJLskLeqviFIruoOJE5QdGs9qJ9hxltDEqHYvuJeFLWy8dtcs+S3v/WV0VJfeHDHymaUX+9ScmrXRtUu+Uly08rDtiHHt9YGObmz2INEQdGqJ8U5Rh8xsj1U3TmWL1mu42pC+Xf8Dmu2qVGwgEJcaphBjlm8/zHE9z8e7yL5vFlgCh/RD4Q2nJYC4Lt6iuvjNIkhSc15wVQ97BbjiLG2P0YGmdfTtdmS0T+P2WKYrYdt+N4Fy+HXWPCGSHeMysBb4/4p2FemgqiyNDeg+hoPqSXl21OXmu34hazACN214ywqltaQoi9d4yzn3i7yCTEgRAH7aECwIxj0auA/aVWBkYmNYAxuYw2NuQTQQH5g/Sd3EhG8k3uvRa2zd3J5+o3GN6CA4DR8OtIedg2vJhxEj7hHwG4U81O5nqppe/zgCgCSyK2s4s4MLhbAWPCxWGSKwAlWHg/eaYjumpp6ioN03JTlfEElK2yX+PDkCl7lZcy0Gu4e8vX3R7GCUmbukuIwP4wbDATX/ZjDPWc6oUE+DmO+4UJ4TM/qWk3mAGAUHoa2kUqMFBaBEDJZnBdZ2ETupukLT0/jWjX2ELO23NxaGfhgmrMP/3cW5KcpTpiBf7Io0QFfCk5VvnhBnvwyjem7hPEZiBGcI2nh/S2cfDmDrv0lZyNF3sOWw7ibtK0wnr3w8qBMZz5WA5Ixm66WpOkb4NXTLeXu67h4uYeAjqm26gOz3EF8zk0Jz7qXn36AJkRFhje03kRG6RxTRDdKRn5WKd4ctQ4kMwSjIxlM8rcXNgSUfSyCU1cbSbwHZ9fBW6lG18D8mh1HXJqMVp8jYXDJluzWGXhHB09NOZwPV5+jeNe95Vzbm/e0RVua27LETa8WXvb54S2cI4DMwtnSL98e+s8swbltYkt0k/vWlTQJx35Ti57ew809fbMFxz/7ZOQyJw8Ji/aGfJzIEDi8X2gGvwrNy0cMlCmUVNQSFNzJBIaSPGMCc4hjVQyr7drzZYSStI9VOyHZcAXwB/uGccAkBS0iy2o5oFJyjz6jtYWGsk6TNL0HtEgUZTQZkEN+Mf18CuAsRBrxUX46y4lMzB7NeDrSlW7wAL1/n/K4FpVX/CCcSm9HlGTxCP5Q4EelzZvg88uD+hkaj6NMsHnhy2GlxL81dkQBTT6mPGVW3cPntQosyPLGsxVVuKyvmshSKojlyABZeeuo7kz/jTUOgCM231wuI//MfP8KMLQNeUO1hGH+PyFffB0Gl+YPjWoqgzyg6DFEjscEkqUR2TKwjNLQLeowYVOfGxqLAeTjfYafNwzYUFakdyqSe35ZEQ631MG1sGHCyVm8J8M2C/JHzYcOHEIuJdoT4DXg4SX3GTdUpDGOJjWIRDc1zmPryHj2rGuGQnLM8iaG2JP3Oo7Wrf8H21PBKZcmxx1Y4NmVGAoIf29nQHayZ5ohJ6bT4d6tPJelRg9LZwKps0pwOum0DX4IbSw4RqY/IHbARrMiHPaMP8ssx/5fDelMXnH4bzzCDWI+uyMmRL/sjSNBkh9+XKu3K2yKLsTdoLL6wvrAoj2y6knYab6kD4JQH918JxMbKcwPjAhMAkGBSsOAwIaBQAEFJ7DT0lNh2KhS/+G8LvyytX9MKkvBBRrf60+Fj4zC1CFYfer95AoYINgfAIDAYag
        keystorePassword: "changeme"
        privateKeyPassword: "changeme"
        truststoreBase64: |
                    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
        truststorePassword: "changeme"
        caCert: |
                    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGSkRDQ0F3eWdBd0lCQWdJRUNtMFVRekFOQmdrcWhraUc5dzBCQVF3RkFEQTZNVGd3TmdZRFZRUURFeTkxDQpibWwwWldRdGJXRnVkV1poWTNSMWNtbHVaeTFvZFdJdGFHbDJaVzF4WTJVdGJHOWpZV3d0YzJWeWRtbGpaVEFlDQpGdzB5TWpFeE1qZ3dPVEF5TlROYUZ3MHpNakV3TURZd09UQXlOVE5hTURveE9EQTJCZ05WQkFNVEwzVnVhWFJsDQpaQzF0WVc1MVptRmpkSFZ5YVc1bkxXaDFZaTFvYVhabGJYRmpaUzFzYjJOaGJDMXpaWEoyYVdObE1JSUNJakFODQpCZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEzTXpSTnZuZ0lMM2ZIU3IxK1NaWGp6NjZjdGtQDQpESi9KOU9BK01abzBSeUpVVVVOcUdSRFo4Vk13UjN3ZE0yY1c4M25oZVkxU2JNaWJvMGx0TmZkZ1JwNDlqeGdTDQpPbzNXWjlPeC9qS2ZkOHE4M0tRVU1QR2wyNzE2REVWSXNVaVZ1SjloRisyZlp4VHlnLzB1eHR1TVQ2ZDE2ZXgwDQpEalBxTHlBZFZhcTJjdGJtWWs2Rkt1T2lWQkJsSWRkSzdGY1J0SE0wU09ONEcxNUcrR2o0bmVRYWhlc1F2cHNGDQpjKzNEQ3huYi8yUFR3U1ZGR2JOQ0c4ZkJhL3hTdjlDdUpxQmRPWStPYzRIR2xkT0cxenRWeUtMWW1JakpyYVJhDQo0Q29WTm1hQ2FIenUwVmsxb2RmVU83eXdRTjU0aS9nVlM0THVNbkRPaFFwOEdwV3BsZFdHc2hvNWdCaWs5UDVPDQptS0ZHK1UwSlp5aVpPRDF0QTQwOFlmUjl2YlJXc0Y1bC93bStQMElvVStQSVJPbWJVNHJzT3dER2cxSHg2U2NEDQo3TzR1UXRUZjhOQUMyR3ovV3JScmFkV0JQaW9QbkZhU29vT1Qva2xxVWhPKzJmNzZXakNNUlVqajd3cUlpOVJYDQpvNWtiTGJ5T2RpWFFxS1JTUW1TOFJpUTBuN1pVSG5OZjNRT2dCNzhGWmpxV2NFUG5LZHVDUlF6VmlHUG53Q0VlDQp6aXJFY3VxTllsaEkrMTF6RmdJL0RHUDJEVmsxem11TmxOT09uaU1HS2poSGR2dkR4QkZJakRsYWtYYUx0SENBDQowNVE1aThsb0F2dTgrc1pXVHJtL3NDRnBnWTV4R09VS3o3bDhxMG9vRVErUjlGclN0Tk15U0JyKytONnQvUktIDQpsdy9kYit0K1FKcjA5RThDQXdFQUFhTXlNREF3SFFZRFZSME9CQllFRlBkU29jZWFSaEpwOXNTOHhYOHJHWElTDQpVdzlmTUE4R0ExVWRFUVFJTUFhSEJIOEFBQUV3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQU5yMGloZDU0amxMDQpCTUo4S1NOQi9VdTJ2TUxuWlEyRzVOdENzMENwellnenZTOCsySFE0ZXlEeHF2aXJmVlQ1TGYxZnZ0OGVDVXR4DQpxbGdHdHZFVkN1TmVhbk1PdE9IZDFobVZISTNIMGQ2MXdheWtJNWpzZmlVYVVucmxkU1hIS2pOdUUrUjNEYmFnDQpLNVgrUnRpWlcvWUl3QU9sSzgzaTdUVEpqakhIc3o2S1BlbUUxdU8rb2hyOEtCTjgvbmJUdGIzb3RkTC84RmRCDQo3RlpQNmxFOG9BU0RGSm4rVFVQRUYwZkJ3Wnd1bDd1Mm1UV09hMEZWLzJyb3QvQytZam5CWUNEbEdCRlM4VDk0DQpLMG9EUFBMWXpwYjdLQW9QampCM1h3QXhDajJOV0tQYzhMam5YTVBZcm9KQmovMGFQTVNBNG5WVWt5am5MVjBoDQpXTXFZcHF2VTUyTGZhdHlMOFhIaVhERXA5TFVBMmxZNndaN2tRSjEycXVDNWx6aVA4Q0JJNkI3Tmt5MzlHYkFrDQo4bmI3bVJzUHQ1ZjFwWnJ3eEEra2svS0R5QWkzQ2l3L0NtL0oyOXBTVmErRnRrVkFsSzVSZkszdHc5eVg5MXlWDQpIcGc3VzlNZngwZVBKRzBObXFNQVJEbGlHMjdHY21vcDhMWHVaNms2N3RnNjNsNXR0V2FWd2JCLzhqR2szQXk3DQo3UTNoRDhtZEoxdlNLZm5ITDhpdW05U3VRZzdmR0Z1a3BldzViN281ZERhdGJmdEVLVEM4OVdUYmpHcDliWldSDQo1dkJIdzhrbjB5ampkSUdQMUFUeW05aUZIL3VSY3VrR3Z4bmc4UmZRZkVubmJ6MWF0S05wN3JMbFE5ZjdJOERyDQovUVgwVHVxbGJQdHdaKzdHQXc2amV0MGxzQnd5M0d2Kw0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
        factoryinput:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRHpDQ0F2ZWdBd0lCQWdJVWJ6UER4R29xalJvck5maTBBK09PbmhRcEZtb3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3RnpFVk1CTUdBMVVFQXd3TVptRmpkRzl5ZVdsdWNIVjBNQjRYRFRJeU1URXlPREV3TWpneU9Wb1hEVE15DQpNVEF3TmpFd01qZ3lPVm93RnpFVk1CTUdBMVVFQXd3TVptRmpkRzl5ZVdsdWNIVjBNSUlDSWpBTkJna3Foa2lHDQo5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBdTRIQnZXMGZpTU5wRDJ5M2RFcXltRnpHcUdseE9wbEZRc05qDQpJcEhNVkN1NHU0dUVla2cwODNqTDV0T0ZweU5Ubnl4SkFrWUUrQXR3SjBkNnFhc3ZxbGNMbVc0N1N0Y1IzQ2hqDQp5RnV5VTFJaFR5VVpTNDIxUGk4UkgrSjJNUGhtYkErTXJIWVRnSmNTWWlFYzg4Nit4NWJqTGZXa2dJWTNmTG1SDQp2ajNYc1paQVBQNVdPUTVKZFZYSXg0WXNMMDQxcUFGR2RRSm9XcXF6c0F6T3M2eW5PbFR0YmovR3VhcGNxS1FoDQprWWxUU2hkREZoQmFVVUVjUGtIRGJucm1zaVpodTlwS0pSQ0NxYTdJY3BDQ0FSRTJwNllkSnRkTGRTaDFjYXNRDQpYdUp6bWZsYmZtaUEwSnZkREpNVDd5Z0VzMzQvVm03djNPOW9uMUxGZUZsc3Z3YmFWankveEJ1eXVLdWZsTjdGDQpma2lWb241ZTV0ZFhOMG91cGNma1hBci9hMVFvLzJRdUZvNjBqeWJQZVNqeGpOZy93dFNrYXlINUZaZ2FyZjBRDQo2NmVGbVNvQ28zYjFDai84TEpMNzZwTmZNU2ZZbE9JdVhlSFBRc1VDVGtPWGp2QTZGSVBXdFpocm5jSkczSkFSDQpxemRtTUN4cEthbDZKQ3NtcW1CZFpucXM5QVdNUHVSeHVZNklOK05HbVhzOHlqZzdMbUNxL3lGeEljZkhoZU5uDQp5RTNIWlZXQ3h2U3RTNGYxeHdyTDlQdGV3Vy9yRVNTV09xcXBiUnUxNUdMQlVhUnBZanZTR1BBOHBPckkvcW1uDQpxQ1U4ZS9ic1BHUlUraVVxV2ptdDRpekZ6VS9nYWpXaVBzVWFDYzU4SXpUMDZ5TndMQ2IyblZZTVlVclR2dW9wDQo4My9XaGMwQ0F3RUFBYU5UTUZFd0hRWURWUjBPQkJZRUZHU0xWQ0o1LzlDaWdUNFNiS3FNNzN2Z0ZicjRNQjhHDQpBMVVkSXdRWU1CYUFGR1NMVkNKNS85Q2lnVDRTYktxTTczdmdGYnI0TUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3DQpEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSEhEMkFzbTFjZGpEdUx2bFU5UG1kWlgzRkRJWG9mMXdRZUlFU1hBDQpoMTA5MDZpWFdPTXRETjF2Q2I0NStpclhPcTZvb1l2YkRYc0h2WUpsSUJFbll6MXM3VGNmM1Z0cERYd3JLVjFkDQorYUNBMWo2OGNNUE5tb0xyeHpmYm9BcHZOOVp6ZWNvbG1WM3RVZHF5bnJ2eHk5YnhKTDV1TERQZkdadTRaWDNWDQpoM2RTNGcyRE9LNDJycjQ3QnRhWElWc2xwSkJNVDlMK1ZtRzFVclUxWk9ZOFFvcjViSXBvSzROMGw3ZlRjOG5mDQpYc2FyWWRvTGhGTGQvZUx0aGVUcGk3VlFsVGtxME5IKzVNbys1MFpFd0Z3aFhOeHFpWHRkY1d5VGlWaHBocnI0DQo0b0IvR0g2L2VzeVNqRSt4L3NnT0dQblo3UndRSGlJQ0RHMWVja0U3djhSYStCVFJoN3VHUnRmenlIdmJKUlFKDQo4cVlsMG8vTEltdHhMQ1NjQU0wekJuTHZKZFZjTUpXZVdiSnNXd21nbzAzN1Q0L1B5NFNXeElOMVhHbWtzYkhXDQpHckd2QTY0VHBnWlpVT0pyQ21NNFcxMEwyMjZ2cUZkdGRla21sS2ozVXlzOUNGRDY3Rll6NUZTRE12c2wwS1RTDQpOVzlvRWlLZHh3K2FWelZITjFlcG9KV2NkdHdRMUtUTEtlb3JVSSthaDI0WDBRQmNHQnlqQTFRMjJuejdIeENWDQpxc1B3bXUrQk85Zk1kdVcxaDlYcWNWem5LSWxPQThVVkNBUExIcVAwZjczaEgrdFBiTVJwbTU3OUV1NTdyZzRmDQp6VWU3WUJBVDFqbXhVRHE5RkVVVCsrYS9LREFLbG5reG8xQ1M2TGtoenJ1R1Fvb3dQWkpmejAyc240VkNFSkY5DQo3TnZNDQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUkFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTNHdnZ2txQWdFQUFvSUNBUUM3Z2NHOWJSK0l3MmtQDQpiTGQwU3JLWVhNYW9hWEU2bVVWQ3cyTWlrY3hVSzdpN2k0UjZTRFR6ZU12bTA0V25JMU9mTEVrQ1JnVDRDM0FuDQpSM3FwcXkrcVZ3dVpianRLMXhIY0tHUElXN0pUVWlGUEpSbExqYlUrTHhFZjRuWXcrR1pzRDR5c2RoT0FseEppDQpJUnp6enI3SGx1TXQ5YVNBaGpkOHVaRytQZGV4bGtBOC9sWTVEa2wxVmNqSGhpd3ZUaldvQVVaMUFtaGFxck93DQpETTZ6cktjNlZPMXVQOGE1cWx5b3BDR1JpVk5LRjBNV0VGcFJRUncrUWNOdWV1YXlKbUc3MmtvbEVJS3Byc2h5DQprSUlCRVRhbnBoMG0xMHQxS0hWeHF4QmU0bk9aK1Z0K2FJRFFtOTBNa3hQdktBU3pmajlXYnUvYzcyaWZVc1Y0DQpXV3kvQnRwV1BML0VHN0s0cTUrVTNzVitTSldpZmw3bTExYzNTaTZseCtSY0N2OXJWQ2ovWkM0V2pyU1BKczk1DQpLUEdNMkQvQzFLUnJJZmtWbUJxdC9SRHJwNFdaS2dLamR2VUtQL3dza3Z2cWsxOHhKOWlVNGk1ZDRjOUN4UUpPDQpRNWVPOERvVWc5YTFtR3Vkd2tiY2tCR3JOMll3TEdrcHFYb2tLeWFxWUYxbWVxejBCWXcrNUhHNWpvZzM0MGFaDQplenpLT0RzdVlLci9JWEVoeDhlRjQyZklUY2RsVllMRzlLMUxoL1hIQ3N2MCsxN0JiK3NSSkpZNnFxbHRHN1hrDQpZc0ZScEdsaU85SVk4RHlrNnNqK3FhZW9KVHg3OXV3OFpGVDZKU3BhT2EzaUxNWE5UK0JxTmFJK3hSb0p6bndqDQpOUFRySTNBc0p2YWRWZ3hoU3RPKzZpbnpmOWFGelFJREFRQUJBb0lDQUVTL0FpVk5TTzUvbHBsTkpzWEFUVktIDQpVVjZWcWludDMvTG1hQVpZcGkyR0NpallzaTJUSTdiUVp4R3VJNlp2MFV6ZWs3WDlyZnl6Vk45UjJhc3pWRHFEDQp4NER0WlZlL0dwRTVUYnc3d2xuQ0Z1eEprY2lkb0FHNGgvTEV1TWlqaWdtOGVic1JYMzBaNW1lTDlHMS9NM3RCDQoydkVTeXNsRWJEdVNYZGorRzRMRXI3Q3RIemUwQVVLL3ZPbEtUQkRiLzlnay80d080ZXU4QWoxZHRMc3paZXlCDQpEcndKTGZjTWV3UnBpTlV2SUJaZUNQNmg2RHM2UC95alo5K3R0NzlCU3p2d2dKYXVRdm1yVjFxSm1PQ0RTeUtVDQpTTVBnMDQyVTA5cGsrWStRUHdvSTNuNnVHZXhoK04yUFh4T2ovSFZDcUQ0c1ZrME9pYkZBUzU0Z1N6cU9iS1hvDQp3QytDYTRYZFhjWjV2THBDSGVFKzkrdWpuSjZBNm1ubUtzYkEwbmg5OUNNTlRJVDg5bEpRL042UWFNeDllVU5jDQp1Wmsrb0FjVUY0dE9YTjFjUFRzeW92b0hXa21MOXRrWUllUFF6djcwN0s4aXB4T1RaL3l1NDM1MVVzamp0NndZDQpZeHJTMjk0MWNFOG15QWZUOTJWYW5Wc1VidzBpMW4xcCtIL3Vwam1ENmFPMlQ0aVpFT0IwcC96dnBYWElZbDlnDQprNzJhRk5ySHpYOTNTeEFybGxOMXVqRVlsaVJRNmxsOXpoMmUwcjhXcnBSTXg4RXlQYmg0ejhZd1picnJydUUrDQpsdFVBRHVHTkJBVEw0ZlNSRVhZTHhzMkhVckhmd29aN2V4YXB3QWYxYzRCY3ArbkxPZ0JKOTM4ZGVyemVWTUIrDQptVWJjT2lPT2R2N3VRV2hZYlJjQkFvSUJBUURqNVExMVg1THd0cGEzOGFhYUVSb0RWUFlqUkNGd2Jsd3ZWT2p2DQpTTnFKcEFtUXBnQkVTNng5RXVlWE9xbXZPOUZZanBvOXVMK3BNNlZnRVF5R2VsNDEwcGVya0wrNVlyYUF1R1I3DQo3azNQalpYWWQweHRTUjZHZFRwRnJSVGtpUGVZaE9SSWhEMXlEWEhmMnpTK0w1RDJFTjdaRXZVanRndDkrWTU1DQpWL2NRTjJFQlJCS0pVanh1MldPYTIrRnVyRlVCRUhUc0JDdkg2S3BsSmlTV2hoL0RpODRZdnpCWDE2a1dOKzRyDQordVF2LzFUQXcwM0oyQWlxOUs4ZDFIRTczbDF2aTE0WHZFd2tmd3E4Q25jSHRPOCtTOGU5UHdZNTNqN0lRaXFwDQpyUnFMMU51WjdweEp6VWlBeXpxSENVQ2ZRbW5wSjRhb2lqbEpjNTkreW1CcU9rZ2RBb0lCQVFEU29acWZZM2QxDQp2eVVHQlYwSzNmNHQrWmNWdi9XemVLazQ0TXVycVAvWXFWZ3J3TlFYTys2bFVDZm9mVUo0V1hkemdrdzVBTHVvDQptV1JZNVZMK0o5VU80cVdJR0tMdWxLSmNlSDlKWnBQSHA2VVVwT08rVEcveHF4RHFLOGp5RXJVd1hobUc1TVBsDQpMN0djMUt2MU1iL2d5S2V6TUJBeVp0dlNXSHpGZVkwOGphM2IwRXBTZGEycG01cDAxSmxmVC9MMGJuTmpvNHRIDQpsNFpBT01mcGVVZlVDOGdlU3ZWN1pMVW9uaUlJUjZHbjdsaXNVSlRsUXZydndDYy9GbTkxV2YvV3QzVEFyZ1BYDQpFREFFNVd3OFJ2NlVtejRVa1BtbGNhRDdzaTZ6NkNPdlZzeWRPNlJTeGZaOVliY1FGeHcvNDU0bTNMWGc3N29NDQpGbmM5VitzY2lxVnhBb0lCQVFDLzlia3ZhOURXNThYdXJTTWJWVnBuQWhMT1E5NHkyUkxYWDV0UnF6bEJoU1gxDQpiSTUrK0lzVFUzQTJCMWpVM1BzS3NCdWw3OCtwVTNKeWlBblg0STBvb3ZuVXJ2bC95M0ZVM1h6dWt4MkJ2WTVCDQpwc04rcm4rQzNJMjRFUUd2T3R2cjRjeDBkTWRaSVpBUThwRHJ2aDlKMVk0UXBSSk9BVktPeXozQ1ltRWVqTGN1DQpITXZNVmJQSDMxOHlHeEk1YWZtMENzdWgzaVdPbnlHZ1Q4K3o1c2dzcTc5dlF1UVNxZnFvVjNaTUgycEVMN3VSDQpIekdQMm1QNnRGNHBMMEF1SUxEdGV5UkhzL2tqS011KzlzV3FmVEtrYzZxTWN1RG9yNWFNa29kakl3ZGdUMnltDQpyY0dCdk9QY2NOTWMyYU5RUXQzNVlhemduSVdDcEZ6dHJNUW4xbTNWQW9JQkFRREo2a05Zc2podGRzeGVKandZDQpVOUQ3YjcySEN4clZia0VDbG5TSVhaek5yU0VwNkZNbzVyb1NYWEcwYkllUTZXc2FIdmxFMTlBTmd1WndWWDRtDQp5RFoxYTQzMWxuQnl0NmVoYjUzTjFuaXFONnFIekwzSnltcXh5Q1NSNTJGZHRkTmR4NGMvQ2dSRXEyRGZqL3c4DQpNL0hWNFdUcDRKUldUTVpEc2JJQ2VGQ05rTi91elpEQjFhK2gzTm5IVDVxcmhPL0pwQ3dYZzByY1dZUklBbWFhDQpDVHB6S3N3dlJmcG56SlhobHgzV3hCeFM2S2kybnhUdFpqVTZLZ0UxZUNObTR0emZqOFJyaFNXSFFDeFlOVHA1DQoyakRvY3Ayamg0cmFMOEI4S0VhZkRsVlBHNjFRdVVFQVhHZTdzRFdXUmlFOW1jMGRRZzFVMFZxUGhlWE90MzVhDQpRUXJ4QW9JQkFRQ0t5dk84c0JNbzBXLzZ6Tnl4UmJEUHhnTm50bzNWWm9qNVh0REJaSDJhOVlubVNqZ3BMOUZBDQp0bjBSWFIyRDhybW5ZMUV3aUJUeUZwRWoyWUV1Y096VmliWXY3SVFzbFFXTlFhWnZFZUZjM2pzbXZORHBLUlpxDQpNR3lYdjJ2d2tTQnVwQW1zWDBqaGY4dEtVbE9xb2s2TTNxMG5KTUx5dENtOTI5OE8xMFZzZUN3Z2hlVTM2UWNNDQpMNW5wc2lFMHVlM1JmSVNEenFrQXZCWWVLZy95QVA4eTdLUG9wczVSMUQyYVdvZHB2K0o4NjQwZSsrdzNyV0tQDQorektzdU0wbzUvL1l1NHM5RHNMRVY2MytEdmZqMXA5OU1sZXZ1UExWVzJBdk56MjJKS1Nua2Z3c3dXZ3p1ZmFhDQpMUGZGbDJYV2pCZUlsWHhwcnNReWlNZlZSbENRZEJCbQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
        mqtt_kafka_bridge:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGR1RDQ0F3R2dBd0lCQWdJVVkxNEhrQWxWZ1JVWkowR1VlaVJnSXp3dnlxMHdEUVlKS29aSWh2Y05BUUVMDQpCUUF3SERFYU1CZ0dBMVVFQXd3UmJYRjBkRjlyWVdacllWOWljbWxrWjJVd0hoY05Nakl4TVRJNE1EazBOakF6DQpXaGNOTXpJeE1EQTJNRGswTmpBeldqQWNNUm93R0FZRFZRUUREQkZ0Y1hSMFgydGhabXRoWDJKeWFXUm5aVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQU90MGN1UnBtSkxSWFdUc1FUUUZkSDRNDQpxNTJTZHMxTVpBYzI4dXlqU2U3TzZGL3FWT0ZobTB2VmFqcnl0Mmw1Qjk2VDhyY1BhZDlFUDhnL0I3MGhtMXp1DQpvZk1IcjBTY1VZREMvYUxrSnRSNjNDTTdYMEdCWm4xUkFzM3hHYWxTdDNCMlBKUE1xdEUyd1hoUGh0cTZQcFgxDQpCVy9HSnhubnN5TGJjTlJNOWtIUjk1Nk9tNUhKMExsTzZBTjQ0UEx3ZkMvaytvUlI5UE13cEtPeVkxZmZJemlnDQoxUUNVcUM3cENUMndlL04ydkEyQlhGZDNVb2h1WXU5YUo2dEg2K1RzWU83L2hDUUc3SjdwU0pCd29SUzBCeTZjDQptdVJHREpDZEVIMm9UYW0zNU5nNkQ0TVVpYUVCZ2tOaWxTczVpMTdocTNvWVl0UEJWVDN2d0ZiSStQSFErZWltDQpkL1hNM2JqYkdQWkhWaHZhaDhqV1hxak1sMUR0TnNkT0NqaWUzWTVGOGFLZW1pcnpOYkJJcnFWeWtuZ1ptS2tGDQo5b2tPa0E1eXlrMTVFc0RIc1oyVWFwN2lJRnZLN3VzN2xJV3drZEdWZm1aRHIrdU9icWIvUXQzMEpBUDhDYXJqDQpPaUF0NG5yT2JON1hRNThNd3F5dFBwQnlyenVYV0pkcWhleTZMdXdNOFc0YkRmT0c2cUdxYklPbjFTemFRZUp5DQpiaXdaL2ZRYzN2aTkwZ2hESGZCS0o4cElWY2lEZmZwT2RXeXdJakNtZDJYY2JqTWFFVWRhUVZXZDFkQXArRjJDDQpXT1NDdGcvbXZXQytwYkY4WG5tTmJvQ3ZzZUMzQ1dWY2JhSk5CN1l2SDdDUEI4NHBoTHhoL3ZUV2w5Z1QxdnNSDQp5emErMHRMV0Y0aWN2d3dKQVF0N0FnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCVEtRb1JSdE9ZVlE5cnNjVHcyDQo2aTJSZDEvWnlEQWZCZ05WSFNNRUdEQVdnQlRLUW9SUnRPWVZROXJzY1R3MjZpMlJkMS9aeURBUEJnTlZIUk1CDQpBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUURZWk1ydnBKVUlCRzlrcFRZU0ZEak40Ym5VDQp4ZVg4bVoxTndtQldNcnhmdkRVWTlnOXBXZXdZaitTNXllQy9yczFtbm5wRVJCbG14YS96UUxBWUxMK0M2Znk4DQpwelFSbVFSMVRLSzQ4STYxZnNHUmlNNEZ4TWd2NmdTZGtVbHZHWGVXSklucnB2R2RpM1M4QUNQTXZvNjVubThIDQo3RndhNVJFWTlIdGZJbHJZamdLWXF0dWExb1FwS0hvTjFDNGlHYWZ4RDZ3aGZOQ09hV29vUTR4Z1BsMjFjK1VKDQpaRTVqVEVwTU5EOUtFTDJSSkY1cm1rU1VtZVVPSnA4R0xDTTZrM0NaQVlRSUpCOFRSSTB6Wng4Y2pwRmhZN2MxDQpuT29kK2NXbFFLNFJaUlMvSjRIUTBrSjUxL2pDbUNhclR5TFNxT0IzV3FyUzJ2NlRVc0Q2OWJSU3IzSmtRM29tDQo5VnFUbGNZWGErS1hIMlJDRmFjdmM0aFY4bEtSZTJGdHNFcnpud1ZmbEVEaGN0ckVoZnRGb3JiOURUK05WMThODQpIWDArSGxWYVY0a1p1Njc0MmZZZS96WkgwT0ZqRnk5SkdiZFRHcnJqNlptdk5uNFhTL091c3FJMTlsdkhvWW9mDQpKT3Y5YlpFcGczamR2cTVaNHdSVU9pSmRKaUIxeXV6cnVrN1lqbTAvVldXNS9LS21LTjJlNmNDelZtcEJCRHJHDQpKTURpa1dIQ1plQVdWdWVGWVEyL2xaVFQ4L2RmUGs5NEc4Q2tFSkpvQlV1UzMxa25EandDcGNwdHV1L1lmenpKDQpBUEtnVGJKOW5FRTJOTTZlOENaQjl6UTc1eFlMQnFvNFZndnZ0Z0tMYi9lbXg0ZXJLTXdwQS9tMjFWcDFkUmZLDQpZZEtlRDVZMlNJMkM4cUMva2c9PQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUXdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTMHdnZ2twQWdFQUFvSUNBUURyZEhMa2FaaVMwVjFrDQo3RUUwQlhSK0RLdWRrbmJOVEdRSE52THNvMG51enVoZjZsVGhZWnRMMVdvNjhyZHBlUWZlay9LM0QybmZSRC9JDQpQd2U5SVp0YzdxSHpCNjlFbkZHQXd2Mmk1Q2JVZXR3ak8xOUJnV1o5VVFMTjhSbXBVcmR3ZGp5VHpLclJOc0Y0DQpUNGJhdWo2VjlRVnZ4aWNaNTdNaTIzRFVUUFpCMGZlZWpwdVJ5ZEM1VHVnRGVPRHk4SHd2NVBxRVVmVHpNS1NqDQpzbU5YM3lNNG9OVUFsS2d1NlFrOXNIdnpkcndOZ1Z4WGQxS0libUx2V2llclIrdms3R0R1LzRRa0J1eWU2VWlRDQpjS0VVdEFjdW5KcmtSZ3lRblJCOXFFMnB0K1RZT2crREZJbWhBWUpEWXBVck9ZdGU0YXQ2R0dMVHdWVTk3OEJXDQp5UGp4MFBub3BuZjF6TjI0MnhqMlIxWWIyb2ZJMWw2b3pKZFE3VGJIVGdvNG50Mk9SZkdpbnBvcTh6V3dTSzZsDQpjcEo0R1ppcEJmYUpEcEFPY3NwTmVSTEF4N0dkbEdxZTRpQmJ5dTdyTzVTRnNKSFJsWDVtUTYvcmptNm0vMExkDQo5Q1FEL0FtcTR6b2dMZUo2em16ZTEwT2ZETUtzclQ2UWNxODdsMWlYYW9Yc3VpN3NEUEZ1R3czemh1cWhxbXlEDQpwOVVzMmtIaWNtNHNHZjMwSE43NHZkSUlReDN3U2lmS1NGWElnMzM2VG5Wc3NDSXdwbmRsM0c0ekdoRkhXa0ZWDQpuZFhRS2ZoZGdsamtncllQNXIxZ3ZxV3hmRjU1alc2QXI3SGd0d2xsWEcyaVRRZTJMeCt3andmT0tZUzhZZjcwDQoxcGZZRTliN0VjczJ2dExTMWhlSW5MOE1DUUVMZXdJREFRQUJBb0lDQVFDQXhCbUZReDZXeEhzZ0UzaUJPNjUrDQp0TzB4Nm9TZ04vUElZa3V1RUlzQldCU0xSL3NObXpTejMwNE9XT2puZkxKS0RuMUJrZU5qbjg2Rjg3cUd1NWRjDQoxb0NwQ1gzWHR1bDMwcXVsWnNLNWwwdEcxVlI5M1lld1p4cHlpRFZ4ZlhRbXcvTFRIYTRaWnFtZDQxZ3J6SWtuDQp0MjAydUpadnUyQWpZd0VzaWI1dk5xWUdCNVdhd0ZVdTByRmVITUJnL0JYZWw0cE56UWg1NnhOUEZ1THZqbStUDQpxNWx4ak5zQmRKNkNKejlTWVkvc2p0OXlVaVpIeUo3QXFYeGlWcDN5ZnpkdjNUdGwvSWR4VE1GTGhOMERGb1dLDQovMGhTS09EOFFYbGdUeWZSOW1qbnU3RDZEY1JLMGlsc01zRERkOS81anM4Wm9iYUNlZ3ZsS0hYMndFZ3M3dzJNDQpHcnZqYUkzTFhlTkVFMms2Wm80M0oyV05HRXpSelltSTFJS3FhNVh1NElJZmV5UGliOTJpQUFOa3VqLy9DN1IxDQpjZ1VOUFd3OXd1VWg4VTN5OG5yclJOamg0UkVSckxFY29QNGZvVGlNQ3liUGNSVGlzVlJjcEg1Y3R6ZXIvQW5MDQpiZ2FYU1NQVXJjRmtTV2QrVjdOaHk3TnFVRTc4QjJVSjBKNmFLZ0t1WFBNT0hwWmx5MGJrVUgxRUdDMDl0K1B1DQorM2FJaVo2OVFwdURGTnE4RkdwVFF6TkNhMDg5MDA3RHN5UzhySHY5R0hVYkx5NkxRUTdaNnVHc2ljRThGVHdpDQo5cnBnZXZkMEpyMVg4dTZRUUlHRU9ldmxIaVdYQllLcmNObC9RSUFPZFJ1RkRTQnRiOFEzOExHYlBTV2VlNVdVDQpUbk50Ri9NRUtyam1zaUhoL2ZRUUFRS0NBUUVBL1RjM3RrV3YrYWZEbWc4aTZYZDBZdHd5NktveS9YS2VZbWErDQo0YXFyMEgwVDVkZ0Q3WEloVTdCcWNZdytxdGt6ZXdER25yZmNyNzR6VGVsNUMwRVZqUWsvRXVOZFhYRlVGelpnDQpqQWZmWURTRk45TVZWYk5zb1o3TVphWVg2S2VWc1J3NkNidnd6K3BjZ3JRR1BrMWRZTGlEZ0F1alJiZU1ZdUdsDQp3WFpONTZvM1JCVkhWM0xPUDBmZ1NvSXRycnI4M21oeWpRVU1aOFdndjBvam1TZzVtWVFneU9rWkRMN1VtYXBtDQpQcnVlY3BtZGozWnJhY0xReUtQaDA5cHJMVGVpRVpCZzUxVjhXZWkrRVUvR2d4OTV2SGtpMFd3SGZNdVBLQllDDQpicGR0cVlHemJaRTJiUmdHUklwcTgyVWxDd1k4bjlkcFcwYldML0Z6SFpnbUZUa29BUUtDQVFFQTdnczhZYTdtDQpIcDFSZzVjcjZjZnc3WjJPWmRvUFFZRWhhY2dSWURvM2dOYzRGL3RSY2MyaGFvbDRwNkxMNDBiWTMxR0JUb2NZDQpaNHp6SlNleFdDaFpkZHJTcEhSQVZhK0Z2ZWFrMjY2Mjhwc1VhUE5ZVFZvUkRiNDdDMDZibGxFWUhrOWZ1NHVsDQpDRGRXNTRlaWVCZFlOSWwrUko3T2w5ekM1OTVCZDZQaFJJOWViVWp3Wm03ZFgyZFJYUm15K0tGL09KbU1tNlF1DQpCR3Q2dUNDQTg0cGo3bkRsRWhLb2k3d1hGZnJuV1hKVXR5V2VZcTc2bkk1cFcxZEZ6d01XbWJZUkdLWEhJWlRFDQpWVVYvc3BGSlRJOUk0QmZIbTV6TlU3NDRIcFE4Z2VWb3JWRHlhMVJHZm5xVm8xVlRZR0dibXVXSG82ajIvQ25JDQpIQWZjUXlnWTZwTFRld0tDQVFBWXdEcjc0QmZ4YVVxZlZuZHRKcllEcTg1Mkc1emNWVVhTRElULy9mVEpibEJ4DQptUW5aUGR5d0Y0QndGT3RUTytQaVZCTVdGSmJIdnVtNDVlZGxDRG1aRFp4U3RsSzcvWVhndHZuODloQUprVmlzDQpPai9ObnJveG1ob1VuWVdjd2pUSm1SNjdNTm03R1FkdDV6YnRCQmJxaTE2Zk40UUFIbzdrWTNZV1VRQVFjdnp2DQo5THlDZWNCYlF5VlRZeUlnQURzVGFsWTRIcFExMklWNzdUMUpqVHNFSEh3djUwa0JpKzJ3RDQzcTk5L25COGowDQo2dmhZNENnVVZLQ1FXcnM3TWtMdlFKT1lTU3pjaFBsL0s3TVZ3Zy9lTW1FSzQycGY4bTNOMTBqcGtuZXZwL1BuDQo4OWZFRmlNV3RBajhQWmkvV1I2MzZSQnRVYUZDRW5IVUpMa2tQZkFCQW9JQkFRQzV2WGlxKys3QldwMmRJUnI1DQp1ckpLcGxMVE5IZ004N1pmdE9XaUFTc0gxR2NIaDJsQWRHUU1IaUpRSTU0VnhGVTZ3MzB6Q2dUSDM5cGxWbmh4DQp3bUl6ck1BSjVFL0N6RWQrS3ZiZUY1RFc4cHpWVzNPK1A1WG85Rk5iK2tVNjRDSUNuSXFsYTB3bGdoREViamdlDQpucENMeGZFSm1DUzVxRjlJejBxa0VQS1lMWXBQbWNkREZpU1Q2YWs2RFBCeVFvbGpYNlN3V1VZeTJxNlI5NExIDQpCV2YrU0libE9EdmRkTEZLekZFeW9SeHJIK1piT0ErQ2t6aXdOZ1BaaUo1YzZBeWsvODNHYlM5WkhmYUxIZ1JrDQp3YlRxYm9Pbzc0dmpXUnl1OTVuUy9XOVZOVUZDOENwbFREOXdpQWFid08zS3ltaXhFZ2xPTDBmZVgxL0Y0d2EyDQpHa1Q3QW9JQkFHN01ZRVhRdm1hUHI4SlR2TEM1dFhxZ3pPcys5bVEwQ3ltUk5kK2VnT2x3OFdxTXVRUk9JcnhnDQphTHQrZm02elU1aURzSE82czFGL0h6TjYwRGdEckdSWFdpdjc5TjE0Yit0VWpCdUQzY1p6Y2hNUEtZV25iaEl5DQpoN2YzbENyQVBXdFl1WlZFRTFjckRwNFFjdytuemNvcENOZmJmVW1qK2xVZ04zaGVHV2taUDUwekdMYU1zN25uDQpKdXNFaUJGdGF2N0UvbnB0aGNBMzBEblU0cXY4VkY3Y1NVc0ZSRjFHQmx0Y3YydFhNOE9JWEZMRFlpdzNJTVhuDQpyTnlNNmRybE5JZE5EdFlaS1U2SnJvSy9wQzYvUnpOcmQxa1o1aEYzSWo0d0txdGtQRlpFMHFCMGgvS0szSFd2DQpJeHdJUjFFMnk1Qi9teTJFaWZYTlkwVVFId2NLVXJJPQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
        mqtt_bridge:
          local_cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRFRDQ0F2V2dBd0lCQWdJVU01RFpWai9pYjVRT0JWemM4YWdoK0djQVBRa3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3RmpFVU1CSUdBMVVFQXd3TGJYRjBkRjlpY21sa1oyVXdIaGNOTWpJeE1USTRNRGswTmpFd1doY05Nekl4DQpNREEyTURrME5qRXdXakFXTVJRd0VnWURWUVFEREF0dGNYUjBYMkp5YVdSblpUQ0NBaUl3RFFZSktvWklodmNODQpBUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTk9jMzMxVE85RVN6b2pCTnRwb1NacHo3QXVVcXE2SFN3UUlON0xXDQp6YXpRSXJuOXZDWjNaTEhUaENIdDc3b0wzRm9nUFF3UzNpU1k3aGRQWllaZWVPWjBJaExJY2hhY3RpWnRpK01mDQo3aFNyUHBJemxTMVdHUElhbExYOXc1eGd0VDlzVXc5VTB1T09aNEFBZGl0TDhKdk9XU045QUJqSGdjb1ZzRWxPDQpKdGhVWnNaVTVZS2tNVXY2a3dmQ2t1SmRWdmdKeCtwNVJaYnpLK0p4d0xaMFlWaDNDK3VaV0YxVmlYeDVZOVlODQpHVDZXQXpkYnhmaWZmMzlPV3c1UDg1UHdKSjR2MmpaSDRXTDFTdDVZRlNQY3EvWkg2b01NeFRHN1FXbElZemZXDQp4RS8xN0hKK0JmblBCaEdpL0dSY3hJSWRNMnF3YUVBTEMxZDEydFdqNDU1c0F4QTE2dW5sUUd6cUthV2lHN095DQphL2VnYWREU0gydmNMcko2Q0w3SW1rTDNZVThtUks1RitiTmlTaW9aUGV1azFZRFZBb3phQUQxaWRRcVA5NVpkDQpmTHJrZ2tKUDhqL2FZa3RndUdqdG8zUERmd1dHczd6dmZuLzBQL1p3RDdkTGtMOHArRUNGZU9rY0VlUjFrY1FJDQprQVlMQXBrZVVkL1F5aDIwQlFFNTNyUEgzTU5MTUk0d0xuMFoydmUwck15RDdIbElNb0RDUWtOQVQ2NWErNDVlDQorRlREOXV4K1RwQktTSkJ3S2J4a2REc0hLdTNkdjlkVDdsK24zRUNhVnRsNW4rTDJRaERZdDQyKzR4TW5aUFJTDQpnTXM5Ni9ncjBObldmQXY0dEdUMVZMdUd1ZDZyWGJKK0dnU1hjb0kvekpjTE9MenFqRmIzOHNrQnVzWjVvQkxsDQplWUxuQWdNQkFBR2pVekJSTUIwR0ExVWREZ1FXQkJTQWRzTmlWMDAyR2toREV5d0IxV0IydVAzYzF6QWZCZ05WDQpIU01FR0RBV2dCU0Fkc05pVjAwMkdraERFeXdCMVdCMnVQM2MxekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHDQpDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQmV1aWZ0cjlEZHgrMDVEMWJWRHplc0d6WFdEdUpiVERLNWd3eVdpYjRHDQpDVFFGaExDVlQwdit5SE5vVk91VTBNczcxeFZ1VlFSc28wMGVZVlVncGhQNW5jeVNkRzNJck83eTlwbElEMWhrDQpVMm9USXoveUx6RTNOdHluWWgrZytCMjF2SUtndnh1WUx3QUxOTmtpMzNISklzUEoxMjUwSmVTNXpnTnZCbnYyDQpaL2o4Y0Z3MmFRS09zREdsNXRaVURNNHdqNjdOL0xPNDJMSFkwVzdkN2tGODQwSGlGQThJNS8rSzNITk5yaWRNDQpnaWgwME9uYzVFYStOMGVGTnFGUmNMWlprSXJKbHVIbERXeWpzUnZEQzV5cGcvNno0UXdPNk5yOExWdjEvQnNvDQpTZXNTWkN2aUlLZzlISmZXaVNvb2l1NlRIeDEvWjFtZ1dpQUxHOGliZE5PRksxQ3NtWUgwQ2tidURodDZhNjNtDQo0VlpCM1NaeTNqTDBjSnBuKzlibmFrVTlQSlZ6VENjbVRBR1BPUlUvUUxEbGxIbWpMRjdVbTBhTkNZdExFT2tIDQpDM2FaSU9lUEg3aTRYaU1pVm5oTm1yQjg2T1NSZGk5ZUh4Z0ZWeWFoMnFoUU5yTHZpRkpVUDJuQ3dPVWRHODFrDQpUYVd3N0ZaQ3ZxZk1sRmIvbVlRaUUxU2RES290N0ozUC9KY1pjS2tOR2xQcis2Nm9xa0x5Sk1rRXN5b0cvVWpYDQpLWUtDMWNVbVQ1NWhpME92RzZ5b3YzQ0NabkM4TTdSM0orSmRlcTBublFjcVBtK2JRZlYvdnY4Skg0ZjRmNjBDDQpBVE91ZDFEL1Y0eXhxalpnNS91dS9YSG5FS08rVVp2THp0Wk43WDNTMGxjWHBJOUNlRkE2OVcvUXBJRDk2TThnDQpUQT09DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=
          local_key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUXdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTMHdnZ2twQWdFQUFvSUNBUURUbk45OVV6dlJFczZJDQp3VGJhYUVtYWMrd0xsS3F1aDBzRUNEZXkxczJzMENLNS9id21kMlN4MDRRaDdlKzZDOXhhSUQwTUV0NGttTzRYDQpUMldHWG5qbWRDSVN5SElXbkxZbWJZdmpIKzRVcXo2U001VXRWaGp5R3BTMS9jT2NZTFUvYkZNUFZOTGpqbWVBDQpBSFlyUy9DYnpsa2pmUUFZeDRIS0ZiQkpUaWJZVkdiR1ZPV0NwREZMK3BNSHdwTGlYVmI0Q2NmcWVVV1c4eXZpDQpjY0MyZEdGWWR3dnJtVmhkVllsOGVXUFdEUmsrbGdNM1c4WDRuMzkvVGxzT1QvT1Q4Q1NlTDlvMlIrRmk5VXJlDQpXQlVqM0t2MlIrcURETVV4dTBGcFNHTTMxc1JQOWV4eWZnWDV6d1lSb3Z4a1hNU0NIVE5xc0doQUN3dFhkZHJWDQpvK09lYkFNUU5lcnA1VUJzNmltbG9odXpzbXYzb0duUTBoOXIzQzZ5ZWdpK3lKcEM5MkZQSmtTdVJmbXpZa29xDQpHVDNycE5XQTFRS00yZ0E5WW5VS2ovZVdYWHk2NUlKQ1QvSS8ybUpMWUxobzdhTnp3MzhGaHJPODczNS85RC8yDQpjQSszUzVDL0tmaEFoWGpwSEJIa2RaSEVDSkFHQ3dLWkhsSGYwTW9kdEFVQk9kNnp4OXpEU3pDT01DNTlHZHIzDQp0S3pNZyt4NVNES0F3a0pEUUUrdVd2dU9YdmhVdy9ic2ZrNlFTa2lRY0NtOFpIUTdCeXJ0M2IvWFUrNWZwOXhBDQptbGJaZVovaTlrSVEyTGVOdnVNVEoyVDBVb0RMUGV2NEs5RFoxbndMK0xSazlWUzdocm5lcTEyeWZob0VsM0tDDQpQOHlYQ3ppODZveFc5L0xKQWJyR2VhQVM1WG1DNXdJREFRQUJBb0lDQVFDdzZ3N09zSy9wOUZkSWJvRjF5SXNBDQozcm9TVkpEK3FZNUdLTGlvaEg0Z1pVTWpUTWZwUVJpbXM3aGN4WmtQYXFzbmpweDdZNnJsM2hYdzF5aUNWcW10DQp3cHBhS2N0NHJEeDlsRWpIOHdJUnRibnljYjNlMFlTNXBROS91Rkc2aEFBRXJvUWk1VUFMa0J0b0lQcXE2Q3FaDQptTU5kc0R4TWUwQS92REpPbDFCU3ZQM1FBMXAvQnRkUU5vYUdqbDVQY3NvclJjSW1mbzEzem9aNkk3Q0Mybm9vDQpoQjhyTW1GMlp2VXpaQ25iNDhlZlU3d01wR1czbjJIeEJZbUxSYnpYaW9hUzJsOE4wcnJWQ1U4MjVWMkhSZzlmDQpNSEVZYjZ6T0QwaDR4VlJ1Y3RoZUliVTFZN2VMUzFJL25JeDNQRGZ1c0lzMFA1aHBNdEtncEovNHpiU1gxcVlYDQplamIxbkdBdVZsbVJwUjh5ekpvRTVRbVlkV2tFVWw2NzB4VWNBN2QvQ0VqYWJ6OG56bGwxMmFDQ2dOOEg3STNIDQpTSjAvcm8vWGh5czd5Z2Q1V294MXhPVzlaQTFPNUVSNnJ2TG5WUXVMYUZkeElVOUswSFRBbTJzY1VYS1h0YTJDDQp4aFNxdmRkSDdUSVR3VGVnTG00MWswVDZrdzlXMGd6dUl2OU1nZnhzLzVjakZzSkQrYUtIUTkzcUNYN3Z4YjdSDQp3YUxxUFZiZUg3UDZJVWZvZkhzanp0blVHNTc0NGx0eFVMZkRSVjUyYkhWZFEwdDVYYWZIdjVRalJUQkpKRWY3DQpCb1o1eEpmWTdhOHpSNFNJTjRUaXBzUGFaK3Bzcy9oekZkcHM0YWNqY00wdWNiSkYxWUxQWGRqVHZBYmdvdlNEDQpQS2RZalgzcHdCNVIwdjlneXFINXdRS0NBUUVBN2F0bW9IWFRITllqam1kZ0o2cGJUY3dDUE83UXV5Z3E4UElqDQprSEE0UkEzWGc5cG5JM3R2RkpvYUx6V0hBbnM4MWxvTldlaUVTcnZGcktTY04wZVR0SHdmUnp3bVl2ZXZpeUJ3DQpKNmpXNEh3dnMxWThscjV5dU4yYnp4Rk9HRjZKdjl0UmI2L3d2bkRvM3daVHowZjVueGFFbzZPbzlKWkN2eHFNDQprRkdtb2VRanlpNWJEMGpQNUlwelQ3SzI1ckUwOVNYd3pUSVBHQW1ZVkJ5RDFRRkRHZm9pMFJHRFpHZG1kMHBGDQoyd0U0N1JJREZCSkErU29Tb1lDcTZmWjhsajg0TTdock9oYXZGK25pb3VZY1JCUmIrUHdUTnhDSlpQTEgydE4wDQpVQjRBWTF3emtBcnhkS3RBNnBlRFhaVkx0S05idVoraXdXSnRZM2NZZHZkbXovbkRzd0tDQVFFQTQrOEFnWURODQo4Mm9mSk81OGh4SWRnU2lqdHhXbUJ3aWhpcnFEQ0RyR01Dc01ueDVVclZoMVZCL1c4YkFqL2NvTFlBR0h4OGtODQpSWnhUTGRjTjRBOVRTWFk0MFI0NFZVWmJkRExWOEFQMGhQU1daR09KaXZOVU5pSktNdUpWdVpUKzhEb1ZyeitlDQpFOStNY3Q3YjRYT0psN2VKZUtjM1E4dkxlNC8zY09IS21PTnEyVHQ4cTIwTjh3VUdJcUI3N3JpMWR2Sjk4S1hGDQo3K1g2dDI4ZnY3d1Y2bkFML3lmeXc4VldlRGE0cStkRng0TWk5cVBZNjBPQ1p6ai9QTW16ZUpXUFMxVkhob3l5DQpoVXVqNkpnSnJNNTNYUHBheWxlaWtlR1lFek5GTmt1WjhtK0FSdkNRb2pyUzdCai9kWUptMXZPeExJb1R3KzhBDQpkcEdqL0t3K0pZNzUvUUtDQVFCQ1BPZlFScVk4dmkyUXJaenQwUnU3TmVWVnlCVWlaQko3cm5CYysvbWlkZDBmDQpvVW5uYUtwUHFwY3JteFp5aVpndUFWRUJRcjFEK3NzZno0eStGMVBDRkdtL043TlhGOEt6MnFtSFZCWDI0SVdHDQp6THo4SWozazZkWlh3bkhxZHNhYlV1dUNYaDJSWmZSdzI5bVZ4bkI2ZHhNbWJDRlZjVjlPMVg1aFpuQXpaRnJaDQpLVXcxbVV4ZlhIckF0b1VsRERRL01vREhIM0YzZUkwY3ZBbTkzcWt0M3ptKzNNdXF1dXFpeW05bmx4S2ZkOHFsDQoyR1NGVE1WK2YxYWkrQkJHNjMybFpIdDE2QWFLZXFPd1ZNT0I4YzZrT05TK0h2eTd4cklPZWFwTC9lQ0wwSkdLDQpUcEoydXBmUUNjUVIyOThLakJDdlRoOVZHREoyYXlYRldqUXNPR2JqQW9JQkFRQ0U5L0I3bkFDSmQrY2pURjBwDQpEdEJYZ0xYQklNZnlZbjZheDZPWk1YQmN1VUJyc3U0REVnK2dPOUxRdThqRFRSTEZ0eDdXMWRzQU9PbnRXLytrDQpMa3lRRm4rZXZ0cHVKTlZGUEVMQitneXpZMXc0eERpQTd1SzVrZGRuUjlKcXFSandXM0k3QWduZDNoTzVEM21HDQpWRGg0WVlHNCtST3NZVDhibmlqam1WVHZTL3dSTGpyVVpwSTBxMEdoQWE1SzNVWS9WY2RTaytLY3lMVXlQWWx2DQorUEZ3Q2wxMVJJREM1R1JGVE9iK29iUjdaMjBHSlI5dVg3dTdLK3o2TVZDWmorWkFORWU5bm1hbWpESGFocGRlDQpVRFFoOFlyMWI1cFBNQ1BmVDVHWTB4SEQ5SGdJNmwzMXhnczE0SDltdGVQNGtjRlNFbHJsZW8veW01UG0yelNHDQpCSnFoQW9JQkFBOE42WU40SDBvQzJibGtNQlBOUlNERU1ybkFjbmNFcGhUT0tVOHg0WVAxMHR3MXFBY2lNaU9FDQpCSnljblJpQzFEUGVoaHVab3VNSnN4eEdmNE1QR1NYaVdlRVdlbW5NU2ZzZVNVS1FVRWFZUnYvaGZrQzJ2ZXl5DQpWSGE0MGpGSHhWNkRRY1JJRHBEdjFBTGd4OE9WNFlaTGFBYVhuc2ZVa25JalFTaDF2d0EzQTlmSGdITnY1NHJMDQpyU1liaWhubXROeEpDdXhZM0J1bFY5aCtHOVNoMXpxR3lQaTVZMzJ1TjFPRXRydVpCUmE1eEFuZVhPVWNPNC9RDQo0Qm1DdnFnQkpESDIwUHp5OStSZjZCQVB6WnFNbkR2NU9xTStDYjBxTEJoV2JkdWFaY24wS2tocFkxLytWdEJhDQpKTnY4a1E0b1hrOENkdkFyVXRybmZJWmJYTTdBODg0PQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
          remote_cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRFRDQ0F2V2dBd0lCQWdJVU01RFpWai9pYjVRT0JWemM4YWdoK0djQVBRa3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3RmpFVU1CSUdBMVVFQXd3TGJYRjBkRjlpY21sa1oyVXdIaGNOTWpJeE1USTRNRGswTmpFd1doY05Nekl4DQpNREEyTURrME5qRXdXakFXTVJRd0VnWURWUVFEREF0dGNYUjBYMkp5YVdSblpUQ0NBaUl3RFFZSktvWklodmNODQpBUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTk9jMzMxVE85RVN6b2pCTnRwb1NacHo3QXVVcXE2SFN3UUlON0xXDQp6YXpRSXJuOXZDWjNaTEhUaENIdDc3b0wzRm9nUFF3UzNpU1k3aGRQWllaZWVPWjBJaExJY2hhY3RpWnRpK01mDQo3aFNyUHBJemxTMVdHUElhbExYOXc1eGd0VDlzVXc5VTB1T09aNEFBZGl0TDhKdk9XU045QUJqSGdjb1ZzRWxPDQpKdGhVWnNaVTVZS2tNVXY2a3dmQ2t1SmRWdmdKeCtwNVJaYnpLK0p4d0xaMFlWaDNDK3VaV0YxVmlYeDVZOVlODQpHVDZXQXpkYnhmaWZmMzlPV3c1UDg1UHdKSjR2MmpaSDRXTDFTdDVZRlNQY3EvWkg2b01NeFRHN1FXbElZemZXDQp4RS8xN0hKK0JmblBCaEdpL0dSY3hJSWRNMnF3YUVBTEMxZDEydFdqNDU1c0F4QTE2dW5sUUd6cUthV2lHN095DQphL2VnYWREU0gydmNMcko2Q0w3SW1rTDNZVThtUks1RitiTmlTaW9aUGV1azFZRFZBb3phQUQxaWRRcVA5NVpkDQpmTHJrZ2tKUDhqL2FZa3RndUdqdG8zUERmd1dHczd6dmZuLzBQL1p3RDdkTGtMOHArRUNGZU9rY0VlUjFrY1FJDQprQVlMQXBrZVVkL1F5aDIwQlFFNTNyUEgzTU5MTUk0d0xuMFoydmUwck15RDdIbElNb0RDUWtOQVQ2NWErNDVlDQorRlREOXV4K1RwQktTSkJ3S2J4a2REc0hLdTNkdjlkVDdsK24zRUNhVnRsNW4rTDJRaERZdDQyKzR4TW5aUFJTDQpnTXM5Ni9ncjBObldmQXY0dEdUMVZMdUd1ZDZyWGJKK0dnU1hjb0kvekpjTE9MenFqRmIzOHNrQnVzWjVvQkxsDQplWUxuQWdNQkFBR2pVekJSTUIwR0ExVWREZ1FXQkJTQWRzTmlWMDAyR2toREV5d0IxV0IydVAzYzF6QWZCZ05WDQpIU01FR0RBV2dCU0Fkc05pVjAwMkdraERFeXdCMVdCMnVQM2MxekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHDQpDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQmV1aWZ0cjlEZHgrMDVEMWJWRHplc0d6WFdEdUpiVERLNWd3eVdpYjRHDQpDVFFGaExDVlQwdit5SE5vVk91VTBNczcxeFZ1VlFSc28wMGVZVlVncGhQNW5jeVNkRzNJck83eTlwbElEMWhrDQpVMm9USXoveUx6RTNOdHluWWgrZytCMjF2SUtndnh1WUx3QUxOTmtpMzNISklzUEoxMjUwSmVTNXpnTnZCbnYyDQpaL2o4Y0Z3MmFRS09zREdsNXRaVURNNHdqNjdOL0xPNDJMSFkwVzdkN2tGODQwSGlGQThJNS8rSzNITk5yaWRNDQpnaWgwME9uYzVFYStOMGVGTnFGUmNMWlprSXJKbHVIbERXeWpzUnZEQzV5cGcvNno0UXdPNk5yOExWdjEvQnNvDQpTZXNTWkN2aUlLZzlISmZXaVNvb2l1NlRIeDEvWjFtZ1dpQUxHOGliZE5PRksxQ3NtWUgwQ2tidURodDZhNjNtDQo0VlpCM1NaeTNqTDBjSnBuKzlibmFrVTlQSlZ6VENjbVRBR1BPUlUvUUxEbGxIbWpMRjdVbTBhTkNZdExFT2tIDQpDM2FaSU9lUEg3aTRYaU1pVm5oTm1yQjg2T1NSZGk5ZUh4Z0ZWeWFoMnFoUU5yTHZpRkpVUDJuQ3dPVWRHODFrDQpUYVd3N0ZaQ3ZxZk1sRmIvbVlRaUUxU2RES290N0ozUC9KY1pjS2tOR2xQcis2Nm9xa0x5Sk1rRXN5b0cvVWpYDQpLWUtDMWNVbVQ1NWhpME92RzZ5b3YzQ0NabkM4TTdSM0orSmRlcTBublFjcVBtK2JRZlYvdnY4Skg0ZjRmNjBDDQpBVE91ZDFEL1Y0eXhxalpnNS91dS9YSG5FS08rVVp2THp0Wk43WDNTMGxjWHBJOUNlRkE2OVcvUXBJRDk2TThnDQpUQT09DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=
          remote_key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUXdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTMHdnZ2twQWdFQUFvSUNBUURUbk45OVV6dlJFczZJDQp3VGJhYUVtYWMrd0xsS3F1aDBzRUNEZXkxczJzMENLNS9id21kMlN4MDRRaDdlKzZDOXhhSUQwTUV0NGttTzRYDQpUMldHWG5qbWRDSVN5SElXbkxZbWJZdmpIKzRVcXo2U001VXRWaGp5R3BTMS9jT2NZTFUvYkZNUFZOTGpqbWVBDQpBSFlyUy9DYnpsa2pmUUFZeDRIS0ZiQkpUaWJZVkdiR1ZPV0NwREZMK3BNSHdwTGlYVmI0Q2NmcWVVV1c4eXZpDQpjY0MyZEdGWWR3dnJtVmhkVllsOGVXUFdEUmsrbGdNM1c4WDRuMzkvVGxzT1QvT1Q4Q1NlTDlvMlIrRmk5VXJlDQpXQlVqM0t2MlIrcURETVV4dTBGcFNHTTMxc1JQOWV4eWZnWDV6d1lSb3Z4a1hNU0NIVE5xc0doQUN3dFhkZHJWDQpvK09lYkFNUU5lcnA1VUJzNmltbG9odXpzbXYzb0duUTBoOXIzQzZ5ZWdpK3lKcEM5MkZQSmtTdVJmbXpZa29xDQpHVDNycE5XQTFRS00yZ0E5WW5VS2ovZVdYWHk2NUlKQ1QvSS8ybUpMWUxobzdhTnp3MzhGaHJPODczNS85RC8yDQpjQSszUzVDL0tmaEFoWGpwSEJIa2RaSEVDSkFHQ3dLWkhsSGYwTW9kdEFVQk9kNnp4OXpEU3pDT01DNTlHZHIzDQp0S3pNZyt4NVNES0F3a0pEUUUrdVd2dU9YdmhVdy9ic2ZrNlFTa2lRY0NtOFpIUTdCeXJ0M2IvWFUrNWZwOXhBDQptbGJaZVovaTlrSVEyTGVOdnVNVEoyVDBVb0RMUGV2NEs5RFoxbndMK0xSazlWUzdocm5lcTEyeWZob0VsM0tDDQpQOHlYQ3ppODZveFc5L0xKQWJyR2VhQVM1WG1DNXdJREFRQUJBb0lDQVFDdzZ3N09zSy9wOUZkSWJvRjF5SXNBDQozcm9TVkpEK3FZNUdLTGlvaEg0Z1pVTWpUTWZwUVJpbXM3aGN4WmtQYXFzbmpweDdZNnJsM2hYdzF5aUNWcW10DQp3cHBhS2N0NHJEeDlsRWpIOHdJUnRibnljYjNlMFlTNXBROS91Rkc2aEFBRXJvUWk1VUFMa0J0b0lQcXE2Q3FaDQptTU5kc0R4TWUwQS92REpPbDFCU3ZQM1FBMXAvQnRkUU5vYUdqbDVQY3NvclJjSW1mbzEzem9aNkk3Q0Mybm9vDQpoQjhyTW1GMlp2VXpaQ25iNDhlZlU3d01wR1czbjJIeEJZbUxSYnpYaW9hUzJsOE4wcnJWQ1U4MjVWMkhSZzlmDQpNSEVZYjZ6T0QwaDR4VlJ1Y3RoZUliVTFZN2VMUzFJL25JeDNQRGZ1c0lzMFA1aHBNdEtncEovNHpiU1gxcVlYDQplamIxbkdBdVZsbVJwUjh5ekpvRTVRbVlkV2tFVWw2NzB4VWNBN2QvQ0VqYWJ6OG56bGwxMmFDQ2dOOEg3STNIDQpTSjAvcm8vWGh5czd5Z2Q1V294MXhPVzlaQTFPNUVSNnJ2TG5WUXVMYUZkeElVOUswSFRBbTJzY1VYS1h0YTJDDQp4aFNxdmRkSDdUSVR3VGVnTG00MWswVDZrdzlXMGd6dUl2OU1nZnhzLzVjakZzSkQrYUtIUTkzcUNYN3Z4YjdSDQp3YUxxUFZiZUg3UDZJVWZvZkhzanp0blVHNTc0NGx0eFVMZkRSVjUyYkhWZFEwdDVYYWZIdjVRalJUQkpKRWY3DQpCb1o1eEpmWTdhOHpSNFNJTjRUaXBzUGFaK3Bzcy9oekZkcHM0YWNqY00wdWNiSkYxWUxQWGRqVHZBYmdvdlNEDQpQS2RZalgzcHdCNVIwdjlneXFINXdRS0NBUUVBN2F0bW9IWFRITllqam1kZ0o2cGJUY3dDUE83UXV5Z3E4UElqDQprSEE0UkEzWGc5cG5JM3R2RkpvYUx6V0hBbnM4MWxvTldlaUVTcnZGcktTY04wZVR0SHdmUnp3bVl2ZXZpeUJ3DQpKNmpXNEh3dnMxWThscjV5dU4yYnp4Rk9HRjZKdjl0UmI2L3d2bkRvM3daVHowZjVueGFFbzZPbzlKWkN2eHFNDQprRkdtb2VRanlpNWJEMGpQNUlwelQ3SzI1ckUwOVNYd3pUSVBHQW1ZVkJ5RDFRRkRHZm9pMFJHRFpHZG1kMHBGDQoyd0U0N1JJREZCSkErU29Tb1lDcTZmWjhsajg0TTdock9oYXZGK25pb3VZY1JCUmIrUHdUTnhDSlpQTEgydE4wDQpVQjRBWTF3emtBcnhkS3RBNnBlRFhaVkx0S05idVoraXdXSnRZM2NZZHZkbXovbkRzd0tDQVFFQTQrOEFnWURODQo4Mm9mSk81OGh4SWRnU2lqdHhXbUJ3aWhpcnFEQ0RyR01Dc01ueDVVclZoMVZCL1c4YkFqL2NvTFlBR0h4OGtODQpSWnhUTGRjTjRBOVRTWFk0MFI0NFZVWmJkRExWOEFQMGhQU1daR09KaXZOVU5pSktNdUpWdVpUKzhEb1ZyeitlDQpFOStNY3Q3YjRYT0psN2VKZUtjM1E4dkxlNC8zY09IS21PTnEyVHQ4cTIwTjh3VUdJcUI3N3JpMWR2Sjk4S1hGDQo3K1g2dDI4ZnY3d1Y2bkFML3lmeXc4VldlRGE0cStkRng0TWk5cVBZNjBPQ1p6ai9QTW16ZUpXUFMxVkhob3l5DQpoVXVqNkpnSnJNNTNYUHBheWxlaWtlR1lFek5GTmt1WjhtK0FSdkNRb2pyUzdCai9kWUptMXZPeExJb1R3KzhBDQpkcEdqL0t3K0pZNzUvUUtDQVFCQ1BPZlFScVk4dmkyUXJaenQwUnU3TmVWVnlCVWlaQko3cm5CYysvbWlkZDBmDQpvVW5uYUtwUHFwY3JteFp5aVpndUFWRUJRcjFEK3NzZno0eStGMVBDRkdtL043TlhGOEt6MnFtSFZCWDI0SVdHDQp6THo4SWozazZkWlh3bkhxZHNhYlV1dUNYaDJSWmZSdzI5bVZ4bkI2ZHhNbWJDRlZjVjlPMVg1aFpuQXpaRnJaDQpLVXcxbVV4ZlhIckF0b1VsRERRL01vREhIM0YzZUkwY3ZBbTkzcWt0M3ptKzNNdXF1dXFpeW05bmx4S2ZkOHFsDQoyR1NGVE1WK2YxYWkrQkJHNjMybFpIdDE2QWFLZXFPd1ZNT0I4YzZrT05TK0h2eTd4cklPZWFwTC9lQ0wwSkdLDQpUcEoydXBmUUNjUVIyOThLakJDdlRoOVZHREoyYXlYRldqUXNPR2JqQW9JQkFRQ0U5L0I3bkFDSmQrY2pURjBwDQpEdEJYZ0xYQklNZnlZbjZheDZPWk1YQmN1VUJyc3U0REVnK2dPOUxRdThqRFRSTEZ0eDdXMWRzQU9PbnRXLytrDQpMa3lRRm4rZXZ0cHVKTlZGUEVMQitneXpZMXc0eERpQTd1SzVrZGRuUjlKcXFSandXM0k3QWduZDNoTzVEM21HDQpWRGg0WVlHNCtST3NZVDhibmlqam1WVHZTL3dSTGpyVVpwSTBxMEdoQWE1SzNVWS9WY2RTaytLY3lMVXlQWWx2DQorUEZ3Q2wxMVJJREM1R1JGVE9iK29iUjdaMjBHSlI5dVg3dTdLK3o2TVZDWmorWkFORWU5bm1hbWpESGFocGRlDQpVRFFoOFlyMWI1cFBNQ1BmVDVHWTB4SEQ5SGdJNmwzMXhnczE0SDltdGVQNGtjRlNFbHJsZW8veW01UG0yelNHDQpCSnFoQW9JQkFBOE42WU40SDBvQzJibGtNQlBOUlNERU1ybkFjbmNFcGhUT0tVOHg0WVAxMHR3MXFBY2lNaU9FDQpCSnljblJpQzFEUGVoaHVab3VNSnN4eEdmNE1QR1NYaVdlRVdlbW5NU2ZzZVNVS1FVRWFZUnYvaGZrQzJ2ZXl5DQpWSGE0MGpGSHhWNkRRY1JJRHBEdjFBTGd4OE9WNFlaTGFBYVhuc2ZVa25JalFTaDF2d0EzQTlmSGdITnY1NHJMDQpyU1liaWhubXROeEpDdXhZM0J1bFY5aCtHOVNoMXpxR3lQaTVZMzJ1TjFPRXRydVpCUmE1eEFuZVhPVWNPNC9RDQo0Qm1DdnFnQkpESDIwUHp5OStSZjZCQVB6WnFNbkR2NU9xTStDYjBxTEJoV2JkdWFaY24wS2tocFkxLytWdEJhDQpKTnY4a1E0b1hrOENkdkFyVXRybmZJWmJYTTdBODg0PQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
        sensorconnect:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRVRDQ0F2bWdBd0lCQWdJVVJQY2JLbGJFUmRzSTlqZHUyOW9Gc25uUEMrMHdEUVlKS29aSWh2Y05BUUVMDQpCUUF3R0RFV01CUUdBMVVFQXd3TmMyVnVjMjl5WTI5dWJtVmpkREFlRncweU1qRXhNamd3T1RRMk1UVmFGdzB6DQpNakV3TURZd09UUTJNVFZhTUJneEZqQVVCZ05WQkFNTURYTmxibk52Y21OdmJtNWxZM1F3Z2dJaU1BMEdDU3FHDQpTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDZFdhVUMySGttNjBFVHo3RzBwWEFrc3N1WXdMMmZIUXQyDQpUUlBLVmN2d1hERURGeWp4ajROZlh1SmYxaHZWaWoxNHdHbDhjVExWZlV0UWk5dENSQ292S3ZpWGJDZzN6aDBrDQpXcGltRkZ0eFZhamhaSmxYRHpqSXZRR2EwZ0hqQXlhMGN5MUVjTzFoOHdRTVljMldaQXAybjFmc3F5cWJaVWhHDQpOZ0psS0NFZnAyTUFQZWpVa1hiSFdyZWNhYmRpOHZiV1ROQVNoVkM0QkZRT3ViSUsxNmVJYTJiQmhRMWI0bkx5DQp4NkdtSEZOeFF0aCt2dWc0cTlOM3V4Qk85L2lLangyNmhKMTdoaGI5eGhJRFU4Y1dGMFFMV0Z1N0lKU055dnB4DQpoZmcyNFMyMlh1S1dWMlEzV1M5NWdNYUxab3pyWVZRSWV5M3RvU1RSbUEvSW5Zd2VrL0MwZUhkUlFtYXQzOGpEDQpvMzhhbnV1YVZIOFE4d0RNUDh3STRvdFJwUC9ldWhOaXBBcEkweUcyZnB5UTJEVGNPUjNlOGluaFVmV0U4VWQwDQpSQmEvTXozb2VKZGpLdVIwMVgvMi92KzhwUENmV0lxc3owVEhBcVpCWmRzcy9abHFZZnZUYk5XNUdMRzZGOGwrDQpjcEVneUdhdG05cXViL29JRktHU0lRbGVFUEJwYS8rQkZtazVPN1haVWR5SFRCSmZXVjVLazdobFB6d3NkSENkDQpHUTlNQi84NWNhR2FwbXhNSlczNTVoUHUxQWNOQjlYUEc5ZXhwT3VlcUJXdEsxcFlFRGttVVZuMDI4eW4xYm81DQpoRjJyVjZpMU0reDhGNzJ0MTVrY01LVzhQdVhKUjR2Ky9LNU5oRVUxS1dlSzhqa1lQZEJ5Y1RjaWFrNzNBMFRTDQp2bTN5eUFBQU9RSURBUUFCbzFNd1VUQWRCZ05WSFE0RUZnUVVSR1AwUGRNTUxQTE1xMHNYYlJiUUpFUFhNUEV3DQpId1lEVlIwakJCZ3dGb0FVUkdQMFBkTU1MUExNcTBzWGJSYlFKRVBYTVBFd0R3WURWUjBUQVFIL0JBVXdBd0VCDQovekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBRjZSNng2dStUeFRnNG0vMk5uWUJTMG9Id2hyTHZZWjhCMll4DQo3QVZTcU9yVTczcnh6WXVJeFgyVWVPQit5MHBzc0l3ZmI5YzVmMlY1aFFoZFI5Y21UMXVNbWJVcTA5T01nUlNBDQpxYnZIcys4NHE2a2V5eGpHSUpEZnUrR0toZ1MrMTRzSDVlTERYTmJCQVErOVNzZHl3UHQ0L3V5Z3BpNVdvOUpuDQovaWRXNm5MenlHMWFLdWh2Y05XUWtiVnIyYTdVR005cHQxMnZReGU3SmNaL3QyOG5RQTB1dm9tVnBlYjBxZnpqDQo3cDgvL3R2d3VnbURHVzM1QWlVaTRabWYvc1RoT2UrZG1rZERZdDFseU8rSkFMZFp4d3ZrREtoU1pFNWtxOC9vDQpzampZUUZka29ubHErUkZuMHBEOVp4aU44TzNmRUgyejFydmt0T1F4T2tXMWV6MnhZb2lzNU9hR2pSSGcrK084DQppUGdmNnp2YW9MYnQyWWxzeGhoKzdDcHdIczR5V1dkV2N2WVRlUndlTjBHbHh2b3ZEN2ZQa1ExR3plZ3prRlVSDQp3NjY3SVJ4ZmExSnYxT3Y0cjc1d1F1RHJtYWI0aEpWdnFIK0dqODRDQUhQN1RackZuTFNVS2l0VVJXUDgwNm9tDQpwMlo1S2ZQR09yNWRQU3NZUStYTHYvUlNKTm5pU0V5aVBxVGhHQUdvR2xCNkNjWXhqRjlRZ1VYeXVTWHhJUjJwDQpNdG1WQktVZDY1QVg1c05yQnJyYkowajZSQnhMSERLQmQzWFIzeWZsd3N1WTZQU3pKUEg5K0tCdTl6MlViMkg0DQpXVGVHaUFvUUt2bVFxc1RDRGphdWR3elp6RlpQdHcrdXJESEtoMm5ibHBxK0lqQjJITjcvMUt0OENTcm1vL01xDQpkOW90dEVRPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUkFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTNHdnZ2txQWdFQUFvSUNBUUNkV2FVQzJIa202MEVUDQp6N0cwcFhBa3NzdVl3TDJmSFF0MlRSUEtWY3Z3WERFREZ5anhqNE5mWHVKZjFodlZpajE0d0dsOGNUTFZmVXRRDQppOXRDUkNvdkt2aVhiQ2czemgwa1dwaW1GRnR4VmFqaFpKbFhEempJdlFHYTBnSGpBeWEwY3kxRWNPMWg4d1FNDQpZYzJXWkFwMm4xZnNxeXFiWlVoR05nSmxLQ0VmcDJNQVBlalVrWGJIV3JlY2FiZGk4dmJXVE5BU2hWQzRCRlFPDQp1YklLMTZlSWEyYkJoUTFiNG5MeXg2R21IRk54UXRoK3Z1ZzRxOU4zdXhCTzkvaUtqeDI2aEoxN2hoYjl4aElEDQpVOGNXRjBRTFdGdTdJSlNOeXZweGhmZzI0UzIyWHVLV1YyUTNXUzk1Z01hTFpvenJZVlFJZXkzdG9TVFJtQS9JDQpuWXdlay9DMGVIZFJRbWF0MzhqRG8zOGFudXVhVkg4UTh3RE1QOHdJNG90UnBQL2V1aE5pcEFwSTB5RzJmcHlRDQoyRFRjT1IzZThpbmhVZldFOFVkMFJCYS9NejNvZUpkakt1UjAxWC8yL3YrOHBQQ2ZXSXFzejBUSEFxWkJaZHNzDQovWmxxWWZ2VGJOVzVHTEc2RjhsK2NwRWd5R2F0bTlxdWIvb0lGS0dTSVFsZUVQQnBhLytCRm1rNU83WFpVZHlIDQpUQkpmV1Y1S2s3aGxQendzZEhDZEdROU1CLzg1Y2FHYXBteE1KVzM1NWhQdTFBY05COVhQRzlleHBPdWVxQld0DQpLMXBZRURrbVVWbjAyOHluMWJvNWhGMnJWNmkxTSt4OEY3MnQxNWtjTUtXOFB1WEpSNHYrL0s1TmhFVTFLV2VLDQo4amtZUGRCeWNUY2lhazczQTBUU3ZtM3l5QUFBT1FJREFRQUJBb0lDQUVwTlFZbGxkVmcyY09XTkJ1bzUwUW5UDQpVQ2JTcFBnVXZBdmgrNzFvNUVPZEZSdlRmT2NNa01taFFaNWx1WUVOcFZkMjdKanh6MEpXeHhEQzZnZVJycVhWDQpVY3dYSzZxbWJzWnk3WEJIWHFMWEEwZGp2TEVLcEJMT2hZcDVMcURuSlFqQzlwWkNDU1plbmdQR3oxRDc3cUR6DQpQNDZuaVJnV0xKblMrVENSVVlyai9QRHBTeC9Oak53NGIwbXg5Z0lJbnh5MDZ2QkQrY2piYW1JRnVCZzhtNFRrDQp5b0lKZFRSMWF6aFBvbnFSRjZuOUdjUklHOXBlOFIyeHZOSzliNlRtVGZCOG5PenVkYjdpSURGb0J6UGNTcXBjDQp6L3crTjBmNW1HZXhEblBEdzFWQjJ4ZUpMdTZmODdZWlpDZ0JoZnZFV3UwaVZaN0hvRjVFd3ZkRnhodk9XalB3DQpra1EvL3YvSkJ6TmpYd3hvMytEa0hyUlZFMDVUNzF4RkZ2V1RSR1hmRlYwOFFGSkxOYkU3T2NBKythTnJhSXVCDQpMODlBMytiU2ViQ0ZNck43bmpyOEhmVkpXR1dvRFd0ditTNExTNzBHTE1WT2pDR2VBQW82QkNraksyY3FIZlAyDQpOT0U1OWhvYm4wdy9HWjErcHZuYnVyNEVkSWtGa1pSdHBtTVlKeXorRzJYazEySzJiaUZINXBrd3psa2RZdlUrDQp2cDdPNjRLbjJmMzd4VlQ5R2h1UWRVbE1vOE0wZ212MDlQU3RXNUxFU1RsZS9mVnlKOElPckdqL0YyMytGWDdMDQpod1RadGNxeW1wcXVlODl2SEVQblZQS3V0cTYzWGE2QjBvTlNNYmJFelY4VnQzd1pESVBFRXJibmZEVG1BQ2xEDQorSG5TNkc4OHVHMEZTaXJUQ1FJdEFvSUJBUURSYlBNZnpGelY5YkZmcTd5MHlqRU1hRmd1ZTBWVnhvdVhGMWliDQozeVE5Wm0wYXJPRUlxeWV6cm01VnJDamFqZk52N1Y3bEE5T3BSc3R5QzROM21GcnVrSzRwVjJwVGJRa2F3Vkd2DQp2Q3FZZzR2RllWbTBiM2h2eEcvK29FbFpvV2RNQU1SVklZNm93YXVzMVcweHRrcDB1Q1NVbVorK2tFUG5QWFVTDQpuc2MrSENWc3cvcDFTU2tnTXVoMFdmRStXdUQ0Q24xdWJHenM0QnlEOFh5QVpzMDFSSlFsc1p3aVp4ZUN3UlJyDQpRbk4wZXgxWnBWKzUrcVUxdnBLUFdtSGRiYnlpdmRucmZFQ3RPSlBTSzhEK01RVVpBVDRCOXZ5UytPdGs1OUlpDQpBOUJwcmtzZVppc2NoQjQxZHU2UU5lQWoxa01PN1R6aGZ6MGw0b3dqbm9ybEJSSExBb0lCQVFEQVYrM3R4Q0ptDQpRaDB3RTRjazFnTVVGODlZSm9BMkw2ME9BM0RCNTRSSWxXV3h3T0hxMXpUa0drbTIwdFU2SmZJSGlsYkswdmpYDQpURHdBSW9GMDhEQWlnaDNsSjdLK21kNm1vclc4RWhEYkMreEdub3IrVHF4YkE4c3IvRzFJRXJPaHc0Z0FrNFR6DQpGYkJLWVJNV3kvcXJSMGttYlA1eFhHUjFwY0NuVjdoOHI1bE9JTFFOUEdmZ3kyTUtIbGduUFRKckhVTHIyY2t1DQpJdlJ0cmlOS1d2OERYbjNZdW4yRUdlb3huZDVhUFdvYVFld0VtRWVUbCtmaGxMNHVDc29SK1lYcU9JbXVWb0VsDQpiMWpGcDhscklaVVhhYWlFb1FScmZsbWRjMDVvVVJGMHBwRzhoc1hveVkvYXg3YVlpS1dNb1N5SGFIOUphVDJPDQptaWdkb0JSZVp5V0xBb0lCQVFDY3N3V3puRWsyZXZFdUlhVkFMUzNJRitjcldHZEh5Qmk0ZytwMEx1SEI0M3J0DQpnNytacWQ4NkRlRld6MHQrUk1xS3pEUzk3VUFabi9Rb01EODlaRTFkeGZuYXl5S3VxNTR0VzhzUVVCNGJJZ3FhDQpOTDVYU1RUM2hDYzhnWmlBclVsS1VDU1hnbFZwSmdpYmVOS01hTmFMUVNGMTR3RHBLSzcyUGtEMEhzUDhVRGtjDQppZ05FY09xSndpMjJxWG5kNjBmN3NIV3NBd3I1cnJNSGN0QnlqdmtxeTFhQ1ljUHU1ZTVza3FZQm42WWQyT1RjDQpKK1pabFJhN0FRNU9ueFV0QnFnbnFTQitsK2tZODRWL3MrZGpDekRDUmZDc3JhN05GZDJrRWVWa09EQmdjdDZZDQpMMkJBcFFhcGdJVCtlS0Z1anlwNzU3MHZDUEtxL3psV2laRnB6WUpEQW9JQkFRQzFmd05MbGdUanUwVXhoV3ZEDQp6WkpRRm51WDhaU1FEUUxlTTA3bUdlR1FZREQ2djBndXdtM3RSQVVFMkFOT2dGblcxYW82YjBOU1hXUk11RUt5DQpKcWMxR05TKzFHdnRRT0tCR1E0bDdtSXJZQi9QTDNGMnNLUWdxZjdBZmN4Yzh4Qy85dkxSb0dJV3d3TjczQWdZDQpQZGhHWU5qY3dvS0NVNjJUK2hsRmp4Zk55Q0VBUVFuRlo1ZVozakdSYmJxL0pCYjhUanRFdEZnTENmN2R0REVtDQp5NkRRL0F3Q1EwK0hKTEVCcXJjVExkcDk5bkNRa1dVUkY0aytLbzRlZ2gzVlFrQWtHTCtLVzZRM3Y4N2pqQVVhDQo2ekIxVEVVeENZTlRMNEcrZWZ5bG9NRzQ4aWlZM2cvSUx0Sm9ub1ZsZjZPL2hLS3hEMkQwMDdLN2FpbXFjdEJsDQptQzByQW9JQkFRQ3JDcmV4VGJ2bGhENlpTMHNqSUg1ejFCY0lGbWtJZWZGMEdqNGRTc3JDYm0rYmtqaDlpb0lhDQpCYmJxcGR2dFVxSGdqZXpPZjV1M3lhT09sYWs5L2tCblNER2FyNWJyLzZiV09qdnEyOXVxdXdiSElIVHFOK1N1DQpkZDlxYjZFaThtUnBFb2Z4NzVRRTlKcnJmM1pHam5BbFBadzRXTWRZOFZBZDl2dlRiaVNNU3YvczFzdWdqSytiDQpKMEE3RjdmZGk4SWlvUkhKVTZqVVArSFBKZjl3MDlkVE5oTy9GWEtKazNzR0d4V0NXbmxUMldQU3grNk9iVW9xDQptUms3eDRvN1ZPNkNDaFhTRUk4TGlQSEsrVnNSa1l1T2t4VDIyM2tEUzFQZExqdGtFa2V2aHlESGx1dnpHSktLDQozOXR6QWFib1N4L09NL29hUWJlR2s2K1QrYTFSaHF3WQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
        iotsensorsmqtt:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRXpDQ0F2dWdBd0lCQWdJVWFDck5iTnZ6eXE1NU9XaU5hb0IrY0tyVUlkc3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3R1RFWE1CVUdBMVVFQXd3T2FXOTBjMlZ1YzI5eWMyMXhkSFF3SGhjTk1qSXhNVEk0TURrME5qSTBXaGNODQpNekl4TURBMk1EazBOakkwV2pBWk1SY3dGUVlEVlFRRERBNXBiM1J6Wlc1emIzSnpiWEYwZERDQ0FpSXdEUVlKDQpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFOazZlOWtBdU5FaEwwNWY1NmNvTDg0Tk9Ob09YZk0rDQpkeEd1RlZGeFIzVzlSL2dhck9aNDNna21nZ2Q3WDNkcmNPZDVBM2tDREJ4MEhIejdRR1I0Y29SZm02VGpUZytFDQpYYUU4ZGg3UnE4SWpmbVlMWXF0b1RKcUdvYnZhZkJjb20wcm1wZnpnSEhiNVJuUjUyeWJPbmhNeW1vQ3FjNlJZDQpmcmVsK1R4Z2ViQy9tQlluZ0lFUlZsVDRqVDlQWlQ0b0h0UnFvR2srSkVWZGFwbFJLSG9MaW40ZmNLWGVaeERmDQpVZXd5a0trN2ppY0cxYmNGRGJqK3p1WUl1S1EyK2UzYVdxdDU0S2FuVXpHa3pKVXRUbjhVOEpIK05uVHlyV3M3DQpPV25SeXNpVmhjaEd3Tk5rb0ZoRXVmZnNyeUVQM2FaWHNLSWN4ZFl3cmdqdGJUVjNORlpMYkkvQ0RjamtIY3lZDQo0MGdndi94ckZYcjhsekVEU0hMU3NkRlduL3J5N1c4anhBUkVENFVPVEtRZ3VqNStYL3A4Z3B3NGhFZDgzWWVRDQpYWlFEZ2hxRUdZak5PRG5kKzZIbFNlS2FkdHlsSHVXalhPckYxSUxiZ0ZMSjEyTHlMSWlZZ1RQTzVPdFRuSDdvDQpHTXhyaHJ5Rk5GQUNRakJ3dHdGRmorOVM3NG5iZVJjdkRvd2VJUFJabWZJbVJzQjFJbDdVL0gwYzN4amVMUHNKDQp0N1NJUEl6U0pHa1BORk9UMWtXR0Q5VTMzWmF0OVZCekVWY3NxbEZiWlRQT1o3NmJ0a3d0QkRCSzVQd0RTOGY1DQppS25RUUFlWFRiQ2Z1QWY0RVM4WUl5Y1c2ZEE3dlBCaWZZa0Y0NlRWWTA2Rno0ekdKMDJkRnhtNEtJR1FtM1pFDQpqSGdmYmZydHV6aEpBZ01CQUFHalV6QlJNQjBHQTFVZERnUVdCQlRMNk42Tmsvam0xSzhsUitKMHp1YVBwKzFsDQpiakFmQmdOVkhTTUVHREFXZ0JUTDZONk5rL2ptMUs4bFIrSjB6dWFQcCsxbGJqQVBCZ05WSFJNQkFmOEVCVEFEDQpBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFERWtFcmxsSnVyUytTUkxPT1NBVk1TeU9nSEpJWllnY3JLDQpGWlJEa2M5TXF5STMrZEtnU1l5T0hjalhsb3ZEenYwWmozbWo3NFRZanhxZ01BRkc1SVJxNlZDZHFHQ3EwU2wwDQovTHFOZWJRRWwrSkRqZTJjSTM5TUJBa0QzVG1icENJR2RybXV2Nkh6YkdnZnRmeW9yT1JxV1VNTXRhemZRejg2DQpZRWl0R25NWHJyMC8rMUw2ejlGTml0VFlFNndJanRsR3BQSnlBY2d5dTBpZTZFMk8xZWlZSm5lSDJIMFkzeVhaDQpyZHhEbWQ5cjBrRDF5NzJoVkxPaDU5alIxZml4M3orNkc3b0Q2YUxYUFRPallHM0NXaElJS0djeFM3MjB0RUhzDQpyWnc4SWVwVm84V1FRdW1tZ2FPN3JuKzNqM2RVSWptRmd2Q3JNWE9BYWFiaHkyQ3JhYmJ6RDNIUWN3cE1IQjVCDQowUUhhODFiQ0kyeUNtWER1Um5LMTQ3RXo1Unh3MCsxZjA1Z2tsemUrckQ0K0FPbFJDZllKcTRkUnZITHJFRkRaDQp1eW1URERaajhWSFJkMFpwUFV4Skt3d3hkb3V6TmdaUlIrZWJ6NGRxSTdSOWh5OGxxY1NETjNCenZMaDl6bDV3DQpSQVcxQ3k4M3luR1lVNUJLalNTRVZhR3hUL2syK1JQOGRtSjF5ZDhWazJCTkpnZE5NbjBxTmovWitPbFlrWlZVDQo2VzJMR0xlcHVxOFdXdFVaQXVKb2xMMWtrZ0U4VVhoUG1mUDhGQm8xUkZNc3pXS0I3TnRPbWhKT01jdFhtWU91DQpYMXZwcG9QaUV5U3ZKNHNhdGxHNXFOVFFIVERMb3dzN0RrOEFZR0NleVJFN3RmaDZOV214VDFId1MyOFRseFM5DQpxc2h2VlVieTJRPT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg==
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUWdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTd3dnZ2tvQWdFQUFvSUNBUURaT252WkFMalJJUzlPDQpYK2VuS0MvT0RUamFEbDN6UG5jUnJoVlJjVWQxdlVmNEdxem1lTjRKSm9JSGUxOTNhM0RuZVFONUFnd2NkQng4DQorMEJrZUhLRVg1dWs0MDRQaEYyaFBIWWUwYXZDSTM1bUMyS3JhRXlhaHFHNzJud1hLSnRLNXFYODRCeDIrVVowDQplZHNtenA0VE1wcUFxbk9rV0g2M3BmazhZSG13djVnV0o0Q0JFVlpVK0kwL1QyVStLQjdVYXFCcFBpUkZYV3FaDQpVU2g2QzRwK0gzQ2wzbWNRMzFIc01wQ3BPNDRuQnRXM0JRMjQvczdtQ0xpa052bnQybHFyZWVDbXAxTXhwTXlWDQpMVTUvRlBDUi9qWjA4cTFyT3pscDBjcklsWVhJUnNEVFpLQllSTG4zN0s4aEQ5Mm1WN0NpSE1YV01LNEk3VzAxDQpkelJXUzJ5UHdnM0k1QjNNbU9OSUlMLzhheFY2L0pjeEEwaHkwckhSVnAvNjh1MXZJOFFFUkErRkRreWtJTG8rDQpmbC82ZklLY09JUkhmTjJIa0YyVUE0SWFoQm1JelRnNTNmdWg1VW5pbW5iY3BSN2xvMXpxeGRTQzI0QlN5ZGRpDQo4aXlJbUlFenp1VHJVNXgrNkJqTWE0YThoVFJRQWtJd2NMY0JSWS92VXUrSjIza1hMdzZNSGlEMFdabnlKa2JBDQpkU0plMVB4OUhOOFkzaXo3Q2JlMGlEeU0waVJwRHpSVGs5WkZoZy9WTjkyV3JmVlFjeEZYTEtwUlcyVXp6bWUrDQptN1pNTFFRd1N1VDhBMHZIK1lpcDBFQUhsMDJ3bjdnSCtCRXZHQ01uRnVuUU83endZbjJKQmVPazFXTk9oYytNDQp4aWROblJjWnVDaUJrSnQyUkl4NEgyMzY3YnM0U1FJREFRQUJBb0lDQURpS1VtWC9IQnZDeVc5YTR3N05GUFJLDQoyTHRZOWZjMEVRWFhDOUZ3N0txbW82N2VNcGFpYXhoeW4zR1hHUmdhTFA3eXJvYTJrN1JzUEdZRGQ1VXZESStMDQoyeFVsM05HSklGMnhRUVZ3aVlZMGV0ZlFxdFAyaDhuSXRSd1NHQzVtOFZTamlCeXpzSFQvR09tRU5oaDV1d2RBDQpLcHJHd3ViSjZlR2ZINm9wYWtNbyswcjQ2U2V1L1l1TVRpZG1ZUEcydTUrS1NVcGJWRkdCcVJkUzJuZzV2TWhyDQpJb1RweUdYSjJxYmgybWxTQ1FQN2NYRDdyY0N6QWVNNTdlVkFNZmxJMWtTL3FrdDJUZDhrQitQa01RUSt6UWNTDQo1ZFcydkpDbWo2RU5hL3lkZm43TWU3QUtCdm95bVQwQXEreXRGb0lQWFBnMUNRRmhGa3RZa1E1VGdwbmJjOXZVDQpXM0U5MEU2Z1ZqbXJjV3V0eFE1aXphU2RTS21lNWtkOGRlTVcwRlBBbzdyeGJ4ZG1OUkNtTGlob0tDMG5HaVRIDQpVKzlnd1NNVU9wNWZjZjRBTzczUkxiNU1QUWtGR1NRV3ZWNENwL1NkMllDaW53SSswWVg3RWQzY2EwUkZHY05xDQpTNk04cVVjZVhuMjZjQzJxRDFHQW13N2hMOXdrdjlNcE0vNjBoaC9pOUdOblRjcXdObXp5N1VOZU1LUlRrMnFtDQpya3o2WVlrS2RnTVIyT3FudFNOelljSDlUMGEyQUk5YTRhU0xpQWNaY2lQWEVVYmI5T3g4L1dVWWt5M3p5d3R6DQpZSHFWYXhsMWZCQ3N0V2tTUkUrcTc2a01qeElxS3dkUTc1RmR2MGkwK2V5NVBEdEl4bzVnU3NMczV0SDBZT3NTDQpsYzVUYmhsMFI2VmJIb3VSbDkySkFvSUJBUUR3cnFRTjArNzlQSldDOGQvV2RCVHFsU1d2ZGNHSUhnMzlsWlprDQp3T25PcENEQUdsZXoya3Y5U2xMQ2lPL0pZcFM1ODVkZGZaRG01K3kxZ3hRTnZYdGs5bElWVVRjR2wwSGtEUVhSDQpET1hYa0lLNWpscWxqcjhEOTl0VGpJOHdXaHpabXV3SUNYK01ZZElXeUJpVHhRVFlsdDZyTmZoTmo1MTVTUmY5DQpiTXNLT1JZSGNjUFdFdlpXWjZDYmc0ZXcyc1NqbC9qVHQrM05ZQTVyWCtwbTEyaFA4NW1JbjRHM0FseE9UTzlODQpXVFE0SFI1ZDF1NlI5L1prRW1UaXJnQnNaNEZZYUphdDdLOWhrY1B3dXZOMDQ3OGFybTlxL3FlYXh6NjdId0lEDQpBblBQUjc5cjdpbFFwSmFCZVFBM1VSMGNvOHJCUnVVL2dtUTV4SFJFYk03TE5HeGpBb0lCQVFEbkRiZno4MHVMDQpUMkllMnJPQ1puSko1VnZCSG82NFo0dDZkUHZTV09lbDM1S0VVVUJkRFE5YzM4OFFnUmFvRnc1M1FzSUFWTlNTDQorNUtRTEtCdjZRRFJLdFRmNEtMWXFZdWRGcmM0MVAwM3UwS3RWMWZCNklBcUFaejB5Qi9TSXRIY3VJVTMveDJlDQpjY3FRRmhMQmZGT29nVlg0VHdvcEJFREpQcGZyUGdiSzM4QktlUU1aeEZFK3ZxUzhXditKMDhTQ0plZEZsRjNFDQpRLzcxd0pBS1dzcmtWV0w3ekE5MVFnbms5UzczOTlQUHVJLzBQT3VxOXVuRG9XaG1rNDhJTHZXQnVEOHZodW5DDQoxVmFvcHBRMjNRMkpBblBXMFdwVGg2WEpDTkFBdGRQVFVDem5pTE1QeHlwenpEREd3a2JJKy9JeDJScEZyNDI2DQpyeU5NeXptRkE5cGpBb0lCQUFNNlpHcm5EOHFIdUgya0h0dHlmU0ZVVk1nUXJVTFZIRnp0VjdJTVFGYU1Md0JFDQptaTZJWEFLT3I2TjZVTFVEeEhqbUFuNjNnMjBGYVZCWjdMZnVkYXc1L1luWnFBSkhueE9lOVJnRHMwVjc0N1QzDQphdEhUbzA0N1VjN0NFTjJXSjlMbldBa1hqNFZqZm56ZHZDNm5NdFJ3MlpXMFNKdEp0TlArbmZyQkxjdjZUZ2hWDQpoMG5rd1RjUmRyNy9PWit1bjNxT1BFRWlzMmJReGdDOHJaa3BoSFdtRDhZY1ZaSU56dzBoelFmZGpXeS9QendFDQorUGd1T2pqSFltRUQ4bStCeCtOV3E4YXphUHJIQ0xpKzJTc1ZMdWY5dFBMYmJZWU83QkY0YmY5NlZmRk94Z3Q5DQppMEpRb3RBanZsUC9tNE5aMHd0YWx4S04vaWdrTVdjRmlwU0JKSDhDZ2dFQUJqMStuRjRUeWoxb253QzFIRzU3DQo0N2NJRlYwbjZaOFNTMHBoaXJyUDl0RGsraUhmcFNPM0tJRDY3SzB2MlhaVjg2NmY0clpuejFod0N1akpwSHdjDQpnNG11bWlWTkFLRURua2lBeGs0cVVKa0VJZjViNW1iTEgxZFB6K1NmeDJNZFcrSzM1bDFEaFlYNVBJNzhEckcyDQo2TFFsaUVGS092VmNjcEw0TTJoSGNxODhXRWFRYU4rK2VmMVlJYVlyaEtOdGlUNVEwclpCR2cza0V1c1NlTlVlDQo2YS9NcnBSQ1RwNXIrZjBOT2JFOXpUeGsxdW5XUzVYRGxuOERmTkc3YVRNcmVrZHBuWFQ5VnorL3lXcEdVbjBCDQo0cE5vWVlMaVprTWhuUjVaejhzWlgzbW8zTS82VmhEQStzT25CWmMxcGpQM3hKVGllc05WQnBlNFVsaWl3dzdwDQpsUUtDQVFFQXB3aWpkK3FQRGthc2F5TjEyV2dGWnJzOFpQOUd2b0pkMWtZdjJROGtTRmY0SFBvQmdMY1dmME5EDQo5OXc1Skw4dDA5cWhtZTVqdWxVY3pjSHdVZm9iSHkyT3BSRFIyb01pYU9WM3VzUzljREFoYjdTd0RML2oxYmg4DQozbHpuZUVLWTBmRjdJbXF4QlNDeTl3TDJRVVZ1WjRzTGR5dVB4ejNmN2dkRlA2V2QvS3YwT01GVXFPNVYwZ1ZsDQoxcmEzaHYwNDZEdWhJbzBucG13d3VnSkpwOHczSXdQeVMzM3QrS2Q4bXhyaHdCeEx1Z0kzZmlMdnB4ejVxb2xXDQpHdXRXUWxJMnQ2cER1RTlHcE5rL2F5Qm5KM3AzYWYxRE5KU1N2NTdXRlh2YytuYWR2YXZSdzBIUXJnYmt2WXpHDQpPU3Q1a0tUdHJJZ2hSL3JvaTZGUnRyUlFIQmJtclE9PQ0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ0K
        packmlsimulator:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGRlRDQ0F2MmdBd0lCQWdJVUhOSCtkMzhZTEF3NFJiK0ZEM3ljRnV2M0R1WXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3R2pFWU1CWUdBMVVFQXd3UGNHRmphMjF4YzJsdGRXeGhkRzl5TUI0WERUSXlNVEV5T0RBNU5EWXpNbG9YDQpEVE15TVRBd05qQTVORFl6TWxvd0dqRVlNQllHQTFVRUF3d1BjR0ZqYTIxeGMybHRkV3hoZEc5eU1JSUNJakFODQpCZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEybHE0TFpZcktmWmJaNGlJTFRCaWhadXJZMjNhDQpFVFVST3ZKRG1JWWwyNmlzUml2SHV1MGJvSVJEM0g5Qk5EL2ZKWEpWZmxLYXVsK2pHTGE2a3R3SXFoeTBZUjBMDQpOWVY5WTY0bmhLeGl3SlN1MWZoemxYRUI0Q3U5SkRDVUt0aDlpdnNudm80ZHV2aFFlMTBGUkt6YlVCY3Vra0d3DQp3MWNTejNleWpLR0trdzRjc1JyN1AxdWdPaFA4eDVOZWtPempTZzJpbUFmOTBpcnlZUnBOdjNOSm8zMkM1OWNxDQoyYWFpZlZpcjhobEdYYi9rRFoyeEpLbTcrMTdUdmxoWUhyc3ZvdE13Qm5EQjhzRkxDZVRnbmxTcUpjamFmN3NQDQoxbFRnTHhMWU1RdHpHbm1IQmlmNzFscTR6OEJHK0E5TTZIRFhaZkd0VmdhTVFORXRFMkxhMCtFMmFONjV3S1FSDQo5VVRKbFhMOEhVQTJWWVRuV0U4RGNvQkp6VmhIdXcxbG5aY3F5bXYzWjB5YmRta2hwL0NXb05yUTd3ZzBsa1FLDQphRk5OSmRDa2pkaUErMUxDa1pWZS9UdHdTNk4zNXN6dld5NnpTZEFaaUsrZ0FadHV1MldyckF3T2FBYUx0aWM0DQphc1k3SjlwL09TWnNwMjh1TVBXMzlsakhYbG1vR1phTlRGQnVIbm9LOXFaRmFlajQ0eWhKQnBQTVdHd1k3MXNLDQp6bnptZTQ5SW9wVzlUdytDb0cxRWxCdVUvRk43WjVKbll3NWpUaE5LWUhJcHJGT3dTWlRLUmVHdThmQkJySVRSDQpObEpLSE9TYnBqazVjM0VLT2E4NlRxaW9rMmxSRHBJcEtMc25iMUluWGs5V25VWEh6eHI3K3N0cFgyK3Jla2NxDQpweUdjMkIrcFVOZE5EQ01DQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRkdNdCtWNjdjRFhJUVlVR1RUMWYwMUZRDQovTnpLTUI4R0ExVWRJd1FZTUJhQUZHTXQrVjY3Y0RYSVFZVUdUVDFmMDFGUS9OektNQThHQTFVZEV3RUIvd1FGDQpNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFOakl0SjBUUmloSk01Sjk4Y1daNmkxNU9QSkkvbmFYDQp6RWNRZ3Fyc0kzVjB1YmNpcHE2citNTEhER2FBVElYR2dVaWQrNGJhSDVsNG95Q3hJR1BXL3VrcjFTSGNNVXhnDQp6WjJwM25nS01ac3h4Y3AxWFp6MVFUWXhDZm5XLzBSeUE0YkZhejRGcEpta25hMFc2NWlab0pZc1NuMHdhUTErDQpMQ1U3TlpmSE5TZ3JQU2wvSmQwOHM3azA5bnVXbER0MmFWWjdkRGlpcG9CSTh1N2JwcG0rZ29ZU1RnRVR3dGd4DQppZlIzNldHVXk2TWVJSzBGbktGOHM4eGxUTXJDaHdjOUM0bzdCNmRRbTRRTktVK3U1THBzTkZSWlI4RnQ0Tkx4DQpRY0F4UnJyM3VVQ1JqSytBVXNTN05IU0Y4TnVWVE8xd0VOcjErb25IeHpCM1hxWU9UUjVjLzd6L0JUK0F3b3BIDQp1NzRQUXd6NFZqM3N3T1JXSU1FUDBRMWFjUm5lMjZwdUhIUXh0WkpYbnZmWG5JdG15VmpudXhkeTNURXdHeXAvDQpLMERNL1cyQlpJRUZpeXk5eXdaYjg1K1JUdzBqdjBrNHR2enBnNUQ0QVJ6bXRXeTRLeEZsajBoanBFMHhYSkYwDQpvZFMwQ1A4Q0dtd3V5SW9LZGlnd0NBbExGM0Z6TjQvellDbEVkS0VqRzY2L1l4NjA2b29EMXFIM2dtZGpXeGhZDQovc0pmaVRGbjcxV3NTRFBxZ3NVRVl1ajJ0TG11V2xkTlhxR1ludzFQYnl5dDVYWUgydy9qTnZLTnRzaDdvZmJ1DQppRkNYeVE5WHQrbkhpUTZXNXZLdk5ZcGlZeHNHWitkcnZXOHpMUERuUXRFWWNTNGN0OEhBS2I4WUhZUDlpMjJFDQpmVjhnUkRPUERGT3YNCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg==
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUlFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTOHdnZ2tyQWdFQUFvSUNBUURhV3JndGxpc3A5bHRuDQppSWd0TUdLRm02dGpiZG9STlJFNjhrT1loaVhicUt4R0s4ZTY3UnVnaEVQY2YwRTBQOThsY2xWK1VwcTZYNk1ZDQp0cnFTM0FpcUhMUmhIUXMxaFgxanJpZUVyR0xBbEs3VitIT1ZjUUhnSzcwa01KUXEySDJLK3llK2poMjYrRkI3DQpYUVZFck50UUZ5NlNRYkREVnhMUGQ3S01vWXFURGh5eEd2cy9XNkE2RS96SGsxNlE3T05LRGFLWUIvM1NLdkpoDQpHazIvYzBtamZZTG4xeXJacHFKOVdLdnlHVVpkditRTm5iRWtxYnY3WHRPK1dGZ2V1eStpMHpBR2NNSHl3VXNKDQo1T0NlVktvbHlOcC91dy9XVk9BdkV0Z3hDM01hZVljR0ovdldXcmpQd0ViNEQwem9jTmRsOGExV0JveEEwUzBUDQpZdHJUNFRabzNybkFwQkgxUk1tVmN2d2RRRFpWaE9kWVR3TnlnRW5OV0VlN0RXV2RseXJLYS9kblRKdDJhU0duDQo4SmFnMnREdkNEU1dSQXBvVTAwbDBLU04ySUQ3VXNLUmxWNzlPM0JMbzNmbXpPOWJMck5KMEJtSXI2QUJtMjY3DQpaYXVzREE1b0JvdTJKemhxeGpzbjJuODVKbXluYnk0dzliZjJXTWRlV2FnWmxvMU1VRzRlZWdyMnBrVnA2UGpqDQpLRWtHazh4WWJCanZXd3JPZk9aN2owaWlsYjFQRDRLZ2JVU1VHNVQ4VTN0bmttZGpEbU5PRTBwZ2NpbXNVN0JKDQpsTXBGNGE3eDhFR3NoTkUyVWtvYzVKdW1PVGx6Y1FvNXJ6cE9xS2lUYVZFT2tpa291eWR2VWlkZVQxYWRSY2ZQDQpHdnY2eTJsZmI2dDZSeXFuSVp6WUg2bFExMDBNSXdJREFRQUJBb0lDQVFEVjhKVU1kVm9OWDBmbmhTcUh2Q1NMDQo3QjVjNlVFRUl3Nml4c1BjS1hQbWFMbUNkMXJXbDRLK0gxbXVMVERoMU1MNm1hK1NlYlVJYnJRS2Z0OEhEWGVmDQoxVWdXN3JJUTJwNGtrSG8vei9kaDRVdjhjZFl0MGUrWWlNSmxOd08xaHpCYWdBSk0va202NjVsUGhiQ252UVdVDQp6MkhlQTJjQnZjcThZL2NaT3gzZlA3QjFCbzZ0WVVUNElxVkZsZXJON0l3MS9tNFVyNS9OMEM1elhhWlhzc212DQoya1hzaWpGOTEzclZmWS9iUVZCa2dxTWJoQ29RVmczTkdQZzJRN0R6UzB3OUtOYWhPTkdPM0R4OWtUZFRhbmpiDQpWSlJoR2hOR1dScmVoSVEyYVpWNWx5RG9zenhZcGNMMkt0cGVLZitjcnhNYzIxS09PeFFvWGNyZ2Q3Y1lhazAzDQpXN1oxL2xITFBRQUtnTm42cUJad2FWeWJhR0czcVBRaVFRMTlKOXRIU3ZPNXhUTXViTytaSUJncFNSZWR0YXhTDQp2TzV4bm0xR0dERW9iUndhRkRSVzRTN05kdzRyRTVlYUdiVjYwY1h2eW9aT3U2dmpXODg4dkY3ektKVGYzeW1GDQpWWjZOOG82Z3VnZWRmY1l1RTRGaE8vK21tOXVmMHRQN1VOaVpqTW1EQmJYenlWazNYaWFBQTdTcWFYYlpYOWI4DQpUTmM3REE3MFhDN1RLK0ZwZU03TUVtNWIyN1UzTEhzaXBrcUdpNEIweEJkTG9HbjNGemxKWVN6ekNjb2IzK1drDQp5YlZyYTVPRlZGZ010R0duTU1lTXhlUU1NT0RwN2NFRGZJS3JNeVIrZmUwMkFhZS9WZjNXbzJGOTlLM0FCNFVJDQpyb01ockFRZkx1c0FsMjBTTkpsS2dRS0NBUUVBOGN2OFd6eUZMMWxENTRPb1g4SThHYjlGVjBKbm1oMXBDT3hZDQp4bUdpSnZMN0dRamNmaDZEYXliTkhmNzN2RnR3T1JMQmVUV1YrTmhKakZMbkVFS2cxTVRIK3RYcnQ2YVFQcFF2DQpLZExwSVVpM1V0VUNFVW40TEZUWGpDM0FqRkNJcU1PcUhZU1o3dFpVM3JRd3Z3bGV5K1pEU3JXK0MvOEc5M01wDQorNW5CMlhrUGJDTHhiSDRvazhLdFBxaFFaZi9GdmxRZlNxZVlIS3UxMHN2SGNXd0IyeGtzWCt3bkZQVHAzUmxzDQo2QmpFMFhycU5lTEozY1lrcWtJOU94aFpUejFhNE10UXJxQzk5b2tqSTRNUFVYRXQ3b21ScGRiME5yNXdMcjZSDQpZd3NLUC9Db2RPbHpVQyt6WGN4ZVljeGtyMnJKdVl1dmg3aCt2K2xnbDc5Sk90c1Jjd0tDQVFFQTV5NDM2aE9UDQo1K21WTklJMzJzbXpwUDR0aEJHYmg0TUZJZXlyZURYNjN3NEdmMXRaN1pPMnFraTBFT1Q2TUhTSmNOMGF6QVFPDQpIaFZkdzh4dW1WMThhL0xLRXgwTXVUK0xBVkVwSXR4bE9xSlZvSVEwOERMU3hNVkd0VDVxblNCMHV5TDZ3ejdZDQptdU9PNmwwNG54UFpFTjNPTk1pS1RuVXpQbmd4REFWQ1NuWDBMNldFa1FCL053Mk5oSlRhQUdGUHpBblZJMWM4DQpBamxuVFdHbERsK0o5V1ViU0N1V1BoaW05UE5sNnZvVXdWRWgzRlJ3QjlReHZwMUliYXdZeFFXb0tJblhlSjJUDQp2WUVtbktuT1lEeUJHVDk0MUUrK056L0k4aDJZN01kVCtYUDNaV0E3ZWFNNEs0aXQyeSs2SVFONjA0Z1I0Q21SDQp3N0FPWWFxTnNEU3VrUUtDQVFFQWdIcDZLZVI3aEZBek02WVNabWRuMWVwN0pzV0RGVEhCYU50a3hHeUdZNW5DDQpjR2Z6K1JPdmt0VDRNcE1UQWNPNFdxc3JvSU1ub0NVVTEzb0ppdXRNV0NJRGZMWUVYUDRsTVFzK0VFUWdXZTR3DQpjdFA2R0VPc21hbXZLcTM0M05YQjk2S1lGcjBwcWUyN0JPYkw3QVpIbDZKUGFUZ3V0bU1aU1l5bzV5YXBDU3c1DQpWS1V3a1F4cjlTK0JMSVQweTIzZm5hVkhSenpNSjVmWnNodFRhMklQam1MTzRGMHoydi9UOEFhZGhxbjZrckIwDQpHSlBiM1hwMmF2MXRXYVF6ZUZaS25wMkp6bkJjMzgyNG5ScjduYk84eXozUDVVWFZWKzFTNEpPajN2T3p5NHZODQpodW13dXcvTmgrNmF5KzUySlh0aG1yU3RYVGxjS0E4U295OGg4eU1LSHdLQ0FRRUEzdmZ6MDk4SUUzQjFpTXhqDQpaTENQaEgzbWxtK0pDejB4OFJOY0dqZ3QrMzZDZzhrdXhmWm5BbnZXdUVpd2laV01qZitpL2N5WGRTcDBZZ2xGDQpUc1FjNGR5c1M1MEVEWk9jMVN0Yk9wVkpTVEVTMXh0TUY3TmRGNDJSOGZMK1R3ZmpyaTVCbjVoNHY0TGs3MlB6DQozWEgrTk1kSlFCMS9UOGE0SXZNM2t2bHJnM2VhaVczaG14ellsZGVMZTZrNVRZNk5zU1Iybm54ZmsyR2NJY1VnDQp0ZWt0blRIa0MwcUd3T056KytMWmxMV1kyUThRVW5wYUJ5TUF5M0RWVDNuaDlmekx3RFdhVFdubCthdWIreFBIDQp5WWZ4bDlGaEQ1ek53R25UdkxrUktxWGhkMElEQlpLNEtreGpPNUc2NVNGMktxczVodFhCTCt2SCsrNU5JS09uDQp2cUJCRVFLQ0FRRUE1LzJLYVJ5d2FmZlFKSmpnL01PcVJaQ2ZXdUY2SGJhWFFZeGl2ZE1wRi9pS1hCakZDdHpLDQpTV1pZMThrS20weXJCc0Y0RjlMNkR5Q0ZhUHg1ZlhkQUVHNGZwMmN1a2V0S0llWWkyYTdvOXp1SWs3bmludmpHDQpwUEkyUlBqTEgvMWFXd1ROSHZ2bVBqVUVIQ0tXTnpPTVlvc3huZ0xpK2VLenhSM2p0eHJKN09zbGZSM3lENTNXDQpFVjdoWUhsU3orY1lqdnJVN01hRmI4endkYjVBNFlXL3BCRU84N2VSOXNmL2xZb3NaSTRkYmlYQnd2aUs1R1VMDQpmWjRETmlUZlduWnBqQm9XcEw5V3hINUV2ZUVzS1VpOFpuM0Qxb3I0VklaYVE2V2xNbXFWSkREc094eTlzQlN3DQpwWGhSWEg5NFpDcEZoMXJkWjZ6MlRRWk1xOUdqVGUzRENBPT0NCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0NCg==
        node_red:
          cert: |
                        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGQnpDQ0F1K2dBd0lCQWdJVUZaTENOYjFyRzZMK1hYVkpoVGFFZFdIVnRtRXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3RXpFUk1BOEdBMVVFQXd3SWJtOWtaVjl5WldRd0hoY05Nakl4TVRJNE1EazBOalF6V2hjTk16SXhNREEyDQpNRGswTmpReldqQVRNUkV3RHdZRFZRUUREQWh1YjJSbFgzSmxaRENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEDQpnZ0lQQURDQ0Fnb0NnZ0lCQUxlWVNMR0k1UXBlWC9XK3JpMHZqd3Fva2JwTkcyd2ptcU11N0hSYW5TaE1oQjQ2DQpZWEZjOEdVV3p2UTdrWkFBZEROTElvTGFTczJZMFpPVG9KOUpVbUYxeUVCUzcvRnJ0NmsyTGJLZndSVjhHV0FyDQpDZjg5SURJT1RGSmJmTW1Bakg5YmRPaGN5RjhIeS9nUWZzU3JKYUFVS2xFOWw2WFdNdTNoVU9PSXp2eTJBR0UrDQplb2FSbDVjcnViVmhjYWpSeTlJWjMxMkJDa21VaFBHYnpORlJzOXVoVWpWQ0pOcWd0MDJWQW4rb1NOa0FFSDh0DQpVZ0Q3TG1VdkcwVG90a2NaUnpVekppbTVyYlZrcGtva3B5bjZMZjZkU281amYvMFBYZTJhL3Vnc0hPaDdpazdRDQphTk9hZ1c4OGhBeFZIM3lPMEZkMmVncHUwcmg2MjdUTXBhUVBiZkQxTlJXOFN3R3pzeFQ1RlZwOHJZcldUVGx0DQpnOU1wdTBQV0tuc1NiRitkWEdjd0JVYTcyVFM3ZVJDcTFEMm1WMHY3MjlMQ1BuOTdBYjIzc3pvSmRJZmE2RFI3DQoreG5nNkdwRWZUNmhCSlpwZ0JVOWhLU1ozVURBbzV5N1hTZXdDZ0dzL0huWkhUKzU5MkEwbjFEVGNWQ09JRTNsDQpGc0xncVR0OFpnU2daUGpVWFd0WnBDVEluOElOY2czd0xoNVhOVERSdGJkd29XeDMzVkt4WFFPNlc5KzFqU1NrDQpJR0FSaUJCYzdBRUVnUzdTeENMbEhKZXJPNDdFemZra0JRU0Z0SEVUcTZpYkRMVnZCNDdpbjdJby9IWTFza0g4DQpiTW41UHIzWmRFb21Fbmh2VHlHbEwxODZHVHgzaS9DcncrWjlpQXdQZW9VQ1BLRUIrZkdLUGg3a1JCeFhBZ01CDQpBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUWo2L202VENOQkZzZ1dGWHAzMTI4dXZRRTNJREFmQmdOVkhTTUVHREFXDQpnQlFqNi9tNlRDTkJGc2dXRlhwMzEyOHV2UUUzSURBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzDQpEUUVCQ3dVQUE0SUNBUUJpY21QcmpMb2RwTmpQMHhiMWE1K2NOYjNXbUZJWXFVSkE2UmkycHNBNzBpNmo0S0dHDQpxRDY2d3IyWVdsOE4vVFJXL2pLYVJtREtHalhZWElFSTNMZXZyaE1aaytMMnBoTDloWnVlK3A0R2NsOGhpLzVsDQpZcWFGWUN1N3BwUm1tTTFlcFJWanYzRmwvTXpRNVltWWRUclpwN3V3NmduOHdqR2o5cm1QTFdHVjFCMTh2VXN6DQpibGRBRVJSTkF4Y3FEZVhpMnRFczRhRHdQNGVNWjZ2MXNoMmIwaVVmTCtLWTM0MExvOHNwa3BWR0xDeVgwSVlODQpyK1FmdzVCRVVOV2htTUpnMUFTZUQ0eUlyWFdoQWJacktXaGIxbHIvdUV2dXJsSGEybTMrK0pNODNtUWkzL1EyDQpaL05GaUpCOGFVbXA3T3ZTVE1OTHk5YXRjWDI1OEpOOWpiSUxPUjFNWVIxMjYvTEYxcHh3ekI3NEhjS1FhUCtqDQp6VlpXV1BmbU5ubmVoOVZKVjZkVDZPeDVuMlBvOTJUTWN5Z2hQZWhMbTlXaHkvYzdkUnYwWEVyb0h0UUxlRnl6DQo4TzBWMW9TUFJiZzUyV2E0cFFXczRubUFYRmhCOEt4bTFVNitMR1c3ZnUyNmdDeXhUUXJBYlFlRXEwL2xvZXlZDQp5ZERNZnFmbDZ5Yi9Gc0t5NlU4YnN3UDg2djhlUGErc2ZtZ1orT0NqVTllK2tndGlmTkFZRHpPMHJ1Q2t3VDBuDQpJUHJTbW5hQUVQS0ZxVlNpVTVBQkRXRlpoTkptbWhqSFhLSTF0NG1pcEt4SjRkMkc2ZmREMVM1UFFBc0g5NTIyDQpGWmlXa3QrQVh2RCtoWFVFS3lLVHZUdnBNVkFWaTc5eTRrUm0wSFBuaHUyOWxlS1J5WFprUHhSYjRBPT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg==
          key: |
                        LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlKUVFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTc3dnZ2tuQWdFQUFvSUNBUUMzbUVpeGlPVUtYbC8xDQp2cTR0TDQ4S3FKRzZUUnRzSTVxakx1eDBXcDBvVElRZU9tRnhYUEJsRnM3ME81R1FBSFF6U3lLQzJrck5tTkdUDQprNkNmU1ZKaGRjaEFVdS94YTdlcE5pMnluOEVWZkJsZ0t3bi9QU0F5RGt4U1czekpnSXgvVzNUb1hNaGZCOHY0DQpFSDdFcXlXZ0ZDcFJQWmVsMWpMdDRWRGppTTc4dGdCaFBucUdrWmVYSzdtMVlYR28wY3ZTR2Q5ZGdRcEpsSVR4DQptOHpSVWJQYm9WSTFRaVRhb0xkTmxRSi9xRWpaQUJCL0xWSUEreTVsTHh0RTZMWkhHVWMxTXlZcHVhMjFaS1pLDQpKS2NwK2kzK25VcU9ZMy85RDEzdG12N29MQnpvZTRwTzBHalRtb0Z2UElRTVZSOThqdEJYZG5vS2J0SzRldHUwDQp6S1drRDIzdzlUVVZ2RXNCczdNVStSVmFmSzJLMWswNWJZUFRLYnREMWlwN0VteGZuVnhuTUFWR3U5azB1M2tRDQpxdFE5cGxkTCs5dlN3ajUvZXdHOXQ3TTZDWFNIMnVnMGUvc1o0T2hxUkgwK29RU1dhWUFWUFlTa21kMUF3S09jDQp1MTBuc0FvQnJQeDUyUjAvdWZkZ05KOVEwM0ZRamlCTjVSYkM0S2s3ZkdZRW9HVDQxRjFyV2FRa3lKL0NEWElODQo4QzRlVnpVdzBiVzNjS0ZzZDkxU3NWMER1bHZmdFkwa3BDQmdFWWdRWE93QkJJRXUwc1FpNVJ5WHF6dU94TTM1DQpKQVVFaGJSeEU2dW9td3kxYndlTzRwK3lLUHgyTmJKQi9HekorVDY5MlhSS0poSjRiMDhocFM5Zk9oazhkNHZ3DQpxOFBtZllnTUQzcUZBanloQWZueGlqNGU1RVFjVndJREFRQUJBb0lDQUJJR0wwek9wYjNJMmg3a0kzRm9NK0RWDQovOGlNZlY2MmVCNEJJMUdnKzhEVEVqMXRlZGVKU2tpQ1hycjNoaWpmQW9sdW5PcS94NHc3cm9lUWZMcG1sbUhmDQpFRlBRVUtJZzh4ejNwckRjb2pZYnd0b0FIN0VoTFNIODZWMUVnaEcrUHd6Wnk3WnNOWGV1NmtWbVNTdkJxYVgzDQpsTmY0OWdSZjdRd1JqTUZwMHZoWVhkMHVKeFZEQWVEamVBM29qU0lIeHJ6UHNYQWFsUW40UEwwRGtLNFVHVlk4DQpsamVJVU5udDRWRUtpZjVDWlRSNG55WDlLd25SbnhKcjkzOWlZVkxGbG9vUWhYU2ZPQUNRNndwb1lzanFPTTNBDQpYMnR2TlVlQTFMWFkrNkdMZ3lNSHplSkM3NmVtaVlLRUxHcVJpTS9QcllDSXJ4NkxGc0RwdnR3WEkwUGlCK2J2DQplUUdpcEpxb3IyeTJ3b1pGbDRsL0lzaml3V1lyRlNQbjMxWUlIbFFkM2hYMlpVWmRjSWFmNGlyalhkZGduelZJDQo1UUFSc1N3OWNKcUVlUkZhdERaQjRaVm4xV2tpdHlic1VJZThNc3lFWWhSUTlMdk9xVi9QeHpVUjF0VEU3RzZvDQpVMGYvc3k4MldWUlpWT3FiV3krb1IyQWlNVXZWbjh4Zy9TV29ZVkdkK3ZjZ0kvanB2T081Zk9DQUp1LzY4ZVE0DQpyM0hxSU5ocVlBR09Ja1EybVNRLzVGUC9qR3pFSkhmYm4yY3BVK3hHblB5YjhudHRDRStvZGZ0MUErdG9QWmZODQowb29CT1FHTWQ5NG9OTnNWWFhrR1YydWsrUHRIY09FelBlRzVvaklzbEd0VTI2eHdsZFlvVDNPOTZlSXZkRnJ6DQo4eUlTYmpuVzdjN0p5aHBWUVd6QkFvSUJBUURjVzlXQkQ1SGJtY3JETElXdlB5NkR3N09jWXg2U0RMTTBTbUIzDQpjR0RPUU1pdTRvSSs1cW1LSXNPTktXUi9tQ0hKZUFrbDIxT0ViR2lFbHgvUHdicEZNaFk0aVgrdGFJd1NaN1N0DQpqOEtuaGp6NDE5M1NLVjdHYVo5TTRMSWVJZUtmRUh4a2RHNDVIMTRBckVFUEh1YjE1SFhvdUhxc1g0b0g1VEo2DQpBR3ltQ0FHTjdJSFpCblZkVWloU1I3b21hZXpXbHV5WE0rQVBZOUM4aHVtNlBERFE0T3FJUGpkWmY3bzZKd3kzDQpTTnBoWHp6ZERyZDB2YXRidnlEdWI2Nkxja3hGSGJuRFQ1TisxRjJjdGJLVmh3K25TaUNaNEIzLzJ2VHJwTFcyDQpvbmQxaStSMW82akhnTnZ4OHRFYmpUNWhhczEyZ2k2Y0FQKzFKOGVoNkxLTWp6am5Bb0lCQVFEVlNqVGRvOHBhDQpDNHdEZk9JcXRBYm94SkYwRnpMeEozdXB5S0hvanM1V3N3KzVSS01kNVpId3hMbEhwN2NTNktEWHFRK2NmMFBrDQpQenRmc0lWWWJybnM3elFYUHZQaE5JWE9lYVVqTG5QUjhuN3cvMWpvY1FUZHNvUUkzcmFEeGhRenBOWEpoWE1rDQpxL21Bc085eW1yVTIzcVJ2MjRrYVI5emZlVkNkOVdEVzJ1WmVweDgvUTNVRXhWYW50ZGdQVEE0QkxuSDZnSGRaDQo1UzJ0czQwZFJsTHd2dG81SnFtY2g0QTZnMFdadXU2UUQ0c0ptaklKbnVLcDJTSVl6UnBKeTdzbXlyeWprMUxtDQpNa3JRZjFCQ01DY2ovb2d1NFFOK0NlcXFOT3c2Y1RTQ3hXUWd0Rk0wV3RXUys0N3F5WTFsOEw2Z0RJeWIyeXYxDQpEN0FybnQ0K1FHTVJBb0lCQUhyWEh1QkJnN2Y5dGRDem94cWNpQnVnSHlKUkJ4dTN4TGFqdDc4ZGdIbTZGNldXDQpVN0VvK040dW53QzBVSGZvb1AwazAwU3RUWk9HczRVbWtlOUpPY09WTmxueUhLRFlwUzBsYnMxS1ZPTDZyRWEwDQpYODNtamhUaGtKSlV1RGFnQVN0WEQyRVludEZ0TVFRREFvbWhXbk05RnBYVE1WK2lLdHBYNUptcVh1YjNrNVpBDQpmK294OVg4K2E0Zml3RnpsczhlMGZ0T1RjWlppdUZ4QWdVNzJldWdXV2VmMWR2bUhnSk1tYmFwSERLWTNaMEI4DQpFYjBjZHNoQWRlVTFrUUhmaDdFSDd5UjMyZXRjQzR0dXBzMUFhM09BbVVmdWJnclJUck9HTUY1TmwzYUpzNlA0DQp4Zi9oVDd0QzkxcjZsQW5PZGhkWVh3OU1aei9mbXlRaENsZmRCNFVDZ2dFQVZtZFNWVHRGL1FaU2VSTTlOOWxvDQpOeUZ5WHhvS3pBQ1hxeWNZMS9JS0NydE5NbHRvelBLMEZWcE1TSWZidFRCQ0FEdC9sSUZGeXBBSENIT2xBVGNSDQo0TGJpWGt4bFZhVUdVNmVaeTAvRklaYmY3OWN4ZURCWXJVcmxEQWJVM3pyOThoSGpmVml2VlhySmYyV3VDcm83DQprUGZPbTNYTzY3T1MrWURXdExhenZUWStQcmZyQTZEYkpjeWZseDhtWU1RSnBGYmhXMzV4V3h4cFRjVy84ODBLDQpTbmEyUnBLd0FUWXZMd1VBekE4YkY0Y0VaeVp0QU5LNXRkNjlYbGl3UHBibXdRYytOZkcza29OckpWMTk4T0k2DQo2T3p5MURMWlRGVE9HSmVKM3Y3L0s3NjFHajZTdWxIVjFVNU5EallLTHZMQTltcy9CdUJaeFZQT3BVMGRjUkI2DQpVUUtDQVFCU0hFRGQzd1pGR0tEMEl3UlNHS2R5bVJUeDMwRWdwandjYU45eGZ6Z0xsbFR0MGdLTWpJVFpYVFFXDQpBRktseS9ndE91UUIyeGl0ejFsL3NMb3pKNmxyMnZudWdoTXhkNysyTzdLTEp1RHR2a1V4NHRtWm83c0ZtRG1hDQo4QUk1cE1sTFZVQWh6UlhjU01tanllZE1LTHhEaXRHRVBFUmNwL0toenZJMitPM1dodHE5MXI5Vk5OWmpPVmdXDQpDTnIwZWQzR2hBbmwrbktTWXd3bXBhNHdGWG9qM3VlV0VVaW43R04zbUpVb3hKWWhvZDdCL1lyQWE4dEdURUpzDQpRNngwZUFjYStPMjhSNXFxaGlGb1o3RFcrc0dNeDBmVlovNzFzWTBYcEZLeE9zUDNrRGZGbFdsWlV2NXRpYXVWDQp5d2FXZU9neVVkL1RKU3NLMUFOT1UxUkNEV0dwDQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tDQo=


    # apache kafka, mqttkafkabridge, kowl, kafkatopostgresql
    kafka:
      enabled: true
      useSSL: false
      defaultTopics: ia.test.test.test.processValue;ia.test.test.test.count;umh.v1.kafka.newTopic
      tls:
        CACert: |-
          -----BEGIN CERTIFICATE-----
          -----END CERTIFICATE-----          
        kafka:
          cert: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
          privkey: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
        barcodereader:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkabridge:
          sslKeyPasswordLocal: ""
          sslKeyPemLocal: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePemLocal: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
          sslCACertRemote: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
          sslCertificatePemRemote: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslKeyPasswordRemote: ""
          sslKeyPemRemote: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkadebug:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkainit:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkastatedetector:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkatoblob:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kafkatopostgresql:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        kowl:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        mqttkafkabridge:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        nodered:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            
        sensorconnect:
          sslKeyPassword: ""
          sslKeyPem: |-
            -----BEGIN PRIVATE KEY-----
            -----END PRIVATE KEY-----            
          sslCertificatePem: |-
            -----BEGIN CERTIFICATE-----
            -----END CERTIFICATE-----            



  # timescaledb, factoryinsight, grafana, redis
  # datastorage is the basic infrastructure to get messages from MQTT, storing them in a database and exposing a REST API with KPIs that can be used in Grafana (contains timescaledb, factoryinsight, mqtt-to-postgresql, grafana, vernemq, )
  # If you want to enable only some of these components, set enabled to false and enable them in the detailed configuration below 000_commonConfig
  datastorage:
    enabled: true
    db_password: "changeme"

  # factoryinput, grafanaproxy
  datainput:
    enabled: false

  # mqtt-to-blob, minio, kafka-to-blob
  # blobstorage is the infrastructure to get image messages from MQTT and store them in a min.io blob storage (contains mqtt-to-blob, minio)
  blobstorage:
    enabled: false

  # mqttBridge allows connecting multiple United Manufacturing Hub clusters, e.g., the installations on the edge with the central cloud
  mqttBridge:
    enabled: false
    localSubTopic: "ia/factoryinsight"  # /# will be automatically appended to the string specified here.
    oneWay: true
    localPubTopic: "ia"
    remoteBrokerURL: "ssl://united-manufacturing-hub-vernemq-local-service.united-manufacturing-hub:8883"
    remoteBrokerSSLEnabled: true
    remoteSubTopic: "ia"
    remotePubTopic: "ia/factoryinsight"  # /# will be automatically appended to the string specified here.


  kafkaBridge:
    enabled: false
    remotebootstrapServer: ""
    topicCreationLocalList: ia.test.test.test.processValue;ia.test.test.test.count;umh.v1.kafka.newTopic# ; seperated list of topics to create on local broker, if they do not exist
    topicCreationRemoteList: ia.test.test.test.processValue;ia.test.test.test.count;umh.v1.kafka.newTopic # ; seperated list of topics to create on remote broker, if they do not exist
    topicmap:
  # Example topic map
  #      - bidirectional: false
  #        name: HighIntegrity
  #        send_direction: to_remote
  #        topic: ^ia\.(([^r.](\d|-|\w)*)|(r[b-z](\d|-|\w)*)|(ra[^w]))\.(\d|-|\w|_)+\.(\d|-|\w|_)+\.((addMaintenanceActivity)|(addOrder)|(addParentToChild)|(addProduct)|(addShift)|(count)|(deleteShiftByAssetIdAndBeginTimestamp)|(deleteShiftById)|(endOrder)|(modifyProducedPieces)|(modifyState)|(productTag)|(productTagString)|(recommendation)|(scrapCount)|(startOrder)|(state)|(uniqueProduct)|(scrapUniqueProduct))$
  #      - bidirectional: false
  #        name: HighThroughput
  #        send_direction: to_remote
  #        topic: ^ia\.(([^r.](\d|-|\w)*)|(r[b-z](\d|-|\w)*)|(ra[^w]))\.(\d|-|\w|_)+\.(\d|-|\w|_)+\.(process[V|v]alue).*$

  kafkaStateDetector:
    enabled: false

_001_customMicroservices:
  -
    name: example
    image: hello-world:latest
    enabled: false

    # imagePullPolicy: Always is recommended when using latest tags. Otherwise, please use IfNotPresent
    imagePullPolicy: Always

    # these will be passed as environment variables
    env:
      - name: LOGGING_LEVEL
        value: PRODUCTION

    # this will expose port 80 on the host on port 8080
    port: 80
    externalPort: 8080

    # startupProbe, livenessProbe, check whether port 9090 "/health" is accessible.
    # If not (e.g., due to container stuck), the container will be restarted
    # startupProbe: 100
    # livenessProbe: 50
    # probePort: 9090

    # statefulEnabled will automatically mount a volume under /data, which can be used to store data.
    # Recommendation is to turn it off
    statefulEnabled: true
  -
    name: example1
    image: hello-world:latest
    enabled: false

    # imagePullPolicy: Always is recommended when using latest tags. Otherwise, please use IfNotPresent
    imagePullPolicy: Always

    # these will be passed as environment variables
    env:
      - name: LOGGING_LEVEL
        value: PRODUCTION

    # this will expose port 81 on the host on port 8081
    port: 81
    externalPort: 8081

    # startupProbe, livenessProbe, check whether port 9091 "/health" is accessible.
    # If not (e.g., due to container stuck), the container will be restarted
    startupProbe: 200
    livenessProbe: 500
    probePort: 9091

    # statefulEnabled will automatically mount a volume under /data, which can be used to store data.
    # Recommendation is to turn it off
    statefulEnabled: false
  -
    name: cmtester
    image: unitedmanufacturinghub/custom-microservice-tester:latest
    enabled: false

    # imagePullPolicy: Always is recommended when using latest tags. Otherwise, please use IfNotPresent
    imagePullPolicy: Always

    # these will be passed as environment variables
    env:
      - name: LOGGING_LEVEL
        value: PRODUCTION

    # this will expose port 81 on the host on port 8081
    port: 81
    externalPort: 8082

    # startupProbe, livenessProbe, check whether port 9091 "/health" is accessible.
    # If not (e.g., due to container stuck), the container will be restarted
    startupProbe: 200
    livenessProbe: 500
    probePort: 9091

    # statefulEnabled will automatically mount a volume under /data, which can be used to store data.
    # Recommendation is to turn it off
    statefulEnabled: true

##### DO NOT CHANGE ANYTHING BELOW HERE (except when you know what you are doing) #####

serviceAccount:
  create: true

### kafkastatedetector ###
kafkastatedetector:
  enabled: false

Last modified February 17, 2023: update (#208) (ea731fc)