From c0efd1fc4d3d102bbf9c18b7757b36b182e061f8 Mon Sep 17 00:00:00 2001 From: jkharrat Date: Sat, 17 Apr 2021 05:22:59 +0200 Subject: [PATCH] :memo: initial commit V0.1 --- README.md | 2 + Release/com.jk.weather.streamDeckPlugin | Bin 0 -> 31234 bytes Sources/com.jk.weather.sdPlugin/manifest.json | 41 + Sources/com.jk.weather.sdPlugin/pi/caret.svg | 3 + .../com.jk.weather.sdPlugin/pi/main_pi.html | 28 + Sources/com.jk.weather.sdPlugin/pi/main_pi.js | 100 + Sources/com.jk.weather.sdPlugin/pi/sdpi.css | 1605 +++++++++++++++++ .../com.jk.weather.sdPlugin/plugin/main.html | 12 + .../com.jk.weather.sdPlugin/plugin/main.js | 103 ++ .../resources/actionDefaultImage.png | Bin 0 -> 661 bytes .../resources/actionDefaultImage@2x.png | Bin 0 -> 661 bytes .../resources/actionIcon.png | Bin 0 -> 661 bytes .../resources/actionIcon@2x.png | Bin 0 -> 661 bytes .../resources/pluginIcon.png | Bin 0 -> 1520 bytes .../resources/pluginIcon@2x.png | Bin 0 -> 2068 bytes screenshot.png | Bin 0 -> 51383 bytes 16 files changed, 1894 insertions(+) create mode 100644 README.md create mode 100644 Release/com.jk.weather.streamDeckPlugin create mode 100644 Sources/com.jk.weather.sdPlugin/manifest.json create mode 100644 Sources/com.jk.weather.sdPlugin/pi/caret.svg create mode 100644 Sources/com.jk.weather.sdPlugin/pi/main_pi.html create mode 100644 Sources/com.jk.weather.sdPlugin/pi/main_pi.js create mode 100644 Sources/com.jk.weather.sdPlugin/pi/sdpi.css create mode 100644 Sources/com.jk.weather.sdPlugin/plugin/main.html create mode 100644 Sources/com.jk.weather.sdPlugin/plugin/main.js create mode 100644 Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage.png create mode 100644 Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage@2x.png create mode 100644 Sources/com.jk.weather.sdPlugin/resources/actionIcon.png create mode 100644 Sources/com.jk.weather.sdPlugin/resources/actionIcon@2x.png create mode 100644 Sources/com.jk.weather.sdPlugin/resources/pluginIcon.png create mode 100644 Sources/com.jk.weather.sdPlugin/resources/pluginIcon@2x.png create mode 100644 screenshot.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..e66d1f8 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# streamDeck-weatherPlugin +Plugin for StreamDeck to display weather info diff --git a/Release/com.jk.weather.streamDeckPlugin b/Release/com.jk.weather.streamDeckPlugin new file mode 100644 index 0000000000000000000000000000000000000000..77e9ea70daa1564b2c3dfc53d15a87b443c01952 GIT binary patch literal 31234 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 B$I}1+ literal 0 HcmV?d00001 diff --git a/Sources/com.jk.weather.sdPlugin/manifest.json b/Sources/com.jk.weather.sdPlugin/manifest.json new file mode 100644 index 0000000..046c5ae --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/manifest.json @@ -0,0 +1,41 @@ +{ + "Actions": [ + { + "Icon": "resources/actionIcon", + "Name": "Weather", + "States": [ + { + "Image": "resources/actionDefaultImage", + "TitleAlignment": "bottom", + "FontSize": "10" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Get current weather", + "UUID": "com.jk.weather.action" + } + ], + "SDKVersion": 2, + "Author": "Jaouher", + "CodePath": "plugin/main.html", + "Description": "Easily get a preview about the weather", + "Name": "Weather", + "Icon": "resources/pluginIcon", + "PropertyInspectorPath": "pi/main_pi.html", + "URL": "https://jk.com", + "Version": "2.0", + "OS": [ + { + "Platform": "mac", + "MinimumVersion" : "10.11" + }, + { + "Platform": "windows", + "MinimumVersion" : "10" + } + ], + "Software": + { + "MinimumVersion" : "4.1" + } + } diff --git a/Sources/com.jk.weather.sdPlugin/pi/caret.svg b/Sources/com.jk.weather.sdPlugin/pi/caret.svg new file mode 100644 index 0000000..5f5cc67 --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/pi/caret.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Sources/com.jk.weather.sdPlugin/pi/main_pi.html b/Sources/com.jk.weather.sdPlugin/pi/main_pi.html new file mode 100644 index 0000000..e0e66ce --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/pi/main_pi.html @@ -0,0 +1,28 @@ + + + + + + com.jk.weather.pi + + + + + + + + + diff --git a/Sources/com.jk.weather.sdPlugin/pi/main_pi.js b/Sources/com.jk.weather.sdPlugin/pi/main_pi.js new file mode 100644 index 0000000..226af44 --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/pi/main_pi.js @@ -0,0 +1,100 @@ +let websocket = null, + uuid = null, + actionInfo = {}; + +function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo) { + + uuid = inPropertyInspectorUUID; + actionInfo = JSON.parse(inActionInfo); + + websocket = new WebSocket('ws://localhost:' + inPort); + + websocket.onopen = function() + { + // WebSocket is connected, register the Property Inspector + let json = { + "event": inRegisterEvent, + "uuid": inPropertyInspectorUUID + }; + websocket.send(JSON.stringify(json)); + + json = { + "event": "getSettings", + "context": uuid, + }; + websocket.send(JSON.stringify(json)); + + json = { + "event": "getGlobalSettings", + "context": uuid, + }; + websocket.send(JSON.stringify(json)); + }; + + websocket.onmessage = function (evt) { + // Received message from Stream Deck + const jsonObj = JSON.parse(evt.data); + if (jsonObj.event === 'didReceiveSettings') { + const payload = jsonObj.payload.settings; + + document.getElementById('cityName').value = payload.cityName; + + if(document.getElementById('cityName').value === "undefined") { + document.getElementById('cityName').value = ""; + } + } + if (jsonObj.event === 'didReceiveGlobalSettings') { + const payload = jsonObj.payload.settings; + + document.getElementById('apiKey').value = payload.apiKey; + + if(document.getElementById('apiKey').value === "undefined") { + document.getElementById('apiKey').value = ""; + } + + const el = document.querySelector('.sdpi-wrapper'); + el && el.classList.remove('hidden'); + } + }; + +} + +function updateCityName() { + if (websocket && (websocket.readyState === 1)) { + let payload = {}; + payload.cityName = document.getElementById('cityName').value; + const json = { + "event": "setSettings", + "context": uuid, + "payload": payload + }; + websocket.send(JSON.stringify(json)); + console.log(json) + } +} + +function updateApiKey() { + if (websocket && (websocket.readyState === 1)) { + let payload = {}; + payload.apiKey = document.getElementById('apiKey').value; + const json = { + "event": "setGlobalSettings", + "context": uuid, + "payload": payload + }; + websocket.send(JSON.stringify(json)); + console.log(json) + } +} + +function openPage(site) { + if (websocket && (websocket.readyState === 1)) { + const json = { + 'event': 'openUrl', + 'payload': { + 'url': 'https://' + site + } + }; + websocket.send(JSON.stringify(json)); + } +} diff --git a/Sources/com.jk.weather.sdPlugin/pi/sdpi.css b/Sources/com.jk.weather.sdPlugin/pi/sdpi.css new file mode 100644 index 0000000..48549cf --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/pi/sdpi.css @@ -0,0 +1,1605 @@ +html { + --sdpi-bgcolor: #2D2D2D; + --sdpi-background: #3D3D3D; + --sdpi-color: #d8d8d8; + --sdpi-bordercolor: #3a3a3a; + --sdpi-borderradius: 0px; + --sdpi-width: 224px; + --sdpi-fontweight: 600; + --sdpi-letterspacing: -0.25pt; + height: 100%; + width: 100%; + overflow: hidden; + } + + html, body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 9pt; + background-color: var(--sdpi-bgcolor); + color: #9a9a9a; + } + + body { + height: 100%; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + margin: 0; + -webkit-overflow-scrolling: touch; + -webkit-text-size-adjust: 100%; + -webkit-font-smoothing: antialiased; + } + + mark { + background-color: var(--sdpi-bgcolor); + color: var(--sdpi-color); + } + + .hidden { + display: none; + } + + hr, hr2 { + -webkit-margin-before: 1em; + -webkit-margin-after: 1em; + border-style: none; + background: var(--sdpi-background); + height: 1px; + } + + hr2, + .sdpi-heading { + display: flex; + flex-basis: 100%; + align-items: center; + color: inherit; + font-size: 9pt; + margin: 8px 0px; + } + + .sdpi-heading::before, + .sdpi-heading::after { + content: ""; + flex-grow: 1; + background: var(--sdpi-background); + height: 1px; + font-size: 0px; + line-height: 0px; + margin: 0px 16px; + } + + hr2 { + height: 2px; + } + + hr, hr2 { + margin-left:16px; + margin-right:16px; + } + + .sdpi-item-value, + option, + input, + select, + button { + font-size: 10pt; + font-weight: var(--sdpi-fontweight); + letter-spacing: var(--sdpi-letterspacing); + } + + + + .win .sdpi-item-value, + .win option, + .win input, + .win select, + .win button { + font-size: 11px; + font-style: normal; + letter-spacing: inherit; + font-weight: 100; + } + + .win button { + font-size: 12px; + } + + ::-webkit-progress-value, + meter::-webkit-meter-optimum-value { + border-radius: 2px; + /* background: linear-gradient(#ccf, #99f 20%, #77f 45%, #77f 55%, #cdf); */ + } + + ::-webkit-progress-bar, + meter::-webkit-meter-bar { + border-radius: 3px; + background: var(--sdpi-background); + } + + ::-webkit-progress-bar:active, + meter::-webkit-meter-bar:active { + border-radius: 3px; + background: #222222; + } + ::-webkit-progress-value:active, + meter::-webkit-meter-optimum-value:active { + background: #99f; + } + + progress, + progress.sdpi-item-value { + min-height: 5px !important; + height: 5px; + background-color: #303030; + } + + progress { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + + .full progress, + progress.full { + margin-top: 3px !important; + } + + ::-webkit-progress-inner-element { + background-color: transparent; + } + + + .sdpi-item[type="progress"] { + margin-top: 4px !important; + margin-bottom: 12px; + min-height: 15px; + } + + .sdpi-item-child.full:last-child { + margin-bottom: 4px; + } + + .tabs { + /** + * Setting display to flex makes this container lay + * out its children using flexbox, the exact same + * as in the above "Stepper input" example. + */ + display: flex; + + border-bottom: 1px solid #D7DBDD; + } + + .tab { + cursor: pointer; + padding: 5px 30px; + color: #16a2d7; + font-size: 9pt; + border-bottom: 2px solid transparent; + } + + .tab.is-tab-selected { + border-bottom-color: #4ebbe4; + } + + select { + -webkit-appearance: none; + -moz-appearance: none; + -o-appearance: none; + appearance: none; + background: url(caret.svg) no-repeat 97% center; + } + + label.sdpi-file-label, + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"], + input[type=file]::-webkit-file-upload-button, + button, + select { + color: var(--sdpi-color); + border: 1pt solid #303030; + font-size: 8pt; + background-color: var(--sdpi-background); + border-radius: var(--sdpi-borderradius); + } + + label.sdpi-file-label, + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"], + input[type=file]::-webkit-file-upload-button, + button { + border: 1pt solid var(--sdpi-color); + border-radius: var(--sdpi-borderradius); + min-height: 23px !important; + height: 23px !important; + margin-right: 8px; + } + + input[type=number]::-webkit-inner-spin-button, + input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + + input[type="file"] { + border-radius: var(--sdpi-borderradius); + max-width: 220px; + } + + option { + height: 1.5em; + padding: 4px; + } + + /* SDPI */ + + .sdpi-wrapper { + overflow-x: hidden; + } + + .sdpi-item { + display: flex; + flex-direction: row; + min-height: 32px; + align-items: center; + margin-top: 2px; + max-width: 344px; + } + + .sdpi-item:first-child { + margin-top:1px; + } + + .sdpi-item:last-child { + margin-bottom: 0px; + } + + .sdpi-item > *:not(.sdpi-item-label):not(meter):not(details) { + min-height: 26px; + padding: 0px 4px 0px 4px; + } + + .sdpi-item > *:not(.sdpi-item-label.empty):not(meter) { + min-height: 26px; + padding: 0px 4px 0px 4px; + } + + + .sdpi-item-group { + padding: 0 !important; + } + + meter.sdpi-item-value { + margin-left: 6px; + } + + .sdpi-item[type="group"] { + display: block; + margin-top: 12px; + margin-bottom: 12px; + /* border: 1px solid white; */ + flex-direction: unset; + text-align: left; + } + + .sdpi-item[type="group"] > .sdpi-item-label, + .sdpi-item[type="group"].sdpi-item-label { + width: 96%; + text-align: left; + font-weight: 700; + margin-bottom: 4px; + padding-left: 4px; + } + + dl, + ul, + ol { + -webkit-margin-before: 0px; + -webkit-margin-after: 4px; + -webkit-padding-start: 1em; + max-height: 90px; + overflow-y: scroll; + cursor: pointer; + user-select: none; + } + + table.sdpi-item-value, + dl.sdpi-item-value, + ul.sdpi-item-value, + ol.sdpi-item-value { + -webkit-margin-before: 4px; + -webkit-margin-after: 8px; + -webkit-padding-start: 1em; + width: var(--sdpi-width); + text-align: center; + } + + table > caption { + margin: 2px; + } + + .list, + .sdpi-item[type="list"] { + align-items: baseline; + } + + .sdpi-item-label { + text-align: right; + flex: none; + width: 94px; + padding-right: 4px; + font-weight: 600; + -webkit-user-select: none; + } + + .win .sdpi-item-label, + .sdpi-item-label > small{ + font-weight: normal; + } + + .sdpi-item-label:after { + content: ": "; + } + + .sdpi-item-label.empty:after { + content: ""; + } + + .sdpi-test, + .sdpi-item-value { + flex: 1 0 0; + /* flex-grow: 1; + flex-shrink: 0; */ + margin-right: 14px; + margin-left: 4px; + justify-content: space-evenly; + } + + canvas.sdpi-item-value { + max-width: 144px; + max-height: 144px; + width: 144px; + height: 144px; + margin: 0 auto; + cursor: pointer; + } + + input.sdpi-item-value { + margin-left: 5px; + } + + .sdpi-item-value button, + button.sdpi-item-value { + margin-left: 7px; + margin-right: 19px; + } + + .sdpi-item-value.range { + margin-left: 0px; + } + + table, + dl.sdpi-item-value, + ul.sdpi-item-value, + ol.sdpi-item-value, + .sdpi-item-value > dl, + .sdpi-item-value > ul, + .sdpi-item-value > ol + { + list-style-type: none; + list-style-position: outside; + margin-left: -4px; + margin-right: -4px; + padding: 4px; + border: 1px solid var(--sdpi-bordercolor); + } + + dl.sdpi-item-value, + ul.sdpi-item-value, + ol.sdpi-item-value, + .sdpi-item-value > ol { + list-style-type: none; + list-style-position: inside; + margin-left: 5px; + margin-right: 12px; + padding: 4px !important; + } + + ol.sdpi-item-value, + .sdpi-item-value > ol[listtype="none"] { + list-style-type: none; + } + ol.sdpi-item-value[type="decimal"], + .sdpi-item-value > ol[type="decimal"] { + list-style-type: decimal; + } + + ol.sdpi-item-value[type="decimal-leading-zero"], + .sdpi-item-value > ol[type="decimal-leading-zero"] { + list-style-type: decimal-leading-zero; + } + + ol.sdpi-item-value[type="lower-alpha"], + .sdpi-item-value > ol[type="lower-alpha"] { + list-style-type: lower-alpha; + } + + ol.sdpi-item-value[type="upper-alpha"], + .sdpi-item-value > ol[type="upper-alpha"] { + list-style-type: upper-alpha; + } + + ol.sdpi-item-value[type="upper-roman"], + .sdpi-item-value > ol[type="upper-roman"] { + list-style-type: upper-roman; + } + + ol.sdpi-item-value[type="lower-roman"], + .sdpi-item-value > ol[type="lower-roman"] { + list-style-type: upper-roman; + } + + tr:nth-child(even), + .sdpi-item-value > ul > li:nth-child(even), + .sdpi-item-value > ol > li:nth-child(even), + li:nth-child(even) { + background-color: rgba(0,0,0,.2) + } + + td:hover, + .sdpi-item-value > ul > li:hover:nth-child(even), + .sdpi-item-value > ol > li:hover:nth-child(even), + li:hover:nth-child(even), + li:hover { + background-color: rgba(255,255,255,.1); + } + + td.selected, + td.selected:hover, + li.selected:hover, + li.selected { + color: white; + background-color: #77f; + } + + tr { + border: 1px solid var(--sdpi-bordercolor); + } + + td { + border-right: 1px solid var(--sdpi-bordercolor); + -webkit-user-select: none; + } + + tr:last-child, + td:last-child { + border: none; + } + + .sdpi-item-value.select, + .sdpi-item-value > select { + margin-right: 13px; + margin-left: 4px; + } + + .sdpi-item-child, + .sdpi-item-group > .sdpi-item > input[type="color"] { + margin-top: 0.4em; + margin-right: 4px; + } + + .full, + .full *, + .sdpi-item-value.full, + .sdpi-item-child > full > *, + .sdpi-item-child.full, + .sdpi-item-child.full > *, + .full > .sdpi-item-child, + .full > .sdpi-item-child > *{ + display: flex; + flex: 1 1 0; + margin-bottom: 4px; + margin-left: 0px; + width: 100%; + + justify-content: space-evenly; + } + + .sdpi-item-group > .sdpi-item > input[type="color"] { + margin-top: 0px; + } + + ::-webkit-calendar-picker-indicator:focus, + input[type=file]::-webkit-file-upload-button:focus, + button:focus, + textarea:focus, + input:focus, + select:focus, + option:focus, + details:focus, + summary:focus, + .custom-select select { + outline: none; + } + + summary { + cursor: default; + -webkit-user-select: none; + } + + .pointer, + summary .pointer { + cursor: pointer; + } + + details.message { + padding: 4px 18px 4px 12px; + } + + details.message summary { + font-size: 10pt; + font-weight: 600; + min-height: 18px; + } + + details.message:first-child { + margin-top: 4px; + margin-left: 0; + padding-left: 106px; + } + + details.message h1 { + text-align: left; + } + + .message > summary::-webkit-details-marker { + display: none; + } + + .info20, + .question, + .caution, + .info { + background-repeat: no-repeat; + background-position: 70px center; + } + + .info20 { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23999' d='M10,20 C4.4771525,20 0,15.5228475 0,10 C0,4.4771525 4.4771525,0 10,0 C15.5228475,0 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 Z M10,8 C8.8954305,8 8,8.84275812 8,9.88235294 L8,16.1176471 C8,17.1572419 8.8954305,18 10,18 C11.1045695,18 12,17.1572419 12,16.1176471 L12,9.88235294 C12,8.84275812 11.1045695,8 10,8 Z M10,3 C8.8954305,3 8,3.88165465 8,4.96923077 L8,5.03076923 C8,6.11834535 8.8954305,7 10,7 C11.1045695,7 12,6.11834535 12,5.03076923 L12,4.96923077 C12,3.88165465 11.1045695,3 10,3 Z'/%3E%3C/svg%3E%0A"); + } + + .info { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23999' d='M10,18 C5.581722,18 2,14.418278 2,10 C2,5.581722 5.581722,2 10,2 C14.418278,2 18,5.581722 18,10 C18,14.418278 14.418278,18 10,18 Z M10,8 C9.44771525,8 9,8.42137906 9,8.94117647 L9,14.0588235 C9,14.5786209 9.44771525,15 10,15 C10.5522847,15 11,14.5786209 11,14.0588235 L11,8.94117647 C11,8.42137906 10.5522847,8 10,8 Z M10,5 C9.44771525,5 9,5.44082732 9,5.98461538 L9,6.01538462 C9,6.55917268 9.44771525,7 10,7 C10.5522847,7 11,6.55917268 11,6.01538462 L11,5.98461538 C11,5.44082732 10.5522847,5 10,5 Z'/%3E%3C/svg%3E%0A"); + } + + .info2 { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Cpath fill='%23999' d='M7.5,15 C3.35786438,15 0,11.6421356 0,7.5 C0,3.35786438 3.35786438,0 7.5,0 C11.6421356,0 15,3.35786438 15,7.5 C15,11.6421356 11.6421356,15 7.5,15 Z M7.5,2 C6.67157287,2 6,2.66124098 6,3.47692307 L6,3.52307693 C6,4.33875902 6.67157287,5 7.5,5 C8.32842705,5 9,4.33875902 9,3.52307693 L9,3.47692307 C9,2.66124098 8.32842705,2 7.5,2 Z M5,6 L5,7.02155172 L6,7 L6,12 L5,12.0076778 L5,13 L10,13 L10,12 L9,12.0076778 L9,6 L5,6 Z'/%3E%3C/svg%3E%0A"); + } + + .sdpi-more-info { + background-image: linear-gradient(to right, #00000000 0%,#00000040 80%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon fill='%23999' points='4 7 8 7 8 5 12 8 8 11 8 9 4 9'/%3E%3C/svg%3E%0A"); + } + .caution { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23999' fill-rule='evenodd' d='M9.03952676,0.746646542 C9.57068894,-0.245797319 10.4285735,-0.25196227 10.9630352,0.746646542 L19.7705903,17.2030214 C20.3017525,18.1954653 19.8777595,19 18.8371387,19 L1.16542323,19 C0.118729947,19 -0.302490098,18.2016302 0.231971607,17.2030214 L9.03952676,0.746646542 Z M10,2.25584053 L1.9601405,17.3478261 L18.04099,17.3478261 L10,2.25584053 Z M10,5.9375 C10.531043,5.9375 10.9615385,6.37373537 10.9615385,6.91185897 L10.9615385,11.6923077 C10.9615385,12.2304313 10.531043,12.6666667 10,12.6666667 C9.46895697,12.6666667 9.03846154,12.2304313 9.03846154,11.6923077 L9.03846154,6.91185897 C9.03846154,6.37373537 9.46895697,5.9375 10,5.9375 Z M10,13.4583333 C10.6372516,13.4583333 11.1538462,13.9818158 11.1538462,14.6275641 L11.1538462,14.6641026 C11.1538462,15.3098509 10.6372516,15.8333333 10,15.8333333 C9.36274837,15.8333333 8.84615385,15.3098509 8.84615385,14.6641026 L8.84615385,14.6275641 C8.84615385,13.9818158 9.36274837,13.4583333 10,13.4583333 Z'/%3E%3C/svg%3E%0A"); + } + + .question { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23999' d='M10,18 C5.581722,18 2,14.418278 2,10 C2,5.581722 5.581722,2 10,2 C14.418278,2 18,5.581722 18,10 C18,14.418278 14.418278,18 10,18 Z M6.77783203,7.65332031 C6.77783203,7.84798274 6.85929281,8.02888914 7.0222168,8.19604492 C7.18514079,8.36320071 7.38508996,8.44677734 7.62207031,8.44677734 C8.02409055,8.44677734 8.29703704,8.20768468 8.44091797,7.72949219 C8.59326248,7.27245865 8.77945854,6.92651485 8.99951172,6.69165039 C9.2195649,6.45678594 9.56233491,6.33935547 10.027832,6.33935547 C10.4256205,6.33935547 10.7006836,6.37695313 11.0021973,6.68847656 C11.652832,7.53271484 10.942627,8.472229 10.3750916,9.1321106 C9.80755615,9.79199219 8.29492188,11.9897461 10.027832,12.1347656 C10.4498423,12.1700818 10.7027991,11.9147157 10.7832031,11.4746094 C11.0021973,9.59857178 13.1254883,8.82415771 13.1254883,7.53271484 C13.1254883,7.07568131 12.9974785,6.65250846 12.7414551,6.26318359 C12.4854317,5.87385873 12.1225609,5.56600048 11.652832,5.33959961 C11.1831031,5.11319874 10.6414419,5 10.027832,5 C9.36767248,5 8.79004154,5.13541531 8.29492187,5.40625 C7.79980221,5.67708469 7.42317837,6.01879677 7.16503906,6.43139648 C6.90689975,6.8439962 6.77783203,7.25130007 6.77783203,7.65332031 Z M10.0099668,15 C10.2713191,15 10.5016601,14.9108147 10.7009967,14.7324415 C10.9003332,14.5540682 11,14.3088087 11,13.9966555 C11,13.7157177 10.9047629,13.4793767 10.7142857,13.2876254 C10.5238086,13.0958742 10.2890379,13 10.0099668,13 C9.72646591,13 9.48726565,13.0958742 9.2923588,13.2876254 C9.09745196,13.4793767 9,13.7157177 9,13.9966555 C9,14.313268 9.10077419,14.5596424 9.30232558,14.735786 C9.50387698,14.9119295 9.73975502,15 10.0099668,15 Z'/%3E%3C/svg%3E%0A"); + } + + + .sdpi-more-info { + position: fixed; + left: 0px; + right: 0px; + bottom: 0px; + min-height:16px; + padding-right: 16px; + text-align: right; + -webkit-touch-callout: none; + cursor: pointer; + user-select: none; + background-position: right center; + background-repeat: no-repeat; + border-radius: var(--sdpi-borderradius); + text-decoration: none; + color: var(--sdpi-color); + } + + .sdpi-more-info-button { + display: flex; + align-self: right; + margin-left: auto; + position: fixed; + right: 17px; + bottom: 0px; + } + + details a { + background-position: right !important; + min-height: 24px; + display: inline-block; + line-height: 24px; + padding-right: 28px; + } + input:not([type="range"]), + textarea { + -webkit-appearance: none; + background: var(--sdpi-background); + color: var(--sdpi-color); + font-weight: normal; + font-size: 9pt; + border: none; + margin-top: 2px; + margin-bottom: 2px; + } + + textarea + label { + display: flex; + justify-content: flex-end + } + input[type="radio"], + input[type="checkbox"] { + display: none; + } + input[type="radio"] + label, + input[type="checkbox"] + label { + font-size: 9pt; + color: var(--sdpi-color); + font-weight: normal; + margin-right: 8px; + -webkit-user-select: none; + } + + input[type="radio"] + label:after, + input[type="checkbox"] + label:after { + content: " " !important; + } + + .sdpi-item[type="radio"] > .sdpi-item-value, + .sdpi-item[type="checkbox"] > .sdpi-item-value { + padding-top: 2px; + } + + .sdpi-item[type="checkbox"] > .sdpi-item-value > * { + margin-top: 4px; + } + + .sdpi-item[type="checkbox"] .sdpi-item-child, + .sdpi-item[type="radio"] .sdpi-item-child { + display: inline-block; + } + + .sdpi-item[type="range"] .sdpi-item-value, + .sdpi-item[type="meter"] .sdpi-item-child, + .sdpi-item[type="progress"] .sdpi-item-child { + display: flex; + } + + .sdpi-item[type="range"] .sdpi-item-value { + min-height: 26px; + } + + .sdpi-item[type="range"] .sdpi-item-value span, + .sdpi-item[type="meter"] .sdpi-item-child span, + .sdpi-item[type="progress"] .sdpi-item-child span { + margin-top: -2px; + min-width: 8px; + text-align: right; + user-select: none; + cursor: pointer; + } + + .sdpi-item[type="range"] .sdpi-item-value span { + margin-top: 7px; + text-align: right; + } + + span + input[type="range"] { + display: flex; + max-width: 168px; + + } + + .sdpi-item[type="range"] .sdpi-item-value span:first-child, + .sdpi-item[type="meter"] .sdpi-item-child span:first-child, + .sdpi-item[type="progress"] .sdpi-item-child span:first-child { + margin-right: 4px; + } + + .sdpi-item[type="range"] .sdpi-item-value span:last-child, + .sdpi-item[type="meter"] .sdpi-item-child span:last-child, + .sdpi-item[type="progress"] .sdpi-item-child span:last-child { + margin-left: 4px; + } + + .reverse { + transform: rotate(180deg); + } + + .sdpi-item[type="meter"] .sdpi-item-child meter + span:last-child { + margin-left: -10px; + } + + .sdpi-item[type="progress"] .sdpi-item-child meter + span:last-child { + margin-left: -14px; + } + + .sdpi-item[type="radio"] > .sdpi-item-value > * { + margin-top: 2px; + } + + details { + padding: 8px 18px 8px 12px; + min-width: 86px; + } + + details > h4 { + border-bottom: 1px solid var(--sdpi-bordercolor); + } + + legend { + display: none; + } + .sdpi-item-value > textarea { + padding: 0px; + width: 227px; + margin-left: 1px; + } + + input[type="radio"] + label span, + input[type="checkbox"] + label span { + display: inline-block; + width: 16px; + height: 16px; + margin: 2px 4px 2px 0; + border-radius: 3px; + vertical-align: middle; + background: var(--sdpi-background); + cursor: pointer; + border: 1px solid rgb(0,0,0,.2); + } + + input[type="radio"] + label span { + border-radius: 100%; + } + + input[type="radio"]:checked + label span, + input[type="checkbox"]:checked + label span { + background-color: #77f; + background-image: url(check.svg); + background-repeat: no-repeat; + background-position: center center; + border: 1px solid rgb(0,0,0,.4); + } + + input[type="radio"]:active:checked + label span, + input[type="radio"]:active + label span, + input[type="checkbox"]:active:checked + label span, + input[type="checkbox"]:active + label span { + background-color: #303030; + } + + input[type="radio"]:checked + label span { + background-image: url(rcheck.svg); + } + + + /* + input[type="radio"] + label span { + background: url(buttons.png) -38px top no-repeat; + } + + input[type="radio"]:checked + label span { + background: url(buttons.png) -57px top no-repeat; + } + */ + + input[type="range"] { + width: var(--sdpi-width); + height: 30px; + overflow: hidden; + cursor: pointer; + background: transparent !important; + } + + .sdpi-item > input[type="range"] { + margin-left: 8px; + max-width: var(--sdpi-width); + width: var(--sdpi-width); + padding: 0px; + } + + /* + input[type="range"], + input[type="range"]::-webkit-slider-runnable-track, + input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + } + */ + + input[type="range"]::-webkit-slider-runnable-track { + height: 5px; + background: #979797; + border-radius: 3px; + padding:0px !important; + border: 1px solid var(--sdpi-background); + } + + input[type="range"]::-webkit-slider-thumb { + position: relative; + -webkit-appearance: none; + background-color: var(--sdpi-color); + width: 12px; + height: 12px; + border-radius: 20px; + margin-top: -5px; + border: none; + + } + input[type="range" i]{ + margin: 0; + } + + input[type="range"]::-webkit-slider-thumb::before { + position: absolute; + content: ""; + height: 5px; /* equal to height of runnable track or 1 less */ + width: 500px; /* make this bigger than the widest range input element */ + left: -502px; /* this should be -2px - width */ + top: 8px; /* don't change this */ + background: #77f; + } + + input[type="color"] { + min-width: 32px; + min-height: 32px; + width: 32px; + height: 32px; + padding: 0; + background-color: var(--sdpi-bgcolor); + flex: none; + } + + ::-webkit-color-swatch { + min-width: 24px; + } + + textarea { + height: 3em; + word-break: break-word; + line-height: 1.5em; + } + + .textarea { + padding: 0px !important; + } + + textarea { + width: 221px; /*98%;*/ + height: 96%; + min-height: 6em; + resize: none; + border-radius: var(--sdpi-borderradius); + } + + /* CAROUSEL */ + + .sdpi-item[type="carousel"]{ + + } + + .sdpi-item.card-carousel-wrapper, + .sdpi-item > .card-carousel-wrapper { + padding: 0; + } + + + .card-carousel-wrapper { + display: flex; + align-items: center; + justify-content: center; + margin: 12px auto; + color: #666a73; + } + + .card-carousel { + display: flex; + justify-content: center; + width: 278px; + } + .card-carousel--overflow-container { + overflow: hidden; + } + .card-carousel--nav__left, + .card-carousel--nav__right { + /* display: inline-block; */ + width: 12px; + height: 12px; + border-top: 2px solid #42b883; + border-right: 2px solid #42b883; + cursor: pointer; + margin: 0 4px; + transition: transform 150ms linear; + } + .card-carousel--nav__left[disabled], + .card-carousel--nav__right[disabled] { + opacity: 0.2; + border-color: black; + } + .card-carousel--nav__left { + transform: rotate(-135deg); + } + .card-carousel--nav__left:active { + transform: rotate(-135deg) scale(0.85); + } + .card-carousel--nav__right { + transform: rotate(45deg); + } + .card-carousel--nav__right:active { + transform: rotate(45deg) scale(0.85); + } + .card-carousel-cards { + display: flex; + transition: transform 150ms ease-out; + transform: translatex(0px); + } + .card-carousel-cards .card-carousel--card { + margin: 0 5px; + cursor: pointer; + /* box-shadow: 0 4px 15px 0 rgba(40, 44, 53, 0.06), 0 2px 2px 0 rgba(40, 44, 53, 0.08); */ + background-color: #fff; + border-radius: 4px; + z-index: 3; + } + .xxcard-carousel-cards .card-carousel--card:first-child { + margin-left: 0; + } + .xxcard-carousel-cards .card-carousel--card:last-child { + margin-right: 0; + } + .card-carousel-cards .card-carousel--card img { + vertical-align: bottom; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + transition: opacity 150ms linear; + width: 60px; + } + .card-carousel-cards .card-carousel--card img:hover { + opacity: 0.5; + } + .card-carousel-cards .card-carousel--card--footer { + border-top: 0; + max-width: 80px; + overflow: hidden; + display: flex; + height: 100%; + flex-direction: column; + } + .card-carousel-cards .card-carousel--card--footer p { + padding: 3px 0; + margin: 0; + margin-bottom: 2px; + font-size: 15px; + font-weight: 500; + color: #2c3e50; + } + .card-carousel-cards .card-carousel--card--footer p:nth-of-type(2) { + font-size: 12px; + font-weight: 300; + padding: 6px; + color: #666a73; + } + + + h1 { + font-size: 1.3em; + font-weight: 500; + text-align: center; + margin-bottom: 12px; + } + + ::-webkit-datetime-edit { + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + background: url(elg_calendar_inv.svg) no-repeat left center; + padding-right: 1em; + padding-left: 25px; + background-position: 4px 0px; + } + ::-webkit-datetime-edit-fields-wrapper { + + } + ::-webkit-datetime-edit-text { padding: 0 0.3em; } + ::-webkit-datetime-edit-month-field { } + ::-webkit-datetime-edit-day-field {} + ::-webkit-datetime-edit-year-field {} + ::-webkit-inner-spin-button { + + /* display: none; */ + } + ::-webkit-calendar-picker-indicator { + background: transparent; + font-size: 17px; + } + + ::-webkit-calendar-picker-indicator:focus { + background-color: rgba(0,0,0,0.2); + } + + input[type="date"] { + -webkit-align-items: center; + display: -webkit-inline-flex; + font-family: monospace; + overflow: hidden; + padding: 0; + -webkit-padding-start: 1px; + } + + input::-webkit-datetime-edit { + -webkit-flex: 1; + -webkit-user-modify: read-only !important; + display: inline-block; + min-width: 0; + overflow: hidden; + } + + /* + input::-webkit-datetime-edit-fields-wrapper { + -webkit-user-modify: read-only !important; + display: inline-block; + padding: 1px 0; + white-space: pre; + + } + */ + + /* + input[type="date"] { + background-color: red; + outline: none; + } + + input[type="date"]::-webkit-clear-button { + font-size: 18px; + height: 30px; + position: relative; + } + + input[type="date"]::-webkit-inner-spin-button { + height: 28px; + } + + input[type="date"]::-webkit-calendar-picker-indicator { + font-size: 15px; + } */ + + input[type="file"] { + opacity: 0; + display: none; + } + + .sdpi-item > input[type="file"] { + opacity: 1; + display: flex; + } + + input[type="file"] + span { + display: flex; + flex: 0 1 auto; + background-color: #0000ff50; + } + + label.sdpi-file-label { + cursor: pointer; + user-select: none; + display: inline-block; + min-height: 21px !important; + height: 21px !important; + line-height: 20px; + padding: 0px 4px; + margin: auto; + margin-right: 0px; + float:right; + } + + .sdpi-file-label > label:active, + .sdpi-file-label.file:active, + label.sdpi-file-label:active, + label.sdpi-file-info:active, + input[type="file"]::-webkit-file-upload-button:active, + button:active { + background-color: var(--sdpi-color); + color:#303030; + } + + + input:required:invalid, input:focus:invalid { + background: var(--sdpi-background) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjkiIHZpZXdCb3g9IjAgMCA5IDkiPgogICAgPHBhdGggZmlsbD0iI0Q4RDhEOCIgZD0iTTQuNSwwIEM2Ljk4NTI4MTM3LC00LjU2NTM4NzgyZS0xNiA5LDIuMDE0NzE4NjMgOSw0LjUgQzksNi45ODUyODEzNyA2Ljk4NTI4MTM3LDkgNC41LDkgQzIuMDE0NzE4NjMsOSAzLjA0MzU5MTg4ZS0xNiw2Ljk4NTI4MTM3IDAsNC41IEMtMy4wNDM1OTE4OGUtMTYsMi4wMTQ3MTg2MyAyLjAxNDcxODYzLDQuNTY1Mzg3ODJlLTE2IDQuNSwwIFogTTQsMSBMNCw2IEw1LDYgTDUsMSBMNCwxIFogTTQuNSw4IEM0Ljc3NjE0MjM3LDggNSw3Ljc3NjE0MjM3IDUsNy41IEM1LDcuMjIzODU3NjMgNC43NzYxNDIzNyw3IDQuNSw3IEM0LjIyMzg1NzYzLDcgNCw3LjIyMzg1NzYzIDQsNy41IEM0LDcuNzc2MTQyMzcgNC4yMjM4NTc2Myw4IDQuNSw4IFoiLz4KICA8L3N2Zz4) no-repeat 98% center; + } + + input:required:valid { + background: var(--sdpi-background) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjkiIHZpZXdCb3g9IjAgMCA5IDkiPjxwb2x5Z29uIGZpbGw9IiNEOEQ4RDgiIHBvaW50cz0iNS4yIDEgNi4yIDEgNi4yIDcgMy4yIDcgMy4yIDYgNS4yIDYiIHRyYW5zZm9ybT0icm90YXRlKDQwIDQuNjc3IDQpIi8+PC9zdmc+) no-repeat 98% center; + } + + .tooltip, + :tooltip, + :title { + color: yellow; + } + + [title]:hover { + display: flex; + align-items: center; + justify-content: center; + } + + [title]:hover::after { + content: ''; + position: absolute; + bottom: -1000px; + left: 8px; + display: none; + color: #fff; + border: 8px solid transparent; + border-bottom: 8px solid #000; + } + [title]:hover::before { + content: attr(title); + display: flex; + justify-content: center; + align-self: center; + padding: 6px 12px; + border-radius: 5px; + background: rgba(0,0,0,0.8); + color: var(--sdpi-color); + font-size: 9pt; + font-family: sans-serif; + opacity: 1; + position: absolute; + height: auto; + /* width: 50%; + left: 35%; */ + text-align: center; + bottom: 2px; + z-index: 100; + box-shadow: 0px 3px 6px rgba(0, 0, 0, .5); + /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */ + } + + .sdpi-item-group.file { + width: 232px; + display: flex; + align-items: center; + } + + .sdpi-file-info { + overflow-wrap: break-word; + word-wrap: break-word; + hyphens: auto; + + min-width: 132px; + max-width: 144px; + max-height: 32px; + margin-top: 0px; + margin-left: 5px; + display: inline-block; + overflow: hidden; + padding: 6px 4px; + background-color: var(--sdpi-background); + } + + + ::-webkit-scrollbar { + width: 8px; + } + + ::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + } + + ::-webkit-scrollbar-thumb { + background-color: #999999; + outline: 1px solid slategrey; + border-radius: 8px; + } + + a { + color: #7397d2; + } + + .testcontainer { + display: flex; + background-color: #0000ff20; + max-width: 400px; + height: 200px; + align-content: space-evenly; + } + + input[type=range] { + -webkit-appearance: none; + /* background-color: green; */ + height:6px; + margin-top: 12px; + z-index: 0; + overflow: visible; + } + + /* + input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + background-color: var(--sdpi-color); + width: 12px; + height: 12px; + border-radius: 20px; + margin-top: -6px; + border: none; + } */ + + :-webkit-slider-thumb { + -webkit-appearance: none; + background-color: var(--sdpi-color); + width: 16px; + height: 16px; + border-radius: 20px; + margin-top: -6px; + border: 1px solid #999999; + } + + .sdpi-item[type="range"] .sdpi-item-group { + display: flex; + flex-direction: column; + } + + .xxsdpi-item[type="range"] .sdpi-item-group input { + max-width: 204px; + } + + .sdpi-item[type="range"] .sdpi-item-group span { + margin-left: 0px !important; + } + + .sdpi-item[type="range"] .sdpi-item-group > .sdpi-item-child { + display: flex; + flex-direction: row; + } + + :disabled { + color: #993333; + } + + select, + select option { + color: var(--sdpi-color); + } + + select.disabled, + select option:disabled { + color: #fd9494; + font-style: italic; + } + + .runningAppsContainer { + display: none; + } + + /* debug + div { + background-color: rgba(64,128,255,0.2); + } + */ + + .min80 > .sdpi-item-child { + min-width: 80px; + } + + .min100 > .sdpi-item-child { + min-width: 100px; + } + + .min120 > .sdpi-item-child { + min-width: 120px; + } + + .min140 > .sdpi-item-child { + min-width: 140px; + } + + .min160 > .sdpi-item-child { + min-width: 160px; + } + + .min200 > .sdpi-item-child { + min-width: 200px; + } + + .max40 { + flex-basis: 40%; + flex-grow: 0; + } + + .max30 { + flex-basis: 30%; + flex-grow: 0; + } + + .max20 { + flex-basis: 20%; + flex-grow: 0; + } + + .up20 { + margin-top: -20px; + } + + .alignCenter { + align-items: center; + } + + .alignTop { + align-items: flex-start; + } + + .alignBaseline { + align-items: baseline; + } + + .noMargins, + .noMargins *, + .noInnerMargins * { + margin: 0; + padding: 0; + } + + + /** + input[type=range].vVertical { + -webkit-appearance: none; + background-color: green; + margin-left: -60px; + width: 100px; + height:6px; + margin-top: 0px; + transform:rotate(90deg); + z-index: 0; + overflow: visible; + } + + input[type=range].vHorizon { + -webkit-appearance: none; + background-color: pink; + height: 10px; + width:200px; + + } + + .test2 { + background-color: #00ff0020; + display: flex; + } + + + .vertical.sdpi-item[type="range"] .sdpi-item-value { + display: block; + } + + + .vertical.sdpi-item:first-child, + .vertical { + margin-top: 12px; + margin-bottom: 16px; + } + .vertical > .sdpi-item-value { + margin-right: 16px; + } + + .vertical .sdpi-item-group { + width: 100%; + display: flex; + justify-content: space-evenly; + } + + .vertical input[type=range] { + height: 100px; + width: 21px; + -webkit-appearance: slider-vertical; + display: flex; + flex-flow: column; + } + + .vertical input[type="range"]::-webkit-slider-runnable-track { + height: auto; + width: 5px; + } + + .vertical input[type="range"]::-webkit-slider-thumb { + margin-top: 0px; + margin-left: -6px; + } + + .vertical .sdpi-item-value { + flex-flow: column; + align-items: flex-start; + } + + .vertical.sdpi-item[type="range"] .sdpi-item-value { + align-items: center; + margin-right: 16px; + text-align: center; + } + + .vertical.sdpi-item[type="range"] .sdpi-item-value span, + .vertical input[type="range"] .sdpi-item-value span { + text-align: center; + margin: 4px 0px; + } + */ + + /* + .file { + box-sizing: border-box; + display: block; + overflow: hidden; + padding: 10px; + position: relative; + text-indent: 100%; + white-space: nowrap; + height: 190px; + width: 160px; + } + .file::before { + content: ""; + display: block; + position: absolute; + top: 10px; + left: 10px; + height: 170px; + width: 140px; + } + .file::after { + content: ""; + height: 90px; + width: 90px; + position: absolute; + right: 0; + bottom: 0; + overflow: visible; + } + + .list--files { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: auto; + padding: 30px 0; + width: 630px; + } + .list--files > li { + margin: 0; + padding: 15px; + } + + .type-document::before { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNDBweCIgaGVpZ2h0PSIxNzBweCIgdmlld0JveD0iMCAwIDE0MCAxNzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0E3QTlBQyIgZD0iTTAsMHYxNzBoMTQwVjBIMHogTTEzMCwxNjBIMTBWMTBoMTIwVjE2MHogTTExMCw0MEgzMFYzMGg4MFY0MHogTTExMCw2MEgzMFY1MGg4MFY2MHogTTExMCw4MEgzMFY3MGg4MFY4MHoNCiAgIE0xMTAsMTAwSDMwVjkwaDgwVjEwMHogTTExMCwxMjBIMzB2LTEwaDgwVjEyMHogTTkwLDE0MEgzMHYtMTBoNjBWMTQweiIvPg0KPC9zdmc+); + } + + .type-image { + height: 160px; + } + .type-image::before { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNDBweCIgaGVpZ2h0PSIxNDBweCIgdmlld0JveD0iMCAwIDE0MCAxNDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE0MCAxNDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxwYXRoIGZpbGw9IiNBN0E5QUMiIGQ9Ik0wLDB2MTQwaDE0MFYwSDB6IE0xMzAsMTMwSDEwVjEwaDEyMFYxMzB6Ii8+DQogIDxwb2x5Z29uIGZpbGw9IiNFNkU3RTgiIHBvaW50cz0iOTAsMTEwIDQwLDQwIDEwLDgwIDEwLDEzMCA5MCwxMzAgICIvPg0KICA8cG9seWdvbiBmaWxsPSIjRDFEM0Q0IiBwb2ludHM9IjEwLDEzMCA1MCw5MCA2MCwxMDAgMTAwLDYwIDEzMCwxMzAgICIvPg0KPC9nPg0KPC9zdmc+); + height: 140px; + } + + .state-synced::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iIzAwQTY1MSIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yMCw0NUwyMCw0NWMtMi44LDIuOC0yLjgsNy4yLDAsMTBsMTAuMSwxMC4xYzIuNywyLjcsNy4yLDIuNyw5LjksMEw3MCwzNWMyLjgtMi44LDIuOC03LjIsMC0xMGwwLDANCiAgICBjLTIuOC0yLjgtNy4yLTIuOC0xMCwwTDM1LDUwbC01LTVDMjcuMiw0Mi4yLDIyLjgsNDIuMiwyMCw0NXoiLz4NCjwvZz4NCjwvc3ZnPg==); + } + + .state-deleted::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iI0VEMUMyNCIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik02NSwyNUw2NSwyNWMtMi44LTIuOC03LjItMi44LTEwLDBMNDUsMzVMMzUsMjVjLTIuOC0yLjgtNy4yLTIuOC0xMCwwbDAsMGMtMi44LDIuOC0yLjgsNy4yLDAsMTBsMTAsMTANCiAgICBMMjUsNTVjLTIuOCwyLjgtMi44LDcuMiwwLDEwbDAsMGMyLjgsMi44LDcuMiwyLjgsMTAsMGwxMC0xMGwxMCwxMGMyLjgsMi44LDcuMiwyLjgsMTAsMGwwLDBjMi44LTIuOCwyLjgtNy4yLDAtMTBMNTUsNDVsMTAtMTANCiAgICBDNjcuOCwzMi4yLDY3LjgsMjcuOCw2NSwyNXoiLz4NCjwvZz4NCjwvc3ZnPg==); + } + .state-deleted::before { + opacity: .25; + } + + .state-locked::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iIzU4NTk1QiIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxyZWN0IHg9IjIwIiB5PSI0MCIgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjMwIi8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0zMi41LDQ2LjVjLTIuOCwwLTUtMi4yLTUtNVYyOWMwLTkuNiw3LjktMTcuNSwxNy41LTE3LjVTNjIuNSwxOS40LDYyLjUsMjljMCwyLjgtMi4yLDUtNSw1cy01LTIuMi01LTUNCiAgICBjMC00LjEtMy40LTcuNS03LjUtNy41cy03LjUsMy40LTcuNSw3LjV2MTIuNUMzNy41LDQ0LjMsMzUuMyw0Ni41LDMyLjUsNDYuNXoiLz4NCjwvZz4NCjwvc3ZnPg==); + } + + + + html { + --fheight: 95px; + --fwidth: 80px; + --fspacing: 5px; + --ftotalwidth: 315px; + --bgsize: 50%; + --bgsize2: cover; + --bgsize3: contain; + } + + ul { + list-style: none; + } + + + .file { + height: var(--fheight); + width: var(--fwidth); + } + .file::before { + content: ""; + display: block; + position: absolute; + top: var(--fspacing); + left: var(--fspacing); + height: calc(var(--fheight) - var(--fspacing)*2); + width: calc(var(--fwidth) - var(--fspacing)*2); + } + .file::after { + content: ""; + height: calc(var(--fheight)/2); + width: calc(var(--fheight)/2); + position: absolute; + right: 0; + bottom: 0; + overflow: visible; + } + + .list--files { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: auto; + padding: calc(var(--fspacing)*3) 0; + width: var(--ftotalwidth); + } + .list--files > li { + margin: 0; + padding: var(--fspacing); + } + + .type-document::before { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNDBweCIgaGVpZ2h0PSIxNzBweCIgdmlld0JveD0iMCAwIDE0MCAxNzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0E3QTlBQyIgZD0iTTAsMHYxNzBoMTQwVjBIMHogTTEzMCwxNjBIMTBWMTBoMTIwVjE2MHogTTExMCw0MEgzMFYzMGg4MFY0MHogTTExMCw2MEgzMFY1MGg4MFY2MHogTTExMCw4MEgzMFY3MGg4MFY4MHoNCiAgIE0xMTAsMTAwSDMwVjkwaDgwVjEwMHogTTExMCwxMjBIMzB2LTEwaDgwVjEyMHogTTkwLDE0MEgzMHYtMTBoNjBWMTQweiIvPg0KPC9zdmc+); + height: calc(var(--fheight) - var(--fspacing)*2); + background-size: var(--bgsize2); + background-repeat: no-repeat; + } + + .type-image { + height: var(--fwidth); + height: calc(var(--fheight) - var(--fspacing)*2); + } + .type-image::before { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNDBweCIgaGVpZ2h0PSIxNDBweCIgdmlld0JveD0iMCAwIDE0MCAxNDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE0MCAxNDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxwYXRoIGZpbGw9IiNBN0E5QUMiIGQ9Ik0wLDB2MTQwaDE0MFYwSDB6IE0xMzAsMTMwSDEwVjEwaDEyMFYxMzB6Ii8+DQogIDxwb2x5Z29uIGZpbGw9IiNFNkU3RTgiIHBvaW50cz0iOTAsMTEwIDQwLDQwIDEwLDgwIDEwLDEzMCA5MCwxMzAgICIvPg0KICA8cG9seWdvbiBmaWxsPSIjRDFEM0Q0IiBwb2ludHM9IjEwLDEzMCA1MCw5MCA2MCwxMDAgMTAwLDYwIDEzMCwxMzAgICIvPg0KPC9nPg0KPC9zdmc+); + height: calc(var(--fheight) - var(--fspacing)*2); + background-size: var(--bgsize3); + background-repeat: no-repeat; + } + + .state-synced::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iIzAwQTY1MSIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yMCw0NUwyMCw0NWMtMi44LDIuOC0yLjgsNy4yLDAsMTBsMTAuMSwxMC4xYzIuNywyLjcsNy4yLDIuNyw5LjksMEw3MCwzNWMyLjgtMi44LDIuOC03LjIsMC0xMGwwLDANCiAgICBjLTIuOC0yLjgtNy4yLTIuOC0xMCwwTDM1LDUwbC01LTVDMjcuMiw0Mi4yLDIyLjgsNDIuMiwyMCw0NXoiLz4NCjwvZz4NCjwvc3ZnPg==); + background-size: var(--bgsize); + background-repeat: no-repeat; + background-position: bottom right; + } + + .state-deleted::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iI0VEMUMyNCIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik02NSwyNUw2NSwyNWMtMi44LTIuOC03LjItMi44LTEwLDBMNDUsMzVMMzUsMjVjLTIuOC0yLjgtNy4yLTIuOC0xMCwwbDAsMGMtMi44LDIuOC0yLjgsNy4yLDAsMTBsMTAsMTANCiAgICBMMjUsNTVjLTIuOCwyLjgtMi44LDcuMiwwLDEwbDAsMGMyLjgsMi44LDcuMiwyLjgsMTAsMGwxMC0xMGwxMCwxMGMyLjgsMi44LDcuMiwyLjgsMTAsMGwwLDBjMi44LTIuOCwyLjgtNy4yLDAtMTBMNTUsNDVsMTAtMTANCiAgICBDNjcuOCwzMi4yLDY3LjgsMjcuOCw2NSwyNXoiLz4NCjwvZz4NCjwvc3ZnPg==); + background-size: var(--bgsize); + background-repeat: no-repeat; + background-position: bottom right; + } + .state-deleted::before { + opacity: .25; + } + + .state-locked::after { + background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5MHB4IiBoZWlnaHQ9IjkwcHgiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTAgOTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQogIDxjaXJjbGUgZmlsbD0iIzU4NTk1QiIgY3g9IjQ1IiBjeT0iNDUiIHI9IjQ1Ii8+DQogIDxyZWN0IHg9IjIwIiB5PSI0MCIgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjMwIi8+DQogIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0zMi41LDQ2LjVjLTIuOCwwLTUtMi4yLTUtNVYyOWMwLTkuNiw3LjktMTcuNSwxNy41LTE3LjVTNjIuNSwxOS40LDYyLjUsMjljMCwyLjgtMi4yLDUtNSw1cy01LTIuMi01LTUNCiAgICBjMC00LjEtMy40LTcuNS03LjUtNy41cy03LjUsMy40LTcuNSw3LjV2MTIuNUMzNy41LDQ0LjMsMzUuMyw0Ni41LDMyLjUsNDYuNXoiLz4NCjwvZz4NCjwvc3ZnPg==); + background-size: var(--bgsize); + background-repeat: no-repeat; + background-position: bottom right; + } + */ \ No newline at end of file diff --git a/Sources/com.jk.weather.sdPlugin/plugin/main.html b/Sources/com.jk.weather.sdPlugin/plugin/main.html new file mode 100644 index 0000000..83a3115 --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/plugin/main.html @@ -0,0 +1,12 @@ + + + + + com.jk.weather + + + + + + + diff --git a/Sources/com.jk.weather.sdPlugin/plugin/main.js b/Sources/com.jk.weather.sdPlugin/plugin/main.js new file mode 100644 index 0000000..431e080 --- /dev/null +++ b/Sources/com.jk.weather.sdPlugin/plugin/main.js @@ -0,0 +1,103 @@ +let websocket = null, + pluginUUID = null; +apiKey = ""; + +function connectElgatoStreamDeckSocket(inPort, inPluginUUID, inRegisterEvent, inInfo) { + pluginUUID = inPluginUUID; + + // Open the web socket + websocket = new WebSocket("ws://localhost:" + inPort); + + websocket.onopen = function () { + // WebSocket is connected, register the plugin + const json = { + "event": inRegisterEvent, + "uuid": inPluginUUID + }; + + websocket.send(JSON.stringify(json)); + }; + + websocket.onmessage = function (evt) { + // Received message from Stream Deck + const jsonObj = JSON.parse(evt.data); + let context = jsonObj['context']; + + if (jsonObj['event'] === "keyUp") { + let cityName = ""; + if (jsonObj.payload.settings != null && jsonObj.payload.settings.hasOwnProperty('cityName')) { + cityName = jsonObj.payload.settings["cityName"]; + } + + if (cityName === "" || apiKey === "") { + console.log('Missing fields here...'); + const json = { + "event": "showAlert", + "context": jsonObj.context, + }; + websocket.send(JSON.stringify(json)); + } else { + const request = new XMLHttpRequest(); + request.open("GET", 'https://api.weatherapi.com/v1/current.json?key=' + apiKey + '&q=' + cityName + '&aqi=no'); + request.send(); + request.onreadystatechange = function () { + if (request.readyState === XMLHttpRequest.DONE) { + const response = JSON.parse(request.responseText); + const temperature = response.current.temp_c ? response.current.temp_c : "NaN"; + let json = { + "event": "setTitle", + "context": context, + "payload": { + "title": "" + temperature + "°C", + "target": 1 + } + }; + + websocket.send(JSON.stringify(json)); + + function toDataURL(url, callback) { + let xhr = new XMLHttpRequest(); + xhr.onload = function () { + let reader = new FileReader(); + reader.onloadend = function () { + callback(reader.result); + } + reader.readAsDataURL(xhr.response); + }; + xhr.open('GET', url); + xhr.responseType = 'blob'; + xhr.send(); + } + + if (response.current.condition.icon != null) { + toDataURL("https:" + response.current.condition.icon, function (dataUrl) { + let json = { + "event": "setImage", + "context": context, + "payload": { + "image": '' + dataUrl, + "target": 1 + } + }; + + websocket.send(JSON.stringify(json)); + }) + } + } + } + } + } else if (jsonObj['event'] === "didReceiveGlobalSettings") { + if (jsonObj.payload.settings != null && jsonObj.payload.settings.hasOwnProperty('apiKey')) { + apiKey = jsonObj.payload.settings["apiKey"]; + } + + } else if (jsonObj['event'] === "keyDown") { + const json = { + "event": "getGlobalSettings", + "context": pluginUUID + }; + + websocket.send(JSON.stringify(json)); + } + }; +} diff --git a/Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage.png b/Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage.png new file mode 100644 index 0000000000000000000000000000000000000000..c57748281bd2bf945fca872eea01a4b9a836f22c GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`Jj~)opo?+vjI<=wUb){i`xkf*~a94*+xN$MnNkkm)Y z|GC4nQfaG-J6HabAG06cW-^->!*GJbyXuU@AJ4<}Zyz#TSl}JB{m_SvR-OU@3=EHx zO`R=dl~^p^y;sraIk>iULaAViz$N3PhNyQ;2R{GQ@z6avnd$WB%}Pv-4GCtf4s6qu z40(gKQt(on>pEUh}8+pg`7a zN$2?9N-_LpW7zW{>cKvy35w6`)7V!YEhwM8kahO5XKxr@IWs(HRJtO|>TqM>F8jHh z4)bSyU&^>c*T$M_V%6qp65roWblYut{@7Xruf@~8%(JE7W#OIeezY*tNn!LEmFfw8ZNZpQEMzuj0NCp7O?JZo+}1=aioAQ@OgZ t?@k$SLbLGl_Y5z510j)$h+)6w@w-^>a;rbcSO-j344$rjF6*2UngDbe1mpk! literal 0 HcmV?d00001 diff --git a/Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage@2x.png b/Sources/com.jk.weather.sdPlugin/resources/actionDefaultImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c57748281bd2bf945fca872eea01a4b9a836f22c GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`Jj~)opo?+vjI<=wUb){i`xkf*~a94*+xN$MnNkkm)Y z|GC4nQfaG-J6HabAG06cW-^->!*GJbyXuU@AJ4<}Zyz#TSl}JB{m_SvR-OU@3=EHx zO`R=dl~^p^y;sraIk>iULaAViz$N3PhNyQ;2R{GQ@z6avnd$WB%}Pv-4GCtf4s6qu z40(gKQt(on>pEUh}8+pg`7a zN$2?9N-_LpW7zW{>cKvy35w6`)7V!YEhwM8kahO5XKxr@IWs(HRJtO|>TqM>F8jHh z4)bSyU&^>c*T$M_V%6qp65roWblYut{@7Xruf@~8%(JE7W#OIeezY*tNn!LEmFfw8ZNZpQEMzuj0NCp7O?JZo+}1=aioAQ@OgZ t?@k$SLbLGl_Y5z510j)$h+)6w@w-^>a;rbcSO-j344$rjF6*2UngDbe1mpk! literal 0 HcmV?d00001 diff --git a/Sources/com.jk.weather.sdPlugin/resources/actionIcon.png b/Sources/com.jk.weather.sdPlugin/resources/actionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c57748281bd2bf945fca872eea01a4b9a836f22c GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`Jj~)opo?+vjI<=wUb){i`xkf*~a94*+xN$MnNkkm)Y z|GC4nQfaG-J6HabAG06cW-^->!*GJbyXuU@AJ4<}Zyz#TSl}JB{m_SvR-OU@3=EHx zO`R=dl~^p^y;sraIk>iULaAViz$N3PhNyQ;2R{GQ@z6avnd$WB%}Pv-4GCtf4s6qu z40(gKQt(on>pEUh}8+pg`7a zN$2?9N-_LpW7zW{>cKvy35w6`)7V!YEhwM8kahO5XKxr@IWs(HRJtO|>TqM>F8jHh z4)bSyU&^>c*T$M_V%6qp65roWblYut{@7Xruf@~8%(JE7W#OIeezY*tNn!LEmFfw8ZNZpQEMzuj0NCp7O?JZo+}1=aioAQ@OgZ t?@k$SLbLGl_Y5z510j)$h+)6w@w-^>a;rbcSO-j344$rjF6*2UngDbe1mpk! literal 0 HcmV?d00001 diff --git a/Sources/com.jk.weather.sdPlugin/resources/actionIcon@2x.png b/Sources/com.jk.weather.sdPlugin/resources/actionIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c57748281bd2bf945fca872eea01a4b9a836f22c GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`Jj~)opo?+vjI<=wUb){i`xkf*~a94*+xN$MnNkkm)Y z|GC4nQfaG-J6HabAG06cW-^->!*GJbyXuU@AJ4<}Zyz#TSl}JB{m_SvR-OU@3=EHx zO`R=dl~^p^y;sraIk>iULaAViz$N3PhNyQ;2R{GQ@z6avnd$WB%}Pv-4GCtf4s6qu z40(gKQt(on>pEUh}8+pg`7a zN$2?9N-_LpW7zW{>cKvy35w6`)7V!YEhwM8kahO5XKxr@IWs(HRJtO|>TqM>F8jHh z4)bSyU&^>c*T$M_V%6qp65roWblYut{@7Xruf@~8%(JE7W#OIeezY*tNn!LEmFfw8ZNZpQEMzuj0NCp7O?JZo+}1=aioAQ@OgZ t?@k$SLbLGl_Y5z510j)$h+)6w@w-^>a;rbcSO-j344$rjF6*2UngDbe1mpk! literal 0 HcmV?d00001 diff --git a/Sources/com.jk.weather.sdPlugin/resources/pluginIcon.png b/Sources/com.jk.weather.sdPlugin/resources/pluginIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..91e39972c82162ad3a825ef4b11a78170bdec6de GIT binary patch literal 1520 zcmV7G5aX4ZVO)|xeQ zHW3jK5fKp)5fKp)5fKp)5fOETDaB&Z&36%S6R;OJXmxeQg%QyNoCLfBY{DbxX5eCA z2e3f|<&L__wZ*6ix(qlI_zHNd0ayqu1|A27>WPsQ>;{^F)#goRCCg<_k(@CMiIe4K zL3@C&Ypj5aZ^bh0s)3x`sT_=xj-2An!IZ|+fXjn`eJOC3SDpb}Sm8u0-d$fs5@rJn z65h7~D}nY5eH`W`Cq^4m8d=?)itG-r0uOoR8-ZIYoIopZOocL)pu<~48|PF#+d`j^ zafdcea^-fae&BmxiOS~!>wqqxQSXiezVu{f0>=maIEAJu01g5pUVWSQY!*4Igihsj zw*EVTmsK`PT?HJg@;kEYgV=}64VF$rjCZS`kQ6S7JvRwJ9ERI)CMW) z6wfOG?NQlG{6XLj;2Cd|ct!EhuUfX6@SNgE%u+gsqh8HS7Ifz>~mw#f_;c`dIz_ za;c4)$MZ_^3@x7P40_x8Xi(QA!c&p9dxbE@KUBbW*sB4Z1+7zmk7`g`!Piw6D$%Fa z>lBd>h?u2vJ*$7;v&ImA%T1kSbm{q9m3yThB5;uieNE%K{Hr86=qzSd@PXH18d_w& z4vkv5FatkdE3?^q=iH^olg)b*w3x9=&-0}CwlezI*ago$efTP|^q-let2>u;z2XO%Ix+b%ulDi&pt*^$;R z3qh6uz7!C21@MKEu1(se%MoN}qhFLr&d;FukOFH@1u|Q75N=XJ+nP~kaaw~c1i66f z=Oq51ZB&MWcaAHCM(+%lRi>c-Iq&S1MJAQREHNnQ&Zg-7PutD@7pP>LuLQl`iie9Z zB2owC3e8^K0p&nb6tfDNU_m5x zss3J-EpK@$IJIxp0k%a7_b13as~G5D+4DV;aYqW<3@*{w13H*4@nk+%_TEzNcCi`+ zZBQ^y!*=g|chIJ&lXeJSW-zEblps^o&g8f8(VsHT5vT@1PwQ0gjuWeO9!f$Xc$Xz6 z=7Vw;nXpafc~^s=^YrKNVim@y8ETP9hiAA+g<24lcBeBbPz@K`s_fLZ@9Ey|6$ujT zC+v5t(C<+}Jk6Iu7J`}+-ns2LpKwO1Dfe(zV< zKGoTA;BD{nd%D_Z#YSbaLn3{T`Y&}?{HgAwhqX9AmifKi>OR($^00Kx{4GKycha@O zlyQ92P)cSz{o(GU9rI;x_iKppOs15~c)uVqPDXPwxu%*@Fgb9Tmz;j=tMv1gdVp~< z#|T=hAJ&p~t9nJVI9VG%;v7TbN1X99;4vhA1{@I)5fKp)5fKp)5fKp)5fM>G0R97r WYG9;JX4(V*0000#Cc z*UhD9N6ajjj8RVJHkW88x15~LKfmYqoZlb6-}`yqpV#wwp7%eW&p+?fi%u70r4LF2 z03d5;Ywh}jIe%M9;>Vmh|EUoGBn5WXmY3p-7sv6B6x>uKmm^T*v@S30yr;pT*uq4` z%XV6XB7#D)>kciYcj*S{-41)wUC)e+oyfPnh|l$ZiU|zH-Yb1pO0X%bC{Ok8K0eP# zW#@j*o&24{8OKjoG4XAxp4=93V|4J+=f}ewF4Fpc%d1%IL@^~0Y2m;vaQUEz2QdrG zmz=oR&!wu8-hl90VLruN~9090Eomo-z~oUy;xP{h{}Y(Ck1G zM^UMRWCBCNF5|S~)q4WjX{ls5$lx*VaIV$$5KeJ8gj}_02|NI{N;)*5ic%9H!1zgH zZa}k$86zx3G8N(GCyOm#2bkV+RZ~7mPzZ|a3oKQO&@r%?Gn2NW3lu=5@z@-}>4wwjOI`Bzdp9BZYLo@I!q6`9? z_M2w49=k%ebjYrstG4)XlsJfDIg9$}bbNHkiEMx#EtrnfLe|n7;2k_rTjr z?lj?M-sc7hBK+0YoevV)(2Vo46ro8@JV%+@NU8V+t@0lwSLoDkt!D4+#DH!e=5wzA zEpWEgId0eUorM(+jzcSsSS5_VQ}3LyPKb!uzQ#yvPWmiqEUvmq-!@Zsb887Whv)+s zHaOj~vdxVl4EuZ3qNNJkAm(5Ys=L0`f0Xvk=`4$n-SSxohp`(BsSFxnjQ@6 znN!h^RRih_9^4BQ1fcl=DqQyMmgwEx76jhDYm~{>F-%0}0IElHr^ztN;&3pNe&*>$ z4wHp?V!jYNq#@IUnMSsdc|DB%%W6wlLaYTOBHDg=FepYa-{jM_BO!IZH>Rw2I^G`o zyoxr0xn)u!+QIA(#%vo~s9%H59CDoXG|=0&n+%p+__LXo5hvDFpN|jHFL;@SMW`7> zY2|h1kD_`O@9V!MgKbMrB&nzU7lg6ezvLu(V-6TYdFeFyFM&%wVjN8DE`z@uTG24M zdwH{tt&uhHN1*2u=w%IBX(?$(RvAxgA zofT@leY)fN!@mSA_Tne%>n>e+BjH>K(OBo?B<}J&o}KtnO9Uldjm%Ap+-5aXo zM!HW+c2)l8lY}Fgx^XY2y|Y#fhU*2RaaDzfaAVo~a#wdLb(PA>Y#^ z?ADd>_3PD^A0``Z@??Z?L37dGS$S3EMT;zq`rE5)&Jlrx*Mj+v#nA!}M=K-G0$KUX z`x*Ulm*DPUV}L35H{E&5sMt>};H@tE{m1{{ksw(p~@n literal 0 HcmV?d00001 diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8c055fb9a433953c11e7529ae836e2752781137f GIT binary patch literal 51383 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%0DvBxeAh7x zQbPe!JQ?~szq#$3E&8Q3&v*g$`<}#$=JVsc{Venunku*~aI+D9?MDCE3Jf_55r`^h z=CP71z5%XUIy$Cc#`s_Shl&Rnw{bh@%Ut&a7bSYF4bo>)W7j(4c&t$Bu#5_riS`sL zdVu6L?AvlO`(}!es1^4BZR?dNHP|Ql#ExpZ!-~Pe%<(C5$M7SlmM$sL@l*q%%W;YY zDWFju{6G2pCfA^-hLWY)^Z{g;@rW@HGpq7f3 z<`%{k=UNI`cym9jF(mAdMY^=}#0YoSH0CEHW)`ch-z~K+qIr4R#wtoAcXR#%~!p(TT6Oa0VQeM-LwYn<}(pg5Jpg#;_T=1FN=&gGRF9 zwjaMUwkrX!W5MrMKJ&YtH6v_eir$;sbc2s8#QU9Y_`I_rmUu z9;i%WQ&Ozwe`~4FV>2Tsc*Ow~-4ct=Dq3fL4y)>WY(`b;o*=O|uVKU#rY|_R!JW48*B$Q_ z$95u4WR`0$E~w7E5@xU8~luje1ny{7c0N<%V{d1JiU zx~@jd!D^aiRjR}@WbMI>W!Hx@y_v(Ik@S*de3kZ7$L9cLKJI*-7VOn=fi(PtL+#yz zwP*lw2<;waqz8?Uu%WHjLJt!sH@D#Cx`IhXC4W^PNR|0mDX6vP`%mwrs5k6YEauVY zy%D7h$y8Z3I@3gTbW04_U{$uaGuwm_eD`t(??isz_0=v}(KLJK`M$2g9Fp2qs+Pb` zMkxVj3_Rbyxw=c~O{ZF0SXdbDWDEnK490b~<%;;Q2V?*>_;avXsJA13!S6cC-mx8F zv>8SueEIT){fvs8``P{-dB0JGv)9O69jD-$i$n?II5`LT{3(J(r&>doqNxW<>PHi) zx2#2?5HD9D_|D(v?@Ebh)FaFfv5%5oJ0qw>64w2Oqhm4UpbPje5j)xoO72p!@j0i1 zX!QmUpYmRZRhOHO>CWm7Z_Dpz${w_k-njMt2eB?%Y@zz8(QDA$p~3nGI&UE)Pu8l` zyI_L6z_9J}HyO`@P0J^CF8})81)8GzMMzpI2JemLIHt-LN2(+vqSdR z?$V+R8py#*{r68g)iqNefe?ZmWE>re{SDdmAYWL45#tsyC;dVQ0giYC)%%`t|2id+933>pj@~ZefbaCk2pa=T8kqhevj?LLMGG^mbBD?jUJd z>o&C{siq`M!+ixF9%P+kCw*Q^FsQW+l!=!-hZ1~6G2UK1Det54 zgxjbD4t#7Za4R^vR1H)DB8-gY=5Lz!_${BA_O-Tcg?8&%Cw;m1T((>Bv^>rN)ttv) zX7zj?5Oc0Gq3`Pe(R^2zs|={B)72cEHHMmK*RNj-y=z`2pT@jy&sW-xcb3iE%nYPW z0Nq8>#)i{BVJ_pSkqr?)V5Y$Wfq{*0jj`vp(cW+8jE;Bn1gQ#o#zLP4qp!!t&Gk97 zxwKB8@43M{VmB@4Rrbb8nDu5=X2v?5loZ6ZxIK}-~3okHfAYc zb?2qF7cxb8{x{EXMcsIBzdYe{OiO(1F)CLEb6RLhGZEny6FE%+v03p>+Qq zxZ&gD=Rp!L^>!U+I_oeeT9uAi4^&v$o!ffzIcqW1cNk)Wia7-&oslc*89XfQ4Zo@> z%;B7Sao|wE5-Td7zf$aL+if$j^b-8t1m8^CxTrD9nN(+D-9GfhuRSh#Sg~*J@_PMD z5R;Kq{7wC?or}hnJ{d!iB_(=PWxF_1+-(q9bP8J|d@e<9GCeR6Idg%P$jj)Vajs%5 z?8r`%Ewzq0J?tJLWTTC%f5wc%?rER>OXsFU2sDflvb`5c+;sPJh8!{Om;WVV1go(q zhj1w8exjsuM||Bpr6ZZW@74tq<$~W%xvfG`nktyfIp(ofdpf(Ez9cncZSzi>JX4jg z{bQv8Hx%9f!023`T-5u>=Vd+UML7G|E*)ZbLjrR_l#4O?u(Dg3b4^5xJ6N^I|g+isqs>ecZQjO2EZ~ zEV$x?j1N6+0#y0y2Ec>t$kL=Gk=Y@f>^}4n{BNw!BCE$m{V3}*q{{O;@p8l_N=Ri! zPK)Z>U+Q+0t=>Z^3mp>vBYoN8Q|Xdkwzok&jJKtBdIQ7r=WBwzoX|uyfDO-u_!NDK z_nzoQ~wKKwgVdW^x9LsN36(>pV%W z>8}MiKK6(?%4e@JqRHM@I!O+d+o-INlhKHc{S5><%f$5n*rN&|42Mn z8VF5|K~G2Y-|v1kNKlKm0Kkr2@@>;#HMrQI8W^o6V!%`yXd^IO$4z6-CzHGNmcAr6 zZpql!t}C>5cZ>MxK^ypXY`PZ$YRh7ilR1HZISJ*Ah4eOaGvWMq4vauUX>mZr_v!QD zAutW8dpsv-Z#ujzTI*I$E3i4LeLP1ndcC3)@#ihF0KHjPCGQ^+FocMCpNF1}RW)l* zhRar|NymfM*hf4+xsr=H=uhlX{9F8v*CG zH-6E_R*1}cSKi&vXzKRgMcGWoJa+UM-aY8#TXDH>5qzKsZNo3rBxG#@X z*8|>_Q-@7MQIfG|Ydl~iKbrJA@#$}?u*Zn$Q~@{6=*OplwZJ#dF0m+#YdGFUcGm1{ zDmQNAl(`i68E8EZKXV?6QhT2Y1LSE4NlmN+tonz8CP$Cr1dN7s!#@jPNPEFN!Nyl3 z^^SU%_?pDk!U;sk7}s1M#m(!Vx`>~wYT_9Mk_}=yJs(bbZ>oE2_UczL(w5I^VcbWv z*uSPI7IunOHZ#08!n}|7uolMX zT~6Y9K6j~)YUo{jzH({d;K3}=J{hoALG(0gGTVbp9y!-jk2hvsur0#1ejpP-F zv;R=|+LhX#z5YWeUUKPhl;k`Io=jSA4@^tzsX?MkJqRdJQK4==KV0_t>8LA=mxz|} zCkSP-INMV>Q_iLm_;paPeJ~1nwY6S3-ByoVV`W{8Y1SI+!D~Qaz-n;xQHKzu z(xW*s6vD9Qsu5i5_R4fT~f>}zO@_bgdMNR)3I6p%1h`O`Fpji+PT^Sk3;G0 zPPM;~LxB@aK`lJo=+5|W7|cSF`eTV8idV)y{K4i%@K1i&ymWeUbyV+=*zWqd-1jBw ztG8`$+TsqWtDHG@9nV$_6>c}y*izYre~;h-EIS^zLS&|l8Sdct!O(0P4Xh|-=q)Ur zCEWLAoSDu0!RA_D|IwW?|4oM$RAZzKtdt@dH$F-ZWPEr*H-US!D%(t4I($2@!I#YM zdCj#3?*^+*M_7UH2&?>TJ1N|5;0ed&1>3JX_C(QFAEei|iZ0bOt0$k_(!3LlXIgUD zgy?Vn^wVXzR^#!%C3i%d9V*bht@H<qxiSIau#K9VnScvBm`}?w17ook~`irlT!9*ettfp_5(B9!O z7ukB`Y(_aw`ir#Pv%1B8t!m_X^n+!oUw-i>M*+D^F^fqAtT{7ACGMFv=0>JOU2$1? zbcOR+%DzpPiXq{igJT1~le)C_G^GM;O@Em7*thPBk4Bf9Bs%1t=E{eG+X$GO~Z`~J&5YAv@q z@B6aHyYy8)qJA&*3x%cl^|3?@vsbw%F+PJ~`_|8&pl_<6T&k>Q+-oQ-W*Koc=PV-R zQn9I^Bu|mBjASyu&04kjZo>+x;*Se%hG=LYwQy|LDK3A z=Q?5ODb;F~&F{1VKqAD9sih`I%iimK2^gBaO*9|Hw=@JRH?LM#(?G-?GE8!fu5Le| zu9!fCc3wv&?ArZI9OoKheA4sg{g@aZ^l|QA(BdPeWw$-=LP7*?9Y{YhA&fhfX=2>PO5|B>Gq zAr$`#@z3G;uUhmn)0J#(iS!Kq=)$C~evkX?1;j@V|8Yg~pJFO|Oc&H2Z>#oJMbL`I z-a3OvcN$tJ8AOoHjjYuM4pKnqhn_DYFEHhnQM_RcL5g^Y$SQg0rY&O#wxloq4sUD7 zPKSBm!3i}5|Mz^)|4~)Ico`^+)bib1{*onT(yah}(+vz+^FhY|%`1$SMj-|}7Ox5Y zABW2Sf_r!0C4x4{zJHs=f6>EEx4U3T`(Sczx_(V(#BurcYr3ndX(E~LQ9mfd_P|)WY4Gpj2gR`M?dudShRE>W&z6OY~ zA;CGIQq)kNG8EfZ>voOBDQh@&a$AT+CY~hWxv)VvJg_1!!t7Px7YaiIXOMJJjp{_N z)pLWWqB7OY*3<_1`Pq@zco5rsC50S)?czTQB4*FW?*mUiL65o-!1A~uju4+_E`ith zaveV_zgK3de=fMSk-4b(PF$=EpkG8hL8GG1Tuzm|6jxCiM$BUZlYyn1JrSJQ9H z&GVyR7G|$Mk}L$A)}vZ4Ku+H%N&&33=Y1cD?N5T`lwHBpm)AsWqN4h~d+jD;u}WZc zd%FI?EmhabNH|a28UUi0R>x!K%1V-jPO4ineM%D$D zeExVf6sOx-#9?LrSB!)g1yy1KPaW?r7QrU2w}}Xp#kVS#vGO(tnBP=XuO=Q zwC#y)(FJE^;5q76Z5Muc25=6Zt^2HfA>yxaehYbj>VFxc-AW*=>muYB#4_;66hN7y zstv52XzPG97UR8_U-_)))yEA8n=T#M(!Tkl9R!T!=V6zkfr0o-cGcZ)=j`BOZYwu_ zfOIsgnF-u9FS`J7+vZseCY?qea6X@7 z@#N!td+x7q}NIC_pl>|tJ?4Q{V zcr_R`@p}@%X<#SwCnpf!LWv7zL%gO-wX}`YCd(UYPu%PTN`tLk>66V&2u-QL5 zN5Y)R`=HU@a~Qrb^&vR_#p3-Ejdyo8$Bs1D66vkU$DxT&)pp(xMH#wIhMxGTPIUxd8 zCW6RjQNSHeRuo^J7rXTK}98YzAK9}LMlgzvASMJeF=l-q?gjSAeOV@qwQlF!4 zyRpu(bNl0Y(7%~J2?IS>JHiM}oh#UN_pA5l_IDZwAx_1GXFec9)hO@7In^d})rZra z7GARcmlQ&jk6JZ-nMJ0&%OL|)JV;G&A!I))!l!xLDbWVV2udM>I3cXSYJAb*Zus>Cu{7_&ROmA0?*h;!tIYq z5p*$pEWqddyLVB*`eor|nlxs8sycI-hVS;T10v~>iE{PUqk7s*-w3%NtM~e<1e^Fy zI=P8{J>DcrK-GE?P&ygh{9BRMOZ3=+++EhW_CsE#vLlZ<+GyQ zB(Zusog&O%+sqGQHfL)~#b6CaeQo;U!1_+VFKmcRp)3ti&V!l$&s2nKru%~ zQ!^u_H6{tG+v-!D$1X-t2`Yfqp48s2ucUKev0R;VjOPlu4*7l8i8#5q%5v5N=qUhS zhYrqfkKRN@GDzEFnK?w2n*`q{rHR%f4et!HOx1gaCU=S3_(#yk%%3lsj7^zoP<(W& zrt4=AKW1k|a6fsdK#N72O;Wh^JUk^ute|kH$ISiXE7wJ5_$o|W5}^S%62a(h4&?^V zF>{LbjHo<%@hmjW=h%ZeLz=C@r=L57O%H)`{&Y=h8|Kkp@q9amN)LZ=Kd)K5{bJ4Q z)TY)prqheJbcj4hXaqP!Q0w1mXbiGvL}fUkGYX93zq5)Zq$I>}mGgB)GfawW(AU~T zT)b!ZI=5e0T{)hJoj96sjn*`BucRorC8&2XHa$19t>G;Jt?(|dr1Y37rXm5F5%-X(Aq}>iwdjE8JQpuTloKidr7L|dfiu+ zy^OKDa;DKB>EYrPQGs6)D8^yFY6WCi&6+OiRzKf4ne$fBo-3uz7arh|F?qjQJuh6j z?R5CCWaXw5_%ciz4m(+1Z}+$s~Zp6cnirvC!>V6S=YZNd-zx0KDO64es? zg8mZ4cPi2`-EP0pD;P1(PKuhUwhWU!LxRo<%$`flwk#9(nFZ?!89F@XklsD9TW8_H z(ZH#k;$^o0pCts(mDS3JVE)0kFz9eNgf!vj(4BHR9qDckAX>z%CmDp+hKf>0L1fgJ&T3gHHi#6QUF$lZTmxxSR@- zDN;T)7lC%2%#}0Lv)W!9ZBH~E z7BSpfz^yg9>ZQW@&r2BH7R!iiqg-n7z7PpKhMzu-+KUH~UxRRLC=^P-ZcIoNo95in zQwE}X-_GA)2#t%N8iI|VUlWLAc zgFZkRqy7V9)0e63xA>I+B!n~Oh>)ah{py^+Go`}Wh*i_-HxW%u=NID=&1A#NR7w*yrvi&tcHUP_PrLdJ@M^;v2(q zw)Q#Pjci=%?DLv?Y3No*jI3AJ;&1m%k>~72_2FH+=$Up!PG|0kRnE!;jESS&22d%l zWYtgtJ^;-HEetR(`iH0D6h;8;WDZKaE-o(Cg}oayo%rO~m#4{q#jn-St=D0Wl3Yv} zo)Tppch893xI}kW(#iCFcRj0)0;#5J*Ay@|g2l%TDGL!nKnoQdGtRaOzh_{Ol1v`w zsoINB@z@YS&k>$f-M@2vnN#a1!#9`(!i0h3WG46SEBci#1w4aR zC`|zxw{7J{C%?UovoThi7D_*__@{HP%EeF0=!FPIQK&bb-V6$Ba*atC3KDg2pBi*- z1;X)!pW{J{@&yv#tq%;X5E0-O07OhpWN3elS8ecq8>*f0TOye_fWzil*8_OBd%L}D5_2LnL1P##AeWOGORK|@U=6m>CcdZ|(Ec{FkinLx+^u%LzFF4%spSFYEl9P0NJ zz^&1NPxJw$;fnxTQ73t*qxS&SrJ8<78c&k1POj>_G0r!M4cpz3uu%!Sk7!Ad?|V5q{T!yRV>Vgad%Ws5mgPEiHrWb& zVxC~-{^e9{DNvpvS>;Ak%cojP(>CXw=dEHclk_#%6&*w$xR4*|hBXb{yg~E*;CoT| zEP9w&Dxd0B<*!|`$@5p%5q&-tYJq*g z$K+nc-)rm#LTPD{JnoS?&xSg$Xf`@|=<1D`JMIq3R02nng^5uTH!R6M!En?0^>5Ot zEn4dCVV<*eU&ydVH*aSed+w?%3>4&68Cx%}oI4BVAs}Fd$vHV7m`&ssh&*e9@>@0l zene4+;v(_z{kb`nNaVmpsobOt6kj1Q5fZSK&Fk0E7lQFYV#{H$O_qd!-4Al-sLt2@ z-eqm)Zzgq5(LG4ELDZHF63ejJn8Ally+}c%;v;5fwU)9oD%b6=JAn9%hKK31o|nvc z&s@6witKuDtL09T_&n*_z~am%L0HK0J8*wfl|C5lUP;R!$cJbsZpt0P16NFu;cd=m z^vGDAjFi=?g_U4vTqy;a^tiz5B6AyBeSK*(Gzk0L9$y7qXa$#hG<`k_*pe zTzcXB5qvi8zFt9xgKt?@w6Q%yH|r8PML8Q2gOJa$$_2$6B9?Xg^Y;W_zghLhK)M^y zPd-1TsE3+kGQ~5N8IFH2%z}qdJosmV$7Wa3F3bSsl+%$a!q1G^qed@Sk!`rQI-@aj zp?bQ)E=8$Kf-1u!+s8gmwPWi1<;w2$xhZbj&QaqP;u(rV$<5Dm#54ME^B!sW^J?6I zk|aG+Ai-1?u-$SK@&)ti7h9ha<`*uBjiPqrB@WQf_Qn;7=6X45H;|fkg8hWcKUr>^ z!|RDV1U%nZfI%N;JE_#7P6N|4TV>Yx77OI2Xd^b^yF#Aq=#s1N%j!D>$zQbBNB96p z?rvs#b(=BvTBNN0Q}o%CpYN74L8#?TkOw{_wt1YGC+bdkISzq2_7;u(2~+f!Rm)`K ziWo{9ceuemg*MN=yf9pe!3nYAY}~$1MBJ~p? zs3g+F`$T1ImM%5CixQs5{F%V(W#$JLN3{(3LcG;O%;`p?^#uraKx^@~_~P#Nn^6 zlF~}atKQ7qsh1z0aiL`@q#L8TmaD$X@7~40l%%me65CaZl|gy$y`7v|%=a$c`(!&s zcX({%(;vrr`}RHSB~MkLqE|~6xDO%7oi`^Z>%7KGSC|X?k5M%5r#J>U)f?VS$SN^V^TVN@j=dvc;b^|jV@6vZL*ka;q3hU zSjl09S2_W+oq6A{?D5yKsYk92VBgs_(SbxD7S#(t9Rt?3p~T>*2K;BjEamOQB*L{j zL;dHgmS{mbKo>lHo|vxV=|HFuReFN8sJ-^Q z>7^>J;1F?eB8irpe7PHKcA1_N3cgD7JKj?#2niKB8rlNvz5?5cPrZr1zsZFzNqPi$ zJA8j2TD5+EZ_q2J>LKgqhWOl2`N23_4E2<*{!xfX&O&^7v`lNGw(zbGs7l*! zJl)PI>B<|^LUlDC$aIBlA8M6(xo+akecGc=W=);-5RqRX+_6lzdUrfZ`@Hb7E7$5k zDbC{RsBcHu&13zY{*12P@3uKI81>~c z`aY*AyiC2jmu&dc0#lWaB)ArLM^~KTe|7fWQB6kOx-SZXh=7V%K%_};N|g=*(m_B$ zx&@HXA@r^^6{Q472oOMe??p<$0@6e8P3ZwbhtN4I`t3c=ID6c2?!Erw7$zn!3GZ5K z&iOpQ2XCBk_!}pPIT$FuJ=%R%uSPAbZWrNv((e``d$~yVcW{_1Ru+SF+}aoTAmh96 zWYM=}7qO$4IM?kys2(tNFWcx?+S*O~+UQO_rN?YWBhAu;4P{1TfX$K7*=%FQpqEVg zJ^TV`@wblqsN2_ntJCdgFl-1@4 z^gm<3^7*H=*9Hn5e^=a|QB_6kQRVh@c%W^HnAYWMK|8q!y3;TD7H=xeZsNUJDKd+G z+r+uRZLa-^t5x;#pOd8gO(GBuh`|)vaL-V+C4(f&Xdvz2!8WhA^Q<#eSoT^zYRi4y zHwUeuR9hoEek^KISjneM_sGh!Ju7=X8U(Q^Cr`PmJ)W0cva2*3a*$=i&TgT+!bnLu z^zS?`W?U928G$ntzH`lPh?KV9Ge?h;8zjJuq>CsiD7jvt?{KYd=qcZ zgSVzYarF%G;oA2r?sRx8{}g{Quy>9qm5f=jQo&6Vy*gsdFHm1)zQ>pso8V5ug{I2e zQHd*7yro{EMCp=Na*mXAR<~pY5c3lpmu;S(GZr zdpe4v%k@6aPl}0MsBpLpQyre>!b@)iN^N}eb6Fgu$w=9Ow^1a`Ux-18%i><`fAfP{ z{K(0-+$8pB&%}f+PzlM)(@UJM>ldL=dz%o(L-QzU%QLtypJ9l7BKEr zb|hCl9&ytY2@MV%ir0@^p{9@*fs7go$QsjU*mEsyQ)(FpswGx8jXKSRO41xoFs1Wp zZNm^~~JmV8&i<)<>PxW(T#gc=_)4eqjGN=8R z>85-1Pmcfa-?G2j7qxUMyoePjDU{VRmCjjQKK(QU6k|I~!8z{S#W^w5vXU$TzDKFC zvHHP-EN*4>k1vI5wK67c>?F#r#XVa`BwWeF`}VE$*M6iz6%CtV{c>i0G9e#gSjnpV zS)XA7rtPGe{2rsYz!C1&3Yc~+I==N=$lgO(E&W9Pgr_U7#zhaY>l z>}Igk<^-9G-Gqosm&JofJ_YE!MoikV>1FL3eq2gc#TR?v^ia)+Gh+Lo+yg;=ziKEjX9q`zr4sZk~@F5Q~~4Ul+Zi$19JL8%Hy87YbkKZ_FMVC%=2Z zr(qAl9gsq|WfNCojC@NRZ>(u7sWWnnCH5p0n;lu4k1z`#7`dPW$q_EJq2m?t6mRi1 zGaj+aAHtoeqdc<;-Q3CgZQRtViYXr&Qr@F{IY7=zcU^M@(KrucyP5z}m+a}Y;f`Ye zM(rtqhb&>fam*LE7!+q#(qgt&WY=P{&8K+i!}Ba#d+Z34)q9``bhz`O^9AjfuK-15 zae90Jno8G#z8DrpuTZ>{1t~2_a zA1!fo9I+^`%1)byQzS@X871Aa;;6cvcn?$N(KZ%r(4qPu!o0OA;R`IEtKId%PMcT? zj&}4UOX{SlI70z3fvr@qDtQOzBg#^0LNDZeU;=l&-6x>3NrF_`pFEJ~eKEc;%zr^` zUBDX~_0q`bP9ei^>7*(})=_e=C+^t`p63+yQqwPlc_pyF7=L%Z4;c$7io0U{F0wIk zYAtjQ+qegL>d+x$vmk|ox(CH+Q9HPOBqpBksu5fsa3?QVOYM|7b%GRC3Lf+66?)JE zvJmR?l|gyhIJYw2W*ILJls47fp&~y`M>BdAvdoc&Y!iR{BJmc2+7Fg6X27nU%v(L_ zo+!1`qp+3Ec%tIs;<7qq`g(PwRM2*ax1XDK+4ErX*+NEd-!wj?zJORc9;kj%ge(Zy47 z8Z#r3uYt1?8W$m7_c)mfurDrAPR^d+6Ytuld|Zd9`LmFmUAdBp4pmnkgVwE!SJa_o zokXcMPoHG&TGwt~5LOkDQkE_bwaq(Tq#tR2V>C4Jmb)OU#illr9I+;1P514dr!AN! zF3|<&TpaN!(LL>k*3D4|a77b`Iu$uOjY)c?fS`>hOZWHT$vlv|)4syiYZp-Uym> z{aQWk(g3?Sd_^|W5Scg!namlSl`uOjl|pm%oB3QHkzQvz*j%2h@|k#rZ8ZHE*}5;9 z;uybEI=NDxl>5iGD=*tpFUua?XPe?)e1n11)Hu=gt0TUYe(%BL!RodX#zQwZz{jBE z{`k&wP5gruH4cD%4gNJ$Bo8nRrf-iFl{U;&&^~OfY>U(c8mC5Kdixsp>al3oae6O3b;` z9Aybuv7+ z%1_AR_mewYC)fl0ZQ{EUPH<51Yh$GGCaME<_+LZ}12cfr7c&ivOH~<* zQ+8tR`wCA_+r;K_+1vPC0d-XrRDNVYX?s&_{PP0|8}nX_p4A+hfF0XnY#ifCv6o^` ztVTsiA9c(>RVpNR_U6+qAmPj$RtP!l2)?MIhUj!QXsuC*Y|DDLcY)w|RU`u;)JsnD zYz;OC$1AV5#>UyU2Eyy+W#Q{EhUR%KCpE!g1*~+!l}2{6MimE?$ZOM<}~s2rqw zP}G6pwrOL`JUsa?AFcx=BUJjzvFTxjL+sFpA<9<(WANVvVY7%1?uqgEL*L4(%ijey z=n5s!xwPQ218>X-g7_PQaq(zEp)5|qz6G2lq+*1JtOyVNHHZO5gJc*X-GLSSJJIKv ztprXH*QK7&HCuqCcAnl!<8uKa3qaGk#qiMSTPJ9N=sAIap5e3UDKwG6v#FE2XUb26 z6LOdpZ#^n`@ZtT-Cs)m`@ivEE3L02m$>?GIh=2v*m@q2MkWGDSvd5?fjbGKtJ={i+ zKdHrtFR2&pKhkk}+DEHj(}n)I&TMx-_P$QVo0F8?0#v1kd+U_yMIVl7>hdn5?%LH# zQSu`5lEnw#5(`QWv0Z(c8})_w3-`oWR{9BPp=Vg&J-iZFPgTrgz` zjx7S80@4iG@Thwi^cH~Au_c1xwHzVzGL_g*LXnG-iY`lPj7P}n_ct@?otostNdYC)dns`&i zY(8ddnSY##b$;Q(EZfG9^0N8VVb^lr*8ErwH#Sr<{PoSJ9fus|ai&&@keSMlBo=i6 zM|WRFe(^^8B)t@5pW^fQ6vG+8^W(rrkiC7;0v4X)*8OsEDCO zY301?-bFdcddz8e@Kkn_JD})~auL0O?JcmLHv7CcDzo^2vdKJaG^=&ZMXfwO4b0GZ zav!3QT&XHg-0Et`(Y<#253hQRJ^RC&6)lZv7Gw7iQfiv#E_w4IZ>m+gEh+K0`jXT~ zmfij^w@`TX21}mRB(XeEx{f<6UAvjBXQ1#jMPQL4`^%%V?|ori%L<-uMvP59TXSu} zm+yFYdars@dGmW~c{@mG2A&6^I9{U)6*FKX{=EXyB(e`Oi)2j>lm~FIUx6fjeQZB5 zR-c^Ge(m8{v=Z&FW~=7m9~vBCAzCWrD(R*yWFm5-kdz?fDpfb5h))~tV?h;+OdQ9b zl^0aC+$x`r8>UL`(m!EM?ZF*w_FtDYRbJX7 zxzqge;H{^kq3f%C5J8Q5dQ1n<@WR5vt-yb634Wyrq21#Z<{&cG1z6{hASss6XB4zI zbvX{sFp)Ov!v}Cywg_2h=p-lQ;>zsGt>XuheXHgdxY=XOv;lT!r8_J?)oOlI%7Pa5+og@ouX)eA=GweNaGxlk1NMs&lOpbb>bu`FV8{s81U1kK4zJ!-1Ua9(^QP+OA&SmdtvbQW?yTxT{ zspoZj&R)c@>^g%_xQSo!o*9ZmL0Pf|>HL&?@A6jR;$27QXb&o7%cj+hU25^LS~)9i zk73B9^7yU>^@|OmHYZsQ=<&lz*Umue9a*2iJMOv?(gZD{b6#rdH*$u4oJl_L_O%w7 zI^eZ4${I%)Vt>gc;5^k3!nts1G7nWtw}cGaun25(u4@NA>8#;!jzSj&4dZ=YBIj@y zLO0$T|Ip0kd@bYn?^O}L60PK&wUpY|NhCwE*iOmfn^o##6?K-ce#wt+t$LGx;&B~v z8bY#{O~n#R;KuXVIEn$hZeddZ2B(^$_!)JTO9i-iOE~w7&b~F3T)O@>>Tf*Gqq8d0KZQ zTvdQxP2GA zfGD*XXAj={f0iSh&(Q};ovXg{#PX|rVPD5Rvg%e*j*=Q?4EZgs!1yXTnppI@8ZOWE zyh<{S$bd?l`Zz!BOXM#{gAl0QEJwn%=I9Wu7q((fZg1i83mP$Xl9wdMY!`glDISqd zU3@JQGt{k3wx&V>*JGI?Xkm$FnzrUUaIxyd1HiS6OLASm_+zgjCtB-8UKMuXcd`w~ z&Ck|oM(!jU{~>$oeed^n-5;@Tn-@|YO4YfmvXN7_ar0{VQ_$rnu1=9O{Vo%%jJkZMe3{8s~#=4g1oEM+9Ffo#&LpRL?!-gVmGB~l+Be*ZsnsfZF zfRBsIbF{1=%Pf73xlM?4~*=vmY`UfA!c&>7ab(>3Y zY|VW5+EH*}am(-Eeo0p}mhR!C=J?w1iAGZBZ<+CW#+e)4AI@KUp17#^870u6zQtDK zl^xq<&M#?KUM{yFAP{{#XEkcLP|#n?q_(z~OAEEwq#M7UmOd}H{tKFRO(9Ln&Olki zf8#p{`b%_dxb1wsl+U@XWU7oG7C$4oQ zu8{e{<*fx*O?v>p5v16<&m|p2N}UGuY5m z9@>DSsCKyP!NR~<)Pk&xz&tT~+vFLNgIIVx~q9N zj8D~<^X{L@IVx*EeWenc%*n~OUH5Y$vGOG3O*+p!@hds)>xWTLiycMECjp4FqvMq= zf7A3kM|P0~=5?xh6=^R6YNU+wK)ebAQxI9E>Y3IFjGrm&Jj7-29{sgzJ#UFW!;(xn z9o`H)=jyzXoBQy^f&`omt7$3t26Jb0&KGVNvW@eX5}Nx1v&-d5oGt2)7bssaw}M-U zuWzUIi?)p37Y~4UQcqq1#JN%C!IXP)%raNgq8?&u9&M3^3)h?Tr;M_vdo`{O-%Y<- z-CFNeZmH{CtC4U*{D46XIqf{=5PjU+j2V7)yU;RVIjL7yYTXP8w_Q{a?of6-HBAtr z0FK2=V=A|q`yJ|rV^6RvYcuC-6vz8H+U(w(!a>50`UifVXyj}DX!QoKL_X;xK0S@e zFDo<0i57e4LbeYzTw1S(u5&pL9a$ML(v)WDF2n3qQ@G~yqd(?Ih9scA%@@^Y_1)`x zBD8fczs4=V_C|N~K?fd*T}Zfum*Mpb=m!J-o}(+^XVMjbTR>o}4DLC?Y6sf^QH^5a zF_ey~5G+p_)Fbmw)OVOi2>mPFUvnM5XP<33$06WHu^}BgnRvgcKHzmgP58iS)(B%MkcEC6~8O!Z;;k9Bp%tAY6 z=7;~*X*fnk&7gf;b5zi6*&6csxoPEN?iCo@Ao<(Z6y({_Y7R?u`ORxEYl_M{a~4 z@#D6+cO_!SGZZzR1D^%UGZfcQZgESqjK}!ByJKj*2tVgea)+>_n!u;0ZjI$_{s%cj zs%|G_@AZE#ESR$slUlUzde~?Wpj`Z{0;1=_*(%pGxp@4{rXn^s>7%U$boHlvxjMDr zwe5P57o$;het%{nh$o$#z}`Uq=}JhGbAgtOB){MQmC2R-yvY2y{ohhGEYjv>{pWSd z`y=Rji|DwDt)m8PIXXC}(P4(5OL_Q3Im6cyd0e~02Pwfti*!W4b{91HEp3>KHk?{H zaKV4~oy^QqO(@@DldaKWvEnSA(6&-ZW>93|uATl}g&CqQj-sW$`Bey9f*%p{C31^K zJFhzZhW2_htF9zoR({p!*d5-s6e*?0)mW4bj8!5TAGkfaC0=>vH_C8}*I+W9148EB zeuN95Pgy|CZ$+1P{g$u#9-Xv$FAvVzx1%JhdfPALauu#Lr%;*+CaT81nEl@U6$;vR z3n|5pK3e;rE6JVlST?9u4HENZh!?Ku)&?`5AxWk6>Z=e6{od`ti#SN6!&UKExEyM6 z8P^Z;gJ#jv3DEG6bFlfqG*ENFi0#QR>g3C-F|v&fW_y>>N(+7*&rVOn7BlO6$t77G zV20DT`H3_1r#SsgclNTOk8gIICCBq0P3>0}L^{dFN;Y}L)IU4?NJ1twe2&%szMAgt zDL2E6NtoeTcmBP?GgWfm3gd)gIyMaHmRfq9S&Y`oFNvOJ57+2Af%5e~m0M)}v$4E} zF%Ge9>7*S8n6j7_>bAA5v*@juVf8jVX@|q&oir}2tx%JApwK&J3=OeD67hzs+k5Dv z>xb8A(k?}IFb1H_Z0w9#fX9CG?UgtJ8c<4#xP3;i-Mbmh0ckR|8@VgNC-I({4JD;9J{hm5@n~k*nfXI`Rz@8)uy!&^z z1?J%YSZYZB*>wHX)YZdL%Xj|5xBT8w@m|Gs%@KKvQR?&_`+WNs>Doj2*J43*h4`=U zmZ&N4ub-Ca!G8=gm;Wyh!$3N~87}IJLYNxUm69$w*P$X)+w4FL4?lmEUiQuD;w38S z-II@N1i&nymIb21wGB+1LqIy48X*Uvt+h1@7-h5p_Gbm= zJGsL6-1}$h>grF=?j|KBvH0ZYv9%q{9^W4;4(4=?HjBjoP$uSFsd4EmrN~gu2J>E8 z=>zb7H@lf_egu;Xg7~)EAQ97Eyb>sh)xg2XZlvTp2`^D8*5-X$5`a$qzI+kb%&K?;VBo4# zet1)0OAuMXP1X(b)7I<`8PEGnA0?xRoofG{L%n-|P(*V*TKQ)WND8+i4Sx^cd(LNC z``5TS&XQGM3`z&gxreBWIx14H7dy6Sc{(Ylz7PKtTK%yv3O02gAW=GfKECw9)$Gtn z#(d&gOZ)Ns*j`D6^!V*9r`FmfJ&8l)2E2M3DmeRcl6}>uEXe+c*Yr5~R{F&x9sHz6 z3Lwo)Ypk4T(S-uxfz`t6O7C48Ljcl2(Ey->4`5w3gZDQD@6WmLsPLY-#T(>p%dYx% zcQxqH+^zG$G!HQ0-RbL;D9QwTjtjS1hkte`nSuSEwR<$5-+2sgVod_Yyre?nM;q|I7GHyNi3Wr6f zdBaap3HOILgS`JNnP?mujen6AjcGoaHlU_A=44kG9Q;7@`JQ-P$t+X#0_EuFs&7|& zc+XL=jKEk5xugFkUHNmLWcHM3#`8?2D7PWQ??eNJMlOq^U!BvXwmXHkCZOGwUf?LG z!LFHLF??N!NGW4?N5p5(t~>=K;Pn*%DaOcBs9NL84|Y@aqj)10u@R-oUkxqo;x$$B ziK|D2Nvws1*)Sfc{$b=Mso^y#tMy7Jo=cEJ+9s4@~>g-c|XHa_r7Q zYBt!z@Bg}C72d`aw-)l7tIKo5U~KN>mubfzyTHCFlqj29;k?VXJp^WOV;(M9Q#@~# zelgRHAy&5X?%AtcSH0MZ;oF1H%ph?-1zF4)6CKh`Bi-jV*_Kntr>FD%9lxIAHr!J8 zon~dQ)+>4w@N3LYb_9=p?8W5`gjF@aE>ERW|HNJPiz=F;&XhUX(K`S-kj@=ops)Z< z8RlYw@jN)4AUkv;gu+-c_+hK)s$3^Q6l6z1KF9%jojn#UsjSb>du6m%10%3BwZv`*W-=uAu7~FNI+5{VKa5O3p5#H7JbQV*sF0huA-(+PxRgtSDa6^Q1)ro&! z6luov=1XjsGyfioyQ!t>^4kMUm1WgU>$2;j*oKJ%&;!@nciDUP#it!6<)h=ZOkq?U zTdd`}NhhXMY2LSpeDJIy{rhOH;#CGy%mHHGhhyh_?LBjtJ@N$-dd)CKMDCY2)q63W zGmZUKr+1(AKPx6wOqidKo@mU=5UF1v@xKO zoDW5=YhdnIiMj?HP~j*S;y9Vh6K99BjAzzxQ*UhMLOyBMhTG0=6OA^ZwQ?J$9W(@< z&*oUa8A>jg4U>etqmfK9(LJKB{$A=FEt~3!p``gqS~c>um83$_Aoy2i=ve%W9@!~# z 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 C&Jo!F literal 0 HcmV?d00001