From 75a94289bc470e50cec55fe9bca8807aa067c84c Mon Sep 17 00:00:00 2001 From: Adrian Woodley Date: Wed, 22 Apr 2026 12:06:49 +0800 Subject: [PATCH] Initial commit --- Conventional-Sites.xlsx | Bin 0 -> 10419 bytes uem-events.py | 66 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 Conventional-Sites.xlsx create mode 100755 uem-events.py diff --git a/Conventional-Sites.xlsx b/Conventional-Sites.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3352a26b196c1681b2bd88e923dd17931e9ea3d1 GIT binary patch literal 10419 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