15 minute read
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.
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
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/serialnumber | usually the hostname, so name of the edge PC; used in sensorconnect, kafkabridge, barcodereader | string | any | dccaachenedge1 |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datasources/barcodereader/enabled | Enables or disables the microservice barcodereader | bool | true, false | true |
/datasources/barcodereader/USBDeviceName | name of the USB barcode reader | string | any | Datalogic ADC, Inc. Handheld Barcode Scanner |
/datasources/barcodereader/USBDevicePath | Linux device path; if empty it will use the USBDeviceName | string | any valid device path | /dev/ttyUSB0 |
/datasources/barcodereader/customerID | customerID used in the topic structure of messages | string | any | raw |
/datasources/barcodereader/location | Location used in the topic structure of messages | string | any | dccaachen |
/datasources/barcodereader/machineID | the asset/machine ID used in the topic structure of messages | string | any | barcodereader |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datasources/sensorconnect/enabled | Enables or disables the microservice sensorconnect | bool | true, false | true |
/datasources/sensorconnect/iprange | IP range in CIDR notation | string | valid IP ranges | 192.168.10.1/24 |
/datasources/sensorconnect/enableKafka | Enables or disables Kafka message processing | bool | true, false | true |
/datasources/sensorconnect/enableMQTT | Enables or disables MQTT message processing | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datasources/cameraconnect/enabled | Enables or disables the microservice cameraconnect | bool | true, false | true |
/datasources/cameraconnect/trigger | How the camera is triggered, either via MQTT messages or via a continuous time trigger | string | MQTT ,Continuous | MQTT |
/datasources/cameraconnect/acquisitionDelay | Delay between trigger and picture acquisition | string | any floating number | 0.0 |
/datasources/cameraconnect/cycleTime | Camera cycle frequency, only relevant when trigger is continuous | string | any integer | 4 |
/datasources/cameraconnect/imageWidth | Width of images taken in pixels | string | any integer | 800 |
/datasources/cameraconnect/imageheight | Height of images taken in pixels | string | any integer | 800 |
/datasources/cameraconnect/imageChannels | Number of color channels of the camera | string | any integer | 3 |
/datasources/cameraconnect/macAddress | MAC address of the camera | string | any valid mac address | 02-2625A-09849 |
/datasources/cameraconnect/exposureTime | Exposure time of the camera in ms | string | any integer | 1000 |
/datasources/cameraconnect/exposure_auto | Enables or disables automatic exposure time adjustment by the camera | string | Once ,Off , Continuous | Once |
/datasources/cameraconnect/pixelFormat | Pixel format used in image acquisition | string | Mono8 , RGB8Packed , BGR8Packed | Mono8 |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datasources/iotsensorsmqtt/enabled | Enables or disables the microservice IoTSensorsMQTT, which simulates data | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datasources/packmlsimulator/enabled | Enables or disables the microservice PackMLSimulator, which simulates a machine | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/dataprocessing/nodered/enabled | Enables or disables the microservice nodeRED | bool | true, false | true |
/dataprocessing/nodered/defaultFlows | Enables or disables whether to load default flows into nodeRED | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/infrastructure/mqtt/enabled | Enables or disables the hivemq MQTT infrastructure container | bool | true, false | true |
/infrastructure/mqtt/adminUser/enabled | Enables or disables the hivemq admin user | bool | true, false | true |
/infrastructure/mqtt/adminUser/name | name of the admin user | string | any UTF-8 string | “admin-user” |
/infrastructure/mqtt/adminUser/encryptedPassword | hivemq custom encrypted password for the admin user authentication | string | any UTF-8 string | see below in “Example” |
/infrastructure/mqtt/tls/useTLS | Enables or disables TLS encryption | bool | true, false | true |
/infrastructure/mqtt/tls/insecureSkipVerify | verify that cert content matches server. IP matches what is in cert etc. | bool | true, false | true |
/infrastructure/mqtt/tls/keystoreBase64 | Base64 encrypted version of the hivemq keystore | string | a validly encrypted keystore | see below in “Example” |
/infrastructure/mqtt/tls/keystorePassword | Password of the hivemq keystore | string | any UTF-8 string | changeme |
/infrastructure/mqtt/tls/privateKeyPassword | Password for the private key in the keystore | string | any UTF-8 string | changeme |
/infrastructure/mqtt/tls/truststoreBase64 | Base64 encrypted version of the hivemq truststore | string | a validly encrypted truststore | see below in “Example” |
/infrastructure/mqtt/tls/truststorePassword | Password for the hivemq truststore | string | any UTF-8 string | changeme |
/infrastructure/mqtt/tls/caCert | Certificate Authority certificate | string | a valid CA certificate | see below in “Example” |
/infrastructure/mqtt/tls/factoryinput/cert | Certificate for the MQTT Authorization for factoryinput | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/factoryinput/key | Private key of the certificate for factoryinput | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_kafka_bridge/cert | Certificate for the MQTT Authorization for mqtt-kafka-bridge | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_kafka_bridge/key | Private key of the certificate for mqtt-kafka-bridge | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_bridge/local_cert | Certificate for the MQTT Authorization for the mqtt-bridge local broker | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_bridge/local_key | Private key of the certificate for mqtt-bridge local broker | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_bridge/remote_cert | Certificate for the MQTT Authorization for mqtt-bridge remote broker | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/mqtt_bridge/remote_key | Private key of the certificate for mqtt-bridge remote broker | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/sensorconnect/cert | Certificate for the MQTT Authorization for sensorconnect | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/sensorconnect/key | Private key of the certificate for sensorconnect | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/iotsensorsmqtt/cert | Certificate for the MQTT Authorization for iotsensorsmqtt | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/iotsensorsmqtt/key | Private key of the certificate for iotsensorsmqtt | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/packmlsimulator/cert | Certificate for the MQTT Authorization for packmlsimulator | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/packmlsimulator/key | Private key of the certificate for packmlsimulator | string | corresponding password | see below in “Example” |
/infrastructure/mqtt/tls/node_red/cert | Certificate for the MQTT Authorization for Node-RED | string | a valid authorization certificate | see below in “Example” |
/infrastructure/mqtt/tls/node_red/key | Private key of the certificate for Node-RED | string | corresponding password | see below in “Example” |
/infrastructure/kafka/enabled | Enables or disables the Kafka broker container | bool | true, false | true |
/infrastructure/kafka/useSSL | If enabled, Kafka uses SSL protocol for comm security | bool | true, false | true |
/infrastructure/kafka/defaultTopics | Standard topics the Kafka broker subscribes to | string | valid Kafka topics, lined up without space, seperated with semicolon | ia.test.test.test.processValue;ia.test.test.test.count |
/infrastructure/kafka/tls/CACert | Certificate Authority certificate | string | a valid CA certificate | see below in “Example” |
/infrastructure/kafka/tls/kafka/cert | Certificate for the MQTT Authorization for the Kafka broker | string | a valid authorization certificate | see below in “Example” |
/infrastructure/kafka/tls/kafka/privkey | Private key of the certificate for the Kafka broker | string | corresponding password | see below in “Example” |
/infrastructure/tls/barcodereader/sslKeyPassword | Password encryption of the SSL key for barcodereader. Is an empty string if no password is used | string | any | changeme |
/infrastructure/tls/barcodereader/sllKeyPem | Private SSL key for barcode reader | string | a valid SSL private key corresponding to the SSL certificate of barcodereader | see below in “Example” |
/infrastructure/tls/barcodereader/sslCertificatePem | SSL certificate for barcodereader | string | a valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkabridge/sllKeyPasswordLocal | Password encryption of the SSL key for the local Kafka broker. Is an empty string if no password is used | string | any | changeme |
/infrastructure/tls/kafkabridge/sslKeyPemLocal | Private SSL key for the local Kafka broker | string | a valid SSL key corresponding to the SSL certificate of the local Kafka broker | see below in “Example” |
/infrastructure/tls/kafkabridge/sslCertificatePemLocal | SSL certificate for the local Kafka broker | string | a valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkabridge/sslCACertRemote | CA certificate of the remote Kafka cluster | string | a valid CA Certificate | see below in “Example” |
/infrastructure/tls/kafkabridge/sslCertificatePemRemote | SSL certificate for the remote Kafka cluster | string | a valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkabridge/sslKeyPasswordRemote | SSL key password encryption of the SSL private key of the remote Kafka cluster. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/kafkabridge/sslKeyPemRemote | The SSL key corresponding to the SSL certificate of the remote Kafka cluster | string | a valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkadebug/sslKeyPassword | Password encryption of the private SSL key of the Kafka debugger. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/kafkadebug/sslKeyPem | Private SSL key corresponding to the SSL certificate of the Kafka debugger | string | a valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkadebug/sslCertificatePem | Private SSL certificate for the Kafka Debugger | string | a valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkainit/sslKeyPassword | Password encryption of the private SSL Key of kafkainit. Is an empty string when no password is set. | string | any | changeme |
/infrastructure/tls/kafkainit/sslKeyPem | Private SSL Key corresponding to the SSL certificate of kafkainit | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkainit/sslCertificatePem | SSL certificate for kafkainit | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkastatedetector/sslKeyPassword | Password encryption of the SSL key of kafkastatedetector. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/kafkastatedetector/sslKeyPem | Private SSL key corresponding to the SSL certificate of kafkastatedetector | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkastatedetector/sslCertificatePem | SSL Certificate of kafkastatedetector | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkatoblob/sslKeyPassword | Password encryption of the private SSL key of kafkatoblob. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/kafkatoblob/sslKeyPem | Private SSL key corresponding to the SSL certificate of kafkatoblob | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkatoblob/sslCertificatePem | SSL certificate of kafkatoblob | string | a valid SSL certificate | see below in “Example” |
/infrastructure/tls/kafkatopostgresql/sslKeyPassword | Password encryption of the private SSL key for kafkatopostgresql. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/kafkatopostgresql/sslKeyPem | Private SSL key corresponding to the SSL certificate of kafkatopostgresql | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/kafkatopostgresql/sslCertificatePem | SSL certificate of kafkatopostgresql | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/kowl/sslKeyPassword | Password encryption for the private SSL key of kowl | string | any | changeme |
/infrastructure/tls/kowl/sslKeyPem | Private SSL key corresponding to the SSL certificate for kowl | string | any private SSl key | see below in “Example” |
/infrastructure/tls/kowl/sslCertificatePem | SSL certificate of kowl | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/mqttkafkabridge/sslKeyPassword | Password encryption of the private SSL key of mqttkafkabridge. Is an empty string when no password is set | string | any | changeme |
/infrastructure/tls/mqttkafkabridge/sslKeyPem | Private SSL key corresponding to the SSL certificate used by mqttkafkabridge | string | any valid private SSL Key | see below in “Example” |
/infrastructure/tls/mqttkafkabridge/sslCertificatePem | SSL certificate of mqttkafkabridge | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/nodered/sslKeyPassword | Password encryption of the private SSL key of nodered. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/nodered/sslKeyPem | Private SSL key corresponding to the SSL certificate of nodered | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/nodered/sslCertificate | SSL certificate of nodered | string | any valid SSL certificate | see below in “Example” |
/infrastructure/tls/sensorconnect/sslKeyPassword | Password encryption of the private SSL key of sensorconnect. Is an empty string if no password is set | string | any | changeme |
/infrastructure/tls/sensorconnect/sslKeyPem | Private SSL key of the corresponding SSL certificate | string | any valid private SSL key | see below in “Example” |
/infrastructure/tls/sensorconnect/sslCertificate | SSL certificate of nodered | string | any valid SSL certificate | see below in “Example” |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/datastorage/enabled | Enables or disables the datastorage infrastructure, which contains factoryinsight, mqtt-to-postgresql, Grafana and vernemq | bool | true, false | true |
/datastorage/db_password | Password for the datastorage database | string | any | “changeme” |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/dataInput/enabled | Enables or disables the infrastructure to allow for data entry via Grafana. It contains factoryinput and grafanaproxy | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/blobstorage/enabled | Enables or disables the blobstorage infrastructure, which contains mqtt-to-blob nad kafka-to-blob | bool | true, false | true |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/mqttBridge/enabled | Enables or disables mqttBridge, which allows connecting multiple MQTT brokers | bool | true, false | true |
/mqttBridge/remoteBrokerURL | URL of the remote Broker which is not part of the local network of the edge PC | string | any valid URL | ssl://united-manufacturing-hub-vernemq-local-service.united-manufacturing-hub:8883 |
/mqttBridge/localSubTopic | the subtopic of the local MQTT broker | string | any topic structure | ia/factoryinsight |
/mqttBridge/oneWay | If enabled, the bridge only transmits messages one way from local to remote | bool | true, false | true |
/mqttBridge/localBrokerSSLEnabled | Indicates whether or not the local broker uses SSL cryptography | bool | true, false | true |
/mqttBridge/localPubTopic | Local MQTT publish topic | string | any valid topic | ia |
/mqttBridge/remoteBrokerSSLEnabled | Indicates whether or not the remote broker uses SSL cryptography | bool | true, false | true |
/mqttBridge/remoteSubTopic | Topic the remote broker subscribes to | string | any valid MQTT topic | ia |
/mqttBridge/remotePubTopic | Topic the remote broker publishes | string | any valid MQTT topic | ia/factoryinsight |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/kafkaBridge/enabled | Enables or disables the kafkabridge microservice | bool | true, false | true |
/kafkaBridge/remotebootstrapServer | URL of the remote Kafka server | string | any valid URL | http://united-manufacturing-hub:9092 |
/kafkaBridge/topicCreationLocalList | List of topics to create on the local server. Topics are listed without space, separated with a semicolon | string | one or multiple valid topics | ia.test.test.test.processValue;ia.test.test.test.count |
/kafkaBridge/TopicCreationRemoteList | List of topics to create on the remote server. Topics are listed without space, separated with a semicolon | string | one or multiple valid topics | ia.test.test.test.processValue;ia.test.test.test.count |
/kafkaBridge/topicmap | a JSON topic map of different topics to forward | JSON | any topic map | see below in “Example” |
Variable name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/kafkaStateDetector/enabled | Disables or enables the microservice kafkaStateDetector | bool | true, false | true |
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 name | Description | Type | Possible values | Example Values |
---|---|---|---|---|
/-/name | Name of the custom microservice | string | UTF-8 string | changeme |
/-/image | dockerhub link to the image with tag | string | a valid dockerhub link | microservicemaker/microservice:latest |
/-/enabled | Enables or disables the named microservice | string | UTF-8 string | changeme |
/-/imagePullPolicy | Image Pull policy for the image, consider IfNotPresent, or Always if the tag is set to latest | string | IfNotPresent, Always, Never | Always |
/-/env | (optional) Name-Value pair of environment variables to set for the microservice | list | list of Name-Value pairs | see Example below |
/-/port | (optional) port you wish to expose | int | valid port number | 80 |
/-/externalPort | (optional) external port you wish the port above to be accessible through | string | UTF-8 string | 8080 |
/-/statefulEnabled | Enables or disables the mounting of a volume under /data, which can be used to store data, recommended to turn it off | bool | true, false | true |
/-/startupProbe | (optional) startup probe interval in seconds | int | positive integer | 200 |
/-/livenessProbe | (optional) liveness probe interval in seconds | int | positive integer | 500 |
/-/probePort | Probing port for liveness and startup probes | int | valid port number | 9091 |
---
# 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: |
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
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