diff --git a/application/src/main/data/json/system/widget_bundles/outdoor_environment.json b/application/src/main/data/json/system/widget_bundles/outdoor_environment.json
index b7fa990e7c..cdba1b55af 100644
--- a/application/src/main/data/json/system/widget_bundles/outdoor_environment.json
+++ b/application/src/main/data/json/system/widget_bundles/outdoor_environment.json
@@ -165,6 +165,14 @@
"simple_illuminance_chart_card",
"simple_illuminance_chart_card_with_background",
"illuminance_progress_bar",
- "illuminance_progress_bar_with_background"
+ "illuminance_progress_bar_with_background",
+ "pm2_5_card",
+ "pm2_5_card_with_background",
+ "horizontal_pm2_5_card",
+ "horizontal_pm2_5_card_with_background",
+ "pm2_5_chart_card",
+ "pm2_5_chart_card_with_background",
+ "simple_pm2_5_chart_card",
+ "simple_pm2_5_chart_card_with_background"
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card.json b/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card.json
new file mode 100644
index 0000000000..b138a18c34
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card.json
@@ -0,0 +1,30 @@
+{
+ "fqn": "horizontal_pm2_5_card",
+ "name": "Horizontal PM2.5 card",
+ "deprecated": false,
+ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAkFBMVEUAAADf39/f39/g4ODg4ODf39/////k5OSAwyzg4ODv9+XQ6bCQy0bz8/POzs7f8Mqv2XuQykb3+/LIyMj5+fm3t7fA4ZWg0mDb29vH5aOIxznCwsK8vLxYWFjn9Njn5+fV1dXY7L2tra243YiYzlM9PT2QkJCn1m5LS0t0dHTt7e2enp5mZmaCgoKdnZ0vLy8j+senAAAABnRSTlMAIEDfv1C6kOEmAAADWUlEQVR42u3aa1PaQBiGYar2yctmc2gSciaEk4Da9v//u+6uiFMcEVt0kHmuDzG8Ycbcs4TDwICIiIiIiIiIiIiIiIiIiIiIiIiIiIjoM3378lzG1bX31Q2vv5sOL8OXF3hXg5sAFyC7GQxxEYYMOTMMOTcMOTcMOTcMOTdHhcxubz3MWqC/h3c7243OyWshkT9VeDK+T5f9+DewWWOdbu7taJQGOImkyn2Fw5SfYE/i++qIkFhE9HQXkuJhNH5IvfESHjZ2SZY/ZziJXAzd4aC5qP20utYSvRkyF6tWTyHr8Rjj281stgTSNYyR99DiBJRI1OWicZBeYU+Uq0Tmb4bU4uS7FXGbh2WwRL8OAAT3uL3HCfiycv9Pbbvs30QlMLppZ28bkfiAStwEiR/Bygut3gpR8ij+O+TXBkss1+Of7QY/H9beaUIKF5LAEXGzGEgKewLyA0Zc23Na2ElemY0r8GOpjl2RCq871aWupVJzibEfEov2ff0YomMbIvE0F6mr6ULmJiNBvToUkuSxD5vtwj9eJ8YieREiooCpC/ElsiE1gIVUdrpAJFqLfyhk4VYif/up5GQrssq15PshkU3YblcaJsTtFuJvp6o6/PTbiWHvF3X4DJV7VGmJXoQsnkKUxC9DnEMhyq00Ps3KPT5i8fdC1POK+NK9M8SJReydq2L6xoUd3O0PArxfLHO3ItOnkG67SrVE22uk0HhviOPnEZCI1NgZPcYEuCvhZBmyYWgHQ2QAJrMJsrJ8PGAGxydFInFeiN5dIzqf1zYkFz03ez9MQfX+kJ2kFv1XSN+HZZqGZq9BUzZtNmrCvk/D9i5sMyCcBG1bIgjdgTBtcaypFpFCPYeYWzYEc5F6ZU65EvUfIbu3abuQcBSk4SR8DJn0pdk3s0kZNqkLGZalCUlHkzQwuU2Ao7kX8l0IVPI8j6SALk74Nj4sm3DUp01gVyRsy2YUjNLQzO7aSRrChmR2RSbtzB7omwbvtQvZihYdOi3Vh36wKid4XZ+WMP43xBerwIeGZNmhgwH+XZ7jiariecSPul8XQ84NQ84NQ87NBYXcXMDX7EBwM7jyLuCL9sy7Ggy+Xw+9r+766pJ+VENERERERERERERERERERERERERERET0Sf4AN2T4354zjDoAAAAASUVORK5CYII=",
+ "description": "Displays a latest fine particulate matter (PM2.5) telemetry data in a horizontal layout.",
+ "descriptor": {
+ "type": "latest",
+ "sizeX": 5,
+ "sizeY": 1,
+ "resources": [],
+ "templateHtml": "\n",
+ "templateCss": "",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'pm2.5', label: 'PM2.5', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n",
+ "settingsSchema": "",
+ "dataKeySettingsSchema": "",
+ "settingsDirective": "tb-value-card-widget-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"bubble_chart\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal temperature card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"µg/m³\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card_with_background.json b/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card_with_background.json
new file mode 100644
index 0000000000..7eafc28272
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/horizontal_pm2_5_card_with_background.json
@@ -0,0 +1,30 @@
+{
+ "fqn": "horizontal_pm2_5_card_with_background",
+ "name": "Horizontal PM2.5 card with background",
+ "deprecated": false,
+ "image": "data:image/png;base64,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",
+ "description": "Displays a latest fine particulate matter (PM2.5) telemetry data in a horizontal layout with background.",
+ "descriptor": {
+ "type": "latest",
+ "sizeX": 5,
+ "sizeY": 1,
+ "resources": [],
+ "templateHtml": "\n",
+ "templateCss": "",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'pm2.5', label: 'PM2.5', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n",
+ "settingsSchema": "",
+ "dataKeySettingsSchema": "",
+ "settingsDirective": "tb-value-card-widget-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"bubble_chart\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAABcCAMAAAAfz5G9AAAA51BMVEXi4+To6err7O3l5efg4eI5Oj0pKi0vMDMyMzY0NTg2ODsmKCs7PD8+P0IfISRAQkUtLjErLC9GR0pJSk1OT1JZWl1RUlUiIycaGx9naGsdHiFWV1okJSlDRUdTVVeQkZN3eHqNjpBkZWeTlJZ+f4KKi40XGRyHiIpsbXBhYmV6fH6EhYhpa22Wl5mBgoVLTU9eX2JbXV9vcHKZmpxxc3V0dXfd3t+en6Gqq6zHyMrY2dq7vL64ubqwsbMUFRmtrrCbnJ6kpafDw8WhoqTPz9G/wMLa29y0tbfT09XV1tjLy82mp6kQERVcMhA+AAA1IUlEQVR42rSaiVLiaBSFnQVZhIqGkKlUisUgBWFL2Bp7scS9W9//fea7xzDopLW7ppljFmkWp/Jx7j3/zRz8+ZYOXuqPt/Tbz+j3/0N87u4/4+Dgw4f7b4/Xnx8urtbd0ajf7/XOVoP5cjmfL+eDwTgIovFgEIw70/60w0Oe6gxHp92JabO+uXo6v7y4OOdweX51s94sJpNut9s+PW1Lpz0+k9+7egNPtHu9/mjKnwjiKIpnjbDVChuNhu2tlu979aZTLZfLlVLx+ITt5LhcbXqzNI54dZrO7A2el3i+7+vlnr07Rbx/ls7scziEvOggDyb72cHhh+3fZF785Ilkx93Pdnv98x+lN6NnNDr+8eeHD5++frz+8vC0aY+mEBoNl4NOp7Oar5aDQZyaZmmwPJt2lkEUjceD5bCny73Y3NxcPQO6tF2AJl3DACB2AwSOvvhk4IzP2VlnHkRpHKdbPgLV8r3EcWqFUhEdnxwesp8Ua3W/EQRjvhtRHBsCqMAH8fK6F/JeBJQG9DJA9lE/5yAh0TFH6A0JRqYtDW37kBBlfBBHAP354dO32493X24mvenZdDSadubjVWe1xEHRzC5f4rpesBwO53MAYaHOsNfuosnmBj2dYx90frVeLxZQEB8BEg1zkCwkPv1pb3QG/DGG2ALi0DA8Sd11qvA5PkGHR0dH5p9aEqbB3OwcRPAJufQChNeQ5/P+kEcZZxHiNaA7+LGB9JN30GtMHHZwdHhtoe3pV+2T4dHR+PzzTQLQ/aevtx8f1u3+9AwNBwFXZBBQ2Ga+x5VwnKY/7gzhFsVBZCWu39M1X6zX6yv4PD2xX1l5g4F0ai8Qn+lUgCT44NHpEGcGUQAiu96+sbGj5zq1WqFQLh4i+ACoWKnVwzjAy2gcpTPDkyT1JOHkunWVOjEyPAJkD+ADoP/Wgn57z0E7ROglkL04aAt8B4jtgAoHoG9fHx82bYrPcNhZRjGFLEqDaOa7CVWnUKs3BtkTsFt1zqxVtY3QBkCwodJdmX221e01ING0x/Dh8ZD+I0WxLrgvQPzm1KqFSrl0fJjppFgWnwF+Xq2WATxxhsnY1JvwkZkwz04tBKAfO0je0em9DpQDpRq0s84W0n4MlH3SvwChT1gIQL3RkNIWzWaBXYy44TWdpO6UKm4rWOGsTszFspAw6gPIWHQ3VLgnAGGlhQCBrXeKdoBG2K2tovf8aLiiWFmpxI8NM4THJTUnJQCqFIsUN9hQ3Yol8080WK5wb4d3zVoeaFz2ptPkgH8SFTniQTozwceKnwlAP/SPHJTno7P0ChFcdueXjPbXgzI+O0AIPLLQ48Wme3q2otrPGmkUW9P1nEqlWSieOK14OYTPmCfoBauzXq93KhiTNd65QetJVznAOEgGxRoQXW3a74FLD6yELq3/0PTnAzqcShQOSMMsvz2zQcVSueb6jQjD8rfhE6WterPZdKSa02y6hiHxM/uElhbkHUzG7r7hoNf9550KJwdp/zcWnXKhbS8d6LetgYgGGaD7+3sjBCAc1BmQ0WbE1dBvzcKkVqg5xcMSV6lD8BqHXkiaWw2nXPAucY0SJ0BZtp5gIaBJGaD+cw8SH+AAiE6GdWTEgRmohQCkvk6Aq5SMjalUqjT9WTzmq8HfJkCmYdKs1ZyaVK05WAkQitkoNMw4zORiL9f5CQflIQmLTu9JqHJB4dclOsjC2xbQBwG6J2gDaDQmRs8B1PC8MA7rfFErJ8dNu0jT4XzmugTeJR2o12tPFjLQGveID4AWAqSYYEbSisdCnADR3tB0yFdgbKEZpwKo5W/5AKhuPahcKpbEp2z1LQ0GHYstS15sfAqCY8JCdUSVEyGFDfhAjd2MVjt420B5Njs8GZ9dhnshcdjhybY9OohdeOBj4vQC0OW6PWw04mBsaw3PawQNao5zdFJNLRSMVnFSYdUxxkD9PutUA7Gh9yy08kGLzWLByUofJyOkutZHPVBhnqGtfyhvBmgAqFTO8UNOHiGbq2ohrgwj+BSceiuNBiy/4IPpZq1mtVIuVKXCDpDnh8reJkpggn8cfdL3HbTFk4ckQNn23hI17yCk0148JEDqQJKxEaDb6/P16aoxiwN9sWes3BvUuOOTWmsJkf500KoVkjCer8w/bboNLtpsJtQ1gEzaPFhjIB5DKAMkPvyiSmf5kEpFvoYPgDBS2gAQeKhPBshtYiGqnABVmtRTEuOQ1KdVbSupAa9QAJEdHKyCEh/ZCkqyCAEchBcP3jbQH9rfGyEgjuz5BPeDHoR+2UF/mnMyQAS4T/cY6PHz1aIftBrxmGLicxoHceo7xYIfDW260InqVbcer3gAGdzSPu1aScM9OKXLg7UBWqCuSUHBmlAWD8w+Z1pKgQc6NhcIrbgJUMtStus4VsDoQ/inBp9osBpioA4LZmtAZq5KAVUqAGq6yBykWOCipsHJmhQQD95rQNk6nXPePzp8F8+WkTDt6puOe4txFuCU3bYGQjZJeLiaTGOPqhLNGrOIlep4kPrNQj2dn9nactCqu62UgoMzzCxdThkKQNi/qRdBDmJIeJD6kPxjfJY4J1OgDgQg85B6EA5y7NICokp9w8zzDu/iTRRDr1nDWiXYwEeAwAEhz4MOZW1rHKmAvusg9KaDdmh2BsrjyTkI6bCHOifgO0BI8Q0+LFPvLm9oQXV/FqVpQAvvMDC1GU8rmg8pTvM0SRoxA1OmcDY/mFjOprDBp2+hG2YA2izYFLXBIz5aCYmPsvLA0jUhwQxEUvS1/uEYaq6m8mQWqjbrPpF+zMzCoAZx6LniUzIToYLFbAEy98AqgwM9wRGg9xJcNonknI9wgqOjtvwS1TCw5xere6hvrwHdo2/G5+vHu8sNbYa+HASUfQoLcctvNv2QOsOFjVosSQYsTo3PDXxGbc114GM1r6s0h8xAwDFpCsdJH9bpGKEVXIgItgoKNMgGjOZqmt8g0rF9/WuuF8pAHZva8crEdSqlMnxsFx+VNHfbd3Ce+FTglyGqHrxlIOHRljdQtonOW3o9PtjzmDRbo4pNVt3YvgHo4aq/igkJg3l7QkshVofUDt+3K0WPpux1LLu1F5BYsMzRWBQYBLxed6O0vVYbUnWTc3gKUdqQ1TfNWhnzZHysxAkQu5ddagEiYPshBgKQ2QerNQkIcg82AoA6kBlIEiDVtYoh/C4gPXi5AMqPsXPL01zCzv2w7bEF7e4zGB+xAY4EoOvP5+3pajxYnfVvbogA3LDxqPAwolszguOZqSbSVDE1oHUGqH/aP52s5R6eEZ8doP5U6Q1A6j8AihSx5Z/Ql3kSDwkQFQ4+ZhCXZghLGqHmdQn/DBkzB7utgtRzmsbGJD7Ak8fsBQL0Co8c9KMetMsH+ZCQo7X/Gw3CI0D4R74B0DYjXN+dL9ojbsV115fnN+s+k9E6sxRqh5PM1A2mVDKaDjFafDbgUTkjwy3MPeARH/4lA6R0beH6mQ/1bQsosoRtbNgTJTEzUA2REAxQ0iKoKElqAGfcBAhly1RnB0h8KG+SAP28g/Il7sezg1cO2uMqSH/fZA5S5xEhfjVA15dPN5NRb3H+5eHifE27CF3Pr1M0Cm7Kcr4/ggRA+hO7adBdr+UmTa1ZCj3nA9C9BDTqbQEpv3GxY5uGm4Gob7YYFpgERs+dpMplrZDUqjWXkBBZZWW8Rv9RdCjDYJvRqHFyEJLtKqjEO6H0hoPYX0eE7y5S5ZndOccI7ayzZwf9truTqhYkQBQ5+ADo8SP3vC+vNk8Pd9d3Fzdtkm3di8Pa0XGp4A/OSAfYZs3wZqIlKF5BGve0oTPBWJubTXarwQApwGV80NyqWxyn5go1IC68NZ/EBY9vfOrwMYOUDk8g5BAnUyganib+sPiNEGwkywUGSOzMWyWmD5oQVfIpLkO0k/igPCFhyXegXbjONSE5aF8NSIS2t4BEKOtBAPr85eLp4svdRwLdpDOPW24jTcqHpao765CtxYMrL4dotQMk46HZDsg2G6OliMAm/cNnOcYNKLb6xqmhWzaegcE9BGXjU6tYSONGd5Exj+vb4kgTbt1cEAesgcRHDoJPdgsJFZmy2h0kAaII1t50EGw4vH2jm+MbQ558A2Lfo4N2PUiEXgO6u8NDn68/Pt7ePZ2Ox0S4NHT4RnIvaNSeyDHdXh934I0FcAAjM2WjBJjBJytxRkgBW4BWy7HB2QKytqJY7QEGQMBBltOKXGVuowqQTVG9xNhofSQ+GaCaALHzLvHZ/v8lh0cZoGoG6HVMeKk8ntcO0i95RC9nohmmX3PQwVYCtHUQeDJAEDKpxl2D6PHx9vb2y2Iaz1zHnWGgJqOejlxCpyFSIyDBBNGLBKit4TZ+ApAIbReq8KH5cP+H4pamMbJVULq9LwogWcdEGynLA38dHRZLDEqJD9gHPvUMUGEHyOTAybApup0cHR2eoMPjUtn4oFwPeu8mwxsDnjfncPkx6cGv6oWDFOIECH01AQgu5IS/aTnXpUSuKApbqSiig8hd5CIgCt1gcxEqJjPDXGJqLJ33f558a3EIznSR+SM72t3iJJXqL2ufdfbeJ38+6v6lPxyXKIa1s0eZVrExHlxp+0PVemDfzLbnSk/KYZBwHxtA8nZhYGRT6Om7BqGaTmUGHEJtboQBF9c5ARU2mcgnA6DCUa3pSYSWbUO+KJ8XBOQ3zxeoiJxuglrQ/EKzyZU+39pl58ztRwW9BrQzwXELiPy1JbORUICTTm8HbxDBxQmQw4SeHvnridvj47MAPT9//dhd1Outw3y11cwUy3To0AnmAIWgHmBQeFNzZySNSEboSkbuOqxHXojMxx2G5RBAbHaBo2D9kXxCm61RLSlLyYSRppylkAIKQh1FxUROAorvvAFy+E9DgfAAg6ieoiC+gkcIJYUdCrJ+dliEXyooPX1g+bxJuA4XXJzCVtuAHp8QkBX0lTz37e94Pq5jkSbnp7lKA4s9AIGqCy4MJCNwKXcJkDsKSXJzfW8D59k3L0RhDXL5GihT8XGw7cSxTTRF4LZTyeLIUsaxgrgcWwMAUhL0ZCJ/KLBZ35CJaSm7SUCnCGgNSGXw8KufFfRj7CwipKtw5pIaWHT46a0AEZutquUeCK0BPT0TLEF2cteL5SLCwuYvT9pUNMfxIIlH95qZQzdWzkiFtcEgNErjEflPtNY9bwXYREidgjFoXBu1fnr0apXcGuKDS5uoJ6j8ZiPGm/cC4iUGjOqHC1AxLEBcvOEJNQVEh3iEp1YToILrdFkFT1tAB7YIKQXtENCO2DELZzxvCCgQ2npt8Fg9SOcj8fDw5fOAGZpKflI8qZWZXauMO4MxVZ4BBc9kyYqvUqoHrxKJCT59Epxmhq/Mx1nuhkRImA/GwBVst4A0OFVtg4dwiUCASFpBFCjHRWk94Q5CsbuUU9ryx37/0tiJ+QiPlqBarekhraxSJToy7v9RULqIsF2CUgZuS0aXVA1OgN5YQo6N1RYe6Hz49umFes315z/u+oO4Ti2slC1FCKi+XNYrzCTQqh52ehBb0jWIY7UQEjCQxViIyHnJwBbB3dUuiVDqijXcPWdqqsM+FUAUBlh1NMMzrRBVWW1MwiFLuhsI3ni6ZceP9gceIDUzf2x1uFzqtmvhFO0oms0mU1pACe1yYcocpFqpOwvZZmM8O6o8jjQi03lrBfEQpq7cC3pippQdEGPVlHES7WqS0SKa9NqlvIfNpvN5uTIe0sWbRuoP9OYeU1N/FCfnyfgbyWjQBc52fJRPGeUGj1s6VpBK4pp8B41G4C2OMoByevkoRrOIJQBJJtQSAOT5+FKLBGdZBUC6htWnWTtzKMVp/dK3Z07k2A9+0QpKCyhl4ByvFZQqIrw9IT8EPk9PtglfWXioozFRuMSIkcxoYC4bkyovtDGbjXu5xnRWnZQbynuTaA6fGFEI0M2A7+6gHyqpYVAEPnw66gzhs3RPNLRQZ1Chr6TQE8/y0GHjGZqjOTAcIqAWgLwGlfSJt6ncwyqDVphv1Npzdkmc4c1lsmFWgJFu/PQ/CtpRJU2lN9MJ375u2bw9HftsAP1ui0AwyPPIPvXxn/cfKbJhiqOoM+IND+Jx1ItnlJNn6tJVStnqhH4mruGYPlmlQ3ZLGMWNE2SSACgZxcsYIiw9OAWbtwGU1D1dqAiukwzqogpQOwDaDsOV1nOiHnEDEAVTO4WcLbYnFbSncbXNJR3fMqaAdMQHAQmQY3MTqJSCUojSu1RiFyKuPxbi9kFondvCSMLTn++fn+ilfnj43OVdzueVKEmuENByNh0s6XwX2/jgaZEdUW59YOcdu9d5XyZBAwbatWqmN0l4tnjsrbU4wQl7PVx00I/4jBmC037VQ6RWDk/ISDdDKoUHpbOTkN8a3iflD6Gy7vPYIQhQxnuf5qUiALLPdgCLZzZTB2kBbfE40nh83a2grYPbA53gEezebBBIbSrsvH+47yYYgP60x8tHQP15fd5d9maUmXmbJfJLXlMCslqtasSuiJQmSjeYA215wqbVW1PX30Qu7sF8PXNIbpPPVmtHmlmfHgkKEir91Kjyc1t2wB7bG1kWKj6xLVMIkBEhIOFBPMTFBYSMCDb63qhJCkoLaIvoYMc0aWoPFBClOkICtAdCm34341acCPqKvf501x3FY8apZnTlElXQmAUYzaNqnrfUaFPGZ0nAVOVYx8vRnD8BkUQe2x27K5hoMQohv8ClM6RhbZ0t65TgwvGraUhq2uEwbmWjEMQkYmpsu9ODhwQPOCfmA6HQ73aSU3ZrsvhcmM+GUNMBtxoC8oD36zXoBzy790C+pE9rBU578m9pCWEPiCdOPX74559vd3hiKWIUkYfihAm42Zz/7ButbENVzaMCL+hQM9HF6nS2SPBsSSIfrbrBZ7VUndlQDZjk5wAEn2iIgMSnRxnOTTrnuDLRMgESmPmEoz1OcDm5Aw3qeB+LfnLHhUJGTMATAIHnFDwXF7e3F+FimyBCNeIMFbEEAfG1glK97jSeQGcHonQf9WA/sZ6LU5OODPfp4dvHzx2M1oIdJ6+QXSlvt9eo46pzJ7nKtJ0/bp5njgToXXE6r99g0hKc9bV6dsS6FXRNlpN4QJXE2h1p28OBqyX5rd5o+MjKMHIZruQOATlMYAzILGBUxWHjpekuIJ+o55pQLotTOw/TPFwEiM0p4oFMiCChAIgHlU5P8XIpBYEmpaCUyU7R2SoowNknHhfkNjMJcgcvD3/0p0pG7Pp1Dre9uLnpVDgR2qieZybTSS5bOyNt0OPMl2ZzXBu7UAIslHUYQ1DlTfKRY4Ab2U58dEAYg71cxCipwhyXT5fyxifuLoAhbHIkG5sBFqOJqtp5/aIx1RjRTOtPhjJOYYOHm5af09qWDxEyHCFCpDqbOBVedyoobbK3EoLRDkR7Wn/SiAyIPSomjimEm3q50lv0sdbVBiWY5Go0LGPeWu9OM8XSu+Pzs9vLmho0xcYwuUIxEo0mSj2+6BKp8GAMkgQ05sPAlndAxDyqVHoCNGNN0dkQjDQccOsy1ZuBEbcdEJYH4svYezXFmQs/kRfAj0EmY0g+3EV6I14BOnOYEpfmZgk62qGgtIlLDYuk8exVP+kU5yLC49f3H1/u4kZRw9f9eqPEAHv96iqeFkk2x6SWQ72Q2uq2qSGOci++8lzivSj59KP4dOETL2zqHJ4S7jAupQrPEv3wut0DArrtWrkIhnWpekK/FFCbhikhcIyF4yiiCuotyJF5DQKQzAG85A4CIF0CHxxdSHQ23I7THQqCyY5pkXBLHRn2V5DOvvVDrHMc0/IU4L4MGH5rD/v9ebtYYqx0eJ3UmbQ6yRRWZ6eF2tH5+enq7DzfYt40HtxzCpVhKzW3tetBR12VEvrDIYsNf3n+eoSDmxOLzpL6ToUVRvpRPvM57HYxl0VArlWXNHxIsdStuCx0sIk4ewaPAVvOw4P8emQ0XISnZhY/AeJnrg7kAxjCdYUwiLBLQeklKBXp48L7stc/b1YPlOJocn9JesVWFI/mswkna9r1fjJuszNkC/h9dXtxe5Q9rl0WTnJlTm1177+8MFJ6ZzIsN7g31bNpadcpzmm2F7cRBuRNiE6351F1skd+HVac2QOHdzrqcpuJuzr0D/Qx7k58xj35a9rfWOYjWewtHvu0S8isVisbBKPRbf07CJmPYqug9DhcOsOl9GM46TOPewZEbAD9BaGHm0Vj2r/qzmccHshXhkmnV81na7er2+/fv68uzk+OL08PW8Ue3YXrv184aH99k+DkRihFFQMCHIsFcBa6er6XmsGYGHKPiHqPAkKDmEVTRuBh425P6GELjqqbJuQE1xtDlIPlGbsx19bc9nHVzdsdAVopJCAHhFh8FPzefIRpq6BfD5T6svu8/X71g3VLlXsM6PH5010yjO/+uF5G7dK7FgdNlr12PnOx+r76TlyeZzMX58xJdxKa2jppf097QWUCUCRUSAkK1R0KbqiGK7zA4tkDdKBBRR4wB/IfWOdpVc0EXJwoUZggcbnszPexm0ESEH+7Tr0cF3jd4UCx8QQ+p2xF4cO/H4S2gPQrt+42gHg8SAvoFZy0idt+pRS0/doLIP7BP61BcnHYhOcPL/fdl2+f7pM5i3I7GnKUgFlF0SFWZ4VC85JB9kiHTj7rNPfVCBeATIaxx6lw0lpssAMoZtHHHyxkqHsSDvrBuEPF872ahY8aRdetDwnwnB8pYBAAwa2oHRAtoyL+5Ag1rOGwL/1viSECIPAI0LYeBxrCV/09ApSuwxE7BBTYpHqo+9ePjdtvr38gwTHwq1Xo/cdP3/788/2X606FemUjwh+3jy9uN4BqF6vVca46omWq/+vLfRfpYKLpIVAI1amUuU5Y6a5aXqIjK2IiRux1I+1AqRuozdOoUBmgtSMz7XKnHLS2lUpiEGKcjRVpopP0VeU36BWAF7RjN3DWRE/+QCsQfAivPQ7bN4Uh+aeDtICg84uJbN+3bHzfOyB5y397O/e+xKooDHfjooLcITxyGaQGELmopDWaEVNWfv/v0/O++xyxGKg/Ou0aVKrpF09rr3ddD7/5NgyCzW+09CDkHj78/PGPDy+9foPbp7sY0zGfO8WCfL7V3Z4tdPvf9DzU0JtJnclophrEgpDrdigE3iIAkkNSP3UkSN4jQrSpKmlNJYYQ7KhWDR/sw9k0AwKRl1ZU44y2zEsHRElUimRBVuo93kkAbVV2UnAQnACoBaAdD2QftKuxd7e/vIGjk2p4is0EaRB3EVtjq1GEQzvpz398xIIA1CkUyV5eN0rlU9OxSjjFDXSWqx5HfaUYDgoNLsrdXHv+DUBIg7AcZsKNh3Rr1BsAcv1HCRwFO2gEf1dSsQfng4C2+DKgiv7EhgBEr6JbTCXbYmkgPNCwAYkZGiFouMSCIJ3wwSqDHennT1sQfA5MPe4ietsjkhIgNFw8exE6esznDx9y2d9/JCe3vhg2SsfVKKq358fZluD4fJ2lClRvT27CYrHhVHWDFUgmKGuVEzyXNcOQNJqP5OYw2FprkKtxBTVurm42+Or5U3fk5LIONs2H/wP8K5vT3GMNhqrPKSlqZW3BhuQ/U0SU5EmFx+eNugY0R3B8OerLHgva01K63wNxUo1OZTShCORSqvTBR9DQpkiv7y/ccL88PG0ulwT2pSolmUxWUYZ88Bkhaq1QnI+HNwzSq04UdYlSJmEmy30JeuFmw358w6Eg+u1urbnARXk0zvvFmDfVV48Hq/GjACAf6TScRcvf5KUSgvqOmz7KJ4les/2g+coQE7LEfmQ5ifEYkLt8XPRG/e2quN2x1G38Y0R79EHKhIwoEPLmMfgASI1WAsQ1R0fPO6rWg2Z3PGh0yme5TKZ8dk6fc6cbdardaY+meeyjHc3JqLFVCamN4eBx0BSmFI/YK80zZWZEQyY0ARH2ODXKmJFypOg0Pn+NMJZ1BSWXkQ7fVvKZcHS/2YKykmuGAQg+dfKkKDgl4mLrsba28VgL6sSgeHXJe8eEDvTD7SJ664LSze7Y9ch0ZD3q8oWPAdGo+MvPP9Ot+KSGtsmUnXDTWj4fDZaFsop0zWWjM19eu9kAJV6r08E7ncDBa8tW6tS5tdzuD2VSSpMOwONOxcECBzTX8NW8WQdQUaW4Ytzq3opjSbsPUtBk3NzSSz4uaa2qJM4GTwg/1Q+CoosJmY8o23TgI5uDjY8vun0WdOCC27MWIe0EaYhVbTzGQ47nZwDB5+EBRALEQr7NO/Ue9rvF7uz9qqg1ZIjjLkXUvse2h9OI1Yf4HSo/AJp5e1y7TUqHILXvNh/JbGa0RnZA7D7yMkCvmtBNJ/txZSenJtCy/Il03DlRzulJmQydAPHiujY0QkbnVV9Lv71NxCksSpp5cuGENm0D0vnUergDQdAn8zzp289WysEHPOYjQEwNPwDoQZSeHx+1sfRu87K+bC9mm4t+gV1Xta5EWP36Uv06sz4lA/q0aVpQ/zwdWsMBt5lXuqC30dz2SKulUgikSaW21RbiFVT2QLrfXLz2Jjji1HMJZgNqZQlUg4M6cvdoXmLNIPCEMp8km7AFpBjq3J4p9Cxs7YcvlnO7Km7/SIO+HOiWT5/Q55+Bx3DCgY8AGc/j4zOgaF1kL+y6N7u821xOa3y+1bm6bMZUuREJs9sRnn/GIJAAqZatlM7I7VREqm3uOm8sc22bt3FBy4Vn7SOuOQ/6asLEHYfyMeVzZ6ZDEENZHUKcpPvN9mMOCD19/m8BhffhIxiG42IRgOyAzIdjFbc7VnewFrRrQdBJE8/b0Ac69juyHt9ydkEfHp7ho/nU+xcAvVDqueuNltHtuFtyzpltvxdqtu6rhK0ZB4m40eoWy6HkczsFyUpy4Rab4s1rI6NgQKbUM8CRJZzVmT5JX2BBj1kiixHCC8uyiHCOzt5GJIQBI+HAR0T9phsR1BtS1klasXXDYZsGpCMVtxsFidO+WtCnWuHSjH+2GtvKDTgwgQdTjhAKGu7DL0g4+DyIz5r1yi/afjBb4HgGdcaq6eOhcV51U4vp98wIzbRcdjzV/mwlsVU5tU7gTKaoN/GhJDrQ16VbfV1FLQDGfGwhZQjIiRgTEsG5OMp1HpkjAEJ6Jxm2E8U/Tgy9BeTSj3wPhEzHfHwMSKph14IgcqgU9MmeuPTrp1/9KuMRG0+XPJLd0bHG5o8H+Gjw/mXz093L0/3dxfvZdbO+Gi6q+tSq7fbs4kptIQyf6H6b3U61u21AImGl7ZYSB6oC4X76XtlMHs6rXlQWDbuTIVTiY1froedMYz4WYWc2BUbqSkRLUZMsD2V2e5BWkh5w3ClA1nA+SQrilY14+GYTmkQ2fPav9iuaznYD2e7ivjQBOff21W+62gRH59FbyO11kNgaHH7SwYI2NyzwXWvzL5/51aR+XCkUaov+7IJKN6W5iYp09JQuVOVp0lXfH7KG93oydG1IhaDpyo1BY6/0VZha1wh3J+iDjHtzpKLtT4IB8SJPUlaWhwux20FHyFzMRAGOO+BEy/bzquJsdiIRxhnKsbS2qjMcuAHo7w1xu/ZzuOU3fXltQN99tOvh6PVBONb3j8+62fjZl9uLtpJv1lTk2HVAB9Y3Vz9Na9w4xag/vLijjsogyXCm4HTV1ia5hSZOtfxAaYWZW+iVKaWI6jmtKS+Ldt2zJKX5XH2ptORYI+BgnFBTCoA45+tWhZP37mV6vDScJVuQaosLo0A89QGKOw8CH0lvQlfR0N8PTR9bjxFtLWjv5FZC51MeaFtETV9hA4i5xkdwWBgA5B5vAyFsKNxua+2O5xeotNr/qkdDIgtkSf0MZu+1G643m0hFU2sYLaIxd9cABaBi0GjojVa0xMmGeGMaBNyAbh6NaGfUhwigjJveXaHzHCp8AMRHfSLNXahRLSKFV3BpO8ScFa4wIEFRPPhDX3nR8e0ox1U2EF4BJJw2Ho75yAf9Y63OL/tb5lOqn/6lPAcgbbJaPz3/8r3uOl1pgiFAD9YH3hzPGxqw41kMXHWbn3oIgfpxc/XO3b3qBkEQrL6ZjZuRutwk0fT8jREXH0eDXPCB0O1EnQiaLSmRN/BYlu63QiwO7O9DYU0fvTx9JV+YR9T15lpXytXmfczCiBk52WMiAU4CyOIBkgmgbLxnW6ND/hfZL322O9OwryFul43xpEXoy7fa4zt1KL6w/3X9ZK8DlWeIyIakGmxC8OGnZwCt1ReifXC94bRZn15eaGFf2GV5PXl/0ac5y23WxDjqPdD4D9ZDczaB0chJudUgikgdHFexGy2GlchWfBMsKKNeRDkMxahK82S537TvuqobMCu3I1vjk8eI4GNAJhTDcQ3VfDiyGH212PYAcdIfLMKHLWiHzg6llPAE6ebyj1hJwrF7h41HrNy7f5bbsd9ZE/UASCrBgFAOencNnyvv5mN53Gj4TvvgvJDvmkTdJQZUX2rtdZeSHPsPBt5ehsLDA3EwNCXjmlWtqbAu4IKreaTEJR5HnFn35p4mbQR5cqlRd146kmnJtZRJyGVUBM+dnIasqI8B2ZoMyDeaM3TyWLAJo/nOl4uQ3JMt6FBT9nbw8VMTdSkqOPeFqIpKggcJx622vrqgUffm5UHKOgykbu4fYwvC9fjw3h0uiO4DnYv3Q02dwsfNvNMFCYNRt7tsX2uZ5Xgaeg6mGBCAxAc6xEM87qGmGnddN1umA5+qXJG0loQ2Ic65+ICH9hyuqWONPlYLOctoqqblfMG7s11s2JblxCUBFQS6RYTYmE6Y0g/bZGM+5X8UcXsMCDThpNogLwWjUeGP2tQnBHoCxpPdEFpBM6kAsvKWatD88IZI6EYryu8QdPf3/EAfKZhmlmjtLg1uUQ0+0/FC++BXftbSaOaRrYknUeEz0ph9pJbejtbpSGfrirN4U5kHgRDq2KdwOkUiZPyRlltBQJ9XCI4LRxYJ/BwXfqApLMmkiQBxxCeYDlYTdp3HmQjzqQQL2p49lSC/7CDyHykSgowLdEEhvAR/gwv6QztFHBYRD0kloLYfpbFZ18u9Bia+4evmnjfRdDc9Df9AgKXMkTKng2s2JNPcTnZnQbq60YceF5wEAgqB518s6FLkIqx3tGO8M/fGnZKH4o4UAumcYy2WcbrjgFZW8xAw6AKv5LGC43KW6+5rsYGQATlGtfd5PS3xUY3COXAbjwHJ/IKO2xms21sJMp2dk+oIQ1Ki+0EWJD4/k39jkRVbeZRX4E0jQxeYxFrb41Hb1tn8gXlJ0t1wewkQc/l1rdurLkd0WA3QcYSlU8TaACjU6SYWcOR93Eu6bEZgkeUwce+pEg/GWZpJc7kWBB7rMnE6Rayprg0fbZZHRyhGEhofeyve8TGcuISk9J1PAgdjDIPGdkk7FnRot8iu9aRJyIzcXeUtVir7AIhjQL85chUf00G5bbyLT1qbH/zMJtINmFVPs3Ra/zKKSqro1MhZr7Q6fqR4VM2iZN9uEXC8TdwKn7FXIeD1vZSXekMXQGFPCIBCkBKWt8TZUFd9hIceIvLWurAAFL8Lo2T4B4wcI/IAg/DY6xhM0YyCPtAxoL9Z0MFE9m5T3P9TRLW9OC+K6xGg37QX4Q9Xg7Af6NhowqDPy3rNTxDaSNThl3oWcDM8zLhZ1NxVDdfj1tE2Q0XjOr1uehaHctlkSvtt+Iw1Rie7caO1vJQntzmS0Spr2w9hNyAQH7cdhBailj90kgmKfwIgW084wpQAyobsqvBwzIYj6+EuNSDg2YL2uCDAHJBwqXmg3TRcMCEdv2pt0m9ccNqqKD6YzhpA3tWLeNPdxtmsAfSkBE9/4p3xoyVPeiLMz5TU2K6HzzXp0G02ATGm5jCC0ogwaDCFjy6+hWbjjjsA9PMZozqCIeM500KH6LUSFFuoubV0uxmQFNwxmuHIqdTXdoRzd4k6NtXbAuSVf7AJKzGBw6+wWkmAjjhSdW8t6EAme4/9pI8nMaKwTFFpHt1y2soj81GpAa39qESPd11fbe437HC5Qo2L2hPv9nS/DWe3RDb4+SxNPsyMRNdTqWzNgDNrtZDcbnDlTa4XjQVFBi2xaqi6UKpHfItLGo/nhXzGm2LDptEjhT8tNS0qmYOvMZ4fT7PYD+dIM47g4c6L8eBuqODFBT5Uellz+l48z0sJq+EISrIoDjxOyv7Ngg5N3+/6oPSvuG2tDityoU54uN44IbONfuPlKc4erJ/YNqL+0TurOQIi6tp69uKYkigGgDLOHh3VliNVSfU4xnpdKw9Iyy1pQ4DPsk0qbjEmTtXqlrDoQJsWu1VEQv44rIDV6jELBMqoEgznif2cYT9hTpgMApIu0QYc99DLjqwN4Oi12XpOkGdYfMI2RvXkxwYkQIct6O1+nv/dAwXfJzHnnjgRApD42CGpzP0ogR1EtowIQGtxwoDg5YW+73noVYPbrSrxmkNwIV1rywF8NIIwZiKLzVWMngJoKtOhjooEh4+mhP1srKVHgpB/qpYKUEeCzsXR84r7qE5jQCi4nH2H2xotD+Aj84Gk60EhNBWfsE0OQJ0SR55IhASpKP46tqnPDqzB3JrPnuVWqRLC+8i6BQk+HPI9gIGQCnfO7kDlkRfwWGhvsBte8EE6SDrt7Jm1G1TavIiFm6OVPcIy8PvdaDH1kGKXWy7iRiMsGkS8DoCFakPsJQ9eWqjg3bGX0H1UDW1XLsApsfmmM/HM0/527jkZkJvhQOILTuUJjkt0CPEwoQciqUPx0VcRSTb5+VjFbc+O/Ryaq0vfgD6HkBtJwwOccEOsXUZsc3S3SVzLgkLSVJecbjYFqAakfXzqVJw2ase4Bj42DKJUbyzDcxZUEVKPvJZQjBcc7jutOpDAnvPR1RuR5oW97K2mj7JUcsKHeMiD2voN1aEgPrEWwB+hzNwblz85k/0AyBeaj4frvNDKnQteKCursduRFRmQ8EpmJ4AOdiOAZne71bYSlD6hZPclhBjVshN6IF6FCgcu8FGWFMEWolPOXRgSRnPTB0dswzKLUuXbE2QRHYwDqAwizfp0ZTAR4ShQeHugzgOx42c/Q24OGFe63a/oZ2DMQ0+82fhzJPbPe5fYaw+i7y41JLS44L5WkBRK3sF8zkNXfNY6D9RcoprPMx77oYSQUwgxo7fX2yEX9H8akH/vsOHXfHz8fC3VvJ8tDDgvG8WknLWzB/Ejar2Zoqf9vSy8WjBTGnXyp/TPZwpkeBT/4F8Y8o14dlpR09m4HbWGUCLCUyHwmg095gxtBx89K1jtVo5Xa+YjPI7xvbnqqBJkWcgVkCWVb8nQjeXw1Qk3Y3E3gl79vfV1R66mIOsRH/0JnnhJWainJoAOJ+J2G37Tb+T5ItQZ/L/Ha9deeJj6LzofAqF73WU4HANyXlQrXZgw8Y5yUtjDdgbdlSm3zs6p19THZAr8kKUOyo2mhFqez4YwZ6ANIvVaV3ESXqehukGtCaZkuN6PyYKVindeau2tpF6W6Fr2dvinwvsZ9WNvFx+0UOOm5No3iAwIKBZtSRqBV5RbsmxRN6UTFga0q+EOD6am74Ekq7/cLuQhX6rjxS8OVkEEo+cnPeyH0PRFeCziuNW8fAdQ7sOuE0eqJeokXyXMuV1pqAQd1sRWBoNuAXPIEKWKTzPToUJXrOKdNE/HQqzIW8s7SZDf4XsSPfRjCxDZHK2Xb9lGXODBCdmA0G8YlY/Y2e2Iknvc/BJ3zxXNB1A6RdFy+jpes1SRBelsAR3Yz7O73/evpe7/HJX29elfmSy8/M504IRQcOuIreheTTy9d+oHISYlVqWuoAkTP3ymx76r20gFGvd0RqvZ7HYcOWavaQfjFOHd5N7q4Iym43mx0EBJy/PU65qxr8aPLbOnwGKKUCplKsyYqEjqkKaiUNT1a1tPWG+gEkMrToWeobF5CVN17ug1Gyff/Is/QW86vE16h2Js0lAKoFDF2/FBe0aH0zWgLWR9cWQqRCRKOTTL+wEApLVjQsGEqDQ83uNubngS91NIJkhZ+1EzVzTGUf7h2RrHOf23jxmaWxILaS1IsyE5HSkAwsMs8D8aQV1ypTWX9HLziZGBsdtWtSFTzir4VIW0jB/R/pxsiDcT1yNCwiMl7ZgnHLX76GgJDUfXm3yPB/d1+AKauLYgq3THb7zfHDQw1TnogxJCu2m4FHoVkwUl/pYktgtB4FEmzvMMmNJX3wlQ6Pd9Vlvc052e9AygRwG6As6V1DVdigCarJg2KR6p0EKgw80FHD0vDQ2ntZYMNHK0s9nzp8opaDcIn6FllYwGe8u3+IDjPoTAx1k4J9p8XODhIw1KWnh4wy9xWzaAg1+pHBFJCVBoPjlO0gZBtVVCe0I8HcQ34Xfc35VtNG84xXhS80DQEfskAacUqTzPxx+YpeO4zvArXkjlbrVeqV3+wwcIvVchfK2CKlRmP7GlYoYd+fHO71bRUa7Ec7BIDMy9k2rOJacOEO8RnTfceu3HM2NQCwa/LKv8aCxr3wxxThYiWdLXrTKfoPFwKM55OMFeqHwcAqKQs3YJIuHTsjXgVBSJOQsR8CSpHF51wwlOvmy7sTzwJIQtdb8F7cljp9iJIEBGn6RIWecLHqeug36DjiyHtl95IfeWPm30JJkrh6gXl5Pry6urb4YzzntRuq5nszx665qAZtl12obEDrk0hFmpgMtZTNuMoEqwMcLNJN5xPqP0S9GPcdb9Bg0MR2DoM5AX9wdn8wlZUODlNC3kEVNw+C9yEvOJn7bBP10Kz68RFY8Xc8r5uH/HgHg7REBxududwvu7so3m9Zu/n3RWVXCssIOpfkYS+3ecUHjqzGtu9B5C+g5AL/eEQ1d0HPbQ2Nq+s9JDHt/NNC7nXtHVGN2sZxFXgYOg7o/IunHX1bVPDKvhr0VNpF2He4+noNNdPcczdZQQw4mTsHFV+ySoKieckxlGffoKOx2F2vPwY+hkfDu8UM4ZhR8mVAN5R5lqYfAlVsnHNdok7sknjIxVwdMhFbe923ZFXGrbLl//7bIhraog/DGgB9e2w4CJ4iC7nTXy+oZ2awFCu/Eo6NtLBPZqRH/VkDIQ49rk1pqlIoB45DkNb5R7Ij9JQX3uXvlK6wF/2f9vlwu1RkN50WIYRM2eYhLWVDq+/bjr5Gkk0RyCOkvwKqpbYeLev+Khx7ISqIpMY0CZ+BFDcjcBEHwMJTkg5VcM6LAFbSGlHwMZUJI+cJbUUaoN6CPpUWUQ3AUSEjtEp7wo9XZD7KMEAs083wwZJGHKlIb4hR54r0bEazYrZfQ0OW+/1nNmvJscodClObshX6TbJ+N11rS/R6xI1ExRUeNzpxWjUZeoCwRKxZUNKGzcgVC8OZ63dMLV5tAoGaqrJKlrTq0qzaZ3ffd5CZbZCKK/A5kNjJP9Fxa0uxzhizQJGVIyzk0QpFffcOr25TzqioONO+TX5N7UhM1DH7nWaMXWs4E060PjYZvJU1BpWmG8kJVEg/6l9omMGEjl71loSSwZUmXgKPXUOnbLuQ5tInqEPTmFjGVVJd5znTspZzrJBKTTnlZyp8lDF0xnOxh89nq9aZJVZb6iHwjt5iD4ZCXYXfKWTIj3ANuwYgdUSUYdDlrQvlpDingSue3r7TcEAspaey85GtKSFTngUS3uho5rjkTBZQ9GpN+QBeqOF4bRKExn3bZHlOtqbGQElVLWYy+BayDfyPtEvKPpuSJSuHJ+QmRSzhbriwF7aD0jrNSNkJyeE6vypxKhYZbEPVRJruCEH17Xi8HJfCphZOsEyAbkhzp4Q0zFdyOywC2kysF5ts4nxzGfGNFfLejfrvBLf5wbhQAgYlSXGtQiIgFHwoAy3cvGq0b9tDknSIcTOg/JwhGkMigsQ2FAAR5qjl8xdjqKMplSFw54GFLYgJsuvEQkVFUbqLecRrK9ZqLEEEmjmkFTI4+9wfe40jrHAWXiwSB3i4RINO6A148uOQhR0tarlIMHILLyQBkA+QkP4YKzWzsqJGGrhUKyKMHf+peU3KGu0t0dV+kb0FYsOA1HLESoqjype3iYCcKMnl50s5E38Ope/A+iQH1VWp7IXBAKmwcDuOugXm+ohWdczR05Zi8hGGqdqM1MEGaktl/9WkYl3H/sbEqkFhqKf3KKL1WXLuWztI5SBVJ1TuH+diG5QCDBLbuTBlKneSTuxEf8XD4tyIJ8QcpIkt1/pQAIo7K5mIntBzQcwfoTdOCas/81FIkAAAAASUVORK5CYII=\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal temperature card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"µg/m³\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/pm2_5_card.json b/application/src/main/data/json/system/widget_types/pm2_5_card.json
new file mode 100644
index 0000000000..c925624c81
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/pm2_5_card.json
@@ -0,0 +1,30 @@
+{
+ "fqn": "pm2_5_card",
+ "name": "PM2.5 card",
+ "deprecated": false,
+ "image": "data:image/png;base64,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",
+ "description": "Displays a latest fine particulate matter (PM2.5) telemetry data in a box layout.",
+ "descriptor": {
+ "type": "latest",
+ "sizeX": 3,
+ "sizeY": 3,
+ "resources": [],
+ "templateHtml": "\n",
+ "templateCss": "",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'pm2.5', label: 'PM2.5', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n",
+ "settingsSchema": "",
+ "dataKeySettingsSchema": "",
+ "settingsDirective": "tb-value-card-widget-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"bubble_chart\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":32,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"PM2.5 card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"µg/m³\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "matter",
+ "air",
+ "particulate"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/pm2_5_card_with_background.json b/application/src/main/data/json/system/widget_types/pm2_5_card_with_background.json
new file mode 100644
index 0000000000..8ddba63104
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/pm2_5_card_with_background.json
@@ -0,0 +1,30 @@
+{
+ "fqn": "pm2_5_card_with_background",
+ "name": "PM2.5 card with background",
+ "deprecated": false,
+ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAACKFBMVEXm5ujj4+cAAAClpqjm5+ejp6sgICDr6+6kpachISUaHB7g4uKsra/6+vr5+fnm5ufk5OXn6OjKy8vk5ebp6err7O3r6+x8wyLe39/h4uPq6uvt7u7U1NXi4+P3+PjS09PJycrg4ODu7+/Y2dna2trg4eLV1tbW19fd3d729vfMzM3P0NDx8fLNzs7Oz8/b3NzR0dLc3d3X2Njz8/Ps7e319fb09PXw8PDIyMkXGBza29sZGx4eHyIbHSAUFhm6u70nKSy9vr8gISSIiYszNTj6+/s+P0IiJCe2t7m4ubs3ODtWV1kwMjWFhomvsLFBQkW0tbc7PD86Oz2Li40sLjDCw8S/v8EuMDKWl5lERkirrK4TFBeen6CRkpQRERWys7WPkJKhoqSZmptcXmAqLC+NjY8kJim9vsAgICGxsrNZW12Dxi6cnJ5ISUunqKmam5zAwcNRUlXExcaDhIZOT1Kmp6dwcXPFxsiTlJaAgYRUVVhqbG5LTE+IxjmVylGpqqtgYWPq8+B7fH9jZGatrrCkpaZ2eHp+f4GJyDvW4Myq1nTI27LK5alydHZnaGqt0YDa7MW63o261JihzmqMyj3S28izz5GLyj2z24CQy0eb0Viuyovy9+3g6dbT5b3O3b2415HD4pzi8NLC1K2tra3F4KSbymDc4dfb5NG/1aXW29HC3aCw1ISi02XV1tjG0LnS6ba+2pvq7+XN1sLI0rvT6bfV57+3yaFaDHeDAAAADXRSTlPvIADvtyAgv7+/sK+vNgWpSAAAJiJJREFUeNq02/tPW2UYB/B6S0z0lF5Y7aGUAb0KjAJWWPilNqgBKliFIpISKEqgCC0XC2NbgtxGYtRossRp/EWzn41/ot/ned+37zltYaPW77CWbg3ns+d5znsunePVV153RBCzNkEZlz3e/xJXMGhGevz+eGI8FOu8O4T03/N039/P7S7s5nL7R/e7++4hfZ7uI3pNJJ1OWTM1NTU5OZlFVlZmRd5+41XHK2C8tAP5bw4TDjDgiN4dGrw3OHjPA0VuIYWkYdm/7/H09YEGh1BsbGwwZAqxOqBYKRZJcTE7u/TaG463GjuaY7RdH3KYohzj4dDfnWD0efqIsbCRmspmJyenUhsLOdSkG4yjI7ysHQg2nyCsAIMdUDBk6aT0ZuN6BGVaYmAF/nMxw58Ij/zdebe/D81z1H2EYkxNZldmiysr2cnUAkpyH4x97qsNUpCDAwhCDPx5JEuQi4ulpYuLk5PCaw5ivFQ9mkFoCL4wHtRVoSiG4x4Yu7voqTQY2KKlC1Amp9IoCTNyu7sLIHBSQkIMVQ80VZEdgCClUqEASNMMNrxkuCDcVbG7mO8jsZ0pKFaKF0snJycXswTBlCBwECRFjI0NgggEQ/RwMAJtVbosVS4BeXFbNVkKOyQY6YknQn9H7w72efZ3U2Kjigi1eOlkSUIQYlBnCceGrgbVgwsoegp+vJUUl5cFR0OGq8UKxGX2xMdHop1DtJ9aSIl5Fbsc2pLS0gW31i4FYy4Z9AUIC+BQ7wKCHVSNy1KpUijkHTczkBYgREH84zFi0HxnV2y9cVm4LJ1crGSnUqiATJohFAURDH4nK0qVSuWyUCjgryGft0Fcd8bqM9CijPUmfe1tLpp3zAkG/i7WQ5X+oaHOaCwUHk8khkXilgxj3QmHw6FQaGRkBG/t5KW0v393qSCTz29bIB3vdsk4u5wiXfTVknR1vfvu6HvvwRO44/N1dLTrdCA+n+9OMhAI9NZkbEw+CVCSSbxXvduNpBRk2wLxQqAgMixqIYQdSWxKvYMhSJ3jOoibErwkRSFvg/hIwL+6tKCVBXlfQVRB3G4JIYZ0BF7kQJQDSecRMMprjuqYj+l6MKS1qYO4ORoiHYgVUt9ZeLMF4lnb3oZDQcBgCANERQBqLaRLQe7ov1GWwIFIh9hiXRAV4UjaGws7Q89amRjlNTsEYYhqqdZDBqgiXI82hB0MSRJEpx5CEQ6CSAZDyttryKKDHZSBLl2PZhjGi4eE91qAsENKdGM1hmiHnnRiKAgki4sEUQ7XmJwPPLZSYJ/2eohorHoIpxGkXUBEuqkYCiIX8zHpaNmgQ2hoCEsIcsfHDj48QGtxQW6GIHUFUZBFkQfLAuJCBtR8NO8wxIP6MuiBNbq3GMIOhrhrOyvZCKL3WR01kPvKseqQDFREEZpHGFLAYQO/ICE87mMBXwc58ANVRbCGBK6DiB1ZXWe1WSuytvjgweq6BdLMXtfQzwwCMEcqtEVKuLUYAgdLGGIfdTtEfKcKYu8sL1VEFWTCAYbIwO26ytAMQzv0cxmeFDuknRzBIEPcN0MEo/Goe+WwLy6TY8bh0pDbFcOH41IfttKHR/E/ejGHl/CLfhsRfWaF9CZREDhMExIFgaRhZykE10NAtMPrhaW7vPYAjrmZgyrEO3B9PX5+9v2zH/6o2dUebiIZv7O0uUNbW9rMOA16bY4gBp4iOX6LkGDY5Yh4yQEJ91b9sCuKZXAQvc+CQwWQRXYcXzmUA5Brcvr7O5SnP9g6CxC/P/d5BoLNHDZ8ZxNP8exqkwvkzJzjionPMiY066qzTLrkEbQPCSt0GjuwBNkh6CxynJ05pON6yOlTKDh/WiH4K8cGXm06UYorwzm0mQHkyjBywCDOnXV6ZJOQiM66Q50VjER6eiKm7i0NaRBiwFG/iPCwE+Tg6uyJQzhugHwPgsypvSJ4PJxHGdbnfcZh5jDD03H4udj++fnN+XUefenoEp3VzpAeggS9tRDkBocedQ1BY61PHJ89+fGFkL/e0XmmhsRADlGDnc11o7I5NJ91fl7KZKgE5c2swblaH1qn4jjlsKtR586SENeLIUkEBF2QmtZ6AMfB8dmPjxzsuAHypwXyVDgMCVlfL+doyv1XmeymDxAnlcfQwTdKojtLQnRFIElWN7rWQtXQjjrIfVmQQ0BguAnyjAQqot3Vbkl0DSC5zcyhQZD+qmPo0McQEe4sMeoSomcEJZHHWowQEA3TDi5ILYQqcsUQ7wsgv1gc3xhMYAogvIkEcX6OJgLEP79TKpWGjHLZ8M2f5642/YKhO8sO8bZVe4uDBcUSqgYYNxQEEFoLMSEvAfnZAvndehB19bl4nv3cb5R3UKFzPKWUjfMrlCSziWec6iKCziJI0OwRELW2QyKiIXim1kAVhtRIjlbXZ44JcngT5PRnWgR/1ZAfeNP1wcdLprqq02qodlo87GpIZFjCIB++NEM7ZGyQgytIfrwe8hetg79YS/IMHSUE9OvlGexAQbizNIRKok93hUb3klK0I9KhIFri3Z+bYMiTJ9dCTr9Re9x/ZE2+l5MOxO0c3FiiIGpE/H5REq4Jb6qlMNbxtsWtIxzefex8sfdFJARjN9B4HfzLaZw+++3p0+9/ls0ExG1SdYwFeEJQEHJISZAHniys0b2kGPbUOlw5qsjx1fHxsUM66iBP9VyoxaAJCDvkOW5STogJB0tkUVjCGLXt9ploVBHpcOUmZgA5npmRkLYbIKKZmjDwn68bEDQWbiMiAhNhCQKN2tja7daUWodrd4YzgfMR6bi2tU4JwSv67SEBN0HIoerhlY7h+P04PUJi8qEFSXTs81DfW+RQkAkwEAc5OI2H/Rfa+H9+e/qsbsKLCcOWaD2kOy0ckbBaCoNm38l+fBiZSOBmQWKYJEFx3iujRfJp4xmBgyATnLm5dQccClJ/GvLNnwZyKkQ1qcTocdTkh1Gjt9xLz0bpKyBfBaSrzTUaSM+6fa5YAo7IUf5BGoS+oRm+4eHpg2Tkbtzv8kYTcut4/LWpfti1I7gLBL7WV1frIDrGH6ei0X/gVR0v1ENilcnKaKCSrrj3y2mugeFJG+Wp5xXDjd9KO4vZwr73Mj8YXztZvMefFthOjY8vbm/P0F2bcn550p9drazmgvnC2pQ8ldfFEQ7smqVDStSEBIO7c4DAsbzswIuNIDwXcjx+5lWkriLUS+6Au2D2P3ebbqNsIFDAUnYbeXOy29mdHvB3ePK9C0V3qhRKXdKnBQiyPxfunMG9p6HcYHbZ/8DTk8/dLwT963GcAAuJVzvsy6F2UAgyM3cjRE0EP8ER8K+nDVvL87y7YBrRYqXXClkLOIuJYicg755MTeZ96Vnv8+2TkxUec0COlsOhA9xCi65WKsvxiU5/fje1ZJqrMXEGTBSvvshdA2nT9eCKYEC4tRpDhIHDhys//2HUQYYCgdHnw6MFM+YxpjxGeRQv9heNdNq55k7mk7l0Vzrl2k7e2+5IlcxUPnT3XhxBRYZj6/2DBDmaC6Mi+dnw2oJnNda/SCuLkmiHr6GDIeYCJn2dmktD3O9Z26qKAOeaFHFTdTi6VCwmArhZHjDSFRrw55XJnHNt8nKwa2D2MpsbXchnC2bn9mz8+fJi3zAtHie5eLy4XF6NRmMjS8uFNX//WvnBQk+2jBaTBy5q4sViT5JrHAyZ491WQ4i+ZqDWwtsdWq3doSu94vJ7r8/tNelWbjhBjh4EozIcxqyHwsP0wn7/4OI+vYoAosZEHxdbCsIM7TA3aBXh/xzKoSH6AFcbbnesOztACjDguNPeFiQHILz8mfxRJ7wQohfQSZFYPp8SDA0RDp922I6wFCMSSR8czIg4lAMQ7VCS2wcOrgYp+ACro83V4x8ehwOLn2gbLCf++DC+jwSD4qNoiIDwjFSvQWpI3e4qCAaSUpCDGggD9Jw3Aaky8BkBOiV0u0zaavQVtpvXb3ncCJaLNgsQ7WBIvaOdFda+AoPeljo+PoCFrjQqh66InHU8NlcQdoCBi55weIN8cCW2u402SJ6043vaMgHRDj4DFo6ay726r5QDkLPjg2Pk7EkNhMvBv5oMIJgO1EM42tvEhkZQDV7fGIKX+KoWfaMh4vzX4khC0tCBtpJVBOT46uoMp4gOViiIHPPmIfIaL0MCSXkrJCjvhdB6ILfdFA4+jtQO8PhEvtahFDUOZOoMeYJT9kMrRJWEPU1S+DxKV0TcgBVXr3izhIy3VxdEO2C2OXxMB0Io7A5k8gmCayiHjywQVQdpaRoiJXxOqD8wQ5fXGSIdNCDs0PNRc89EOgBhg2JoBw4Tsj8ij3766REgbgXBZuhlpGkIS1R3JVmAO+aUXkDg4G3h/ZfoK94gQOSNBj0fgIhelBC915UMZOXw0aNH59+dn/9khajhYEazECUBBRIYBgZoRUGBAOHZF5POu17eo+EsiyBWh48ZPCDwaoa1reL0xuKjn87Pv/sKEoe7CrHuc1tBgYQQo6O0NkqHN6guYPNS2ANGYpwXmZ6663UdNzmYkUjMnn/13VccC0TVooUSKN5HbcihFhV9SEVTzocq4XFAIqZwAKIZ3Fc2BhwKAsf4xXdfbWW2MhkLpB0QKkfLKJBwtAMDYlZHAvGzIxQChC+n8H13feCux4MUGsIOZoTDJ1tbD/cePnyY2ZIQvE1UpDUUVRN2qDUFAyJ6iVsJwXMBSVQLwouNYsChGbaC8Occ6aS/9HBv7/FeJrMFiGAoSIuiHKNUDvEZLTcaiw8fEaIgBEHQWSiI6CwVKOzlqJ0QcgDy7ePH36Ie3FrtCENaFtFZrOBLpaLdva4InYcgUsJ9Pj5uG3VEFkOPuYawRJRynM5oYpfk2Nra+uo7C6SFBQFEH8j75F8vDoOHQyOx2AiGgh1+oiDKoSD6RFDHJomLnsTli8LO472H5ACkXUNa7MDaoa7AIxiQeBg/OxYKkUNOiZh8PuS9ycFhCpeECkKOaOHbvT3se78DpP3/gsgPMCqGCwOSCMGBgoiTXr8+mapvLO2wUxjCBUFto52FPex5t75CWgP5CF92iL4hokaWBwSNhXoQQ4QdJjteBiIPMeEQBYleoqvQWVtbmdZXBA4J4fFQu1CT/q2CuOIgHGJXWj0n1LcVhMMOwXf0PbeWKkgUqaAWmQzWxIcthzglRN/E9QqHXy0aw7yyI4rB9WAHUoVYGRxVEDXpsRggqAW+9r79tknIRzeVQ0LkbXW1AXG1hMTjBOkREQ4aEO1giMsaq8MvHZwSjlAymW8f7+xUIR0tqQg79F1DOm7nEeXDEYaISdeXsfR82ByNG0sPiIRUcHjy7eMvP/vs49ZC9GdKVUkAkf3AG4DwISJFHbvXN5YekCBSO+jjIVUQQPb2dr78ePqTDz90KIeGNN9eioGIktCRezASkUsxdQSmPQSJiDoJYUg7FMqhFYj6hh16QDiXqMbHH87Pf/21QzIY0hpKl4S8L66XBuWP55+v1hEOQ0RBrGuhhsjIpZAdurEo0fzHn01Pf/HBB19/4GAHZbRVZyJVyChBXBFdjhjdSogBwmEIdxYknDqH+pg4M0R/WgoSjQIyPf/F1x98/fW8hrzXQggcqiJB3u8qByBUERwqEoQLAgiiFHpAePsRPDBDnYTUQD7/ZP4L5BMHMV62Ih+9iKEdEtLRZtJ4SkgnIgoyLq5pywvv9tghzEBXwQGGLK1ydAIy/eGHn3zxyYc3Q25hs8+HhAQ6vIDInw8IFwTF4IN3dgAiY4NoRwTRJ4Vq1JiBAuc//fjj6elPvpj+uHkIEPUF0Qy+u55s9+IQi8P/1g0FGUFBsEXCoRl4Yocoh2LoehAkyg6GYNw/nP708b+snFlrU1EUhfMLnPXWiVhb26I4FVSsrYSaAWIhJAgxqOBQfTCKFHwQNcHgSwaxtZPWqVWxdcRZ/55rr3PO3d6Y6q24HKqt1Pux9j57n+GeCDkI8n8ShBAKAkcoTA078DplVxdA3IilHKbqNS9UB+fo5OCQ5TAE5HIhk82lkzePRjb8K0iiZYYoB0/0Y3eEwSFbOwCR0LKlXf1QkJYcaoefH0JBRU8WCgitdObqxbAgifCG6OqJqewi9L5ypwBBwGFakyCIb0jzGlaPWzKxceUwotClbBKBlc3cvB4CJIzUESVxjTyEqojZIUffjj5uuLmCbWsGoYIg4GiB4XNERXvO5nLx4aFc8nJokMSfrdHeRDm4DsTXJwHSxvfYZfTd3QaM1m+aB7Y6A7VDOViMBIOvuV4bGorF8vHs5ZFwIInfHr/y7c5YZZExy3EIiNklWb2tp9OWw86pqQUUOVPrKCUR1RqzBNFa3mftIIcBsRg7dpzKD6dix+LZwtVwIM1AYw/NqdNKC0cgx8GVOaxpLTeGsD954XkN2csVBV6gJ8qcnEmqfrIgttmkBMMWkF9BhodjAMllCj7IuiXkiH8WuPj897JuRyy318PIWt/WxwxBxzjhlWQi4m99Bpxp4FuWi0B1HD2BNKcIYjkQWnHkejKpIOsAEnbYqgDh/rOxZ/gfJx8riS3r5OC7k1v57qTs7TDVu2BI75uiN2F7X5JAArLeoLyrziysqBW9eqC76vPzg7KOUGczmUwShSSXDICEN6RYkQAD0JiCaI7s/31lrpNlrLt72vO+cnqlc3cD4r99JyDj5HBDFg0hhlpClGiUBTGdRmyFDy215L3nvecfJvU8moIYDm5PgWG2UZOJ7m7XV5S9kvD0AmXvm9nGFDkWZhsLDDGQ1CeKXnkBcUUOC+K3JQaE+U6duVlIAiOX/Kccee9Obz0UkIQDuYOAI8d3OPWEu1PvmLuzE543bQrAV897hEEYGV96MypfnKmtr5U9aKJmkqUKu0fJQQwTWqyDRgbE6UwhmcsC4+rIv4TWA3dKHk/yUR0hiPjxFM/1SjZ1AEAVAWJCWyIrGt30WhDs12aFR3jXU7Vao+iNqh06lxEZGCU5mU1nC4XLIxfPRSwGQEL3JZWiOMFcua+fJQibdwGpoSsZlcednibONBN0x6RX3hHd1PXCg8pzc4DhH95V8eH1tm2vxxuo52WvLNlhw4ocNjHIYhkYXVdyaE9Gjt66fStCDgUJpWfyhA+LHH5VQRBERwnP+AY9+7iAcLj8gMjaE+3qEJBRCSSJqneoGgtFBNc2WFgcn8IYPA8OxSCIzQpHQAEkg6i6dffG7aNhQYL2jNmwwJilYmgpSJs87ZdOiXAQPdq1E4I5H8CxW75U2wzN4Zuw+NUB3d4+WzLfd4oYHHZdg0VHlQBD1h7oSuHmyLkbN+4eLUSIsVRHJKzl1+TzxUEksmZknO3oFhC5bmp7yStHN6HbahAEADCrCgz+4zJG46l6uTQz+kY5ek09Fw7/6pEdvvZcuTxyTvwopP8Ikmj9mW9yDPgxzv6zniySI0z1cgfUvUlAtmxZteqH5EpvX1s7QQRAQNohC9LmJh+QxfBroDCIdjnJXy5dvXj37u2RTHw4ABKybZz5Zfh9AAIrguyzIK9WbwbIhARGV5QgIJn3itHuzp729QSR2QZASnx8gjgOhGOfFg+ITQkheB/aTkpITh49d+voVSzRxSJACB9a9OQxC7pN+knhUBB2WQRZsxwg8woijpS8eQmsbQSZklmTgLQFQGybqGMVfpLDYGx3MiRnrl8fuZyMDx07tiQQbbUqLis87XvxtyI44AgL4kokckmeByDMkVXTGGLFEAuCpyZIT08TSKeCuHGWfpBjlZGQILpO3sTSLxeE/gSScB8D+QJHXB2sI521NRGsz+AwIGs3zOLDCyw5924qAgQBgfZEDEF/ZUHaDQj0K4jt28nhMExckUNJ4MjZpCxsBUDWNoEkFi+JDxFRFVsY6+Rg6/7SQ8qA4/N7AUHLWAXnVM/ezlGpIywi8zCkDWNU0BGRBWG/qyBNHL+DHM9mwQGQ4YjjWBs6R1hFJuv36kUZtZb5nbuAeO/vPcCnAYKm8S0+lubrZVZ2ticfaEgTyN4gCHNdI0swyNEMAg6A5NJQfCiWiliOv4MkWk2s7oDDHQ0QEKpKEMwM33lUSXqtrk2IrO5OnJFtBkHRUBCdSSmIchgQ5dhzViYj8XxscCAkCClUlfp9ceWe+AEMcx4LIMW6TICfVKtVAYEnMzLlq4FsvOMLEsUYsg0VvFSaEiNel0plnh2YLpXmhYMgrTgIEuSAVScLySzG3gup/ojBUJCwelx5bF/BJQUOyAGkunXjk8/mlgN718RmtMErpCPsfISGpU+GLH/VjZWPfpjNOE2RjpYcBFEOTqwyuXge0/bYBeNIKJDEYtvQ9mactwDZKOI1B8Ix94pnxz5JIO0dHx3vQ2ChnisGtZccIoLYkq7zQFvMAxwA2SM6jjQ/hn0FvyCGciQhLAqhBxz48AriLiyqedW3a9Y8+VRE/Mt2Dxd87aKCS2qcn8PnFcTt5FgMTRCXIVucIdQ1rKHk4/G8K4hLDi1XBvkqMd7XBghDSzkQV3PMfP5W4+ug7UwQPi0zgbInASFX15WDIIYjmCEkwafPp2L5XDadPzYUIcaiIAmtKMYRZ4peEOJADghI4HacNXOkgB+vltvTpeQw27udvgREG0Zy6KSjNQhEi46k8nFs6g7lYxFwKEgidIr4hnD1iqdJx+7d+4Q/k8OdaW/UJybmZs22mn+3LM86+SQdlsQumtAQcphqGByzGFqUoTqPLZ4kNkNThxRk31K2E9QRk+tyDSIHLyHRo8cq+3Ir90m4J2pJOiBu8zJtNLCcDIgxxXeEQFsE6XQ8nc4NXeg/dHDpIOqIqyF6nSNAHEcziCxvMawwP5EpKz2xINxWtFs5mL84EPTv1hKaAksUApfQCsmpdDYbH071DyjI4smuaZJoGnu1GvockjD+yxIqXp1JjF5wiLAMLOKBISJp864cCuJ6X+UgyDX0J8Ox/oMHD/8BJBFmO4QkigEOvRvHyd0tu/eXPOY6MDGgDpVyCImtiBQtIQo4CIJEOYXQyqcOnjh4KAjyF5ZE8+irJAcggxG88c5ibPb33igD0suprE9CKq6IqqI6w9VSohzbr2GjJwaOgwMBkJDpEeAgiNohEHo8hiIHV38JYMWFU87IeylCKEaU8jmY7ArCwJJO/ngu3z9weGBwoBkkEY5DMRwIOfRWTIiJQVmOrigEAqduiDg+g6VQBpFxgxiQTRH84pTkVGzwUH//4OBgfwQIS3JE7SCGbumAgx0vGfgbrKAw7HKjhyDm+VUECVqhTrjsUAoDIhxcXzoPhlRq4NBgqsmREK4oh8UIGAIQzXHdDQRIt8lxG1EBX1pjcMkHPxxHUwmhflJyPq1tA0EU/xS59dZboaGH5iAkGeE6MRgXo1ggcmgxRdUttx5y6IfPm9HMPo1YC2cgJAQf9ue3o/m3qzPkqKq6LFYDYh5qxmEYpgcDIfzCfNymzPpucqxVOOgOJgjngk7BBOt+mfg6goPUZakc1Ucfv1EQk0M57jwO0sf9mp22FGwyAJDZ+MnkIUZIeGEBxKXgFvtRqtVb5FrJR8LCY9qYV+SBfm5qGIf4Bn58Vs5k0EEEhZYaouQwDIK4bxBC7WdRFpBjHHo6+wODd97yIKKHejnvSigDzI8ueHbuJJ+DOQhJqAe3VpYDitR1WSGV7weCUJGbsixYnEHzxK6muWKKQQ4ERJh6CdN4/EUSViCK4BimSA6kqqv90PfSRQmK3EgShtD2MuKEMb+0mtq5LMNBMmXxcm7LSOgkSxCvPCJHsvN2RKnbjVUVtlY+K8mDOIdN01UPYPA4KMxeNu63JDg/A4vcWYgNE4IIgYMwoC85tB6BGsNYbzbFEiRSrGeL1j8BiAmiaohnWH/K356ePERDiZgebcQQyPcWg3pUZKJQEBq95cvfpgHGbySNeRAiEMAYCMKIfmcbi7vKrw5hsRx2CIibkJhZfIz9UQYQgiz0kH9fmn1dbIoyghAgLwQ5HCRxmCDgCFegzKmjSzuJZ4tCkQP5ar3FhSDkgFyXfQ2rtvtm1UdoRDCDixjI94nDQMDhc0z5qhk1NO4xWnj2GKbmHtYz/YYFiHcgLtqc2499G55a64KQgtm7P7EcBIKkY3u69S12294hyCcaMVY4IkgakLztDl3THVHwZn3k8ToIz5BmQaQsX8wFOOBnsMggGEYm382bctz/OR12zTCMw24O8rgKQjEmPUIMERK/1E0QPqXmCeE1jm/XOSBBMPMQgOxQ6JbjoX2OiqxHc9ZSKYYwqtPZOXKanIIE+kvYzLvnpxMTBkHCdgoU4JhI3prttjlganUKILd4CMsQ75r4PWcB8U6ig8ji0hKt5FNHZxWyoGA/jhRiC1UM5dIdT09D//T6L4Dc4ulUJAjCVqJ6u4FYAmhm65yTCIchzD/jIICgEYIov3YtWtiH08tLAFmtQMIpa0ZD42A4tPGZg3jTADYls4JiJOxbsfxg6ydyRB6jAkjf9cc2gqwKEjESiAZ13VfkcBIUtwISBn8wLFZE8f6brBoASiskCYsg6JpEFAIhso/d8+v/lk+tlZo9NhvCYVhPe2PWCxIFUUXCHuGYJvWoZc0umklCDsWAXZPm/M7YGewkDAVR9A/8Af4AcGOiSS0QbIhd2IQ0kqhBujCVlQt3fIDxv71zmfHy0mq5QQ2pix7ue+PM+GDKDY6d3VdVfeYeOdnmYMADoiGRvivtDUs8ak14T34/0Y8CiYG4Y1KnJHQUtyEVHalf1uvVqq6r85aWQIBgIodAlL8Tw5cWSSYTrq0AgYyElmjlCYTq2yB6HmHMtFtVLeuqZbq01K/uByGHWr2aJaKlRQ4d4LNNwBeYIIcDQejICUgw4Ic4dL8uPU26KPNij3yrHWrQddujZIgOaYCIJDaIiZawviCJDLmEIQKhJan6Obog73uoLGZ5Pgii6BvtH6cYadrOiSc8z37LDN77IyQRiCXgsdkB4pY4ike2NDx0DZF27bKc5cjji0EQcQQIMOJDt8VBElri/wXRqWkWrwAhCdeVcQgEkKnG3QrqL5DHAp3G0lwRyHQgzRIIONLxRXorToCYF565BwgsoR+wwzgIwvr8GKG6N+p/QH490mX9/leWl+2mLbYNQEIX/xqiMj0Z4ZRwYG05SDQPvcjgJvGX188sqD5XeMb3lEMgJNG10NMcXa282c7liCwZBFFe4iB6A8sx1/IMnhIIBUOMgxII3UpJImALJEHk1buHLMsWTbPIiz1BXKPpjeuaXx5obW/jYZ8141PnrlBvI7MdYwIjZmPaqFIbj/mJcZMckHecGvn98fz2amPYfuq6ut6mYSgKPIDgBegQKmhoDzCEhvgQT3NtB8+L4pEGvKRhXcjSla0NWkUY2cI22kpMDMbT9lP4jZxbhBAC7iZFdSPVJ/ce22njczZW4Zm1DU8gWE6t9vsZ9Dqz7XdrBxtv1zbQQqYC3QMYb+Cv1c9Wt7cPsqzbpQaISWZZC9GH0ieiD3HJ1iI0l3/Goe6knU4nZYxrRUD+jMm9700c0e3Jb/x1jECPJns+Gk9m5uZ23iytk8Pn8pe1rL/Y6marWYsOWX/3hBSiTo8GVdVsDptlEkV2XFVJ5Fnr2aLwLBYTSnCh3GozicNhMwzCOA5wgxeYNJWMiZ7reqEyKlDacXQQhkoyKQSjHjOGQuKMc7xyHKdDGFInBQ7Hkfp/QCYTxMRWcrZ+d+buI+y2m8LCsH77zoOV9RfLsJb88uEtXUwSE4W7wXNoo+4ej04HA4gwFLZIbDUsPC8cD5OksB5t3rTWYilhhPLHTYv37LAsXIw3xgh0ME25dJjO6aElLSVzUqb8iDhgAMRB94Uj6RwnBQZCwhkgARAB4QJfPvwjILt5jfaYk4zUjToGoEYduaHRtd54sLL84gX5Y77eoApYpIC84PEJaaiNDjdJusAiiiJ0Q1sMCz8Mo9AiLR4Wd7EQ3uZR0w+Tyg/dgJ6rFA6C4ZIDC9cBMBtJfRWBi8SYXGkhcTAGJeRQNjrAIwg8I1CgCPv1+8ifIECFqVtTs40bV69fm8IGwmnMxI+/o74a+GqwMb3/dHnr1Qc4xVF9E5B+Hyn5tnc6ghLcEQlJQD0mod1C1m/b8WDgtV3XVtaNjabPluNR6dmgigIRBLibiDXaxeTrwryXcxZEAcYhRxoV53Q+w5vSGDrJKMnRcya41LqnWYdCMPZvIIBybfZeY3pupn75KmpppgYi1zC2TNYV92s7T9dfffqwtnHQzQ7gj9OCvCB4ejw6gvQYxeagSqiKfK8YW284KD3XQhYnaedScs61t9mM4ihSBn0MfCGN5IxJI4iycZCrwFXS4UYZKbSRqTPJA6ccGMFRcJQGCfAMeUyl0T204qQzf9fWtal7j2sP5/dr0/Urs7fvz+9gPNqZ2A/Pz83tryzD5BNenavdRfAi6z7/fLJ3cnyCB+03oXQF3RjoYgyLKPQ8L0nwPx57buCVh2XYzlVPa7ccNUOthXbQKx6rFDWFrk14IOLA9SLNmUaiFIYA5IZJiVxoySUDHwgTQHFihWRa4RSBqgSmMxf+pDnocWX6/dL6+tLLBzT31lbgpLxANrFvYLEK99Wtd69h27e90YXtByj+7eR07xg1BV2+w7KoKEhdqbIgOmhSRBG43tZ5krgxGNEO/KSZ9ITTkXTBDXoEHISJSour2I98o4EozhXdZSiqp15PaUmURs6wGhFIoAZvuAB9WEqYhLx05uzvlJCmIAhyb3+L3Hp3arV5GMc+W996tgAH4vcLsH4GzUFyTAoHrV0I6O8uLn4eHY72TqHKNzo9HFqbQKGkpKyUSRglZTUce8hJmbiRdXsGjA0iP3JxEVmK8uCMpw4VD1VX2uFaBaEf5JJLFUD/IEb/JbFdGeDgnLAT67UwmsgjJYFj1JyfJ1vz38U1USW7+xKz2rM3qKiFBdhbb31ZhkvsyvuFJfIkRnyF5RKY8RGx+/zzHuWCtNPKsvIwFgEJlLvwwtpyQCJeQ+zwOKp8P1YyTVOBq6sZ+CqxrhA0WKXUH4boONqodi5QODqm+YYDntCTI4JLOnICIzglIqVGGr2kunj+3A8SJEr4gI5dBwAAAABJRU5ErkJggg==",
+ "description": "Displays a latest fine particulate matter (PM2.5) telemetry data in a box layout with background.",
+ "descriptor": {
+ "type": "latest",
+ "sizeX": 3,
+ "sizeY": 3,
+ "resources": [],
+ "templateHtml": "\n",
+ "templateCss": "",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'pm2.5', label: 'PM2.5', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n",
+ "settingsSchema": "",
+ "dataKeySettingsSchema": "",
+ "settingsDirective": "tb-value-card-widget-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"bubble_chart\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":32,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"PM2.5 card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"µg/m³\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "matter",
+ "air",
+ "particulate"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/pm2_5_chart_card.json b/application/src/main/data/json/system/widget_types/pm2_5_chart_card.json
new file mode 100644
index 0000000000..6a5e88b70e
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/pm2_5_chart_card.json
@@ -0,0 +1,33 @@
+{
+ "fqn": "pm2_5_chart_card",
+ "name": "PM2.5 chart card",
+ "deprecated": false,
+ "image": "data:image/png;base64,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",
+ "description": "Displays a fine particulate matter (PM2.5) data as a combination of the latest and aggregated values. Optionally may display the corresponding historical values as a simplified chart.",
+ "descriptor": {
+ "type": "timeseries",
+ "sizeX": 4.5,
+ "sizeY": 3.5,
+ "resources": [],
+ "templateHtml": "\n\n",
+ "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'pm2.5', label: 'PM2.5', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'µg/m³', decimals: 0 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'pm2.5', 'µg/m³', 0);\n }\n };\n}\n",
+ "settingsSchema": "{}",
+ "dataKeySettingsSchema": "{}",
+ "latestDataKeySettingsSchema": "{}",
+ "settingsDirective": "tb-aggregated-value-card-widget-settings",
+ "dataKeySettingsDirective": "",
+ "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-aggregated-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":52,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nif (value < -10) {\\n\\tvalue = -10;\\n} else if (value > 10) {\\n\\tvalue = 10;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"PM2.5\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"bubble_chart\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/pm2_5_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/pm2_5_chart_card_with_background.json
new file mode 100644
index 0000000000..61b1966e6b
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/pm2_5_chart_card_with_background.json
@@ -0,0 +1,33 @@
+{
+ "fqn": "pm2_5_chart_card_with_background",
+ "name": "PM2.5 chart card with background",
+ "deprecated": false,
+ "image": "data:image/png;base64,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",
+ "description": "Displays a fine particulate matter (PM2.5) data as a combination of the latest and aggregated values with background. Optionally may display the corresponding historical values as a simplified chart.",
+ "descriptor": {
+ "type": "timeseries",
+ "sizeX": 4.5,
+ "sizeY": 3.5,
+ "resources": [],
+ "templateHtml": "\n\n",
+ "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'pm2.5', label: 'PM2.5', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'µg/m³', decimals: 0 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'pm2.5', 'µg/m³', 0);\n }\n };\n}\n",
+ "settingsSchema": "{}",
+ "dataKeySettingsSchema": "{}",
+ "latestDataKeySettingsSchema": "{}",
+ "settingsDirective": "tb-aggregated-value-card-widget-settings",
+ "dataKeySettingsDirective": "",
+ "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-aggregated-value-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":52,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nif (value < -10) {\\n\\tvalue = -10;\\n} else if (value > 10) {\\n\\tvalue = 10;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"µg/m³\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"PM2.5\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"bubble_chart\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card.json b/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card.json
new file mode 100644
index 0000000000..f50dfbf9c7
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card.json
@@ -0,0 +1,33 @@
+{
+ "fqn": "simple_pm2_5_chart_card",
+ "name": "Simple PM2.5 chart card",
+ "deprecated": false,
+ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAhFBMVEUAAADf39/g4ODf39/f39/g4OD////k5OSAwyzg4OAhISF0dHTv9+U8PDzP6a+QkJDx8fFYWFjf8Mr3+/Kg0mEvLy+/4ZWQy0aIxzmCgoLHx8e6urqv2XtKSkrV1dWenp7H5aOsrKzn9Nirq6u43YhmZmaYzlOo1m7X7L2n1m719fWQykb4eF0NAAAABnRSTlMAIL9AEN/GQiaNAAAEq0lEQVR42uzPwQ2AIBAAsBMQcz/mYP8BjRv4BNJu0AAAAAAAAPivXZtr8akln83lXSOunH17I2uU0Q8wS2Q/QoosRmQ1Ii+7daxiMQhEYbg7A2cQncIiShQJef9X3GsWcndhmxQbDNcPLHSqHyxmNDNkNDNkNDNkNDNkNB8RInjLqroUoGnBi2qALKaCg+9TXHJfiKx0+bx5er8zQ2kAEilwa1tjQBdt4BBHMoZ3CAAzqOtvGimZBf10TLjsrpDALv8K2Q1qsQJxoeCl8SgVqvqAS24LQeSL/Pxaygo1b2guHRNxHl1ZlxoN19wSIpF1I+nxDjHTDVALTKaN0jsUp8qAK+4J2UkHyQUnTxzUYErpIWFd8a1koA0Z4klDyPgzJNPQQ9aYUxLUhMQq5nDJPSHYfICy4lQdDsuOsG7ITsR1Fc4D3tEEl9wU0lWX8RwfsaI8ygwZzQwZzQwZzQwZzQwZzQwZzQz5d6F53+TxIWHhQeXZIeK4FEAWOnl0iDLhUKI9OeSLPXPbbRwEAujbZITBFzABX+vNxWnU//+/nZgs9taOam+1riPlPGAzUIlTGEBxzqL+97L8iUUCHft3nTyxiAjAE7H4aUVyVoAnZtGTidRF7lcWDEjEU4nsEsaYKIYrq0/3JxKJhY7yQrC6y4riryadbVgkP4sq2A1Tuu502DlIPidFpuNviCgO/5GAaRowO4LDf2qJs0onx4enynKRxiDacpbLxSgYI1O06cO/j1jkPrfWPrCDxyS6/keRPWmQiplhwrGdjNpTiekX50Ssg35CHkPN+i2+3YcTzVjya74IR7wqCBFP8CUNhjBGSQ6AHw/Pidyv/hkTQiYBY1WlWZJFmWDVbq7IO+KBHim2MIU6SPAY5Hd7eQDiIJXrtE+xgWn8OVGz5GZSsAC+IM+Sc+b0j4JF8TyRELvRXTD1dbfg3MMiGgp1NrLrg0jDpigPLd7nkafG7GEace7PCBFECatiWADNjyhmiSh7Gww3VI5FqLSpwbtIiWEnYruYoSaLFFJcAbSopgfCjv37WTOx+Bv9TlTzkr1BvJQWWzUW4YipIoG7iEHViRgXu1IHS6XEVkqLMEX3JfXbzBNRJd44wFgkdGHpRCSW4JYW+KZuRZ4Q0TYwSVJRsY5Ii6YJSUaORKiw0IuU+D4Qcanltl3+/q5gGpbBt1mU7Fc0Y5ESP3oRRT0eiDymcJvvGiIXbL3PZ5HTcEZCLJeLCAHECiL+v94MRPhkjqQoF4tEbs9aRYQMQgBlBkvr1NWRStuN83IT4dRhoUic3W+AK4i4IaepRWy8iKujszTdu6T4fqHIrvIea4gAL9Ftn17EUPXqUwXt6SbSIl8mUgt9BMcqIoSSkg93MaorxfmfW5W6Xce4HzHnikrX7h6THLWowbOGiMeLgIc3bmMzcAgPsIRoeG/9eZEWzX6fusW0iIxl0PPzItz4/Fko8gYjVhbhYQgDZNOECjbGVn4Oeom8RLbKS2RrvES2xktka7xEtsbvdu6gBkAgBoBgacMl/aED/wKxwPOumXGwBlbIboTspiMHrIPWejKqB8yD3r4i6j5/S5U1aRQGAAAAAADwywcmOfeID1PhnQAAAABJRU5ErkJggg==",
+ "description": "Displays historical fine particulate matter (PM2.5) values as a simplified chart. Optionally may display the corresponding latest PM2.5 value.",
+ "descriptor": {
+ "type": "timeseries",
+ "sizeX": 4.5,
+ "sizeY": 2,
+ "resources": [],
+ "templateHtml": "\n\n",
+ "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'pm2.5', label: 'PM2.5', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'pm2.5', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n",
+ "settingsSchema": "{}",
+ "dataKeySettingsSchema": "{}",
+ "latestDataKeySettingsSchema": "{}",
+ "settingsDirective": "tb-value-chart-card-widget-settings",
+ "dataKeySettingsDirective": "",
+ "latestDataKeySettingsDirective": "",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-chart-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#80C32C\"},{\"from\":10,\"to\":35,\"color\":\"#FFA600\"},{\"from\":35,\"to\":75,\"color\":\"#F36900\"},{\"from\":75,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"PM2.5\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"bubble_chart\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":0,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"µg/m³\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card_with_background.json
new file mode 100644
index 0000000000..3b3c1cdc85
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/simple_pm2_5_chart_card_with_background.json
@@ -0,0 +1,33 @@
+{
+ "fqn": "simple_pm2_5_chart_card_with_background",
+ "name": "Simple PM2.5 chart card with background",
+ "deprecated": false,
+ "image": "data:image/png;base64,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",
+ "description": "Displays historical fine particulate matter (PM2.5) values as a simplified chart with background. Optionally may display the corresponding latest PM2.5 value.",
+ "descriptor": {
+ "type": "timeseries",
+ "sizeX": 4.5,
+ "sizeY": 2,
+ "resources": [],
+ "templateHtml": "\n\n",
+ "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'pm2.5', label: 'PM2.5', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'pm2.5', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n",
+ "settingsSchema": "{}",
+ "dataKeySettingsSchema": "{}",
+ "latestDataKeySettingsSchema": "{}",
+ "settingsDirective": "tb-value-chart-card-widget-settings",
+ "dataKeySettingsDirective": "",
+ "latestDataKeySettingsDirective": "",
+ "hasBasicMode": true,
+ "basicModeDirective": "tb-value-chart-card-basic-config",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"PM2.5\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 120 - 60;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 500) {\\n\\tvalue = 500;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":10,\"color\":\"#7CC322\"},{\"from\":10,\"to\":35,\"color\":\"#F89E0D\"},{\"from\":35,\"to\":75,\"color\":\"#F77410\"},{\"from\":75,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"PM2.5\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"bubble_chart\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":0,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"µg/m³\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}"
+ },
+ "externalId": null,
+ "tags": [
+ "environment",
+ "pm2.5",
+ "particulate",
+ "matter",
+ "air"
+ ]
+}
\ No newline at end of file