From 30fc7140ebeec7a9e347bfb63a6c33556a7223f8 Mon Sep 17 00:00:00 2001
From: GHOSCHT <31184695+GHOSCHT@users.noreply.github.com>
Date: Sat, 9 Apr 2022 20:07:19 +0200
Subject: [PATCH] Improve repo directory structure
---
.eslintignore | 50 +
.eslintrc.js | 49 +
.gitignore | 40 +
.vscode/settings.json | 3 +
README.md | 22 +
assets/assets.d.ts | 4 +
assets/icons/Icon.ai | 6630 +++++++++++++++++
assets/icons/Icon.png | Bin 0 -> 31770 bytes
assets/icons/mac/icon.icns | Bin 0 -> 152568 bytes
assets/icons/png/1024x1024.png | Bin 0 -> 31749 bytes
assets/icons/png/128x128.png | Bin 0 -> 3403 bytes
assets/icons/png/16x16.png | Bin 0 -> 424 bytes
assets/icons/png/24x24.png | Bin 0 -> 597 bytes
assets/icons/png/256x256.png | Bin 0 -> 6909 bytes
assets/icons/png/32x32.png | Bin 0 -> 795 bytes
assets/icons/png/48x48.png | Bin 0 -> 1277 bytes
assets/icons/png/512x512.png | Bin 0 -> 14883 bytes
assets/icons/png/64x64.png | Bin 0 -> 1710 bytes
assets/icons/win/icon.ico | Bin 0 -> 361102 bytes
assets/knob/Knob.ai | 6605 +++++++++++++++++
assets/knob/Knob.svg | 1 +
assets/tray/Swatch.ai | 367 +
assets/tray/Template.ai | 1879 +++++
assets/tray/tray-default-32.png | Bin 0 -> 451 bytes
assets/tray/tray-green-32.png | Bin 0 -> 612 bytes
assets/tray/tray-red-32.png | Bin 0 -> 614 bytes
assets/tray/tray-yellow-32.png | Bin 0 -> 601 bytes
assets/tray/tray.ai | 375 +
babel.config.json | 4 +
package.json | 121 +
scripts/installer.nsh | 3 +
src/App.tsx | 35 +
src/Components/Knob.tsx | 157 +
src/Components/KnobSection.tsx | 44 +
src/Components/Settings.tsx | 104 +
src/electron.js | 183 +
src/index.html | 11 +
src/index.tsx | 16 +
src/interfaces/ISerialConnectionState.ts | 10 +
src/redux/hooks/index.ts | 6 +
src/redux/middlewares/logger.ts | 10 +
src/redux/middlewares/serialConnection.ts | 74 +
src/redux/slices/serialConnectionSlice.ts | 62 +
src/redux/store/index.ts | 48 +
src/redux/store/root-reducer.ts | 8 +
src/redux/store/types.d.ts | 5 +
src/serial/PortController.ts | 55 +
styled.d.ts | 14 +
tsconfig.json | 24 +
webpack.config.js | 79 +
yarn.lock | 8044 +++++++++++++++++++++
51 files changed, 25142 insertions(+)
create mode 100644 .eslintignore
create mode 100644 .eslintrc.js
create mode 100644 .gitignore
create mode 100644 .vscode/settings.json
create mode 100644 README.md
create mode 100644 assets/assets.d.ts
create mode 100644 assets/icons/Icon.ai
create mode 100644 assets/icons/Icon.png
create mode 100644 assets/icons/mac/icon.icns
create mode 100644 assets/icons/png/1024x1024.png
create mode 100644 assets/icons/png/128x128.png
create mode 100644 assets/icons/png/16x16.png
create mode 100644 assets/icons/png/24x24.png
create mode 100644 assets/icons/png/256x256.png
create mode 100644 assets/icons/png/32x32.png
create mode 100644 assets/icons/png/48x48.png
create mode 100644 assets/icons/png/512x512.png
create mode 100644 assets/icons/png/64x64.png
create mode 100644 assets/icons/win/icon.ico
create mode 100644 assets/knob/Knob.ai
create mode 100644 assets/knob/Knob.svg
create mode 100644 assets/tray/Swatch.ai
create mode 100644 assets/tray/Template.ai
create mode 100644 assets/tray/tray-default-32.png
create mode 100644 assets/tray/tray-green-32.png
create mode 100644 assets/tray/tray-red-32.png
create mode 100644 assets/tray/tray-yellow-32.png
create mode 100644 assets/tray/tray.ai
create mode 100644 babel.config.json
create mode 100644 package.json
create mode 100644 scripts/installer.nsh
create mode 100644 src/App.tsx
create mode 100644 src/Components/Knob.tsx
create mode 100644 src/Components/KnobSection.tsx
create mode 100644 src/Components/Settings.tsx
create mode 100644 src/electron.js
create mode 100644 src/index.html
create mode 100644 src/index.tsx
create mode 100644 src/interfaces/ISerialConnectionState.ts
create mode 100644 src/redux/hooks/index.ts
create mode 100644 src/redux/middlewares/logger.ts
create mode 100644 src/redux/middlewares/serialConnection.ts
create mode 100644 src/redux/slices/serialConnectionSlice.ts
create mode 100644 src/redux/store/index.ts
create mode 100644 src/redux/store/root-reducer.ts
create mode 100644 src/redux/store/types.d.ts
create mode 100644 src/serial/PortController.ts
create mode 100644 styled.d.ts
create mode 100644 tsconfig.json
create mode 100644 webpack.config.js
create mode 100644 yarn.lock
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..0a08333
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,50 @@
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+.eslintcache
+
+# Dependency directory
+# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
+node_modules
+
+# OSX
+.DS_Store
+
+# App packaged
+release
+build
+dist
+dll
+main.js
+main.js.map
+
+.idea
+npm-debug.log.*
+__snapshots__
+
+# Package.json
+package.json
+.travis.yml
+*.css.d.ts
+*.sass.d.ts
+*.scss.d.ts
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..a90f698
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,49 @@
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true,
+ node: true,
+ },
+ extends: ["plugin:react/recommended", "airbnb"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
+ ecmaVersion: 12,
+ sourceType: "module",
+ },
+ plugins: ["react", "@typescript-eslint"],
+ rules: {
+ "no-use-before-define": "off",
+ "@typescript-eslint/no-use-before-define": ["error"],
+ "react/jsx-filename-extension": [1, { extensions: [".tsx", ".ts"] }],
+ "consistent-return": ["error", { treatUndefinedAsUnspecified: false }],
+ quotes: ["error", "double"],
+ "import/no-extraneous-dependencies": ["error", { devDependencies: true }],
+ "no-console": "off",
+ "max-len": ["error", { code: 300 }],
+ "no-shadow": "off",
+ "@typescript-eslint/no-shadow": ["error"],
+ "no-unused-vars": "off",
+ "@typescript-eslint/no-unused-vars": "error",
+ "import/extensions": [
+ "error",
+ "ignorePackages",
+ {
+ js: "never",
+ jsx: "never",
+ ts: "never",
+ tsx: "never",
+ },
+ ],
+ },
+ settings: {
+ "import/resolver": {
+ node: {
+ extensions: [".js", ".jsx", ".ts", ".tsx"],
+ },
+ },
+ },
+
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..22e8785
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,40 @@
+# dependencies
+/node_modules
+
+# testing
+/coverage
+
+# production
+/build
+
+# misc
+.DS_Store
+.env
+npm-debug.log
+
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+.eslintcache
+
+# OSX
+.DS_Store
+
+# App packaged
+release
+dist
+dll
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..7c2feb7
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "editor.formatOnSave": false
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d0d173b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,22 @@
+# Heliox - Dashboard
+
+[![Electron Build](https://github.com/GHOSCHT/light-control/actions/workflows/Electron.yml/badge.svg)](https://github.com/GHOSCHT/light-control/actions/workflows/Electron.yml)
+[![CodeQL](https://github.com/GHOSCHT/light-control/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/GHOSCHT/light-control/actions/workflows/codeql-analysis.yml)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bdb8a994396345efab8271307f1ea155)](https://www.codacy.com/gh/GHOSCHT/heliox/dashboard?utm_source=github.com&utm_medium=referral&utm_content=GHOSCHT/heliox&utm_campaign=Badge_Grade)
+
+
+
+
+Uses:
+
+Dashboard: node-gyp fails on sqlite3 build -> set default pyhton version to python 2
+
+```shell
+node-gyp --python /path/to/python2.7/python.exe
+```
+
+or
+
+```shell
+npm config set python /path/to/executable/python2.7
+```
diff --git a/assets/assets.d.ts b/assets/assets.d.ts
new file mode 100644
index 0000000..1a3dd3c
--- /dev/null
+++ b/assets/assets.d.ts
@@ -0,0 +1,4 @@
+declare module "*.svg" {
+ const content: any;
+ export default content;
+}
diff --git a/assets/icons/Icon.ai b/assets/icons/Icon.ai
new file mode 100644
index 0000000..0b549c3
--- /dev/null
+++ b/assets/icons/Icon.ai
@@ -0,0 +1,6630 @@
+%PDF-1.5
%
+1 0 obj
<>/OCGs[33 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<>stream
+
+
+
+
+ application/pdf
+
+
+ Icon
+
+
+ 2022-03-07T12:30:14+01:00
+ 2022-03-07T12:30:14+01:00
+ 2022-03-07T12:30:13+02:00
+ Adobe Illustrator 24.0 (Windows)
+
+
+
+ 256
+ 168
+ JPEG
+ /9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEA
AQEsAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAqAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUt/
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
+
+
+
+ uuid:91795ffa-bcd9-4e82-bb7f-1b9792ae7452
+ xmp.did:301aa2ca-ebd2-a64d-9ad0-580527356a0e
+ uuid:5D20892493BFDB11914A8590D31508C8
+ proof:pdf
+
+ uuid:14e24e51-8878-4367-af11-e61f420c6954
+ xmp.did:dd9b2404-451f-6a47-9c97-7c3408807f7b
+ uuid:5D20892493BFDB11914A8590D31508C8
+ proof:pdf
+
+
+
+
+ saved
+ xmp.iid:301aa2ca-ebd2-a64d-9ad0-580527356a0e
+ 2022-03-02T20:40:13+01:00
+ Adobe Illustrator 24.0 (Windows)
+ /
+
+
+
+
+
+
+ EmbedByReference
+
+ C:\Users\Philipp\Downloads\Rune-Meaning.jpg
+ 0
+ 0
+
+
+
+
+
+
+
+ C:\Users\Philipp\Downloads\Rune-Meaning.jpg
+ 0
+ 0
+
+
+
+ Document
+ Print
+ AIRobin
+ False
+ False
+ 1
+
+ 1024.000000
+ 1024.000000
+ Pixels
+
+
+
+ Cyan
+ Magenta
+ Yellow
+
+
+
+
+
+ Default Swatch Group
+ 0
+
+
+
+ White
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 0.000000
+
+
+ Black
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 100.000000
+
+
+ CMYK Red
+ CMYK
+ PROCESS
+ 0.000000
+ 100.000000
+ 100.000000
+ 0.000000
+
+
+ CMYK Yellow
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ CMYK Green
+ CMYK
+ PROCESS
+ 100.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ CMYK Cyan
+ CMYK
+ PROCESS
+ 100.000000
+ 0.000000
+ 0.000000
+ 0.000000
+
+
+ CMYK Blue
+ CMYK
+ PROCESS
+ 100.000000
+ 100.000000
+ 0.000000
+ 0.000000
+
+
+ CMYK Magenta
+ CMYK
+ PROCESS
+ 0.000000
+ 100.000000
+ 0.000000
+ 0.000000
+
+
+ C=15 M=100 Y=90 K=10
+ CMYK
+ PROCESS
+ 15.000000
+ 100.000000
+ 90.000000
+ 10.000000
+
+
+ C=0 M=90 Y=85 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 90.000000
+ 85.000000
+ 0.000000
+
+
+ C=0 M=80 Y=95 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 80.000000
+ 95.000000
+ 0.000000
+
+
+ C=0 M=50 Y=100 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 50.000000
+ 100.000000
+ 0.000000
+
+
+ C=0 M=35 Y=85 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 35.000000
+ 85.000000
+ 0.000000
+
+
+ C=5 M=0 Y=90 K=0
+ CMYK
+ PROCESS
+ 5.000000
+ 0.000000
+ 90.000000
+ 0.000000
+
+
+ C=20 M=0 Y=100 K=0
+ CMYK
+ PROCESS
+ 20.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ C=50 M=0 Y=100 K=0
+ CMYK
+ PROCESS
+ 50.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ C=75 M=0 Y=100 K=0
+ CMYK
+ PROCESS
+ 75.000000
+ 0.000000
+ 100.000000
+ 0.000000
+
+
+ C=85 M=10 Y=100 K=10
+ CMYK
+ PROCESS
+ 85.000000
+ 10.000000
+ 100.000000
+ 10.000000
+
+
+ C=90 M=30 Y=95 K=30
+ CMYK
+ PROCESS
+ 90.000000
+ 30.000000
+ 95.000000
+ 30.000000
+
+
+ C=75 M=0 Y=75 K=0
+ CMYK
+ PROCESS
+ 75.000000
+ 0.000000
+ 75.000000
+ 0.000000
+
+
+ C=80 M=10 Y=45 K=0
+ CMYK
+ PROCESS
+ 80.000000
+ 10.000000
+ 45.000000
+ 0.000000
+
+
+ C=70 M=15 Y=0 K=0
+ CMYK
+ PROCESS
+ 70.000000
+ 15.000000
+ 0.000000
+ 0.000000
+
+
+ C=85 M=50 Y=0 K=0
+ CMYK
+ PROCESS
+ 85.000000
+ 50.000000
+ 0.000000
+ 0.000000
+
+
+ C=100 M=95 Y=5 K=0
+ CMYK
+ PROCESS
+ 100.000000
+ 95.000000
+ 5.000000
+ 0.000000
+
+
+ C=100 M=100 Y=25 K=25
+ CMYK
+ PROCESS
+ 100.000000
+ 100.000000
+ 25.000000
+ 25.000000
+
+
+ C=75 M=100 Y=0 K=0
+ CMYK
+ PROCESS
+ 75.000000
+ 100.000000
+ 0.000000
+ 0.000000
+
+
+ C=50 M=100 Y=0 K=0
+ CMYK
+ PROCESS
+ 50.000000
+ 100.000000
+ 0.000000
+ 0.000000
+
+
+ C=35 M=100 Y=35 K=10
+ CMYK
+ PROCESS
+ 35.000000
+ 100.000000
+ 35.000000
+ 10.000000
+
+
+ C=10 M=100 Y=50 K=0
+ CMYK
+ PROCESS
+ 10.000000
+ 100.000000
+ 50.000000
+ 0.000000
+
+
+ C=0 M=95 Y=20 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 95.000000
+ 20.000000
+ 0.000000
+
+
+ C=25 M=25 Y=40 K=0
+ CMYK
+ PROCESS
+ 25.000000
+ 25.000000
+ 40.000000
+ 0.000000
+
+
+ C=40 M=45 Y=50 K=5
+ CMYK
+ PROCESS
+ 40.000000
+ 45.000000
+ 50.000000
+ 5.000000
+
+
+ C=50 M=50 Y=60 K=25
+ CMYK
+ PROCESS
+ 50.000000
+ 50.000000
+ 60.000000
+ 25.000000
+
+
+ C=55 M=60 Y=65 K=40
+ CMYK
+ PROCESS
+ 55.000000
+ 60.000000
+ 65.000000
+ 40.000000
+
+
+ C=25 M=40 Y=65 K=0
+ CMYK
+ PROCESS
+ 25.000000
+ 40.000000
+ 65.000000
+ 0.000000
+
+
+ C=30 M=50 Y=75 K=10
+ CMYK
+ PROCESS
+ 30.000000
+ 50.000000
+ 75.000000
+ 10.000000
+
+
+ C=35 M=60 Y=80 K=25
+ CMYK
+ PROCESS
+ 35.000000
+ 60.000000
+ 80.000000
+ 25.000000
+
+
+ C=40 M=65 Y=90 K=35
+ CMYK
+ PROCESS
+ 40.000000
+ 65.000000
+ 90.000000
+ 35.000000
+
+
+ C=40 M=70 Y=100 K=50
+ CMYK
+ PROCESS
+ 40.000000
+ 70.000000
+ 100.000000
+ 50.000000
+
+
+ C=50 M=70 Y=80 K=70
+ CMYK
+ PROCESS
+ 50.000000
+ 70.000000
+ 80.000000
+ 70.000000
+
+
+
+
+
+ Grays
+ 1
+
+
+
+ C=0 M=0 Y=0 K=100
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 100.000000
+
+
+ C=0 M=0 Y=0 K=90
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 89.999400
+
+
+ C=0 M=0 Y=0 K=80
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 79.998800
+
+
+ C=0 M=0 Y=0 K=70
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 69.999700
+
+
+ C=0 M=0 Y=0 K=60
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 59.999100
+
+
+ C=0 M=0 Y=0 K=50
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 50.000000
+
+
+ C=0 M=0 Y=0 K=40
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 39.999400
+
+
+ C=0 M=0 Y=0 K=30
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 29.998800
+
+
+ C=0 M=0 Y=0 K=20
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 19.999700
+
+
+ C=0 M=0 Y=0 K=10
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 9.999100
+
+
+ C=0 M=0 Y=0 K=5
+ CMYK
+ PROCESS
+ 0.000000
+ 0.000000
+ 0.000000
+ 4.998800
+
+
+
+
+
+ Brights
+ 1
+
+
+
+ C=0 M=100 Y=100 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 100.000000
+ 100.000000
+ 0.000000
+
+
+ C=0 M=75 Y=100 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 75.000000
+ 100.000000
+ 0.000000
+
+
+ C=0 M=10 Y=95 K=0
+ CMYK
+ PROCESS
+ 0.000000
+ 10.000000
+ 95.000000
+ 0.000000
+
+
+ C=85 M=10 Y=100 K=0
+ CMYK
+ PROCESS
+ 85.000000
+ 10.000000
+ 100.000000
+ 0.000000
+
+
+ C=100 M=90 Y=0 K=0
+ CMYK
+ PROCESS
+ 100.000000
+ 90.000000
+ 0.000000
+ 0.000000
+
+
+ C=60 M=90 Y=0 K=0
+ CMYK
+ PROCESS
+ 60.000000
+ 90.000000
+ 0.003100
+ 0.003100
+
+
+
+
+
+
+ Adobe PDF library 15.00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+endstream
endobj
3 0 obj
<>
endobj
5 0 obj
<>/Resources<>/ExtGState<>/Properties<>/Shading<>>>/Thumb 39 0 R/TrimBox[0.0 0.0 1024.0 1024.0]/Type/Page>>
endobj
35 0 obj
<>stream
+H\;n0E{p;ˡnrO=A$VT
lcU ;jWMEjT \j@3 wӳB9/R s%6%UiS[ʶ]zkmc- jg _#*<*m*$ G
+GU_#^'[pzs݃M8cB,gPG=z=/JUz^&Jws"C)9%ه(1-xVTFDzS
+ExMAMZ+
+2:Vm+Z+T&