From 26448bf4db669fe7b11726cbdec9510eef8ee566 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Mon, 27 Jan 2025 18:48:56 -0700 Subject: [PATCH 01/30] feat(automation): Automate data extraction, MQTT communication, and visualization Created two Python scripts to extract data from results logs and publish it to an MQTT broker server. The server is then subscribed to by a Grafana dashboard via the MQTT Grafana plugin. Additionally, two custom Docker images for Grafana and MQTT were created and configured to communicate on the same Docker network using Docker Compose. This setup automates the process of data visualization for machine configurations by adding benchmark commands and spinning up Docker Compose files in the Makefile. Resolves: AB#1234 --- Makefile | 12 +++++ docker-compose.yml | 22 +++++++++ mqtt/fps_extracter.py | 84 +++++++++++++++++++++++++++++++++ mqtt/publisher_intel.py | 100 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 218 insertions(+) create mode 100644 docker-compose.yml create mode 100644 mqtt/fps_extracter.py create mode 100644 mqtt/publisher_intel.py diff --git a/Makefile b/Makefile index deffbfe4..0787b722 100644 --- a/Makefile +++ b/Makefile @@ -50,12 +50,24 @@ run-render-mode: down: docker compose -f src/$(DOCKER_COMPOSE) down + docker container stop grafana mqtt-broker + docker container rm grafana mqtt-broker run-demo: | download-models update-submodules download-sample-videos @echo "Building automated self checkout app" $(MAKE) build @echo Running automated self checkout pipeline $(MAKE) run-render-mode + docker compose up -d + rm performance-tools/benchmark-scripts/results/* + $(MAKE) benchmark-cmd + python mqtt/publisher_intel.py & + python mqtt/fps_extracter.py & + @echo "To view the results, open the browser and navigate to http://localhost:3000" + wait + +benchmark-cmd: + $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark run-headless: | download-models update-submodules download-sample-videos @echo "Building automated self checkout app" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..10be8783 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' + +services: + mqtt-broker: + image: mvyas7/intel-hacks:v1 + container_name: mqtt-broker + ports: + - "1884:1883" + networks: + - mqtt-net + + grafana: + image: mvyas7/intel-hacks-grafana:v1 + container_name: grafana + ports: + - "3000:3000" + networks: + - mqtt-net + +networks: + mqtt-net: + driver: bridge \ No newline at end of file diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py new file mode 100644 index 00000000..1fa82a1c --- /dev/null +++ b/mqtt/fps_extracter.py @@ -0,0 +1,84 @@ +import re +import json +import time +from paho.mqtt.client import Client +import os + + +# Configuration + +current_directory = os.getcwd() +# Define the path to the folder +folder_path = os.path.join(current_directory, 'performance-tools/benchmark-scripts/results') + +# Define the pattern for matching file names +pattern = r'^gst-launch_.*_gst\.log$' + +# List all files in the directory +file_names = os.listdir(folder_path) + +# Filter files using the regular expression pattern +matching_files = [file for file in file_names if re.match(pattern, file)] +relative_path = "performance-tools/benchmark-scripts/results/" + matching_files[0] +file_path = os.path.join(current_directory, relative_path) +print(file_path) + +mqtt_broker = "localhost" # Replace with your broker address +mqtt_port = 1884 # Default MQTT port +mqtt_topic = "grafana/log_data" # Replace with your topic + +# Regex pattern to extract relevant information +data_pattern = r"latency_tracer_pipeline, frame_latency=\(double\)([\d.]+), avg=\(double\)([\d.]+), min=\(double\)([\d.]+), max=\(double\)([\d.]+), latency=\(double\)([\d.]+), fps=\(double\)([\d.]+), frame_num=\(uint\)(\d+);" + +# Extract relevant information from the log file +def extract_data(file_path): + extracted_data = [] + with open(file_path, "r") as file: + for line in file: + match = re.search(data_pattern, line) + if match: + # Create a key-value pair dictionary for each match + data = { + "frame_latency": float(match.group(1)), + "avg": float(match.group(2)), + "min": float(match.group(3)), + "max": float(match.group(4)), + "latency": float(match.group(5)), + "fps": float(match.group(6)), + "frame_num": int(match.group(7)) + } + extracted_data.append(data) + return extracted_data + +# Publish data to MQTT +def publish_data_to_mqtt(extracted_data): + client = Client() + + try: + # Connect to the MQTT broker + client.connect(mqtt_broker, mqtt_port) + client.loop_start() + + # Publish each data record + for data in extracted_data: + payload = json.dumps(data) # Convert dictionary to JSON string + client.publish(mqtt_topic, payload) + print(f"Published data: {payload} to topic {mqtt_topic}") + time.sleep(1) # Simulate data streaming interval + + except Exception as e: + print(f"Failed to publish to MQTT: {e}") + finally: + client.loop_stop() + client.disconnect() + +# Main function +if __name__ == "__main__": + # Extract data from the log file + extracted_data = extract_data(file_path) + if extracted_data: + # print("Extracted data:", extracted_data) + # Publish extracted data to MQTT + publish_data_to_mqtt(extracted_data) + else: + print("No relevant data found in the log file.") diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py new file mode 100644 index 00000000..74a12f17 --- /dev/null +++ b/mqtt/publisher_intel.py @@ -0,0 +1,100 @@ +import itertools +import json +from paho.mqtt.client import Client +import time +import os + +# MQTT Configuration +BROKER_ADDRESS = "localhost" # Replace with your MQTT broker address +MQTT_TOPIC = "grafana/log_data" # Topic to publish the logs +mqtt_port = 1884 # Default MQTT port + + +# Get the current working directory +current_directory = os.getcwd() + +# Define the relative path to the file +relative_path_cpu = 'performance-tools/benchmark-scripts/results/cpu_usage.log' +relative_path_memory = 'performance-tools/benchmark-scripts/results/memory_usage.log' +relative_path_disk = 'performance-tools/benchmark-scripts/results/disk_bandwidth.log' +# Combine the current directory with the relative path +cpu_usage_path = os.path.join(current_directory, relative_path_cpu) +memory_usage_path = os.path.join(current_directory,relative_path_memory) +disk_bandwidth_path = os.path.join(current_directory,relative_path_disk) + +# Initialize file handlers +cpu_file = open(cpu_usage_path, 'r') +memory_file = open(memory_usage_path, 'r') +disk_file = open(disk_bandwidth_path, 'r') + +# Initialize MQTT client +mqtt_client = Client() +mqtt_client.connect(BROKER_ADDRESS, mqtt_port) + +# Function to process a line from the CPU usage file +def process_cpu_line(line): + parts = line.split() + if len(parts) == 8 and parts[1] == "all": + return {"Cpu_user": float(parts[2]), "Cpu_idle": float(parts[7]), "Cpu_iowait": float(parts[4])} + return None + +# Function to process a line from the memory usage file +def process_memory_line(line): + if line.startswith("Mem:"): + parts = line.split() + return {"Memory_total": int(parts[1]), "Memory_used": int(parts[2])} + return None + +# Function to process a line from the disk bandwidth file +def process_disk_line(line): + total_read = None + total_write = None + + if line.startswith("Total DISK READ"): + total_read = line.split('|')[0].split(':')[-1].strip() + total_write = line.split('|')[1].split(':')[-1].strip() + elif line.startswith("Current DISK READ"): + current_read = line.split('|')[0].split(':')[-1].strip() + current_write = line.split('|')[1].split(':')[-1].strip() + return { + + "total_read": total_read, + "current_read": current_read, + "total_write": total_write, + "current_write": current_write, + } + + return None + +# Using itertools.zip_longest to iterate over all files simultaneously +for cpu_line, mem_line, disk_line in itertools.zip_longest(cpu_file, memory_file, disk_file): + # Process each line + cpu_data = process_cpu_line(cpu_line) if cpu_line else None + memory_data = process_memory_line(mem_line) if mem_line else None + disk_data = process_disk_line(disk_line) if disk_line else None + + # Combine data into a single payload + log_data = {} + if cpu_data: + log_data.update(cpu_data) + if memory_data: + log_data.update(memory_data) + if disk_data: + log_data.update(disk_data) + + if log_data: + # Convert to JSON and publish to MQTT + payload = json.dumps(log_data) + mqtt_client.publish(MQTT_TOPIC, payload) + print(f"Published: {payload}") + + # Sleep to simulate real-time log streaming (adjust as needed) + time.sleep(1) + +# Close all file handlers +cpu_file.close() +memory_file.close() +disk_file.close() + +# Disconnect MQTT client +mqtt_client.disconnect() From 1e6b841e005430e6623ca877d099c83c646ae47b Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Wed, 29 Jan 2025 11:24:20 -0700 Subject: [PATCH 02/30] removed unnecessary print statements --- mqtt/fps_extracter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py index 1fa82a1c..f73b188f 100644 --- a/mqtt/fps_extracter.py +++ b/mqtt/fps_extracter.py @@ -21,7 +21,7 @@ matching_files = [file for file in file_names if re.match(pattern, file)] relative_path = "performance-tools/benchmark-scripts/results/" + matching_files[0] file_path = os.path.join(current_directory, relative_path) -print(file_path) +# print(file_path) mqtt_broker = "localhost" # Replace with your broker address mqtt_port = 1884 # Default MQTT port @@ -63,7 +63,7 @@ def publish_data_to_mqtt(extracted_data): for data in extracted_data: payload = json.dumps(data) # Convert dictionary to JSON string client.publish(mqtt_topic, payload) - print(f"Published data: {payload} to topic {mqtt_topic}") + # print(f"Published data: {payload} to topic {mqtt_topic}") time.sleep(1) # Simulate data streaming interval except Exception as e: From 3cf0dd22328885df7de12a1f060599bb0aaec4b0 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Wed, 29 Jan 2025 11:26:05 -0700 Subject: [PATCH 03/30] made generic image name for docker compose --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 10be8783..3674257f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: mqtt-broker: - image: mvyas7/intel-hacks:v1 + image: mvyas7/mqtt-broker:v1 container_name: mqtt-broker ports: - "1884:1883" @@ -10,7 +10,7 @@ services: - mqtt-net grafana: - image: mvyas7/intel-hacks-grafana:v1 + image: mvyas7/grafana:v1 container_name: grafana ports: - "3000:3000" From d35e5586f6e488fa2a90bf5e8beec18effdc54ac Mon Sep 17 00:00:00 2001 From: Sahilgr8 <69689578+Sahilgr8@users.noreply.github.com> Date: Thu, 30 Jan 2025 22:41:28 +0000 Subject: [PATCH 04/30] Update makefile to create separate run-mqtt as request by brian --- Makefile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 0787b722..b2bb131f 100644 --- a/Makefile +++ b/Makefile @@ -58,13 +58,15 @@ run-demo: | download-models update-submodules download-sample-videos $(MAKE) build @echo Running automated self checkout pipeline $(MAKE) run-render-mode - docker compose up -d - rm performance-tools/benchmark-scripts/results/* - $(MAKE) benchmark-cmd - python mqtt/publisher_intel.py & - python mqtt/fps_extracter.py & - @echo "To view the results, open the browser and navigate to http://localhost:3000" - wait + +run-mqtt: + docker compose up -d + rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null + $(MAKE) benchmark-cmd + python mqtt/publisher_intel.py & + python mqtt/fps_extracter.py & + @echo "To view the results, open the browser and navigate to http://localhost:3000/" + wait benchmark-cmd: $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark From a70bbf2ae377525fa1c8caffbdad6dda7f265c29 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Thu, 30 Jan 2025 22:19:58 -0700 Subject: [PATCH 05/30] removed spaces with TABS --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0787b722..4c027918 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,11 @@ run-demo: | download-models update-submodules download-sample-videos $(MAKE) build @echo Running automated self checkout pipeline $(MAKE) run-render-mode + + +run-mqtt: docker compose up -d - rm performance-tools/benchmark-scripts/results/* + rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd python mqtt/publisher_intel.py & python mqtt/fps_extracter.py & From cc654a5db59fbc1062b0d8091d481dc6d9cfcc50 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Fri, 31 Jan 2025 01:27:13 -0700 Subject: [PATCH 06/30] modified Makefile to cater the dependencies issues --- Makefile | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4c027918..d994fe3b 100644 --- a/Makefile +++ b/Makefile @@ -60,12 +60,50 @@ run-demo: | download-models update-submodules download-sample-videos $(MAKE) run-render-mode +# run-mqtt: +# docker compose up -d +# rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null +# $(MAKE) benchmark-cmd +# pipx install paho-mqtt +# pipx run python mqtt/publisher_intel.py & +# pipx run python mqtt/fps_extracter.py & +# @echo "To view the results, open the browser and navigate to http://localhost:3000" +# wait + run-mqtt: + # Check if python3 -m venv is available + @echo "Checking if Python's venv module is available..." + @python3 -m venv test-env > /dev/null 2>&1; \ + if [ $$? -ne 0 ]; then \ + echo "It looks like 'python3-venv' is not installed."; \ + if [ "$(shell uname)" = "Linux" ]; then \ + echo "To install it on Ubuntu/Debian, run: sudo apt install python3-venv"; \ + elif [ "$(shell uname)" = "Darwin" ]; then \ + echo "To install it on macOS, run: brew install python3"; \ + elif [ "$(shell uname)" = "MINGW64_NT" ]; then \ + echo "To install it on Windows, make sure you have Python 3 installed from https://www.python.org/downloads/"; \ + else \ + echo "Unsupported OS or environment."; \ + fi; \ + exit 1; \ + else \ + echo "Virtual environment module is available."; \ + rm -rf test-env; \ + fi + docker compose up -d rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd - python mqtt/publisher_intel.py & - python mqtt/fps_extracter.py & + # Create a virtual environment (if not already created) + python3 -m venv venv + + # Activate the virtual environment and install dependencies + . venv/bin/activate && pip install --upgrade pip paho-mqtt + + # Run the required Python scripts in the background + . venv/bin/activate && python mqtt/publisher_intel.py & + . venv/bin/activate && python mqtt/fps_extracter.py & + @echo "To view the results, open the browser and navigate to http://localhost:3000" wait From 3c4e0124c82aaf256a7cca807e37878f8cfec58a Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Fri, 31 Jan 2025 01:43:37 -0700 Subject: [PATCH 07/30] rectified the paho dependecies using venv --- Makefile | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Makefile b/Makefile index d994fe3b..30cd57f1 100644 --- a/Makefile +++ b/Makefile @@ -60,15 +60,7 @@ run-demo: | download-models update-submodules download-sample-videos $(MAKE) run-render-mode -# run-mqtt: -# docker compose up -d -# rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null -# $(MAKE) benchmark-cmd -# pipx install paho-mqtt -# pipx run python mqtt/publisher_intel.py & -# pipx run python mqtt/fps_extracter.py & -# @echo "To view the results, open the browser and navigate to http://localhost:3000" -# wait + run-mqtt: # Check if python3 -m venv is available From c12045a5fd02ae74103bbefe6125796a7e723eaf Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Fri, 31 Jan 2025 01:52:39 -0700 Subject: [PATCH 08/30] catered paho dependencies --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index 30cd57f1..64eb4274 100644 --- a/Makefile +++ b/Makefile @@ -60,8 +60,6 @@ run-demo: | download-models update-submodules download-sample-videos $(MAKE) run-render-mode - - run-mqtt: # Check if python3 -m venv is available @echo "Checking if Python's venv module is available..." From b417dddc9ba7eb97d69b4f359938cccad4317bf6 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Fri, 31 Jan 2025 12:58:04 -0700 Subject: [PATCH 09/30] resolved the paho dependencies without venv --- Makefile | 52 +++++++++++++++------------------------------------- 1 file changed, 15 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index adb0cd84..18d909db 100644 --- a/Makefile +++ b/Makefile @@ -61,50 +61,28 @@ run-demo: | download-models update-submodules download-sample-videos run-mqtt: - # Check if python3 -m venv is available - @echo "Checking if Python's venv module is available..." - @python3 -m venv test-env > /dev/null 2>&1; \ - if [ $$? -ne 0 ]; then \ - echo "It looks like 'python3-venv' is not installed."; \ - if [ "$(shell uname)" = "Linux" ]; then \ - echo "To install it on Ubuntu/Debian, run: sudo apt install python3-venv"; \ - elif [ "$(shell uname)" = "Darwin" ]; then \ - echo "To install it on macOS, run: brew install python3"; \ - elif [ "$(shell uname)" = "MINGW64_NT" ]; then \ - echo "To install it on Windows, make sure you have Python 3 installed from https://www.python.org/downloads/"; \ - else \ - echo "Unsupported OS or environment."; \ - fi; \ - exit 1; \ - else \ - echo "Virtual environment module is available."; \ - rm -rf test-env; \ - fi + # check if python 3 is installed + @python3 --version || (echo "Python 3 is not installed. Please install Python 3 and try again." && exit 1) + docker compose up -d rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd - # Create a virtual environment (if not already created) - python3 -m venv venv - - # Activate the virtual environment and install dependencies - . venv/bin/activate && pip install --upgrade pip paho-mqtt - - # Run the required Python scripts in the background - . venv/bin/activate && python mqtt/publisher_intel.py & - . venv/bin/activate && python mqtt/fps_extracter.py & - + # install paho-mqtt + apt install python3-paho-mqtt + python3 mqtt/publisher_intel.py & + python3 mqtt/fps_extracter.py & @echo "To view the results, open the browser and navigate to http://localhost:3000" wait -run-mqtt: - docker compose up -d - rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null - $(MAKE) benchmark-cmd - python mqtt/publisher_intel.py & - python mqtt/fps_extracter.py & - @echo "To view the results, open the browser and navigate to http://localhost:3000/" - wait +# run-mqtt: +# docker compose up -d +# rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null +# $(MAKE) benchmark-cmd +# python mqtt/publisher_intel.py & +# python mqtt/fps_extracter.py & +# @echo "To view the results, open the browser and navigate to http://localhost:3000/" +# wait benchmark-cmd: $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark From a658b60a9ef1e856d5cefe42c4999f4b3636165b Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Tue, 4 Feb 2025 12:39:45 -0700 Subject: [PATCH 10/30] resolved python issues --- Makefile | 5 +++-- mqtt/publisher_intel.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 18d909db..749a4480 100644 --- a/Makefile +++ b/Makefile @@ -63,13 +63,14 @@ run-demo: | download-models update-submodules download-sample-videos run-mqtt: # check if python 3 is installed @python3 --version || (echo "Python 3 is not installed. Please install Python 3 and try again." && exit 1) - + # ensure oython points to python3 + @sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 docker compose up -d rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd # install paho-mqtt - apt install python3-paho-mqtt + sudo apt install python3-paho-mqtt python3 mqtt/publisher_intel.py & python3 mqtt/fps_extracter.py & @echo "To view the results, open the browser and navigate to http://localhost:3000" diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index 74a12f17..c87a62c9 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -86,7 +86,7 @@ def process_disk_line(line): # Convert to JSON and publish to MQTT payload = json.dumps(log_data) mqtt_client.publish(MQTT_TOPIC, payload) - print(f"Published: {payload}") + # print(f"Published: {payload}") # Sleep to simulate real-time log streaming (adjust as needed) time.sleep(1) From 55b70648526e08b41cd42209f9cc48ed51639854 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Tue, 4 Feb 2025 14:40:30 -0700 Subject: [PATCH 11/30] resolving reviewdog issues --- mqtt/fps_extracter.py | 57 +++++++++++++++++------------------- mqtt/publisher_intel.py | 65 ++++++++++++++++++++++------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py index f73b188f..e1c4ab8e 100644 --- a/mqtt/fps_extracter.py +++ b/mqtt/fps_extracter.py @@ -1,43 +1,46 @@ import re import json import time -from paho.mqtt.client import Client import os - +from paho.mqtt.client import Client # Configuration - current_directory = os.getcwd() -# Define the path to the folder -folder_path = os.path.join(current_directory, 'performance-tools/benchmark-scripts/results') +folder_path = os.path.join( + current_directory, 'performance-tools/benchmark-scripts/results' +) -# Define the pattern for matching file names +# Define the pattern for matching log files pattern = r'^gst-launch_.*_gst\.log$' -# List all files in the directory +# List all matching log files file_names = os.listdir(folder_path) - -# Filter files using the regular expression pattern matching_files = [file for file in file_names if re.match(pattern, file)] -relative_path = "performance-tools/benchmark-scripts/results/" + matching_files[0] +relative_path = ( + "performance-tools/benchmark-scripts/results/" + matching_files[0] +) file_path = os.path.join(current_directory, relative_path) -# print(file_path) -mqtt_broker = "localhost" # Replace with your broker address -mqtt_port = 1884 # Default MQTT port -mqtt_topic = "grafana/log_data" # Replace with your topic +# MQTT Configuration +mqtt_broker = "localhost" +mqtt_port = 1884 +mqtt_topic = "grafana/log_data" # Regex pattern to extract relevant information -data_pattern = r"latency_tracer_pipeline, frame_latency=\(double\)([\d.]+), avg=\(double\)([\d.]+), min=\(double\)([\d.]+), max=\(double\)([\d.]+), latency=\(double\)([\d.]+), fps=\(double\)([\d.]+), frame_num=\(uint\)(\d+);" +data_pattern = ( + r"latency_tracer_pipeline, frame_latency=\(double\)([\d.]+), " + r"avg=\(double\)([\d.]+), min=\(double\)([\d.]+), max=\(double\)([\d.]+), " + r"latency=\(double\)([\d.]+), fps=\(double\)([\d.]+), frame_num=\(uint\)(\d+);" +) + -# Extract relevant information from the log file def extract_data(file_path): + """Extract relevant information from the log file.""" extracted_data = [] with open(file_path, "r") as file: for line in file: match = re.search(data_pattern, line) if match: - # Create a key-value pair dictionary for each match data = { "frame_latency": float(match.group(1)), "avg": float(match.group(2)), @@ -50,35 +53,27 @@ def extract_data(file_path): extracted_data.append(data) return extracted_data -# Publish data to MQTT + def publish_data_to_mqtt(extracted_data): + """Publish extracted data to MQTT broker.""" client = Client() - try: - # Connect to the MQTT broker client.connect(mqtt_broker, mqtt_port) client.loop_start() - - # Publish each data record for data in extracted_data: - payload = json.dumps(data) # Convert dictionary to JSON string + payload = json.dumps(data) client.publish(mqtt_topic, payload) - # print(f"Published data: {payload} to topic {mqtt_topic}") - time.sleep(1) # Simulate data streaming interval - + time.sleep(1) except Exception as e: print(f"Failed to publish to MQTT: {e}") finally: client.loop_stop() client.disconnect() -# Main function + if __name__ == "__main__": - # Extract data from the log file extracted_data = extract_data(file_path) if extracted_data: - # print("Extracted data:", extracted_data) - # Publish extracted data to MQTT publish_data_to_mqtt(extracted_data) else: - print("No relevant data found in the log file.") + print("No relevant data found in the log file.") \ No newline at end of file diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index c87a62c9..578bac93 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -1,52 +1,59 @@ import itertools import json -from paho.mqtt.client import Client -import time import os +import time +from paho.mqtt.client import Client # MQTT Configuration BROKER_ADDRESS = "localhost" # Replace with your MQTT broker address MQTT_TOPIC = "grafana/log_data" # Topic to publish the logs -mqtt_port = 1884 # Default MQTT port - +MQTT_PORT = 1884 # Default MQTT port # Get the current working directory current_directory = os.getcwd() -# Define the relative path to the file -relative_path_cpu = 'performance-tools/benchmark-scripts/results/cpu_usage.log' -relative_path_memory = 'performance-tools/benchmark-scripts/results/memory_usage.log' -relative_path_disk = 'performance-tools/benchmark-scripts/results/disk_bandwidth.log' -# Combine the current directory with the relative path -cpu_usage_path = os.path.join(current_directory, relative_path_cpu) -memory_usage_path = os.path.join(current_directory,relative_path_memory) -disk_bandwidth_path = os.path.join(current_directory,relative_path_disk) +# Define the relative paths to the files +relative_paths = { + "cpu": "performance-tools/benchmark-scripts/results/cpu_usage.log", + "memory": "performance-tools/benchmark-scripts/results/memory_usage.log", + "disk": "performance-tools/benchmark-scripts/results/disk_bandwidth.log", +} + +# Combine the current directory with the relative paths +file_paths = {key: os.path.join(current_directory, path) for key, path in relative_paths.items()} # Initialize file handlers -cpu_file = open(cpu_usage_path, 'r') -memory_file = open(memory_usage_path, 'r') -disk_file = open(disk_bandwidth_path, 'r') +cpu_file = open(file_paths["cpu"], 'r') +memory_file = open(file_paths["memory"], 'r') +disk_file = open(file_paths["disk"], 'r') # Initialize MQTT client mqtt_client = Client() -mqtt_client.connect(BROKER_ADDRESS, mqtt_port) +mqtt_client.connect(BROKER_ADDRESS, MQTT_PORT) + -# Function to process a line from the CPU usage file def process_cpu_line(line): + """Process a line from the CPU usage file.""" parts = line.split() if len(parts) == 8 and parts[1] == "all": - return {"Cpu_user": float(parts[2]), "Cpu_idle": float(parts[7]), "Cpu_iowait": float(parts[4])} + return { + "Cpu_user": float(parts[2]), + "Cpu_idle": float(parts[7]), + "Cpu_iowait": float(parts[4]), + } return None -# Function to process a line from the memory usage file + def process_memory_line(line): + """Process a line from the memory usage file.""" if line.startswith("Mem:"): parts = line.split() return {"Memory_total": int(parts[1]), "Memory_used": int(parts[2])} return None -# Function to process a line from the disk bandwidth file + def process_disk_line(line): + """Process a line from the disk bandwidth file.""" total_read = None total_write = None @@ -57,13 +64,11 @@ def process_disk_line(line): current_read = line.split('|')[0].split(':')[-1].strip() current_write = line.split('|')[1].split(':')[-1].strip() return { - - "total_read": total_read, - "current_read": current_read, - "total_write": total_write, - "current_write": current_write, - } - + "total_read": total_read, + "current_read": current_read, + "total_write": total_write, + "current_write": current_write, + } return None # Using itertools.zip_longest to iterate over all files simultaneously @@ -86,8 +91,8 @@ def process_disk_line(line): # Convert to JSON and publish to MQTT payload = json.dumps(log_data) mqtt_client.publish(MQTT_TOPIC, payload) - # print(f"Published: {payload}") - + print(f"Published: {payload}") + # Sleep to simulate real-time log streaming (adjust as needed) time.sleep(1) @@ -97,4 +102,4 @@ def process_disk_line(line): disk_file.close() # Disconnect MQTT client -mqtt_client.disconnect() +mqtt_client.disconnect() \ No newline at end of file From 76fb6d97966c2fc734109721d6a8dc0da104bae1 Mon Sep 17 00:00:00 2001 From: mayank-glitch-cpu Date: Sun, 16 Feb 2025 12:07:20 -0700 Subject: [PATCH 12/30] Review Dog Flag: rebuild docker image --- Python-2.7.18/Modules/_codecsmodule.gcda | Bin 0 -> 2280 bytes Python-2.7.18/Modules/_sre.gcda | Bin 0 -> 6512 bytes Python-2.7.18/Modules/_weakref.gcda | Bin 0 -> 316 bytes Python-2.7.18/Modules/errnomodule.gcda | Bin 0 -> 1348 bytes Python-2.7.18/Modules/gcmodule.gcda | Bin 0 -> 4652 bytes Python-2.7.18/Modules/getbuildinfo.gcda | Bin 0 -> 200 bytes Python-2.7.18/Modules/getpath.gcda | Bin 0 -> 1872 bytes Python-2.7.18/Modules/main.gcda | Bin 0 -> 2236 bytes Python-2.7.18/Modules/posixmodule.gcda | Bin 0 -> 9320 bytes Python-2.7.18/Modules/pwdmodule.gcda | Bin 0 -> 320 bytes Python-2.7.18/Modules/python.gcda | Bin 0 -> 96 bytes Python-2.7.18/Modules/signalmodule.gcda | Bin 0 -> 3952 bytes Python-2.7.18/Modules/symtablemodule.gcda | Bin 0 -> 108 bytes Python-2.7.18/Modules/threadmodule.gcda | Bin 0 -> 1572 bytes Python-2.7.18/Modules/xxsubtype.gcda | Bin 0 -> 524 bytes Python-2.7.18/Modules/zipimport.gcda | Bin 0 -> 2352 bytes Python-2.7.18/Objects/abstract.gcda | Bin 0 -> 16716 bytes Python-2.7.18/Objects/boolobject.gcda | Bin 0 -> 416 bytes Python-2.7.18/Objects/bufferobject.gcda | Bin 0 -> 1788 bytes Python-2.7.18/Objects/bytearrayobject.gcda | Bin 0 -> 9264 bytes Python-2.7.18/Objects/bytes_methods.gcda | Bin 0 -> 468 bytes Python-2.7.18/Objects/capsule.gcda | Bin 0 -> 872 bytes Python-2.7.18/Objects/cellobject.gcda | Bin 0 -> 880 bytes Python-2.7.18/Objects/classobject.gcda | Bin 0 -> 12500 bytes Python-2.7.18/Objects/cobject.gcda | Bin 0 -> 408 bytes Python-2.7.18/Objects/codeobject.gcda | Bin 0 -> 2752 bytes Python-2.7.18/Objects/complexobject.gcda | Bin 0 -> 2320 bytes Python-2.7.18/Objects/descrobject.gcda | Bin 0 -> 4956 bytes Python-2.7.18/Objects/dictobject.gcda | Bin 0 -> 12024 bytes Python-2.7.18/Objects/enumobject.gcda | Bin 0 -> 972 bytes Python-2.7.18/Objects/exceptions.gcda | Bin 0 -> 8720 bytes Python-2.7.18/Objects/fileobject.gcda | Bin 0 -> 7172 bytes Python-2.7.18/Objects/floatobject.gcda | Bin 0 -> 3780 bytes Python-2.7.18/Objects/frameobject.gcda | Bin 0 -> 3856 bytes Python-2.7.18/Objects/funcobject.gcda | Bin 0 -> 4064 bytes Python-2.7.18/Objects/genobject.gcda | Bin 0 -> 1484 bytes Python-2.7.18/Objects/intobject.gcda | Bin 0 -> 5584 bytes Python-2.7.18/Objects/iterobject.gcda | Bin 0 -> 872 bytes Python-2.7.18/Objects/listobject.gcda | Bin 0 -> 9976 bytes Python-2.7.18/Objects/longobject.gcda | Bin 0 -> 9312 bytes Python-2.7.18/Objects/memoryobject.gcda | Bin 0 -> 1492 bytes Python-2.7.18/Objects/methodobject.gcda | Bin 0 -> 2516 bytes Python-2.7.18/Objects/moduleobject.gcda | Bin 0 -> 1152 bytes Python-2.7.18/Objects/object.gcda | Bin 0 -> 10676 bytes Python-2.7.18/Objects/obmalloc.gcda | Bin 0 -> 676 bytes Python-2.7.18/Objects/rangeobject.gcda | Bin 0 -> 464 bytes Python-2.7.18/Objects/setobject.gcda | Bin 0 -> 7964 bytes Python-2.7.18/Objects/sliceobject.gcda | Bin 0 -> 1552 bytes Python-2.7.18/Objects/stringobject.gcda | Bin 0 -> 20328 bytes Python-2.7.18/Objects/structseq.gcda | Bin 0 -> 1520 bytes Python-2.7.18/Objects/tupleobject.gcda | Bin 0 -> 4344 bytes Python-2.7.18/Objects/typeobject.gcda | Bin 0 -> 27624 bytes Python-2.7.18/Objects/unicodectype.gcda | Bin 0 -> 576 bytes Python-2.7.18/Objects/unicodeobject.gcda | Bin 0 -> 17848 bytes Python-2.7.18/Objects/weakrefobject.gcda | Bin 0 -> 4552 bytes Python-2.7.18/Parser/acceler.gcda | Bin 0 -> 464 bytes Python-2.7.18/Parser/grammar1.gcda | Bin 0 -> 124 bytes Python-2.7.18/Parser/myreadline.gcda | Bin 0 -> 200 bytes Python-2.7.18/Parser/node.gcda | Bin 0 -> 508 bytes Python-2.7.18/Parser/parser.gcda | Bin 0 -> 912 bytes Python-2.7.18/Parser/parsetok.gcda | Bin 0 -> 820 bytes Python-2.7.18/Parser/tokenizer.gcda | Bin 0 -> 5640 bytes Python-2.7.18/Python/Python-ast.gcda | Bin 0 -> 13472 bytes Python-2.7.18/Python/_warnings.gcda | Bin 0 -> 1976 bytes Python-2.7.18/Python/asdl.gcda | Bin 0 -> 236 bytes Python-2.7.18/Python/ast.gcda | Bin 0 -> 10464 bytes Python-2.7.18/Python/bltinmodule.gcda | Bin 0 -> 8620 bytes Python-2.7.18/Python/ceval.gcda | Bin 0 -> 24656 bytes Python-2.7.18/Python/codecs.gcda | Bin 0 -> 4196 bytes Python-2.7.18/Python/compile.gcda | Bin 0 -> 14672 bytes Python-2.7.18/Python/dtoa.gcda | Bin 0 -> 2456 bytes Python-2.7.18/Python/dynload_shlib.gcda | Bin 0 -> 256 bytes Python-2.7.18/Python/errors.gcda | Bin 0 -> 2996 bytes Python-2.7.18/Python/formatter_string.gcda | Bin 0 -> 2084 bytes Python-2.7.18/Python/formatter_unicode.gcda | Bin 0 -> 288 bytes Python-2.7.18/Python/future.gcda | Bin 0 -> 360 bytes Python-2.7.18/Python/getargs.gcda | Bin 0 -> 7372 bytes Python-2.7.18/Python/getcompiler.gcda | Bin 0 -> 88 bytes Python-2.7.18/Python/getcopyright.gcda | Bin 0 -> 88 bytes Python-2.7.18/Python/getopt.gcda | Bin 0 -> 316 bytes Python-2.7.18/Python/getplatform.gcda | Bin 0 -> 88 bytes Python-2.7.18/Python/getversion.gcda | Bin 0 -> 112 bytes Python-2.7.18/Python/import.gcda | Bin 0 -> 12636 bytes Python-2.7.18/Python/importdl.gcda | Bin 0 -> 288 bytes Python-2.7.18/Python/marshal.gcda | Bin 0 -> 4528 bytes Python-2.7.18/Python/modsupport.gcda | Bin 0 -> 3296 bytes Python-2.7.18/Python/mysnprintf.gcda | Bin 0 -> 164 bytes Python-2.7.18/Python/mystrtoul.gcda | Bin 0 -> 508 bytes Python-2.7.18/Python/peephole.gcda | Bin 0 -> 1704 bytes Python-2.7.18/Python/pyarena.gcda | Bin 0 -> 636 bytes Python-2.7.18/Python/pymath.gcda | Bin 0 -> 156 bytes Python-2.7.18/Python/pystate.gcda | Bin 0 -> 2760 bytes Python-2.7.18/Python/pystrcmp.gcda | Bin 0 -> 108 bytes Python-2.7.18/Python/pystrtod.gcda | Bin 0 -> 832 bytes Python-2.7.18/Python/pythonrun.gcda | Bin 0 -> 8256 bytes Python-2.7.18/Python/random.gcda | Bin 0 -> 376 bytes Python-2.7.18/Python/structmember.gcda | Bin 0 -> 1712 bytes Python-2.7.18/Python/symtable.gcda | Bin 0 -> 9616 bytes Python-2.7.18/Python/sysmodule.gcda | Bin 0 -> 5920 bytes Python-2.7.18/Python/thread.gcda | Bin 0 -> 1352 bytes Python-2.7.18/Python/traceback.gcda | Bin 0 -> 1512 bytes src/pipeline-server/Dockerfile.pipeline-server | 2 +- 102 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Python-2.7.18/Modules/_codecsmodule.gcda create mode 100644 Python-2.7.18/Modules/_sre.gcda create mode 100644 Python-2.7.18/Modules/_weakref.gcda create mode 100644 Python-2.7.18/Modules/errnomodule.gcda create mode 100644 Python-2.7.18/Modules/gcmodule.gcda create mode 100644 Python-2.7.18/Modules/getbuildinfo.gcda create mode 100644 Python-2.7.18/Modules/getpath.gcda create mode 100644 Python-2.7.18/Modules/main.gcda create mode 100644 Python-2.7.18/Modules/posixmodule.gcda create mode 100644 Python-2.7.18/Modules/pwdmodule.gcda create mode 100644 Python-2.7.18/Modules/python.gcda create mode 100644 Python-2.7.18/Modules/signalmodule.gcda create mode 100644 Python-2.7.18/Modules/symtablemodule.gcda create mode 100644 Python-2.7.18/Modules/threadmodule.gcda create mode 100644 Python-2.7.18/Modules/xxsubtype.gcda create mode 100644 Python-2.7.18/Modules/zipimport.gcda create mode 100644 Python-2.7.18/Objects/abstract.gcda create mode 100644 Python-2.7.18/Objects/boolobject.gcda create mode 100644 Python-2.7.18/Objects/bufferobject.gcda create mode 100644 Python-2.7.18/Objects/bytearrayobject.gcda create mode 100644 Python-2.7.18/Objects/bytes_methods.gcda create mode 100644 Python-2.7.18/Objects/capsule.gcda create mode 100644 Python-2.7.18/Objects/cellobject.gcda create mode 100644 Python-2.7.18/Objects/classobject.gcda create mode 100644 Python-2.7.18/Objects/cobject.gcda create mode 100644 Python-2.7.18/Objects/codeobject.gcda create mode 100644 Python-2.7.18/Objects/complexobject.gcda create mode 100644 Python-2.7.18/Objects/descrobject.gcda create mode 100644 Python-2.7.18/Objects/dictobject.gcda create mode 100644 Python-2.7.18/Objects/enumobject.gcda create mode 100644 Python-2.7.18/Objects/exceptions.gcda create mode 100644 Python-2.7.18/Objects/fileobject.gcda create mode 100644 Python-2.7.18/Objects/floatobject.gcda create mode 100644 Python-2.7.18/Objects/frameobject.gcda create mode 100644 Python-2.7.18/Objects/funcobject.gcda create mode 100644 Python-2.7.18/Objects/genobject.gcda create mode 100644 Python-2.7.18/Objects/intobject.gcda create mode 100644 Python-2.7.18/Objects/iterobject.gcda create mode 100644 Python-2.7.18/Objects/listobject.gcda create mode 100644 Python-2.7.18/Objects/longobject.gcda create mode 100644 Python-2.7.18/Objects/memoryobject.gcda create mode 100644 Python-2.7.18/Objects/methodobject.gcda create mode 100644 Python-2.7.18/Objects/moduleobject.gcda create mode 100644 Python-2.7.18/Objects/object.gcda create mode 100644 Python-2.7.18/Objects/obmalloc.gcda create mode 100644 Python-2.7.18/Objects/rangeobject.gcda create mode 100644 Python-2.7.18/Objects/setobject.gcda create mode 100644 Python-2.7.18/Objects/sliceobject.gcda create mode 100644 Python-2.7.18/Objects/stringobject.gcda create mode 100644 Python-2.7.18/Objects/structseq.gcda create mode 100644 Python-2.7.18/Objects/tupleobject.gcda create mode 100644 Python-2.7.18/Objects/typeobject.gcda create mode 100644 Python-2.7.18/Objects/unicodectype.gcda create mode 100644 Python-2.7.18/Objects/unicodeobject.gcda create mode 100644 Python-2.7.18/Objects/weakrefobject.gcda create mode 100644 Python-2.7.18/Parser/acceler.gcda create mode 100644 Python-2.7.18/Parser/grammar1.gcda create mode 100644 Python-2.7.18/Parser/myreadline.gcda create mode 100644 Python-2.7.18/Parser/node.gcda create mode 100644 Python-2.7.18/Parser/parser.gcda create mode 100644 Python-2.7.18/Parser/parsetok.gcda create mode 100644 Python-2.7.18/Parser/tokenizer.gcda create mode 100644 Python-2.7.18/Python/Python-ast.gcda create mode 100644 Python-2.7.18/Python/_warnings.gcda create mode 100644 Python-2.7.18/Python/asdl.gcda create mode 100644 Python-2.7.18/Python/ast.gcda create mode 100644 Python-2.7.18/Python/bltinmodule.gcda create mode 100644 Python-2.7.18/Python/ceval.gcda create mode 100644 Python-2.7.18/Python/codecs.gcda create mode 100644 Python-2.7.18/Python/compile.gcda create mode 100644 Python-2.7.18/Python/dtoa.gcda create mode 100644 Python-2.7.18/Python/dynload_shlib.gcda create mode 100644 Python-2.7.18/Python/errors.gcda create mode 100644 Python-2.7.18/Python/formatter_string.gcda create mode 100644 Python-2.7.18/Python/formatter_unicode.gcda create mode 100644 Python-2.7.18/Python/future.gcda create mode 100644 Python-2.7.18/Python/getargs.gcda create mode 100644 Python-2.7.18/Python/getcompiler.gcda create mode 100644 Python-2.7.18/Python/getcopyright.gcda create mode 100644 Python-2.7.18/Python/getopt.gcda create mode 100644 Python-2.7.18/Python/getplatform.gcda create mode 100644 Python-2.7.18/Python/getversion.gcda create mode 100644 Python-2.7.18/Python/import.gcda create mode 100644 Python-2.7.18/Python/importdl.gcda create mode 100644 Python-2.7.18/Python/marshal.gcda create mode 100644 Python-2.7.18/Python/modsupport.gcda create mode 100644 Python-2.7.18/Python/mysnprintf.gcda create mode 100644 Python-2.7.18/Python/mystrtoul.gcda create mode 100644 Python-2.7.18/Python/peephole.gcda create mode 100644 Python-2.7.18/Python/pyarena.gcda create mode 100644 Python-2.7.18/Python/pymath.gcda create mode 100644 Python-2.7.18/Python/pystate.gcda create mode 100644 Python-2.7.18/Python/pystrcmp.gcda create mode 100644 Python-2.7.18/Python/pystrtod.gcda create mode 100644 Python-2.7.18/Python/pythonrun.gcda create mode 100644 Python-2.7.18/Python/random.gcda create mode 100644 Python-2.7.18/Python/structmember.gcda create mode 100644 Python-2.7.18/Python/symtable.gcda create mode 100644 Python-2.7.18/Python/sysmodule.gcda create mode 100644 Python-2.7.18/Python/thread.gcda create mode 100644 Python-2.7.18/Python/traceback.gcda diff --git a/Python-2.7.18/Modules/_codecsmodule.gcda b/Python-2.7.18/Modules/_codecsmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4c6c72a805a68518bc8546496e8b1041e4fb9664 GIT binary patch literal 2280 zcmYdHNlw=?Hg>AtZ?!b}`^tO<28M+kKtdddub4{!Nd`t9An{%?IP^B_)r)qUb{_yL zVH5z02?8+)z-R`Bm5dOP^^71ho-;vsKoV?5py0fI+j6aR&){(-&FhN%}8!BS&v* z;{B9Qj1`Z`(VI9kTGaIAidW?5jnv)56ZtoYEPI7x7L`8Gyt;@Sdo_!<_yp>{@+U{{ z8m4Ix)7S0XLyq2O#chf;AwNUN(VPAxFyGczc{@3Je;b%GyVty1L5|)h*?RfA=luyI zN3VmwxcJ)zuD)%X7wUS)kd9MXO5!;Ra7^5b>GKPkucXYC?Jt@qwrj`T^oAyzL*%$$&)z_FMJ0zAG4`bRDa1HUdS5|| z+NU?a3%&h#{1!24D|si^)n2}%MU2|CunwVB2X3t+M(v@ZjahfhxJnmzC$KJN|qZKjvhK1KouK7|d6Vv+njUaPxkWd$0`I+V* zsIYPSCH}^CkY0TGDD21q+Zi`gR}rH&%WkRP(q?~MV(Q@uLR;9Do`1QTdvR+E$PJ(t U38K9L2}uMWwf*r1(NYyVYRd{?ZA&jnk&8S5E;fYm|b>+$L*M*p0D>{j%zumqX0 z0L=`DPEI@KT^sET=O!d_hA_~UX%)k~V_hl@7p0s2Yg}l#-%nV@$N+?wQ^4+gGy(fZXbV=2i!Y2Pq^`(`K~$f0+Pl z`N(43pFco$l9T_7BG1H&XP71#>?vRanbCpfZerp#P2Wz1x7+E+tvOphgUlc%kHk*U zN?~>qoc(-4PXb8K3Nq|{nEBXl`KO34bDhuM0GV+D%?wCjqlQ^5*Yeus+uyQA#@_^| zL-a5+AS;GY?O1yuPkt?TIM=qG|D_;zDFDsXhnfqcp@l z^2M5^FP6E1%+^3M0cJLgR)EUE_{enwvK{--?2ur+BBbMJ{dzafSVKhvfSXvo}LR{iF zl*5H_xdWFtT;nif6u|w1J>Tv}%TwB~cZ680-gI?KnGprbQ#0WD85m%B2__^5W1!I@ z1o&vu1i9#W5?G)>0d_y#MU(^J_UEEpuEa|-Ra<`E*7gMX=>bqTqO5@!1>?hLs0DC! z2U#E@l28d4AEu668r?oz=Af%X=VR(agpC5GBo+}!Ilc!iJsj>~3X1iKwV&9;E2`&H2qD);vktKv-udIF5*@BcHVPTJ^YzUL{43*OPR)LkfleHL7+m1=*AE z7t$9YE{s+(Zom?9gI@@>-j8T}oF(+Jv1X!{e>x}(4E{mFfV?&Z_4T zsdeQi!a#2DKuhO{@|vEh3e}DGXYB}T=n7?788tlz9J6Obdw(V#4^ax&5C9EIeyeBjt6Sl=|3PQjZ}a=Caw`i_?M0WFg}ZXjus{ zAA30eyDsc(yR_@m>l?O(AU!*P1v+wC91LY!bijFy%%zVe@yqVq2y&wUT3%K_4}PqC z)bKr^mQxhoHOb`0lv}`VE@pWNF#=W3k#||ORU8IlGd1_W1?f?MwnHFlv4<~@kXH1C zooxoB#L0`^2LZ2jx9%IvapKEmV;x+7ZL4pGW;?aw#N*+1AG7W&b4iI4hNZh~oQ?(+ zoV+X^4|0bC5pi@Uon>ek_?PIKw|y+SH8Q34&yS07gT22tG_4od%l52(sfDBTNUx4mQcwLuDrpdqRd>S25s4KoMEN6;%76%ZUeEQp(9 I5pHGx0JDlD!vFvP literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/gcmodule.gcda b/Python-2.7.18/Modules/gcmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0306342bb36aa879f30b440da8263fd11fd26c88 GIT binary patch literal 4652 zcmc&$2~3qo5dI$sDxyUSXiLE7MFp$A6qTcLiU*1Yselv$Qc$QBP!N@hqQxsTeJI#U zDCqNmfTCC{2`#kZeYRq&7H`5)Y0*Sm>k*4|XLslQ@Bg0 z$0fM9y82h`^DNowUK}O}!j4{~8$iBGZUad#C@e`=x;G`wqV>CPy${yZ5s2b`XJ@A% zlq&!r2$hN_lxNt@*<)2-Za2xY_6V8{SS3JsTh+t{PGcBFUe_1QAI=^cRia*K;Zf*_Btuaz#tU;4n`mKlj<7o;R^|lM9)5mCa|Pyr)hmu@F?1mE zQeTiS-l(rTMM=@QA;dQfdQD2!S`UOtW2;!?h_xCa?&-YMMZ6Gv`=Z&|#N|b}D zPTjP;1-{+8xQ9JDQkS31%8ovE@?ZyG>p2$kuHU40_=JPmsK@V(RjbQxyMt}rE7;DO zxo?KYadq^gqH`@^Tfl8~@2vj(h9uIsJl5qdvHMr0GG-qu zx-~N(KiLJ=aQYS2zjfnftDleA&sliAVJFzOaa*=R>3TXYcsf_t2ALVN9_Qfm%VUZo z|1<{s&m6}Esop80Ls#b|K@5#u#86oAVe-Un(_)PA+wy7Tg2IRlhd#U3(L2@E+A1R^ z+C5B|P@3iNR}92}XXr(FNc7nwD9?sA856_eJu{s>+e|N1XRCIDUsij>`>R`vLZ+`W zO9~FLHwK&E&~HI$mGxbf`HdCe7tX8r4oc4_${qEdUoj4NzvhZ&^#10TMEI?lq26b; zW>FE%39*;I38KmC8DXqPxw|1Ux2VTB(&JcRM5^I<)XU8Ea)daWc7{ZIw3G93T!C^q z0@n zM|;%gwwEshJ<8#q9&)`1gsjnA2iCu1>T<~9YW>qTa=UjZ<`SKT>Gkr)#oZ?8SDsIL zNSId|Q(~0s$O-e8*xveHnG7-Ee-494>+Ql~yCv>FKGa z)udVYoIOPEu##x;{>8t^pvAnNpj>_~hKYxl`n(jiDL!RsqDf1miN>}5n6l)?DnHjJwIp2FTKi6!EgRuH`0ttkTK_@0uVacne} zA2xTSs(yNGi}w)D&-8;VmZ*6wmd|)BNF(@ydxbMS#(;Wx3@FDK;xPh#hOe9d<`pu( Qf8O$YP1TSO18<`6AKDe_A^-pY literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/getbuildinfo.gcda b/Python-2.7.18/Modules/getbuildinfo.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1d982f71a83b9d3471c6fccb5376331b27f2e00d GIT binary patch literal 200 zcmYdHNlw=?Hg@tpVzspY#(E(J28M+kKtdddub4{!Nd`t9An|lkVt!kt+^ikV21|fS z7(r?TL9$@59?YKx<3jbM)CS8Ja7q{9(=!!K&qbw+`mzVpFWPO|eE?*S08k!g4~%AD LfY{fM(8~Y-%#I(I literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/getpath.gcda b/Python-2.7.18/Modules/getpath.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a9bdc69a7d2e2cccbfe347250dd1aea1e63834d5 GIT binary patch literal 1872 zcmYdHNlw=?Hg;OF+G?rD>Xvs53=9i7fP^>@Uon>ek_?PIKtiO%$7ylbIVPtiHZ4FU zj3607kSq|O(+mvj89`>u1j~X6uo;^l#VS1R@6E?%20|%}1u4RxQ*AJ67hAM#3F!eBbLVTDy7!6Yo zOYgG~0^sy6p1GZQQ^t?`)%P8mL22X$P##k+LK89zrVd6U%aOu{=~sekg3&NDVDjiR zOrCfel3y1gG=Re(t#PeX{M}F8iE<1@pfETAl!w`cP>P)eQwO85t0F84(+~4IjE0G$ z(}Ycgset%-9*heuqh2k@lW%6;DV=skA^_y)7ytkN2c?l8U>Z`MuKIg4Re0C4GP`@v z6hUe-fM&qlg)oj*EQq@oAdCmcl}XxyM4c^@HN4*B+JW5UfRJa{4Q0bTyBj7BqhadNX>|9&_%QR()f3{gLKUFfORjmi?1SYG z7){80^l*dm(P>=v5i3rtdAQWU#L?}8iNnGbM#I#h^I_tIXoS9%jIgo|RnK}xP$GXj@5sN6SzDI$r6 zgasoav4O)vZ;z_sljC!bMjl+J2(B-HW+Ie8EI{YOti>e`lZVm7szX;#sy>*0!t_eU z0>X-DpaOdwJiL5XLZOJMP-12huqs{1H~~-nzGq`*wRc{Qf7@1(c_6hBKv$yIGlclW OdkoRW0OccgB#i*-=}mzE literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/posixmodule.gcda b/Python-2.7.18/Modules/posixmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..7b6ffd7333b26354ecb5e407ca6d77b6f8049aca GIT binary patch literal 9320 zcmeHMc|4R`AD<~yB1Bqnn~ap5RF-fpAx4&LLs>$0Ddd)=_42wJrI)wca+R`{N)lzCI=d~V-WIrtW6C2 zOuV2D<-~j7H?MYh|Gy@&jD zS+!xjLS(xmoEJm7sm!0S^;)BWA)O&bcf?Loh>YnfyAW+BBA zz?;kF0Z+OPAXQhxC*!6ybix^WWzMRN=>)Xf$ z&qLLM<$HU>0ahDxI6e;CbbR|n--B8eh>KVLx&B2BskvJ>lXt!Y&q}~BnydhSCfUuT z*y->WOX79TySz2nAOBonyE^age}Z7;W)N+MkBGh&ZobWKhXJBy62xaN%kx!1fX3MRB~GL4cIooiXjCXn@^BfHhf3 zm);aq(15~Adf&L7LAjWcFE^MDc+V5?uGUU*<7=b=nyq>e+m>=~!Cxg6J zx9K#1O(*b6iMfB2fcvX9k%GzsfGr`wmem>h&0KC*hk~8iGHM_d;_5nhKluaTJw(83 zAJk-Yf0fq(b#dj(0NYN0)g3hPPP^C zTSo&0Yi`=dCs=7yi-K*)QJG%<=w%QJ*0m!f^60wsc_`Qrr%~&~?`2Xonk{00e=7<6 ztEb!~pc|?eLAyA^o>x9dh{*f@D%*YTh)9tYznOc#fD5isEFMm*S?eQe*1j-vmzWq?fF;V8a^sLix+edAhT^C6vLTWFW(7wS?46(8 z=0xu}wYOR@Lm1dlO5jtc5*-Dd_*2JGuo-zu4x%-bgW`6LseqR#RzqP|wJ337mm2$; zTLHG2z=q*7#`CB0U%IziPKpm;`^H#%77Fh`VF*tDzZDG)i|JYyic$xZ;$~3&lqjQd zW@XIWBdXDlPVCSQWta!1RIEt{Hm+ii2c~;bhh+?;awn*^#!TKr`8))U-^nqA8%Vve> zCxDlzmIj^`Tq(5lpZX~K!s4uECxI*9`0c8nX2Hwe(VJ&%^ft~YMB!Ebd6wf2m#WIj zZ$py+FVXy56Chz%b@^C7iVYE(N7syc1$3kAMGx)K7t!Riyos`g7rIu7exv^^;mpcG z=2`{wj)G-A?~8M8>?hkV?y^=%fX@ZF%V3j0iQlh=WAD!Fi}`Ln#rK`8jH1GpR^gTr z;6I|;Li+B)l04m2>1RDvT>+M8eg#+eY*cu;XMV-@-J5vDyKSgfKejw60|mRMXxB`O z503-G2h)Szx0fdmgJp4}Fp3jLjS$r^vQ-(n=^fEH|XQ zCA>O83|rJ5X|^*GXDXR!F7Im@*y?`V!5d z4>@n`BZv9kcShg*g%>vA=^610t+^W>9dU3y?<26uRc6tgw7D@IDD&Dv)+40l*vTf8^;KvdpL>4- zr4ZTxV&uqP2cg8*$V6N|H=Nu#GxdgB2IL?b$BNs!`qH;f&PKtiT)fJ!UQ+&uI?#fh zffDakyxv^bd%WGNHq7z*OMpF3;LFNVOYa+-lZ*QjdYOCPQtYe>zbSWl1b>8yBvqZaDvkwoW%*EmviT1xGo>oP9S8ZFK5%c;UJqm@lCgq7AP3o;D zN<5t1@|PZ(L^DRgcAI;;JW(wYL&4@Hx6{(*b{M1Bn;PA25%zHGIf@^~OsahUA?^@? z!rPP7CrSU^B@e~kq@orbvn10L6l_xjzYw)tatX@5WF&wlrJ*>gkFs_Rigo%%?QWTN zUBmhaubLlWq!q2qpl_q;?`;QITPzJbKBgk;2h{Nr*3~pN9)k2yc*(VRU{gAVfzMz+>Z1j&FVMcdF$deKd^!`OaGJtJ z<9vUwiM4gMlg`dw61CV2aKZfpx7d#`_ZO^smyyQLe<1j|3VuGK^gUM`qBgqTAQM0D zQTqBYj)#VnS4U-)2>%3ZF2P0$*GD*LUOL1DW0Cx`i(5Oy!uxm$@1x7V_Ftvnr~G4{ zb5ROv9l}qKE;wOy@&xdWCwo7rj&9HdBxkO4x%a5${a94`(lLJ!aMKC)nrB@$S=q`Z e&PBo2z0gt4mG^pwQh#$_Yx%9s%o*c>CH(=+yjTMO literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/pwdmodule.gcda b/Python-2.7.18/Modules/pwdmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..96176657bb408027e3c16820ab46c91044e723b5 GIT binary patch literal 320 zcmYdHNlw=?Hg?*!-D+u3ecw_B28M+kKtdddub4{!Nd`t9AaP244ZFsS>zdPUJt+h# zVLb8w|9=LCm5d+-3=HcTe}MTAwQH;WLd7+%Jd$6m09Km;RcioIOd^SDw&p#T$d)zF z_zZ7&)(~<>^WW7u(GMmBo{70}9;9{y9yiPQeKkBUGK0Zm-ulfTwJ@Uon>ek_?PIK;m^#0h{_MF#)?xyAJ@B ZFbV+0Kx#lh1VRDH^^73BjBq{!0{~5f5KI67 literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/signalmodule.gcda b/Python-2.7.18/Modules/signalmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..8d438fd947ef92e869a55f0811f42036ec663238 GIT binary patch literal 3952 zcmYdHNlw=?Hg;OD!D{Kt+uCaw7#J3E010s*zG5x`BpDcafW)7z*W4yd&T9_5;Q9-w zgz>=t|Nj{nRx*MVFfgoV`~l`e)QWu($`4-6EvLzx;Q~_o0FT=4Q#19haY!7r+qC-t zNUZ?SG(nJ&KmenW?E$$>ff+0fBEW77+I1lQz&po7x8`j53^D`cYM5Sh8r>{@s1IOf zxz4{XUpuq+1@oXqY^V z#-$%!9-R-GrZwh18S?Cz|&qgeSJ@>D|?efjPZkT zklG!1)ViOp4E(g6m1#$_!4hyA5RclEPnH+Y@7{THcZI?MklGb^)ZTu$+ho&o2H|#g z@tq*G`1(;9p(f7tiCn=_`Ipau)Ly`2?rQU#klO)At|iqi@&>8Rz@t{=y|5HWqSl4F?#+Z6YQ5u>eniEo!J+?C}7asw>h6o^XVsD0k@ T8T`8H99z2GxNm0T@jC+m?SfnM literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/symtablemodule.gcda b/Python-2.7.18/Modules/symtablemodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d3167c7a8b1717674b17315a073092031ce9b6d8 GIT binary patch literal 108 zcmYdHNlw=?Hg-xnY_;^B*84{c3=9i7fP^>@Uon>ek_?PIK;lk>LelYyPo?}D|84>* lVKn&v|33r6dd44M8luMLfuLZANLe+HuBs|X%?eaC3;&0M$8gd&ogc_T(arNR*>2Sc+}b+V5`5|@aTixrrifX zYCqsndm>-MJ%358h23+jOCYs3@TgsV+(Uh@FqC2U3m2svgxY z?L4liEd9rMyHrDf#v|fWfC#;rwJ{#Kdv9#1@;rMEq<00LIQzt5mEk<)(ZSYB$^Ia< z2k@vpd%wdXHLK5$YfE!0sctF@aW{!tax3Zao%&@Uy*r@xC}8yux*%%Ucx*`z;9P7t zZO3kAU}jm!=m0g#0bLted{ny}Z!#sh3LN{~bNHMX$gT}gyQq<#iWhDc(_Zl`dWn$$ zF#9iL)S#l-j53n47U5ry&;7hh0c5rW)a(MX!h}*ys9}0z4v*d4__ZhJrES^lHUWw6raC^7D=0m>yd({~DL3%Gh?S=Rb)s6k!9>Uxy zNt0N6_CFw`_C$g*qwWfetH@Uon>ek_?PIKw{suwJK-cee*oAesKm+ z3FCzS|Nk>EtYic!U|?9!_yf#`s9pHV%UtlY%3c1m9Wy~{S3uPYKop~qsColtTZSpz zWH;nq+}Z-t`+@|$pDrEdT=Q-BZ*;v73sLRqVL8NW{V__yKv-ud$essy{Nw&KLTuj- ztsc8gyAOcWe!!zv=_^}8@8pTT=x!j!@9!5kM$0xn>|OoA^(n}n8+hyqQ#&iy(z;_K Vx;@zZs`25BlyFmI5COk3003jvrX&CW literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Modules/zipimport.gcda b/Python-2.7.18/Modules/zipimport.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1752a0280d3ac3c31c486bb2efa79558a0f08cdd GIT binary patch literal 2352 zcmYdHNlw=?Hg?*5&}yl+z-4v@28M+kKtdddub4{!Nd`t9Ad&Yj*!53W?S`kK{o8>` z7%PBcf*@HWfX;_Wp^KBtN9bG02r+v-Bgn0PVHQE%`d~$>L6GPLSG{5n7LZ#5{{R2a zz_5~00HF?vwVv?@SRUd}rnO}@E$(aw+2(u%dVV3}0uuBZF< zR|gXx?ljEbFdDaiS28N#mPC?)^~ho)6=E_eZUKQ!+pz=MyL z4Ai`Ouz!2#yHwR*3DZB=gWPffkDs^wtg&-D)~m>I?YbsN?G8L@JC<9R^T7n9YL*7mP*^JyOMC z`Vsn8G6ui|NuXi+VMW-)W)pDn3KM5wfaDu3m;z{hSawu1qoCWwL{>{p6y!%(z9A-U ztt(l|P=4;pdxgsr^uT(7?nT%KaXdPo8|o(*4fEn;7z0Y9mlsNC@-X%NXzJ1Rp=pD2 SVfx?#L^Dv^7ix&`WB>s50CK

oZ%(TGf!(%=r?CyXSy&5?zryO^wW z4QVPv;FK)zIOsftK2NWXvzn|Inb5081y7_{OX)PB_?#id3&>*wnsc$s5l@2WQ-y1> zo27Ir>Jq9TSiRWUn80Fk6R*ea|BfM0Rg2sO;q)h+tqBYxH=UPU!wjy5>le(nxEXsS zvj4#&*`$WVh^LKg08kKEZZb!<)tj>w?{dNV?&b#*l(wSHWeq@mwg%8VL}_Vk)1#7_ zeBQC?Qj0IsGe}$ovYD5<|BY%jL-F-kF~o-&s{ir5v zjE~Qfvi4Dcu*X9~d|sa6tlw0OSi_TCGc{MUf=|}*7^-NhKP8*44AB*Cnpke?r z-?AWZ=wp0g26W)A^nsUSILoO!luUwh&OThuQ9-{oyzW+!?eo|-o#Y%U+I&du!Z#rA z4stx*FwSzRX?zB9v8H9rY|`$#)oZ)n4bDNYz?T{?1PBy@4mi$EW&l^t4JwfZKIVd} zD^ms#4bTNauA@B!==$pJl4Id@FHJq6RhwWE+xn`iDy8k09kbshJMtQSx^htP*>#=G z{_#WmdBlf@7#H#g>_nnuIOvEQeBjF1WKB7*4qRUQE}se66cIhwaqL=g1=HRWn#+pS z?)vBu)W_%PzyXypt3+dL1G^x z^8F&1P)$#ev!b~H>epfQj1`53P(SoDMhGb_mMooYCtHa4eVX*pn$8EQV~U*!0sT^M z?O<<$-;}<71YzBOs-$m4p%I}9!nN@wVFU(hYA=tU;(I}=LFvw<1*eCvR4czt@cjv> ztUs}ddj1y$r@ip&inkVdB!Aa)P2#Loq@EYK-nEvMxx02R-^)4_y)y7n_^a5MQoh~K zXZzoq74FMR)%6Y;6Gxk2m0ll49SPU9M(JBeK?g*l3}-!{F9z~GZ^zAZeTKXC$Z2(Z zG{&f$tE=osyN=K9Tx{3fJjkLd@y^?%24s!luN!pyx^WEP;48;pCCY-2;m@}jYEMjn zj{eAk0PT-qMRq~;vV{p#&YUeFF{z1?kr&#ShsxMwQ*xh|aW&i)79LjeU|y9eHC$}_ zUAu^Hd)_idr|_GNf$JZn_6YXwByOt`&ARKzuWvtXB9AL`S}%%%PkMt~ha>BZCU99} zauO}B3gc#FteQ28*w*3y{^_?t$=y+io3 zI*_{{3}{s_i$E2X$M}Y6aCtqR?{>oJ-M^2&XiB|2-z$$U>+w`|VEn+JNWD~CZ>xx7 zgO_&i2Tfh*l=Qe)MdvFe;%g>O!(9<6wZm&J{H$Gw?(X&xTv7A82HyV2h+ z=Yz#0X0jIHYStW2GBkv1OEZk=u^3g1UBi?7PW5LJQp|(Tw|M_TfNkrA{qkCqm|L)Z z&`4tL>un{I&QlrS5Ck2Nr|ZK(e^qEfCzi7`K0w$7j`@d=6LR_?t9ht?Aq@w9P|}a< z)t645K-UQBeUQgYniymmY0SP36Y7k$95Kl~eEV@SX4_uF`&NI)x{0-yXSQtH``BG# zbEn>z1i`ijUQMi*)zfd2jfcMuA^1c6@7+n19zoZk!ja_qN3a2t>Tj9b#l6q{w@>Uj znDGJso^u8?DE5dNf}V%!ax6z(>k#CTT1)FR=Y&!mIg`d+;OzqWiF2mbtwikGY%I zHS^#mV|%cZW6hqxtuDuE6bm5*ggkyDd&}-z55hhst|;V6agL)gv_s<$72R^;d%0`;raj z1@HSGU%g=Bm&MbG&sff1Mk3R}uEq^r$60_UC`p8haxgZOh<_1;wJw80a# z$24{SpsuUEVm?j%GrE%4-1(RGS!yV+{zh=^m^RP*BcQSQ>a$~>uiHan`tc=dwL2@R zPl3gd#ml#}`iR)L#pR`bEqQ3i{b|qogO~5hO!|k#Bk>5Q`h4{|=8kWk9_iaswd9LN zkqOe-_YyIWLVN9GfMX2;gcSI|UluYu>>be8$K<;>1urUHGLT zohQxnTJkD3E<}tT>GbKi^RHsVw{m~WzGs~Gz=m>;<;%?foW$eGd7r#P;A4u-==Y(t z<(CdrM1IaAmr2A2`wo!D>?XHI&JRzqi1(=+dMV%Kds1)yER@*b*TArm^DTc$$#XMh z4fG7!*+THUarx~>$CeR4>tA9%JCa@3b6&!o<3-Kqh7ud(>|qcIPrP_2QyEA^j?p8J8U+^PvY1tn|twF zicHbjZNJ^E*lyTUQ*@qJ^_sIVV*OQ{p#Jf?-XVSKfpTB7wacmrxqk5%bN?Vej3k=* zqA|64N>U`gFo}z>V5P)zBvG~&hatw zbRJjsA&Hs4AdmUmd+Wa0LWP3ggS_n3ZViMQvOqVvy|{@wqz zGJGX;NKbr4lK@oaD6`~uEsd*lu79wtRcP(sV5^*4d!ehGk9r^I)+sq)^Ho!HjvccL zELyND0Xih+bXq?^eKDhVL>0NOTV0yv{ne!(Vau49S8tva?(xuX3v`Ho@c=`*0QLF* zmaEwpmzK1vy)AUDS45_C?t*i7VvLE(whi4)m505T)r0>3!#7m{HXpLTJ<#t9hGcn*Uch@;p?^&7EzJ-Lc8aENqB<5}B93HDj~ft8)*7`q7~-L_bh(g)RlHJIygG65a7en+Y0SVW*&x_Q50CvhN#K<< zW+@PWBJPqHZW%G& z5nf%)|45CtF7|z#OLQ)B;|+hxJzv7kkh#%yZsyJ&QPhFx;P+B%gsTNprT=TBMUoKh zG3_H*G&k$f_Z$mem%;aG=?f;5+Cupn~;=A6Y$B zq9^!Ay*j=4F_Z)VI_k9-0<66@HQ|R%fF_-#ul-?tvWZ*j0OBMh$ApRQJEN6ew zD*T&M56F2SeUFy>xrrQN3gQo1(lzjAfFz3F;7XsD2M|VdeVLCMm2frs+Y`?zmUdGv z&DlL#{B!=A`=KlSyGTG-e)EvkCRB6=|8%P_jEcD|{@)ov*g%Wrkytp2;QQ%|cCB;F zP=ary?^EzycPW!IgeYEnuO!(MxPjcHOWq?SakUC6Q~PH<3p?1Z;Hy$nt8!5me-{mS zo$3Hmg949(&O^xY5OSac|KEpfEL280muq>HtL5YYwtbrCC7i-Jk}+pb#f=Lajn1%| zT;zFF^sIaDigB1r`yS_`z#D4jRF+4qXbt?jG^fLThfCW~%+>M1y9N518<2-| zABn&3@}v4!t;R^-Svc!lI&fAe!qT{>|L5!&SC{d<#x|a~^PAfKPZO?_9F5s`ow!^w qY@y?v*)KXfNPok{?>XdXjX}R>_@BB^%28M+kKtdddub4{!Nd`t9An~rXBAEMiThgOP+v9*r z7;pUl|DSL8|J~4j4-{RFlvPfL&IoQ qetBun^3&$aZ!m;_%s7F^zJ-b&W#9guPJI7f`Y>{M!pw(;9|Hh*+H$S{ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/bufferobject.gcda b/Python-2.7.18/Objects/bufferobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..8ae98c0b80033b1f7cf4954fa60b89b490052f35 GIT binary patch literal 1788 zcmYdHNlw=?Hg;P2(sF6ho3$?(7#J3E010s*zG5x`BpDcafW(0VtMvjZ{8tzV>+A$7 zVSMoa|9=LC<%}Q&3=Auw^m@i0U~!0^==o8pmJ%h0_ub^s1L?UzgdUxi`4xp9Q=2QN zUREd8o)cRIwB1#Y>|OEOP86i)1QGV|{ZrTbqaq+hiren1Wd_+G`KE?jhf8%R$FnjUi8VX*6w!Ado=k2RTX??7fspqYuy9fFz1MR$rDdytaO zdNOBMol=ZnN{SwzTf#y~)j1r`?nf1X+(t}#zOnBmr=p_T)Sr7VT?gqo0QHXm#3N`V z_B`>?aAC0Xl}+=ME&o+gE1d606~_AfFge1#xU~gj<_jXid3`%)j0`_d04ZVC6>?v| zv6QELNmyDR$etZU*t53zU2e=L_vr@eD|$eBh$#cISGE<`96j#xa7yJVV(mG?m}y-p z>B_o=MNS)=J=o(2H4g;Xn6mC|f6j0uFn=qt_VR_5ip719o~yLudKE|yEKNWX1NJnq z?6i|R-;qfQcAIt|0O|QaL^#e?`JrQ&bRm@#J-<^K)LrJ<-$?tcmIJbfm~!A)*DjxQ z-++Il=y5z5pRhwdZ&Hw=1CFhj@ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/bytearrayobject.gcda b/Python-2.7.18/Objects/bytearrayobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..520d311daa825ae3455745b4a6627efad5c779d7 GIT binary patch literal 9264 zcmeHN30M?I79Ql-;ZP181r3)H#NiqkV1?xn;xNbx4tRj_afn0&1r!ue0>X-lB0@AG z3R!SLz>C90U?D2UBGJexqMSiDDB=#=u8ZKwc1_a^)3l$}BwyTY(%(nd)bYRfzgMqb z)zq-jZ<9Zh&9C(ZWRzsW*#$5I5SWNFXSWrK&&Z3GzV#en zz9nE3FolG-sNT1C!#6w({6STfsm%Z~`lca6{bjU0-zYJtL_$p$$hbcZ8S&Okt9#kp z*VdOStAGrIAOkZ(l=~}s(l+Msb*aQBvvvba6$EBAUDG4%m9j*~3ypSwaVKD4d=~85 z5K`-6ZSttyw1~`JGOqoZblHO3kyC2Pz4`#dBIwn?Kp%LE+W#i#k=M(h?{ld5ETH$5 zZFR<t(9?f9 zcbz8dNNj-r$Q^*mg20qFJ986s*Hrohrgs1g%(@w#JF?681(I{}({^82dm34Rjw{MW zG*z9{EdeG4f?M05g|2q0#7w2nEcyXv**noZ(D#Aa{{QF}jaiqcQZ|l^kO8T zz`(?;%w}D6pMyzPzw*lK1sGxug2^X0GjgSET@#QWBcs7WM@g@=Dv=6z?(>nQt*NQ{ zk-;f~TmWP5@ZtaH4$fF*^;dn)5U_U{#5$OJr)14_z0<8JQX8rOCSe>y?i=#`ap+C) z#sfVU1}mHote>uo!#cgL6=JoQ--_Sz0y1FY$f#;iy|cbeYZGIRHNX@>*sGX&KEPvx z(~9Fmml9z0+^t$Grx}CXXc!nXhsEf)TkS2|&5PK}r`rMyo|mckRUx$A$-~SuQ{I1O zB9Jjk$WdhL@k%*+dC=#7dCf4UO92c_+v&0aJ_Tpn zM)3)V;A~rc{)AbEsf@Sk_F};~)gA4|W#HumV*CTK9k1i%`^Qf`GXqXd1Wu9j*`IWs zx|6_HTF3`Jf{7FDVv7a;LUtHdu6FYT7-HVWIEn5<*Oyl;ZxVBoqJlBrpKP|YByIr} z3==uH*;e)8jX=`(rI3dZ1#IOCpqZ5|cOA<3h`vD!%`tl^+7Al}>wIh92kyB}&4UBkw4fD~;9?T~x~bbdW4PD_U;r=t!S&;% z@p#8Id;rOvB^~X%OW@U5ohlJ}R@u9Ir)vrS`YSXh91;zV1+x`wX(IM8Dq+Sd?K~EzDzwbl?hc*W& zLm#}H%n$3q^gkx(Z>h`iD_gG>+f(RY0Q7Hx&|g`=4%<-|VrgB%7zLQ^GbY=KY5TRk z@%jI$?Iy~_>v;K7>-*)%6R!E#{|VCA`no|_UjwfYS6(%Tm;CjdT(DN|qX{BVT9h!c zF4{}IhRY+C)Fu6fpymN#OoE&|^}%A~79mC+Fu0z#vz{Gx(;q{(ZsGkUh9|$1XtvJ` zvAA^~w76yknb^zl(p%ebYhxQ0zKe-+C1UoXnF;h!(k>rmQI0}9v zM&5Rmp6gy7kRY2U@;Mic)6gZg>$e_E)H8}$ zR|8}a@8)4-JUU^e=%a2|grBou>~&JlQX206;wrN51^T}Z=y{%Gx)72!&?IaZ`bT3@ zJASs*Z#knZIv&d_Erj{9*j>5s>}R~kRD7>ieZ|_iyC8u3#$-R>e;;CwZL9lCRTf{4 z-gGZq@LjbJ0<()5K|6Gyp`A)Bb!BsXQ@Uon>ek_?PIK;nb4ezJsr&aqw-*HWMo z#uxwp|7T!W$p})wz_6b22bd30>$hi7VrsX1@cn`nxFPud6g)$B1IKuHa>Tpic+k0D#<;* z=J1J|AUB`D| g=eMJeeyeLt2B|ebSi*oi%|a9*<{9 literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/cellobject.gcda b/Python-2.7.18/Objects/cellobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..47799c7b02fa4360356ede38771fbfcc3f3942fe GIT binary patch literal 880 zcmYdHNlw=?Hg;5o7q zj4%HG|Ifg%k`bhUfnh!44=^91_JRVBj*p7q%ECFhH6XPLKo!zJj12gp92gBU%K#__ z<1<0!T^iP^fSAls{>Ouo+HDWwq2qVQ$zAR{~+6 z^I>j)iNoBmcjDh7kPe_{z~JhGU|SHw9Kr>X5I5Y1X@G{AR9bcJ^5Xiqe!izaL2h_} zC(I<0{>J|b_}hO^VWAvI?EyS$`(LjtXL_2ChP=mJ>yhC$r~3KI~3(S;B$ zkc5OYOdRH9Sh%u6)y2Pxs{k=!;STeoB1{9+k0*rxxW+74Sn%b+VJVPXETH(T6$+_t7QUjR@N|QY>txy`~{%|yL1Q*o~X@ngN06e*Pr2qf` literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/classobject.gcda b/Python-2.7.18/Objects/classobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4ce0d4b56738f7434288334699cfe555f8142da2 GIT binary patch literal 12500 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 XAPf-`2(8Es4OpahCdh1mgxL%L>;C%y literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/complexobject.gcda b/Python-2.7.18/Objects/complexobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ffc5d9f6fac1bb8670a7e80bd94534907fda2de9 GIT binary patch literal 2320 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 PP+>E)_`5w3nX6foeNaL zc;f&6{|pQ(89@pd7}hiX0P`VgD}qc_8AQ2jml`~E1gTvBRVx5dj7FmB{qz2$_6xR( zTe4beq9DBwNYJ}Z`n4VJmK$nL-b}YZdM`lrDxlejor~&@ZAE*0{+(SLuTY^80W!;g z0<#43?iJ6SC!Qg$C;kIuRsz(l1ndr>vM8#*1QwqxP(FBI@6@Uon>ek_?PIK;lW6l})_!g(+*CQ#64} z7%hNef*@HW0OP}Gm=uf;qZt@hGCBYyVSGlY!i!BOlt4_FIE=<6&%m&r5#&}IW~c#B zx7ysEE5!NT?p951%@>ec3%D`OgzJDZV0Mj)qlW;5KN>!x;eebnM$-d%=>Zmou<(P? zFmV`7NPJWt7E-7*EL>nTsx0yKz^H!okc04H;R2)4Rl&qz^r$>)2*APxMx)A(rcYS7 z!06HNK@9<1;Q~{IE|1Q~r4A;JPUF&#t`3vGlFPJA7t!MlJ=0o}_abZU3kps;17`A6;QnjNIGycQO(-yc*1GZ)5I0TxOwttBi?|Hj^_)eD_;ipStzhK zV3$9jR&(;Fq@*-Ey#Se;K!F>z zdqpy`^M6hu#*Gh79T#l(ZJqh?-uzDFI3YKEA*Yqsjw(L(_QuS&=4|;4GW!M8PsF5^ zwxSGci=Y(unWv(G-B3hYp@zFwyw9r^|1`5qa{g&Qkl72M?xKd-PmAZv@ux3cLrk2j z9hw%ba%c5EV$`NegvYWyu=_!b+WSheR`+++d?!Y&%;b=A7jxmI#Hfw;oLV`}HiDlR zwfminyk`6;sNKU3Qi3*2)IC_XG)P^=sxrcK6SdOUTjt@^4^k}+DDAq3b(AF3%VBU#DvpNJEh!T2{)#Z0?+LEfpj#qwMzDB}7LeKtB&1Uzp5jFDPsLHh*i-ervt%~| zr+Gi$)1M%F@YQqtc5fX0zAjh2IxP=4sJW0)fCM)^`kiGP_$~UzwRiiOKzd>IUIOlh z02O6W>uW`uchYWRm-5M}uZ-)Xv%WbgtX&plT|UtMa6TKWySDJ-*Vi?t!Q;sa(D*2z zV#pD16lxd;pY%_-b^Ua`)K!~sP&jQMA+0!^_!n!vLQ=<=M_&k}_r^a+JGFs$$IwtE zsz0}Xi4LgL)IUy(c2%AI&)jR-`j)VC3Ytl9f%*)c2DRfAkmO zA21g}0l05)G;J4~IZyj5SUW5N$t;*c7>zIsCIX?+#bJDO8a8)HUDm9=18_a(70| zZ@XFV)<&v5x2Dw8Ut;O>m(@}e1?k0C=d(P_uPVOyFbh51VDtOG3$vp`GQZvF?7g-XHW_zrNg<0`80MAR(Pg zXdSJIkZFCfUdb*NWX}SqUInaihc1X3muG))MeTk1_eqrZ#72-=;6fNp3pW8i^4JV$ zj+Ps3j&^dHG7HC(i|2X{pA!Sw5rAag3?w#)iOz>fql=^SL2f93DMq4U>R`pp-id#U zK+--?HCG=5+amKxRSzrM17U?fbY2=XzkRIsryr~=k^owg0ab%e!|FtsILs(mod^?$ z*>wV@0BTp(WEW}v3sJ>hr;Rev!*>lrE!fBC{4S_Gy0{ut97coOh#YUw;A4R4hgoy2 zb%i}h4kixM50i)0jWBVTpH9LQK>ZXXe^AHbUSCbf#G(+8pFDtO&PJ#KTaV5M3jzr@ zs5)Hou<(Yd$4x`(C}0MK0dN~coKMegndfAE=ATzBL2iox%A$uKAwJANbagOs1P!Tg aVd`K(Fm*$%D@YAY9HAZ;3*whgNYVi3xs%uc literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/fileobject.gcda b/Python-2.7.18/Objects/fileobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f998a6bcd44a977a4daa20ae80c34e9909b3ee92 GIT binary patch literal 7172 zcmdT|4Nw$y6u(m@MKdr_^Z-E+xG#W;-pt?W@Se=CO#VFcQRoA>XEmnM;uZGKNvy`35#$GYLatIu^ehu(Y{T^*2)m0o}|D2 zPW~uO^bV+1G=q+5gFG7pSMwPJ6K0-h_E(@hE5q6$MY*f-1V7d__aikA8c;AW?~Wli zc(Pw#sCk6hY?jGPa?BI+aE%trn^}L{S{TwJVV2hI$Xl{B^&*H>=z!CK4qyO6amZ8Z zpgS8dlibsWR3_tkIhWM6X!8lT)ZnX;BNrxJhq)&4oo~~H9if*UJyjzfDe5VY^8YV2 z$#u^}@>~zRNP1w;w>iUux1L?A@ZO#RJz#Vo*GLC2PZwg62RIafn{!t(=g!0DDr)ok zn~Mhj`XkI)XW`4uVk|YJI9GYWPI~PgC3Cn}u;$e)<1)jU8ADAl2RPir`GmU?O6P$% z*h2#tCGxoZ*Y8|B5^PY8`$s+qxraRqyQRF*GuOX5Qls*Uh8%YC`?A;`WVz4&nebu! zn*$~vR(cN}0k)sk<2L z{5zkJlXn5j-WIuZ9?K8z4QCi*S{WHs_&Z^ z(-7nVd3VI7=5v=Ku!d|sVscwpXJqJ?QtAWsRPH=4-7n7xjmEC;rjRWebC#5qX2#t$ zLM>(ddrNaZunQK}dq7xnZd_J&^5s3AtFs}Oe2L!mm{jjpo8)#Y>$l#)fK~E&>s-j< z$(vZutMulbK9yGw#{OP^XbYW47RA`2UCOA9XZrqc-Bw#+pASLd+70by3@tqPTc^hond(HMI__^Rwv>2%MrezaW`M8-hH?o>(^5PJ6;>sK{Yd75p^ho`7UN^#A7{4 zeK^*74@mBv@~$fIo2Eh%N5XCb^L+ z86M-}mMT{oGyp?6#;1CeV;)qGavBozNBmLuC||&!9Pj(#s7+wJ{*{g|~?st4?M zQyOC<7DG%9ah!Wh?6-|`Hh|{tq7TX1*8H?La#2d-I7ja019Jk?&y?nj9Q674bm+a& zj909=^Z8H<>pSytQtNd+jnn7UxYrdlULOmwk2|rZKl%8gcb@h_=%7yfioh1W+pw1~ z3wu1`D5Z8(FUAXYCia{`9(xeJXTcWbVt!ngbN#SFaKPSi&zcX#P7m9v>E9t^8q^BT zKzzse9UUUrNRAMP6v327xj?ydJdhV)P1OF|*dfZXrz1$OOgQ!0f<`~3sc`eeB`}9F z!ExIN=Y#^vqZ}#KBQHkL?!Qv>4`+{vZ z3OE(z(LhX&dV2mHBe~2mR;4zk`xYCwd$adySbxIaDtK{aB=iDj-JN%W6n)Zo0{`Ux zZw~KaB?jd0P7Sd&9!<67c|rU1%u#Kh#k#z4A2=3TD;FTS{7N+a<>(6E@ zPD0L7ceoO5Zt~#`5BHbks@OhjmbjN?w7xK)&V6y5BiPufx+zg^afz6NQpmAwG`MX< N2i9jvFQFf0{{r;JiJt%f literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/floatobject.gcda b/Python-2.7.18/Objects/floatobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..89ca53ebcf018bc5f2bd8a34d6c71d16fee57bf0 GIT binary patch literal 3780 zcmYdHNlw=?Hg=lBX0`Os7nO$$3=9i7fP^>@Uon>ek_?PIK;n1YAEo<`lT%C=?5PJT zVN3wYkO;V->R~jx_5gGNhLwyEq4kU)H{D}~D*(HR!Dd2kP1-|Nox>NzV^3 zAL4$_SuU9!M;BX6iAJe$N(;&Bd0Ntkqb)!2PUBn6zfcXhV z!_+~QGZZnwSg3aEqS?LVy_(PWknn4|fBx^jl{kT~x@9*3< zDMxfCvON&PQO%XI&Q^$X<*8{E zAai#>%{4&sA@NL9H*5Xp5?NMaopj$TO$B7O1Cl||9$lMdq@P&jX zs{0E+Ir==}@3Fi!XUk`hT72eCy0V_-rR_b>hhB|0Kx!}Gaf3_BT<6vIZqKv3*aJ?p zC-A7X#X4>1R>#RmM` z??Fr++isgD!hhhuB1|nP{$O<)j7Cq_575%}k}HA|_M3Oq=U->I4{}=qo^Vgt?pg5E z^u&a6%{|q~VM$E7k+ENAAG+xK(&81#u8H7c_{CS|Kly6UKf^M~{PTwM;QIdoG*1@{ zNO6RkUlXUs@)sRGWkQTUxP1-@+6Y+t6QkB-gA|k2=1Je3XU*0C#Sy-|-O^LydgY&^ zTeZdPjUcrL@Wg%ogze%NzTb%=rhIXoqQlE3xVMrRwXeRHRSV}WRXUh`^&-d(_{tY| zv3iE}-OueT-^-i;sfFbi1G3^1H9r3BX7uWfIXwkdE=vH-RED>g&@EWWh%0}C>d8ig zK5$!D;M4YLoE#ve{A5E{T~ij5;!_I{>XEiv_Hw})WbOO|t2iBW4mqfGk7dcHaA ct`6Y(OaW*wEKCqifUs7;(>ZGRuR&4>06jA6MF0Q* literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/frameobject.gcda b/Python-2.7.18/Objects/frameobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f45af5f3ffa7f18d415c239f41d24f02cd2408d0 GIT binary patch literal 3856 zcmYdHNlw=?Hg?*=X|?oC>8V!?3=9i7fP^>@Uon>ek_?PIK%$f_KSbv3cTv{b#x$T3 zMh&2tAV?Mopz{$@D;Wh493<9yMvz_3%y1#FUBYpKiOJs>GMyCu7lZ5qxk3r91j0b@ zS299GAZBTxnPqWHKQ6B0o#F-dncRX`Q%8GnG)L;Ria_iwiM`NiRn-P;#|%-R4o3t|+iTDcD!in>1sEp=LA z(*jZpN&`V6xGY8WLnWFYw4X1s+|9AR0NE@aN#e{ZM>A_##B#;XXr>OR3c0h z!hrc}CNxi-MuY`cBVg*VN`eJfG8*8P#3KXA+Yt!+!TG45ex+NI^xeDvPA<3xOCzu{ z2u33eMNK0`2nn!Rn!*nDJ&ViK?KbT`05aN~2@@UM^UAe82>;-UiJTGKjJfMTS)IOVD`mLc|9}=8IKfuBZX58M1f5FKEBnJXl9|YTiXc!-+A66JvM3j6I7XIk=IiUF;#>cb?lAn>v6L21!$X+9w@@_`&+FzpkL1{Sy zXkLs3s%~_?=>mxSQzZy(04*C~y3p0b#9?#-3xxH@7$!m-ox%!H_rnN6!@>fl8<)M5 zif@9}F|e{4W*>|OwWqKFT=pW=0?THgC-k77|1-pMPNDv6hciLKl z=tK|!1RoDdf~^930?0qdJ4YTQ4%NgV16Q*!{j*M=1g9`IkRl-95XkWd(J(%UO$mV60}XC?c)`ReF&m^8mY!hd!~6#m z2et7)>^hhNXdCyu*!;Rn!N%`5hi9gP^6~>b_31OCFHTI+UKe<5g};N;9)POF)n`C% zQ~uz~53RUpvH$xzFJQ{WUvFQopTokds4esshT*p2){4g=?ls|d_?9=;P zo=xKxRsh+%gM@I+dNMC(LNwZ7=iMD(sbpGf2ew=$g;0kS??VkVnzkdJMcfRx8 z6*(){n8U*p-g1rp;2E#GpGlH*%vrg4E59p|M&&NaQAoj=;Cn8>7= zL0YRz$#q=hNd0obR}i8f(o<66;$u9C+V)a+5+oPG6eQ zI-M2uFW1Hyf>5}X6L*n=TgL(d8V+Ps5)y^v}d7s3*OiG{+c`#5hwkFrl8j=z&(BjpPbB zDD*WY5wv7S^vEs3o}}ufzDo&3_Fk8L%Q`9}7Q91qqy3=Hhg)!>@%lL(L@>Utopvpp z{~$3d>e{y(w-6S+S5*!SB*m3c@NI64pU#K`%GnYA6G1-xw7W{GuO%lW5mkG_ccn4Z<=GmG<2J0J8{%x4N0pg-WzXVE^2 zHy-xt3#rQ3cj2P2_HO@c$of1ZX!o^4O@p-dZ0+Ur{y%SNzc;nf5QBBf!%1ZU>}i7& zqn>mKP%hAy89Q=^eG8X>?&o|X_y5Vj1fX0!67Qi4lWgJfIV(AG!wNt4@QBwfQskkY zAru?ri#C}D`qZ5Xa?}BR)}OBzPz1pIOM3AFCQ4cxlgdTecV;6skO zp+|m@qkiat4>|UzG8phZYHr`Y+>TZ9)t6jmyVLBAlQ{o$Z+bH~YT9m7^Ua({@;yBX z-$cL1E)`$C8~XQO*VmIT&Rwj{`g2L-H(k-cIE1fq%kQ5_w(*J)>Sp$%@8jt;dA+O@ zJjTV|Cr9DicBkFdw05AxySXInB<0|&cv@pIAm-~J_}WW->8(YUwmU!1RNkUv^3h53 z=~w4@i~Jl+U$~wqD()hZEUL5 zI<{Vu+U~29(3?wDv39)+D^u)uzS2)Q(Y_|e0uPE<8n3V0AjB|7mYWW5*q*ekuy6*& z2vh**M^~VFAM2*a+$r>OZ^!|&rFegDLZd}J>m-c@!DSxU%mthAv!ZO`!3nh+T(e>JsE32NNW_km7ljn#dz{3_51zXxqWpLg%L* qpdJ=0#njGW6@kv-JZJ_#EVgipcNUcQ`p*Pz+Gx zK<96B*6xKxKCh>hT>{w^fyI15s2GffDM9DM#9=h1JpMT9K?{e;-K@2Ke{G*D#OTqqCq)WK+kJjBm1dtgom)YYMmxLXv^!dj3XAV?Moq(KEb1t5Yjc^HkPlt#?uj1YrYGAaNWFn2%&8D^b6$pVsxi8C;)X9W4x ziy0&e24KIIMMYZvebKV%m}lkzkY6K!Qc4hchIO(K28@1Y4dLH~%Fo21ZaXVP!dVDa zJp%*6%@7%gn{?3J)N(aM{idf|cg5RBJ3wyI04j!sYdJ(CoP@;#OdgjV#c&;vIMx<# z@;^RXLc&E!Y8uFn2mk;7$ENoOSRA59{t}Cc(1#PY447E%giT=9dPZb3 zbf+GZ(u)->cl&yBC>#^AIeafX0FWD6N426NG}3FmY^Q4U%&Pr&_RbaQb{8 zEo2|odr^Exv%wOO9gwiZOh?FJY&J!J+tB6O3R3j!@@m(vwmEgpZqx1qAbUQb#Vy1G zsBzgL%7j93Yw~BvI|GHF4L;Q*gC6oDzBjWakDX)Au2<$zh`F zN9PkVlX&%r_=BZ6RI?%J?IBuvlPVTcxwqopX;R|Ixc!Rw?B;u4Nzv2Deb95!W@op= znd*+LYTyBRi13BE6_mGjATlF3Z?UPDMl5+z?8m<8#U+qg3J}F$vIvO{Vj}q1 z&0d3M_Ql+ofF!4q0+`vvl&@L`O$E73yzj&GC?L6EGa@a3MG<`L?x{y}&(Fa8>{%Bx zPgX45*#z?I3L?UqedWs#bq7|i8DAOML3)1tL#-ncklaT*CTcp%D^Zkr@%r8bQqozu zn`ErPCo>sXc?e1i#cVJaV-G(swD9X{++Wk`eSHPbid#=XVR3_q@H_HeCsF^v;t=cI zd{;nvJYZG=X%QqgDNKYuguC&TAukZ=2At+k8L^pNV9StCo%iDl*dL@=PNG^w5Ta^? ziF2U}WAF&cV`zX1z|04g0}Fs+Fg~oF2Pp%wVd5}*pv^Y8I7}W^CByiz@P_fhh9Q{; zF&$w($UgjFC8Gm=1w_h1>W!CZaX#y_N8!Tb2Jaa6T?IOQA>#qGvddEN3e_#ZmNjO3ff#qNEjOqrk$<@9pxTPbAT!X*F=EUJ6S5Bt zu{_;CiC-p}6lFh}oEpAL_>LmT9Veh+irs!hI}*8_wr83~`h+(I$~%~!o&cE<0E_@w zJt7H>j21K+HI9hk5m!z`!xJ;4t%h#gK+<52#3qhOoIehtrTq^%ixb#QL{ZuchoBkW0B$kDY={sfAH^XG3~^oW}TfS=CA|o{^lZIZGF$=L6i&xEbi}Sad#aor6OL=3W?$9487yIS~^7 zkI>?5-Nv1foJ$+x9rK;fu=EJ8H)ytN7~Z@F#XlDDGd==?oB@iHJg(aRf%EvR9$K6-EVsV%Q~ z4rc`@gY+ywa!LZM07ViT985%bI8enwkhHoAVHUWo0*!yIv{pL=>sv_x8HicS5Do#mci({>DQ8z3pX=v) z`V$nF#FU4OmTSb)OTKb1nYY>nq(=j2=HhsW!9W2pfYDGc!%<-v3*l#o2*h1T<7;4d z73}BK=6@Uon>ek_?PIK!W+!Nv4f|MBd#HdVUzF zgi+!D|NjgOD;X0&DrgSYGyVYE2XTvxlS#y})eD_mg5R@&+;Rfy76qc*foj&yt}kv* zd!KeN>hvB5nRS2yvu1}}U0soSqFwUX6R69u{T0W=J7nSmUy9qgP!id_3Ux3I`*gY;?ujmGURh`k7T w{O+8N=1$fpYV1$Xefk@;^T7|0T@G06LYNJ)3m1t{w~`T}1`;+?5q2^F0BZP!NB{r; literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/listobject.gcda b/Python-2.7.18/Objects/listobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a2ac114e6b06dc131ee81bd3b1c49075ba9f072c GIT binary patch literal 9976 zcmeGiX;2kMdY*_&1OYEV1$_oZ5TbaYA|e3=7F?7o_)?Z4qQP^CQ9L10G;zyK2@;Kw zh=TDpg-28l57rzjDoPZOpaImBNK`huM$KlG?Vj%M^}LT6c$idv?Nl*efA`T}_w>wT zO5)VF`VJZtXt49${`_!(tt3ggR^;YL{wjt#k-Ma`A-D9*$5D@GxYyP7D)S>Ex|)WD z21(kfqXLq&o5OtFGnvkGh9`%`Mjbl8`af&Jy{S$)(y?dC=x%DGO@2b?+sFJeT>83o zR`Y9)jY~gN2HSQYm>L+~s`6#y$f>S%P3h+PSHrSpud2ntk}!?^jAMCU!^Nq-w+3~+ zMRl&B{MB@(mnIMG(XROX{0rCHQ5|WZz2lvuq2LWKA%S|^b2QpF4shlRO0YVo59%hF85X4_1UTGQpw#T>AlFedg>S3U}2iB-Mo`)-M-l!GD7F|;XkQP35r!Oa%*B_YBSwpcjU1T7SH*A#dBYtpNocs$v0P@ z`ldsxZKr8`@kAK+JoX8`nuDMRF@_iwMDH;Yi|we9&z_a*-py!}XT3Js@bAR0X>8*O ze~^$d837%j2~$N+$f?J21D&7TGFK%Vf}~I1xp$hRMZP;=2TkDMYknst1Q1l9K6BbK z3gA$`idRhOpr-{vAM=}|10SGP4^^YuJp6BEA3w`2%Z98QyNcFEkJb%~!*pHrtO%d8 zIJ?F$^XRm6s$I!x744A zTfHB@M>UU*_jK@jF~X**>O`HnwSd@#FQBvx?m^-h$MyjS2o9E}1lJj=(4|9+cjkQ1n}Fmo4t4=*t*L{;j=V3&1Xhpg z+8w8xX9fe>3}bitW;@XWXiSZf8g1$4Grh-!FK_w>%i*_P-~7y8BMXe_G@)_ zrloCQpS1O^U(xvENne+68B1;xRPcTS=eXHO4&=4qBF=d1zy{X_n@VDP*srOyc%J|| z$YTh6Eg0B}abVvBs3ni>0}k>S2fA`@G6eCZNAL5vVM|JrK1ij;fZlS$>?{-@6y?4v z>YFyMBJ_I5i_)#~9_K{(J{^P*9SL0YHj`jBZ$prLT`$=_(s#+ps5;x8*Ar;}nRP}^ zaZmBK{#8G5{f(PcCxAIny|>|1_c0(*Eq6(rpW*Q3o$5D}sSR^}PpZ3!z{hr)QIlYMgY^PQQp-cLfk)4?ez)*@t5WLEYA-0HPc~ht@pu;!8 zBtek-_(p`C$I}N_{PK4?Z>6y$5uN^2kz4>7*7&Z)$8_@1OXJ!ppDjSXHJ5@M^c)Ae zCC4EJz@fZ=D}Rfn&(UHK;A{7AZME;Cm6wlu4yfr!b1pFBd0#%d%kX!KF0E_HTFo9~ zJudBu_1C@EW|8({^UPC_$cJ$G0*L8@fuQpHGR>&~iokQ~>2hv>S9*+w~KZ!sS0;{`A=+-Fuq%9wqFdR;1AdWO6u=IZoBc!6k8rpoVv zF4i1lG23U+9Cd%>YWL)Thi5^$_h-~L&3OcWN7ah&w(uzTwtdB}$iLZd8#SqZq5RyE z&^*(1*YeBs9Qfsa8=rPv9D{p2*;ggcG4i1|%Yms)`WtmtX04%r>a=odb2YIsnIGT) zg4uZTp9u775cQLBXBS3TPCAcXAP4#Y8CTr3=t4rwUj`w9efZfLeqVpY&v;i>?UEx; z>c=d=o>@mahF-8wJz=P{uyEvXI)puZ)7esa`MYxd!+&%k&%MTHKh7qA_0yjPLGFcF z7kn349BB7#QP}n#w5INYFU|53jZMiI*Xp+zVMF%OChgN;8=vDzC%&^H*_!&Oh%og5 zs)8=+%6Kdf@jlAV9Yv0xOquMxE*thCJs2VouV;a)+g9|99RKjJ{vJhsx$_?!n!A(6 zAF8m8hr%}IFdX>uWXUA;7!(gEIfhBqy@whKZ#nNByf==uk_v4?+CRyf%v<|Ck9|GdauGE=ZwY_EnMWyBv_u&3i1B|t`^lx literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/longobject.gcda b/Python-2.7.18/Objects/longobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..db990aa2635e65b6c4e34100c9574eb9c64729b3 GIT binary patch literal 9312 zcmeGi2~ZSQc7}nVfl?8|u^1c~4PpQXkZ2Y(Q$Z0$A=`sURVwK!`t^VR-T(df zk7548@Wo@Coj*Ko{KpfU;*Q@HiA2f)=w*ifz8i0j-XgIfdVOp-%_yq(XtNTJ;m1iJ2! zwP8s2PK2RtQnP)OO}mn_=06XQ{n9zu$_Lvd@9ga4`h$?K;mHxVQF`dO>_1T&m0Nm7 zJ?TPm3AUk$uz@y!&y$&5JNw4PgQ+z^bEjjTOoFGU7;yDEx=W_aH7xShM(?J57e(b> zvB}!-*!h0s6ymSAR&g}{8Md{auvL?Pcinb)9F-nfIbEkd3GEfj3>7MpwGe3B09{S*@T@BVzLijK3BLAfi{`fbg zF0`|%yuG$BWyJ!@g(!-2XMoJaGBo@W7bDM9alv zu?=LM>`nY#);*3Gy2jy8vGc+su*_S8UtzyAlzrC6&k5J;02dR#{GDHHlV@R@a4za~ z>C&95k0f0LRIVP@J8NK}{!hk)q!p=HMmdqIG&NuEz1Fu3AJvVVt+Z;f63p|tTR>9i zG~2vEInOcARYH%D`c)<|S3G&<8sTJX>VRd)U+{A)p@(_gO=BNIyW`vwMv{UNJoDY@qL;WzuzL!VEwxzcaEKg$Bx{$^(Ib7;;VyFEF1Fr zGWN>d7d<59myHbv?$yP1HW9V?*AVL@*$*4N7pSsk+Kg+!KKP)amodW+5VC=61Kxu9 z0QhD%es)bzpgy33vRT!(I}oz~9{9iwjki0k}FB z!_U?Cvh6mkc5vGge(EK)7Anx5jJ1=mjf@}J=2QRP`t3%5oi8Go1i#&2AkXQ0iLZ$H z?lEuus!Qvls}5{WKvPaB-bu`N&1)ck{ziRve##DIY-{eAbZ0E%D$)k?65#6&{r}VB zK^OpS-~&jIp(dM0((auaFm#+tBwbz9UcIv@&vKHhRYacYUaGDppze$=l2`j6<&bTV z4tRiE-{e5Vfj|e-2i6$CLr!HAXXw^XElg5^pND2_D{aR4kbq=DygA}~^-0Qs_IO4b zKsZZ5Ki5|Uq6IqAH^2iw*$;T|{qMv$TfJE~${|l*$IyR?JvE;=Ub1oHAhq}eet^IV zZGa>m+T0k>I67C)6XRz#%6m+%tmBZ=rB8-qAMkz#;t25pnaD}%na99A3TP_pvOqz0TTy%pZq@-ko0k)-vs87JlJtItCS-rV7*Rk<(^Sw~aGXW97eGu4# z4!_g`^B&p^T4V+T&zb*pA8ls=5i^yy@{OQxWChyXwLMI;*Ka-W2N!L4@ErX3!KvH8 zgX^=3i5WodI7>PG;L_IvKNyC6Vd-g~atWVu{C7>7m3-->NVX*y$C11n#WL_b;Kn{* zvEz;WrE47SPn68XJnICESK3dWIxph&FBruvKv((fy_4p(MRGcw=3MD9S=LICG(%0#WErp zKjgi#UnN%bijQRC`>7Y{5^-JqFYCezw^}OJ#2EL^R=$qnwy??SfyX-a@5IGp9dO^Q zO)Oo{T5YsA9vr#Fx1PEasVD5Dz2xh4O3Yt9ZqY1DZFtgc26%<;3u`GWu1&zUdLqF- zwD2y-G)1$Sk8^w#w9=^B+o)Trun*1C&~<jO%1~@uzuUV%t%TLXXuV1!C5}anfLK(PB`tQ`H^eHtY8iD7#<75h SJ$KL;XanqN&YG}xiT(%Pb`72Y literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/memoryobject.gcda b/Python-2.7.18/Objects/memoryobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..589b48acb7f51184b61f7f23972f00f426102c9b GIT binary patch literal 1492 zcmYdHNlw=?Hg@Wiw_3VyW4a;SWq8vl^ggL3E<3z2Epl>BC%c-}Gr~UV_vv_y=(_HnmUAELIWRH|IxMfpZH; ztpFZ#**SF_S9sqKj~6;QRr#7DqtQv*j2>3&Dko!sM`hlW_ z^N$rD2I;+k$BlB07ZdNlJJdvsf9%);84e}hcO*vbg?uFg>*Bvk#Hj5}VAc@Qns$vC zweCTBP9b@%{=}$V?K(m8;}-U}F)()?=ITVFEz@;{Kc4<7 z7!T45OY7M3vEL6hw||<&!3M%QJ3(sk<+o+88r{AfdHni^s3#{lyzr#uMdw;W-sfNb zJw>og4x|=ey5E=kkKMMc`Y$nY#!@3<<6kP*fhh@w#-)pnpb?Hq$3YNcfO(V<`~qbP`uT7x(+85%P-2+5Wq zD9)i{A24)+ZgFvBk|?H%8sWy0dAPEuXOM3e`jeItBIFz_kRETy}S4B z-Fqc>U0!~)PN%;Wk#OL-Rck_p5Dk7(g~`9GaTBB#ssO1vU)>*T9r*2B($V8~Nl^_u z91bCxRX`Bph-wtE!ks=-?^_jgW+QWhB;y6-IqlfFkT2Pr2$XMoLwnv?)4V}_grgYp z!Ahct5=+4tyT^LTEmoIboPXO$ubJ25Y3-JMH+(cljajXJn@o_m#KS(f2FFL|cKtn2 zRerb=xI2jp`~APT)~M^lwCF8EtxMF_NjWgL!$Y3h^IGqvC2!j!jWzYaZSuffdrITi z(qC}8-P->aaBq0v4zJEN_s%|fyE^dhpTO<$z%^#YW_*9P^2f&SddeRccbvFx$w@N& zo}5193*6UaF^aI2g!nkwwKA=X6l|QRSjJ9Pvnoddp6^ADwq5@g!7v`0Q_8iT^m$+z za~yYmcOm=!5d?L2EGb0qWxzs*x59{@X%H4|60P9mg^zl*FY0Xd1K_*WU%j( zKXTK%8Gy5?e$}dUE#OK}Qr1*1$CHXupg3518oNDG0 z0t|USrqll@s#lQMix&3D>r#Y zd3=v(c_Jd|*@ZAa6_k{^TYL0igDAiL@)2xpj-N4QWg++(>o%L$0jBFO_`Y%e?xI92 zWjuD75cLN29N^nH000+J-shXnZ}>icYJD^PhizqFPnv$={^Q=znU*zd=hSP zN!fV&p4vL*($5!W=RG)=;`~1d`bF>D1Fo^JS`(bnTUJp$y7?zq;{wTPqJV5UmWk>y TxJ3D~XeoQ#t!vI##<>3j=+TvB literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/moduleobject.gcda b/Python-2.7.18/Objects/moduleobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..9d80c17ca6bdc783b3c8940cf57af122f40b729b GIT binary patch literal 1152 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 OZcqRPFF^nge+B^mx{w?I literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/setobject.gcda b/Python-2.7.18/Objects/setobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..bd2264ae064a127075151f5904682b4b5c5716ef GIT binary patch literal 7964 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 literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/stringobject.gcda b/Python-2.7.18/Objects/stringobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..2b56a7b747022681e841675726943786a862b70f GIT binary patch literal 20328 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 Ezp?Cg+W-In literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/structseq.gcda b/Python-2.7.18/Objects/structseq.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f244fba656713e440ece79d06869e7596f959bf1 GIT binary patch literal 1520 zcmYdHNlw=?Hg=j|VztzMo7+wX28M+kKtdddub4{!Nd`t9Ad%tyNPMx@_4XfD_f7+q zFdhJk83Qp0{9%UBX%Gs7gsD3TRR>c5QxBuj#bJCHO>K1y3@aH8V1|=KuV(~>Q5ixH zIE>6Ld05Y>e|ae-!0jF=j57ZJ|4)e>KfwAS;eXj=qNb^SzJ4^TLI}w08&ImKd-4l~`G#e}dnF&&ZORoc( z-W>j?+FI;S4ePFd(go>t0P1}RH6ERY3Nr|S3Oyi*V299{>Q;iyfyu*)wppi7f^D~D zh3NaYo6!rz;(|JsQDd$fh%X2tzyMN~G$1?!E=w*PXf=?Y81P|Q`x#M?n}HDocQaHY PoR7_I$Y!sEX#mmyvN+@1s&W%tCMSKDxffqr1@KD1^5rs5NiANGz-~%g!LDZ}W zEE*Ve2rmXD=3{i6W+c>f2CI=#v1Uw!EU-qLAlkFL=imQs_a@EQ&amgP=X~ev*|Y!u zUskSO^|Eh3Kv+fKjA}LgHCIJZDjmu61o>;7>P}`w9ZsgU^u0N|hdo)pCOQ5MVxmri z6+U_#ko$Kk>}phId5}}H3NclK=1*hBb-uFMFRP%ScydHG#Jn{yFrX;^^zEg3mggF~ z13q~Qr_44$Az5e`25DjEt#`1=12s$ zLB;yuY85d=1EOa-cYa^IXP2L^>m*|d#PlZ1W4Xx=o}YOGQ=s13nZtg3CG3vG+hOM1 z)~KdEJ4hKS)w3K|Pg;1#>2(i-w}tzglO?(>J4-7e342j*f3f@@IM%!6QV%R1m^7u# ze7^QddE;HE*QLQIt}(7N*3@=AZ7ky4(F`AE@X^yP=&KaJ+|t5^>0Q11nN1Qj<8(s zOK0owLB{$iKkhMIk4haU=X#BU+rq?k3?gKaD_di+KayfM?7frOa&F$&hl6YVAoeZ< zB6JjPOs4}DuZpL@k}Q}w+=jnwY|j(1O)B8I)|$K3sI+Q&Ujt z1RvA)KZHO|7o~R&Gc~LFcg$1UpEtZ--LzpUFq-SC@*sopR>a;hvMs0u?@Qu{S^LRnnihw%q9*^Cu zag_VEt7I<84FN z@Tg%8^;s|OO9u=%Q&p=U%g@Na^<=%RJeLc9T3_!|vxAq`*%|HsNct6GxJ!4&n}vD6 zY$YC&%ankfI-5I{qpk|=Y=J*?r22TfhB}`-l zo-~o?k)q(;bTb!cg3QxXE+@T2yFC?@WR$fu(_4C+_ejdx`6EEz0}~lndkYr>{R}2D z@@p!W0`-N7j1{++=K#F~6B%c2y3YhkUXXPBbxe%{hNr8PbRMMjAP+1$N&|x6_nDHw zM8#=V-4bA_5urcP?8qJ9>!sT!!z)MAD+;^kq>*vZ9{=S`-tv2~Zn?WB`O$YZ+@lIw z88j1ek&)@dx;S&T!eT5Gt~5r*oRNvw%`R7Nv`3Q~SE^8$&;!B=M+7>1ymQLTbh1N*(7tCq$9|IV8FH5SJoNHzj c=S7W-Ln`Z0E=*vJfOx1E)Ozmt90I$)0i@{TJ^%m! literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/typeobject.gcda b/Python-2.7.18/Objects/typeobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d3a1279e430ed0b92dc67a230f5aaca4541b4ea4 GIT binary patch literal 27624 zcmeHQ30zL;_kW8lrHK*=m1HR-B_fm}YbgmeLm?$Zc4I5XGL}I@!&tKnvW)CYmTV(C zKUuSnE&DcPZ2$Y*d%oTGK6-oKmjD0vpU-FR=i{Dx&htIzIp;jfeeQE_uO8vOA{|^@ zyqYv@{M)a;clb`FQY|YXoXQLT(i>U`XO&(l;nZtonv4Bh=La(moh~Op^pd}P`Jz%K z={Ye(o{x=sS)#sVyPIi)(T05|?DB9Z|C!mIE!ZoqCm99htKj9}LABvgt_hEFndU!M zmd|Gtk8mmG^NVYruC2-r^|Y!G`$0XQrR56Mu9W$@azC|*Ufca|44Rj|!F1;fNW`Iu zsu}w~zD&~76cfwKb1p9qyAsCSY__%G)MDkQBQ`jU*ue7?<)A3%d2Mo(Yo|$iHrhb~ zVxu05^#vE}tA}QlDtC(;ow9tZ6^r#OjVZ~bvd#My4Q{f{y6T4TjK?b(wyRpbd5upy zK1t7C&AzUeu!}I`f2i-obRkC`UIIX4;Zx7%ZZ!wHntFXPFUev{6LegSq*_6*hf92V zZHZQPE+SsM56~B>d%9%w^hQZOOcJYHB)F<}GwA|6iL(jHA>et)d1_Qlk~kPh6ugYf zTOScR0uE`Om|DH)&cu+R-=~JRVYyk8OCPCl z6@PNS-=C!dmJ1Qdx{@=>zF21mSQ`NpBc(l?Cccm~A!qjrNg|Df zqFf)iI_#k3g+sRo40QQYnb~Ch?-=D4RMJzoA559Fl11$r9Cc4yAUQWhphlSbGV{)868( zU#0TqXp^E69u(z%WS6HS$Pv(3wwMr(S`{Ta?1Du3{$arNk7n_1UXQM|n77A%fiU$+ z^Pe&K9z!Nv+DRA1Z<&Y}m8gB~$kzGRQh5a7n^O)!gGkQ%QjGKEs9iumUza)cmo7UY z^m5_;OKoS9t)JV4axA^7INImHnR^XpjhaxL*rC1-VYh_v^>nQuk_#gS8lnj zW|2*IT$wJ`(2^g@e&Lz&zM-wpp)1Wcr=&9Mi(KXhqYsHD%}+cXwOha9REGUgFnFDU z10^PHtB+`Ir4>T`%A}ybitYi^c&*1uXI;kupY6`Dok42%~2O@ zx2Ov3x7QheLKp1$FBv}1TP<8O{i(Y6 zVKg_n?2JpvQMzD{uI${-`?Pn2F4!qvsU8m=CXbFD_;MzT59<~wJf**Pp1rMm*m^|o z!f3DXW)u4Uw#m}DFl;4v54AlJ>hW!1*!pgqwcRJ*jO4Ly|82^tSQLc5VYo)iG|c z?I7!??3r&kJxqb}LlSabDfEHY#6vDqY5y2{c*eti0_315$1^(QvOQc$&*WvfXTTlp zEe2P8vNh1T&TwH@N#2jqWzBxp_3X&OlehNDPkWhXc#fT1_EM7f)DObW(=xrwxvbgu zbQ#osXb1h|#~%)h`+aVN^+#xhN|p1}){fshF1E|mJNIJAEaqo2)vZf@YR#|RH7mq8 z@?_K7)0u8uASNAw znYcGxWPYUMnVwgES~aABFw}$`%H_H2kEwywE;a9`Ng$N-RLw+=mpq>5**+iZZ;)dc zrS$$ud^>{oG{xo*9>6NVz9aA$rx?eOV{hga0JINiy{wJJy`l%s8LgN!k>w0~+`9C; zJAw1{-x)hkEwg0nT&9b$rHgKFyX4Updv+w`N4J`lSFy>_fGz$?4j;#%q}__F8oD`L)f!v1JAZKi6gMuejW&bMepTx9EbMJ92-iR0lUBU9eBT zS=ul9Uda!-V2>J(9(eQI&2(L`b${&G;+SX9kGf!MS=JhLI<4=S{Jg_Td_S)Ftpl@9 z^7ZJF|2H9hV)jQ=jDPo=onv0xF5G8kxw@t7nK`|12{qKW(zz#kzFt)s)Nmskg?qGBE>8Hjc`V?%UaW3@y{H zu6r_kH{kz$|A71o1U$+?;Wzxk zw?-cJheMzze9{FI; z4Vu;oEX8V{#)y5axJlr5Mt;{ynvS_IKG%f_->5_(7OML!wNY1+qYV%X=nTT4obP+u z^#3iFGKu^lub>6Z584Oz`1UDic|raAZ|kGqBR@R-x17(2lGimq1#M?t>rr|qbI{l3 z$2q#E+S5GfN%P-0n&(o;q_D{(9-yh*y_kx#iMDdgx8q5JKL1l?5f8sn4ml|N&aRNV z&{p1v;%q^B^0#)9K%2g{a^&BV?rDg(9PLSI$}4b~A8om~V3!kTv&fqtwda2BzLpK- zE}+MWv)TW4IUEr_R1**62XbRtBZ243v35E^?E${0uoh51u2a7-l0Ml~)xdgLi+$Mm zh4TK9zAHUnQYuL!ecX?BR*>Yog|B+pkxFYri7Wgw>eXZ!{+$&5nnwLttIi15oy#f( zt*L+gN@8v8Fholp1881R*77y?j&Rj!Z5lxB24r7q2McOn&;%{@U#ErTV`?|p>rLbK zEy*vDecUi6e_-gWlWu4kF@N9JkvY&KHR$2u8MtcR^BwkMQpw52u* zJ3Phu`xfQKfb8-(o_|UBdX#g0iW%S3Pp5L=ex^PR9&=Ixjlo$I*F@qmW`}6t;Sb6+ z@jW?x@WAst-&UOgq_*mxJ~d`hNR`a~``j<$IU3J!o2ef_h36sXsU{rkGM{XCr5t(b z{ZJ#hOnm048W$6OCp3ANy3cqn^`tosDm)K4Pc`9SH?KYi$Q6h_Uk?gvdhX@;GYhYp ziu<~2gmOG%Z{p@1s7By|qlp^u94wpV@x|yN5;PmgUBJJ*#@;}-BgS5$$9wbdx`h1v zQ~j31SRcc?DG8?B1A1I?LG3|xL$@z&Jy%GP@UA@%?}Q8!JN2Hh=G3g6KRB&qx>=-~ zQ#}*UO=#Syd~o~k?X4Ub)`_rTvhV+kSIU?xCAIIJY@O=H@9X8{x9#G&HQ#LgSkdu8 z=flkJyzC#hG`Ui4(28N54}PBVkm)9Vl>V+1?;`&f1O5k^R<_aO)pi{d3}W9o7R!od zxr?LzVxv=JN?Wzo*Vnf=yDvtUZy8E28lnH6{aa=p@+v)EY_mL!hX7BrGWSZAITf+y zO&_L<_fV3{N}o1vEY-5U*DBYU{niMta7jEc#$h*l!Y_ zm^YnL;YWdMeV^F#-|ZiM^iV`1_oXs zmg-}BY8sND^shIJlYjlkjI3JiLcIswV-Mu{J$}U8&VEhTZ%7<`xWg3|Tby9~8ap(R@qtSY~&&U{ZUfLEIT zHd|>luQ=dAVNK=>_WK>hxc00&)kv?(X7e|J_6L7vIk|-j1!`xe#t4`Ez5z;|ssGlY z`E~=<0UkKew)7l%i1tL(zJnDZr|J2=BuyaTp%4B9)f+?w;DG~=a!~P^OVEXXNJ)?H zM@KSUf12pV7`^Mocz&!gSxyK1qUk{ed)S|VJ@9?pBN{V1`2KLCS=-W#M}1zgMa&tG z*}hcWz~+qCbX!Bbls*;oVejp;XmMr+4}0*3*;XFX`Y4(5ER>0BN9#Z<%g&CMdLFW= zx&`CNv5}NT(0R@hKRr{jxbCjfvaZ|@o#e`yjzyT%IQ?8D3ntpEDAz{$xG~P_lK&XrppeIqVbF7ghkh#YSSx~J-hf{`4>>6O1BINY za(R+oBGt`f{z*LIK`3|zhWwutOU}MZ>j)JBq;?gQu*$!vrvJNYSaNG*4y&a_FJFca+~ZtQ>N7o%e~vmq`9Ap-N=2@g3>q4zaS(u@0ASYQe2M^k9;4^sO#k!u#)|KdUugJA2HSy$>L z&BS~H+ko=?E1CmA(NFr@NgCiAh`SfCBGU=>()Fqu5>0iJD88NI>ytH=^GR#DK#av; z@7u^39VXj{`_+5TVsWGUMq%7@{kA)|z8X4V$=gahw=vuPLfw2HJt_N>rz<($+}9Yw zO&Nz6?|ftXZb4z5Z*7k>6>d@TIzX3utdUFC@K+Ohq%Qw#FUEs=tS-7m7ZmArDI#+9 z>L#9R)$5gw=!C&Y^I}G+9xZx%CQaKtA)qqzkHx%K+pLWJR@j>qey2n*6k1iXmO@5BiB)};ZHS^CRiqM778mmsJT0G8*dI)x zZws-1xQf;?cwbRZwlDV6p$5^xk-<0J0%khcFdx~tZ3m-L)!F9}^n;k47D=M10g|!D z^ek*yA{$B<%KZ4r#bVu2e?6(Y?WbPF=XviIW*ec82kWkT=90mFChCoMHRq- zFDQjQp048J#CvT#mxBk@u(Z{hFVw3!j-&#;OMzYZiLgQ+br&BAA%`E-RaETT0H%xb za}&~R8IP@5{Cz+2!OE0}bkB5@`>NQdYM7`x+8%AyM6dRv;;c_4(!67%RMx;L=f^=6 z_Zak=_h`jNw-fc4t-Q>`b}5mLuC75hPgQy%%uLd|*eBV~ILhij(syg?>HA}pN~=hf zsyihWJj!7Y6!QMGK8_=M;Mv?UTL8fhQipf3HH3_@1MgzN!#>B%iFFuXi*j848%OcC zL#7eWe$SYdPPPQqDK6mjzV`xfl^))x#u))fJb6WvqrkbAae1(xxw$<4Vep z9TH0O*R{b-oWiSQ`s`8Fk7PdE2(>q2TcT=5DE0ZP7@WeGm5L>s^@$T?V$Ks=+BrYJ z-KMj;&Aw=OvfG|`vD1h$rOjrXpH6#=ft5Ng-rfZ>wMgIil=h#hLZ1EXsQDHlhq6Xgc7OV)*u%D&xglDVS{Qq;Q%tLys zb;H(MMH?PidrcU;^0S_eP7W(=&3X_x?#J%cAE|%ehPi{!p*Po-rK*fI4l}s;qJ2V} zEapcap?=IWaE0d~*FGjbS|%HRjBS6S!It z&-3jv6_YKE+l%f`jjwxLz5m>)RwAo&O&-RW+azb#Nmk9eq&tMHWV*S%$M6Z=Zu4la zZ?*fa*gZ#TfB$Y$l5N%eXP4lo(S2COekdY`12|AXo>LOC^@X`h)11Me=}@Gcn9gWk z<IIMGSm`*9P> zThYVca_WoQ=)T^K)-x~xz6udYPD2pmMaqj1H(cNAR!LKSIi}VBm*N4kkIm5U#`Hsa?*}wgC#&E zj6eSW|Ifg%9!f*hOgPtE_4P8JZFQC{KS<3BENa&EZ(`MEQ<;WO&B|C|cQfDn&G_t^ zE~8}eURXp6pPB^qINSfT#CY(jnL6zc%fe45JHM~<5(T;W0~R;G$)AzXzG}mJd}=sf zsHmL%UB3&TnngXwgAzh~1@NgUzh%l4wm{DppPLIfrZ{Yz+&3Rz7_R;|!!OWzOEX@( jPL}E){QfZzpPB-b)3K)w+GZ$Dxpx>8J_3JH;++8i7v$yd literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Objects/unicodeobject.gcda b/Python-2.7.18/Objects/unicodeobject.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0f25b06a99529c12f91ccc0b573bbfd19f2fbab3 GIT binary patch literal 17848 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 JC5SMK0RZHvE^z<= literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Parser/grammar1.gcda b/Python-2.7.18/Parser/grammar1.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b3d9b4fbb9cce4138192f2f9c341e73edd849c27 GIT binary patch literal 124 zcmYdHNlw=?Hg?)^%W`Qn!@Uon>ek_?PIKw|2|G|8IS3F53`O8P)0 xj3@s8|Ifg%p795mhNxNKx0)>>W?{^ZW`iXlH6U}sWk5!NzI$YkpLzZ9D4u& literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Parser/myreadline.gcda b/Python-2.7.18/Parser/myreadline.gcda new file mode 100644 index 0000000000000000000000000000000000000000..abade107838aa43e73065a6cbf8d31195076bd7c GIT binary patch literal 200 zcmYdHNlw=?Hg-yUV7W9=VrvTn1H(cNAR!LKSIi}VBm*N4kT|XSJ?zo?T}%InBu)k@ zVJ!In|33r6N=5;Y3JkEG@dsEQqBr?dk!t9nJvTC+Z4U+M4S?!}XhT)2cqYDD=#Bfd PwgvW$AhjCA*~0(;Cp9;^ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Parser/node.gcda b/Python-2.7.18/Parser/node.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab50255e894b90a51869bf76022703e543cbec85 GIT binary patch literal 508 zcmYdHNlw=?Hg-z6ZMjsAxAH#&1H(cNAR!LKSIi}VBm*N4kkF0M^1j|P_tTAvyWv13 zj644S2dZ7q_ybHs)D+h+nmuo-as5#xH5a7D0;unnD98u~hEq`bsUU>^l^K;r7YCUQ za)&ik9gqojhw#@~sTaqCS0=Q_H zeM)HdN%cx-{O5eP;OOlGoglLcAjW{nvy4a_EKHc6o+8Y|q6#6TFM?o$SO`8OEaVX8 kfWzWh!JDEDiM3YTi(6YjZUe;@%zrSG5PXOkA_y}W0HWJavy+j42d_JA4&28M+kKtdddub4{!Nd`t9AmPx{!15q6FFTv@(>|aQ z#uFeJG~g-?5wKu{&{qW^^jBt7K7_}>0F#IDVd`Lf7%c#0$TC3~PoU;ALitdNK@X}9 zM|GV9$-3LHs zg3<&mUBGAt28dooG`$Srlhy8gS5a}%k^2wQ>j2ct2gD!%qai$OW@x! jZH(@&TV#0UzqH!vk086iIS6VvLNClVhOGg3FM9%2DXFJ!a;s$oKN4muxA8c99G4jwc+w(GO0bx)JFu-mlz z0LYFH|NsAIU|7%i1588GfXwV0Y%I0iHu%&8?-0~kvu}=Nh|&&ca5@1xgb&>@IQWFr uA><)`U_3P9KJ{LZ9Mf$0v6PJ&-8BV=3ugqCTin6IK~YvKOr0Y3kMxH* zbS&MJtbsV9_2JDx!^)(Ug^Uo%DFYL96_~M+%ji7!eSi1d^W1a1m!jT{^SsaVKF{y@ zdf)flgQKLlbivZ4_OAYnckkFfKBOp0eTe#qRsXt|$Ei=n5~e=(ISZo-tPeL_J3D-@ zs$!{}n3zzM1`8=D%2A7rh|ket8F$$U%%Jo3xRKsdnd`1!?IX-~h8bmur^ooI&OU8- z;I^{xM?3Zq#tPMDY??5vlhJYB5Y{Es@)0^M7OKT;iKk9owK%fh@pm*7k~qbe&)&uK-Wti6aj*dmIB}e zK*5CiS~oHK&%~3B$Co}|M}3e0_6K+~>aU)ey_uZjBEALEAc-en1|;RMliN!Hg&BD0 zLC)!ue8X}D6FywZ*GhZvoYqJ^2cxi~cYsZ<-JKkjp2VFRtKA>2JGH5BXjM;2b!D$L z_X^#q{p?*Ju=RKU;{50}L(Y`1>kmBfJ=ttjm1fEyCfN?J(0$t*zbjH$Ugyuny!QL* z!0Fb#AI+c`M^#VpvJ#b&Oj@R~e z4`xzaMQZ;p&JtkNlG-Hpd`a=%1ch8KPdTysKtwM=p`IltppZ`$<#DM6G#rQv)bqEc zFc9}f9P3Tc(?pYU`+soZ1qHgn8-OA_Bop)~Tky|%b?(U_S>D+LiK=qazpPO*z zqw{u0*@p6j8@CQW)kr?lRY2qc3Ll(m>&Cu^ZI(4?B3}JmmgT&5v=7LRpR4ivP$xcseILb+i2qs?kQ(5imgg^$op_ z5X=NM$1#p^28*$&abjEY&{+S9(hE+Cv6H<6&;z|!{dtUt3Mi_-^hn_+)#>jLhWO_6 z_V4*EI`I0>**Wi@`~^0YmX?dREv@tYzN313#_Hy(s>xu4vHaf~94c@ z9uqQgPsOu(M5W~?4&MHC`N|Jk+bK8dKVkc|9?xAo5TQVWu<8EFWn8E$e;WH-2+V_Je1` zQj4}*$>$Cg#Q2Pv%l-4KX_?_`8rpg5^oR%jraqD`csh5)Yv+}?|8F24#6x?Qyo0B^ zg?KGKvDas^J$2KP^ZXCV6{S13F4~1&kR1*AGgFbr%>92O{{JJPJ(W+b7sykOE^>)r zx%5=sU$(GlWKKavT@U55M>X;lJJ$91Q_roE-(P0;MkLE6wYwnZndH1YWoDVI8S zE=7d;a}}AlIijh*#NlYT)@~ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/Python-ast.gcda b/Python-2.7.18/Python/Python-ast.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1e888b9dcfd004e75d1cabc17816c5747df98f28 GIT binary patch literal 13472 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 E0AGJw_y7O^ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/_warnings.gcda b/Python-2.7.18/Python/_warnings.gcda new file mode 100644 index 0000000000000000000000000000000000000000..58e15a1aa381a318828d7b46eb8f227d2191eed8 GIT binary patch literal 1976 zcmYdHNlw=?Hg-B1X0`N-JeMm21H(cNAR!LKSIi}VBm*N4kdW@%74$~W!0yEQ#Th^) zj0He3L69sGpcNls?n*|8b?X^HZWM#^fK0F(jc0g=s`Bs94DJc|3UXryPy(SBq7$8j z$rDS%^rNeXiMzlU81za;0Sqya0K_liXnsk0T99gLTQE7cs2dp63mInsRpPP}W-M;I zVJgU@VdlbUm?;Q8e!oee`OWa#iHz?{S=c-`vWtQI7V-c8e+Gt?j1Dk^DWcai{s5Z? zNfXYF=^n3LOJnRd?LGjq>jTs-h!v=6Q||Z~rqmw&xkkFl4y1MiRILJ0?m;z+Pqr(w z)ZV2^S7nO~$SejL`f;(wq!`6}l5$75xh{h2x`4-z3-%=Ocm{@9&vM`N5!sIhMEMb2 z5vrdx*Di>fr?x|RM(MS4AhUPiamTue3RPPtCtnDZ5%UMB)%ZudG|<9iYMtMv+`B=J z101gze<5~FK=;m|;G>4=_IQERYw@gGcC3%g0fmzX1!;0MOP|JuAM2MG{SMg-GHV6} zX6Z<=vFgoaF1vYF_Xo(V1$g4RYEsGwcg6ug#g5E_hzAAadysGcBHEQnF4YGpGU%`|RqmUMqNe>VwkW&i*vWG~tP literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/asdl.gcda b/Python-2.7.18/Python/asdl.gcda new file mode 100644 index 0000000000000000000000000000000000000000..8472ddc382b7d176fca48d454a4e34f0ebb890d7 GIT binary patch literal 236 zcmYdHNlw=?Hg>8>wOTsUKWYmD1H(cNAR!LKSIi}VBm*N4kofkCfvND*Y&Rv3j%7e4 zj21vKUXUya0HJ<8BghUnX1Hds9Usp$R_i1mT8C`Mai|hGxKjL#r*LVA9clS literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/ast.gcda b/Python-2.7.18/Python/ast.gcda new file mode 100644 index 0000000000000000000000000000000000000000..cce41dcc05ba1ad5b8f8c1566abd806d0a0f9a79 GIT binary patch literal 10464 zcmd^F2~<^86#d^!0YSd0IF_sclMg6@iV~6xqB((yED;BA#91)RIYTT=LnJkv0zsS= zB^6LJ=R{LjrdFC^>RJwER!)?r-TVLDy#Efo2P$Z;-dgJUNjYhN5jD6H&f2Ta^vrmoIl6`b^OL=Yi#-H7mN~)u3jl>B|jR?I<2nMM#i!5AY<{(g?oKcYWDFOpEzO)9}Cw|TvtPiC13T_BeJ(UT)0>yP~ z2J_2U<4&Z;2L}1NST&eEF*q*b7oJN8#%^P5pm7rja1u9l1y+SYU=@LUKQXHF4{i$pUu4HZN=O(`pMLq&b3?7cAXt}*O_-Z zaOgqPd0HCRv(cj#?~icUQ*<|AKj-GC`2Bpv>&-eBG_m*I9<+;d3z$Qty3qV8nn(RV ztt`bSABP@f9Bi(nPH5|0=bZKEug>xs1gX?3Yf(*~i&x!4!fuYc&bi4d+^G%&-_;E` zztOGF(N&x~Q-vGp=s3YM&&J#P^zr3}7{qFQ+8R7bd(@30d_n)XGTH&rp6(w?GW4{) zl1%mdnPKeHxCaK2dC)A;YV5)FL6?3@$?wj`Ad!)4iXefAnaa>BA$`VES*acR0n!`- zNe-v_*SCmvc({7&&PH>24yh`0F4iY`NI-(7MR;DyL*$D%O4be*Bf?G*EG0ecWg*(r ze8Wk;XT0s|wR4%{XVc=ZB%TAF-$wuPJ@m}128~^ItQ;KNEjylbix>&dC?Ji?Rw!Tx zQr?Rv%h!UQ)b;BiyU|^i-!_0SS(t0*#2^m;+?v>4u*R~g_ zZ4>|9f#Y-cE_JQ#oXcx#%fi9)2$4Ys(!Hxc@tIyTvGpIVbFL)ao{_+Pc4m$&gfk#~ z1EB{h>*e|QlfJ*)*(5kWVS0gi>lt@>-{H&=&hzkD7J?51A2LN+4_6XXR?AKyV`4wO ze5ktHP9BpPo4@98DiAUd=GSrajIg}@Q66L;c1st%Yjz^Zi&dEI6D)`-A`pxj;sQ#~J$W3hNF0H;M@2gB?wioqEMPD9 z&A+2Z3Mc3TvQQWI4LhAD?xYW=&(d6bOkFVW(D|j?c^~mC3wt;di0|+IL|>Lj{eTZW z5PBt4;!!=~RPv*wFRNX3(vb2WS0?U?MdSmdW9LoA&Z7O~w=cQzoAQXYK{!%q2ZLoC;IO|Yy88#0iXHB=872tH(BUnBrRIg!>C z%}VO!YrCaX7{mD@-NPqz^mtAF`odA)@v-CUnEIgd7SS2jcA}6661@;h*$ZHi$42+R z%$7OTn;t)tX?cBrdmfwGyOg6VqI>Q68RG-{^G0dEmDe>u3e>QM=DgL?!gKGDjo+t5@8h*f#=>9;Y!gYK7J8Bt z>`+4nLQmU4|GW`#0TB=Kr3gDk=`3QjP?_?vZ33wsGVGXZK-m9(xK7)lLXtMVZ=>h9 z;Zc*OS!&m(j?%?@@wK4#?j|j#d)-{;opuGwV!Cp!+B@w~-I1v)vh~&%H?+&+T>M^S zOhx`qDCTg+@ME*=Gd*oB#&T|f%DFi{`TNLg?!j%`!+hB5xRu(g%pv9s%2e61Qa@Br z6u&fli@tj2VF3f+?ps=ZovnFD#`M=+erq)osVqh6?6@g!1*rSwVPAC=Oif>rVyO8ox5VU_u8 zKdb2Q2eIsU#Bxwsb8~&SYKCQX-5UPwu1lP&Q(1EroP@@jIK&wVNX*6WNb$V~2p*N8 zFE2V1q9n`f-ImOmdFEf#_2_ZFSGE1yF7O(Te}Wq7NZ(4blD;8n51Ie(mFeXo1nA)p zXv%%D?&V`-PsXUB>vY{xp9P!utPTs{W5gatB`(w;PFSW1G$YKWLIyI2vWq=H4Htfw zg)EWeu{w}g$0gox-(yoP*SRSf$vjs2j#Khead+K|UCCo}Cb4A|o`0`s?)|u*Vskq2 z*woG+=^?-OyLPop{+k&KJvrA_>_g$jeO2a-{A@md;g8L0oLjGtaH!9QRXUqv%;k|3 Hx7GX$gV^Up literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/bltinmodule.gcda b/Python-2.7.18/Python/bltinmodule.gcda new file mode 100644 index 0000000000000000000000000000000000000000..62aa1a650232bdd5507ce15568ad6ad00ce30a44 GIT binary patch literal 8620 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 sq1l-(f|Me literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/compile.gcda b/Python-2.7.18/Python/compile.gcda new file mode 100644 index 0000000000000000000000000000000000000000..93dfd80f96bbe672819a024496cda95fbc9c800f GIT binary patch literal 14672 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 J17+=o{{n@@&Y%DQ literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/dtoa.gcda b/Python-2.7.18/Python/dtoa.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c4b0ac8a964e129eb08aaba0d0a1343a2e28d774 GIT binary patch literal 2456 zcmYdHNlw=?Hg?KgY_-(bcY_@R1H(cNAR!LKSIi}VBm*N4keGVrSBUX0^=A#T5vo8X zj2nLb|Ifg%oDrmefnh!4kN+S(MC}FtC7fzubC23>+I;||_5)ZByV`k^740sqIderW z_FpGR?F~F?4HoCtbv=H0>L=&%gCMmJ@Tjf(@F(xLsQSOJQ6?KfYG<&5+({Xrf)SKC zU{v>L2#kinXb23E5P+4JglOb?1XTAhu)sYCu6w@o_cDH5w1QJ^Lp!j(S;#oyAMUzm zW3WNmYki)~taArfg48xZ>j(k3k;n|xdP}gRA@JWR?#)kXcfBT5znIQ?=3(_U%S2bW z_9aN|20V4qz6q^P)0aQ$_763RCZu-8;$^nCo06wn-tdSAsl9;5+}(HD?cOL{Uv*S| zsx(OL3_NOiH<`rxP7$17l6cnzq;>)xwVdDoYhJ(lB>2w3PzR9O0z7I9G}U;2c)s(Q zW@)+>q_zT&T21~mZ6EGX31w@^%^Ama5u%A-If zj1&I<|Ifg%k`bhUfnh!44=^91_Na(-<%!m+T6X<>9kAMe5Va0qwUiR5cJ)7E)F{+u zxTsfk#0_NE3>w;%IPn&*`YywMchf_2L3VXO!$5&3FQK~o(!LwncW<@0Tq<$<05aA4a2#!}u^7rVd8K#9=fpadde?>Okqk0j3FwhUtSQ9)|c= zaTOqGm^hMBD04j{C{6xDNPyEM!`JN`dv|XS{$IayCMXOIfbyyW5JfN=rUji369>5w zss$kgWJaFSs~2iq7OBMr{wHgg*yE#&%-V zdUEjj3obpy^uT`UM35Um;pT#HCzwTuk5G=^|J_V*m0ZT@4-iAAiFc* z(wGdG8_;QVl`wgjI65CDPAIN=(A=7}^`Pf$&-d2aTwBsXZask~u9j%T2sX@_FrAq2 z4_11mx8cGeR! z!wi7a^PqB|x&j%%#9=f{9!5jG!vLdGpqhoC=D}!~ne8~-027C$7Z?rG2eS{xA9#8t z;{+^@fVmsy&1_N(4;#jm$SqM_rErvM&nij%mJ`kOn_d5+aEk^M}tcKC(X;B-^ zjJFHIl@^pKX(`0A?PnDq_@_3v8D%Fg%Ca1Iyd6@Pyd|3&xE%U(18k Q!^A;tYfw4;79@Uon>ek_?PIKw?_wvWmaIC(Lx%ASnh^ z!g%2S|NjgOD;Yrw7#P+w{s8kKYNzbGRriubR)!e0dMT@!lpY+}W4CGd0g$-@K+_fg zF$gRGlOO_N56EqAnc)&(xAnNGWISl~a3IBuPiSVuu@h=zKJ33@%JPI*p+arvR#( zzoNO>!ywn#ppkn+asO6ex>(3~0Z%;dNO&6emT#frv$!2HAhj>>sO_}(NKo+p825Cg z?=C{-o|)|F@Z3}|?9YWK9w4XHVYReSRF#u~fngyBkPrvrE9MeFl7W#2NK7-gOqih}zujSjq!>^M z>%p04!W1yXYXi<%oX z>#Lue3Woi;@Wcb8MgWT%C0EwGiDAAQY<@h+#$^tJ=ykcoyE)VQ`JVm+sd<3K9QBLB NLORmxop7jO008)sZ2SNK literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/future.gcda b/Python-2.7.18/Python/future.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b01bd252d76e0432081d731d0ab71db75a6a50d9 GIT binary patch literal 360 zcmYdHNlw=?Hg-DIX0=oy-EI*B1H(cNAR!LKSIi}VBm*N4knjp{*ZJ_mE$L#-mJL89 zj21vK0gx;bAjC%~UC#)z!=4!~0=7f6d~S*J1on!Ax`eABJ0`%T85mTdY!)bOh$Kf1 zCd?@?8r@7#7(f8T?G6ZqV7J%x`3Y`cXzrVM;lLM=+bjP6|Ifg%p795mW?%pSFY_kH literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getargs.gcda b/Python-2.7.18/Python/getargs.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fe901aad6fc43bd034742c3b8a0e713243f888cd GIT binary patch literal 7372 zcmYdHNlw=?Hg>XZw_3_`VbTu<28M+kKtdddub4{!Nd`t9AQAg)NwKGi;g%gY+H8PI z7%hNe%N0S=!~=x-m5dNw>ls0IeL)xjw(DQeYd>Soy52>Hxw}Aibs*&7tc50UCQTVF zp%CK{_My7{I@BjXRbaR06^3|6tXg(|QdT9<*$Wvt5b`v2CoK(E!eKZraU9Bl!l+^Q zg9)w@9Cn=Ruf%V1_1_<;;T8c3y9>au+rS4`17>JL!;?`TA}$D(hS8|1F?shv2@Vf{ zMmGb@Z^n4kf}~*bFdAKXrUtqQD!-e6{B~A|dYF6A`KYF0@_rKVFHDCD7mP(48eu+a z8n}b74x9!qec5jx@q2oFvdtA>$Sh<$@c;jRS2_kyhnfUC4rQ0BWR7;a_@=@))jnD=TKlY2x z=G$7YJ4sJ_+X@Q54bbotK&V4vt!G3I&y|yuII0C=W}T|6&;jY)0oAL3qysk-)vW1Z zveDbhB(88yKPU+@YXvWEorGj&vp`h9!U~uAZ#X3U(aPWmG(HY(qr!9!0rYr6=Tqt& zYMY1d9`tmD&PP{|&L>qpy8coA;0ggR_QB;Ia$Q5IKPc5tuDeI|4UZ651@#7uhWQFt zeGij|(dg>X`7m{(G<8FO*5Qn9K02SezM=3w$s-Ejw2I6&PYfA(=uo5J3?=UA@+WQN}$KvKTe1|a4-xE z>Y?UAxfoO^+#jfEM*~qVgYyX2szBK?3DtLo%lIyX(vAhtBu6EPaj^CfjP_QKCyHV+04ahAGKna*07!6X4 z4d9Z;C5~v6^+8XB3r(E6Nj0B&wnp> OpVYh^aL<&0S_S~1tBoZ9 literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getcompiler.gcda b/Python-2.7.18/Python/getcompiler.gcda new file mode 100644 index 0000000000000000000000000000000000000000..19e04fdbaf6b2f801f9d48006ebe0c4551824217 GIT binary patch literal 88 zcmYdHNlw=?Hg;<4vRYbHzUDgv1H(cNAR!LKSIi}VBm*N4khr$Kp}2_s;k6yj21|fS T7(r?TL9$@59?b89ae*`d;&~B( literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getcopyright.gcda b/Python-2.7.18/Python/getcopyright.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c8590ee2e89eb35d3d413ff7bfe82073b84a32fc GIT binary patch literal 88 zcmYdHNlw=?Hg-DEWwq2U-MNv0fngyBkPrvrE9MeFl7W#2NbKBM>m0dd%Zwe(21|fS T7(r?TL9$@59?YK(;{s^_pVSbL literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getopt.gcda b/Python-2.7.18/Python/getopt.gcda new file mode 100644 index 0000000000000000000000000000000000000000..94136d0d39da287415b718f170de5b1b389a3cd0 GIT binary patch literal 316 zcmYdHNlw=?Hg-C;&}wOAoA_o128M+kKtdddub4{!Nd`t9AW_j#ul>sJjd_hsZWmAq z;|`Dv6mY^A1ZZsn@`R*8?f?Nc2nDC1Tn2d<14^Uw5z^}!L4IUL2!Q=~JL#v<**Ood V>}WPv0`em)93aXddSG^g!~iUn8MOca literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getplatform.gcda b/Python-2.7.18/Python/getplatform.gcda new file mode 100644 index 0000000000000000000000000000000000000000..61b8cb946a1edc2074c65cf10a912fa04b6bb97f GIT binary patch literal 88 zcmYdHNlw=?Hg@9gwpv;fc5W5}1H(cNAR!LKSIi}VBm*N4kdQAs5#t$mR%A!B!4jYn TMvxjokSrLi2lHpZxIh{JX^{_L literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/getversion.gcda b/Python-2.7.18/Python/getversion.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d4317f7457335e3d0782644b02e1073e713bd3de GIT binary patch literal 112 zcmYdHNlw=?Hg*c@wpv>MZILbm1H(cNAR!LKSIi}VBm*N4kXRMqCMz7`_;siA=SH9s ZMg^dlAP|E9E}DU1JtN4hUa%?%0RZeo5DNeR literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/import.gcda b/Python-2.7.18/Python/import.gcda new file mode 100644 index 0000000000000000000000000000000000000000..97a71f10bfcb41d76aac7cc3d914187bdcddeb31 GIT binary patch literal 12636 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 literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/marshal.gcda b/Python-2.7.18/Python/marshal.gcda new file mode 100644 index 0000000000000000000000000000000000000000..9b7f350dd7314530a34fe8bcb3e7e791c4614d7b GIT binary patch literal 4528 zcmYdHNlw=?Hg(^DH8*?Z?d>45 zF5vO++hw9QJA%sIMYAe|fYfRL?br>C2|_d|{1uSYL$xuaX8Q2~h2iEfFhJte6{Y~1 zPImp%fnVju7R8!$6I;7J$3K9#Pm!A#{fu8?%G1CLr3j?^HZ(*j1X+RXQY z+*ZL3^Bn_2g$@gt1EUc#*jZ(_v5TXNDnSLhpbSL=glEy!g7_D;P(>fhLimDE;k#QP z`X{3*!{EX6!DyH}VCGMq$GA!Dtjo6b_`_jv|DW0|}D}kfIx;0vsk&jAj=w^9q{mbpG53Yv02BfQv?N zn?6Mg=bKNCm@~GSPxeqfUJf!d0B9MkT^q6$(uRcbanUe!xM*}YIHI{hw^Z0C^>k6j zgb5r*AU9Ybg^4i|8^nb1VKht{!AEV+PecpDuy5fys~bw+^Z*)AuodAT zn0e&UsCIiGj0MNv#>I7kO$#R~2`PISZn)V!Er~>;sc=|ZNZb8;hi_?3Kig=Y?cLu4&(Z6Q^0DRlRHvj+t literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/modsupport.gcda b/Python-2.7.18/Python/modsupport.gcda new file mode 100644 index 0000000000000000000000000000000000000000..883a529d3b733e5b4fe925c67160b2f1bd9f9b60 GIT binary patch literal 3296 zcmYdHNlw=?Hg=jf$!aNU|H%ss3=9i7fP^>@Uon>ek_?PIK*HoxoS>7(?xI7^hM7Pm zj21vKX^<=ufbn58k`x+qC8GeE2!y+y5oGsLCb%Tn?h;jLKK9?*?~v`@zy?;`z4rKkbPdD%!fpy+vg0C29aRXk8k+g3A^D0iYEzZzD6ixV1VUaWHAsMmpDw_eJp0d zAnEZu!hCStxm^fnICpsEU4K`*7;qkg)_V#F zb$D2)bv?&S;iO#Gct2CFIaVOE0)RSCXkgd=h!-LbqhYFGd@oQ#69{HNE3zCp2p_$k zbA<^*>$$nt4s*sGIW1@QeNH;a4H>}na~Gk8Bo?vyVCv35O^4AWSq476>{a6r5&YSkDMDVNP*3$J@v9Kwrxs_-KO0KKxPO4C2;ATfY8eT0N?r= AOaK4? literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/mystrtoul.gcda b/Python-2.7.18/Python/mystrtoul.gcda new file mode 100644 index 0000000000000000000000000000000000000000..22030d9eafa71d2227432a3d55737a06a7581918 GIT binary patch literal 508 zcmYdHNlw=?Hg@Uon>ek_?PIK;nQdXRgwH4L6?n@8v)x zj2X-f48kB;JOGzGsp2M#5KB7n*o7>`i_F2pCe}PWMxaP7MBy`;&_jm4V(~$d~{P1&|rAw2R+7>dDgE zK3pzGcLzG3SbgZ~5az68G(eXmiVsPf&(P9?Xwn(2XH_?N>#v2?gW_-ldFg=x0E|FN Ac>n+a literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/pyarena.gcda b/Python-2.7.18/Python/pyarena.gcda new file mode 100644 index 0000000000000000000000000000000000000000..7696a013786839c23c2e812645b86f15c9e9d1bc GIT binary patch literal 636 zcmYdHNlw=?Hg-~(X0^0v@w{^k3=9i7fP^>@Uon>ek_?PIK%)N9Ov7`gM}yfj7d8Wx zFlqqBk{LnL2pYn}My_NOz$VPFo)Ki1E;C#bY*$<3V?_&Q`>*%*i5J1_N<^rED@JA@ z|EC@3g0D@6G7ytkO literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/pymath.gcda b/Python-2.7.18/Python/pymath.gcda new file mode 100644 index 0000000000000000000000000000000000000000..debaa4a33c89f3ab190eea6ca309d13103bb7bd1 GIT binary patch literal 156 zcmYdHNlw=?HgWu@GkZ+4q@ z9{`yx0F*~J8`-}gGi;gRhJelJ51gM>Unh9})|@S$L1utL58VtHAKffzXh;IJfX#|s z?j$@b=xb49LGlHVSryQ5QGi>CkAWH=snfl)?*&R&>}WPv0x}B{SBUUHjyr>rEcw}v zF+{2D$tjP$Ul@Lp7;{hVj?ZN;=kXv$?cy&y0^y}?ESIPA>;SnJmVQ8Sf(cOldO`Ya z}V8<4j`iU(R5Gxd{}fZ7eVw5a9z77lsK#vK zv1tL>1B&ar2sLOdRI`AI7Y4v_op{qC{$Ezl)s+!DPl3$Zfyd1sWi>*lhFgEQbhtbg zq}Bmw5+Y5(j76mh$)l%52efo;pe1Q?(4hK%!j!$gL3S1pVJFN5=ys#?Vd`+v2=%C8 z=!oXV#T#AuCiCtQ|DApom`s3W10p}+G8$*NA?!reN-J?(=E7{pB~LAJQ2cLzSvI8T z^^BmrX^oZ^bf@idw5B4Nx53rbX zoufC-;H=i6&MPN3;<77NHBtD$F205A3~ye8)HGl*r>Dq5Yv-Kx?_!xAe+8*IfJIG= z+zp$w<43~hOpNmasab(V&AR2c1#do=wD3^v-j2(h?XS4_j+*yNX{J1n0I8_}h8Zg; z^e6!2>tD|Zio-w5aLd7QxS^jl=aom~X1h(h4}jeG0gGSvtPS)_eeASfrK~Ckq~-(` zHLm}}*;+YXZaQ*l#TJkn51=(Lw^B-j(iF(;f6?5|Ki@X|^7gjW$wftJAUg}-UPCbW c5lk=(<`y(zxLaZ3xYWVq5j4bYOe_cy0Pzg9IRF3v literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/pythonrun.gcda b/Python-2.7.18/Python/pythonrun.gcda new file mode 100644 index 0000000000000000000000000000000000000000..d5126117608fad36bc5fde5bb54cfb23b82ba593 GIT binary patch literal 8256 zcmds62~ZSA6x~&W0-}IML=#;=lwg7gT9T-M3wR%E5LV&=1PvZh0WUU+c$Y*IiP01Z zs8JJ<3Kn>kc!K2tmQrY<0hL6J<&h{NA_fm6(>wc|-48Q6L{pZTs@=E$_xtbv?&;~C znT?zf747crt$sJq?L9?0V; z%6ql7wF*Usk`WY&EM>Lc=DG7muMI4^G&Wccw_VO@?~kh1U6#XLW%v6#Sy_pxa=6E5 zt3zTFdhV9P?VUDccu#fMLpj``9#M|!2i1OZxZggT?7RKUKubB?xawlB!B5L8<#0dW zdNFp>)GArJRUaxNllMGXB}X^=mo*-P)mJ>^aId>OSTO$F)kHbmxdje>7nJ*N%Hf8c zyce}KW158=u5ZC|owMbN4)a?TKVx%J#m&S(?!yisZyDRdoMrR8g<%GBKlSrmxp-3N zQ=vbVS#Mdklxeanz`qHv;>?4hgTXeQ|4hrCXyu=9upZ+yeo)qQ%kP+$KgVfh&;T0D z=YH7YXj*?$fvB%PtUNT}#t`?oeF2q=FeY{eju_H@*pPkM=+?x8VmeZI-j{k)>qgt|7Tn!fV{F-yFSo zOis*DmMfm)2wJ=fwd-m(%p*DZ6AeioDQ+uQjupBg`1LnTe`507Djs&wQ`TfYSlWHo|HK5_vDG_{YFTc7PM}3y5xs}{VFQIQ)0}URoVm$YgC6bP zwoDUx(n2G-qm+PJQQ(uHv0Z@MY3_J?|>gz zABXv9J8Ym>+^h1_x~Pr1pP@_^jDP(Lbz$!Px@?;t6NA6u!u(upAxtd&GsfydH_wWs z4fo@1OS0KqEHM%Wm7)}*{ikCJ zyh?P+*?EO*Y+@wteU6XI53j7)_xyRCAjG4T$$6f?B=OcE=R<%S|hmHu%`ntSE-Fx0cfY)LOb=FJAXunn3PSq6Ip*FByyt$F{HJCNB!p3qIRUlzPnsve!Kkr-L{YH-B^t(P7vBaLPync_%SEM`SbkJ7EDz@sM9dji1)W-dW%?#L5JiToAzzUXE zA;BFq;b@zU`MNKxW)=7{?k%GlQQQ9&>AKdQT$?NRg*V#k>Z!pyHg<19$AW5D@~4%3 z>(AS`GJj3CBR9{r9Mxqc8()>tCS6yH4~Acms^9;*@lY>C^b`Ju+H&LM^33Ij&VP-l zLoS-D2k+8^Y0fKCKWw0wF6yG~@B`5fTMSVb_{a~0A3PxRz=KVZwj&-0KIOp=r0s|Y zit*qFQXRo=*#93^5HzegC9#e^A%hRL?{fCfOt$9ubM07{fC!w5B4GD|A(`?N1+IZB`_hr8XsoC)lQ_ZW*SJOQY RJ$gE0+niZozoMGM005-QOFjSq literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/structmember.gcda b/Python-2.7.18/Python/structmember.gcda new file mode 100644 index 0000000000000000000000000000000000000000..3b52395b1f1d712de03a526d94bb1cf7832f5f59 GIT binary patch literal 1712 zcmYdHNlw=?Hg>9?ZMBs13(sl>28M+kKtdddub4{!Nd`t9AhGF&y046b$VdA!#vY&& zMgbO(6e?m(E1V%%Em=GAc`DZ1g09FsKX9SfgR~g}w;4($y%nj9!%DIzv zgo^?t7Bb%W|NlP&!%C>C^^8Bjd`S7zJL#m*bE^o?pFgjugVYuv%z_(AEJKcfLOvz} z3g{$F$ena@29h<1xB#==@tJVIApTDL`p4G_ S=0<_kE`X}Vm42XUfdK&bnn^AI literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/symtable.gcda b/Python-2.7.18/Python/symtable.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c5230f6bd32ebe36ad947da65afbe459f8622658 GIT binary patch literal 9616 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 KH~HASwQ@S zi(Tv+8OqOq%qoCegp^b2fhTO%%=1dQ{%^x1uPyH@L23F literal 0 HcmV?d00001 diff --git a/Python-2.7.18/Python/traceback.gcda b/Python-2.7.18/Python/traceback.gcda new file mode 100644 index 0000000000000000000000000000000000000000..bac12731dde3603ae09e07fd82f443d86260bf26 GIT binary patch literal 1512 zcmYdHNlw=?Hg=L&Xti|Op-^iE28M+kKtdddub4{!Nd`t9AiHwI^e>#KK1rqSV*|)d9zbby zGsxwm+ue$0w}|~aPmW(7xNG_(B0+W=z@0|C8_?}&L$jly`@ZMhN%t;HdHBE^YzH(n zKvv=M7t9&B|#}0ofS=R0}g3 zW*53~=x&0^!_>p{!_>iO^fWdR%`JMS{E1%c51w4(oT3SG%ZdO0|AX`>z%0N^uV?%L zRu9RK`yFiy{Tn%0U4q}Ufy{!X5s(pLXyy>&gWTYNrU%4@>4Qbl-id#UK;qmW0tl`? z2(|^$Fg^nVBo1c40ti~3ZM^wfUO<)o(qfHdE09|ofO=qI2BSgdfB Date: Wed, 19 Feb 2025 00:49:14 -0700 Subject: [PATCH 13/30] using public images --- docker-compose.yml | 34 +- grafana-custom/dashboards/dashboard.json | 568 ++++++++++++++++++ .../provisioning/dashboards/dashboards.yaml | 12 + .../datasource/mqtt-datasource.yaml | 21 + helm/Chart.yaml | 12 - helm/Dockerfile | 21 - helm/Makefile | 28 - helm/docker-compose.yml | 71 --- helm/requirements.txt | 3 - mosquitto-custom/mosquitto.conf | 12 + 10 files changed, 633 insertions(+), 149 deletions(-) create mode 100644 grafana-custom/dashboards/dashboard.json create mode 100644 grafana-custom/provisioning/dashboards/dashboards.yaml create mode 100644 grafana-custom/provisioning/datasource/mqtt-datasource.yaml delete mode 100644 helm/Chart.yaml delete mode 100644 helm/Dockerfile delete mode 100644 helm/Makefile delete mode 100644 helm/docker-compose.yml delete mode 100644 helm/requirements.txt create mode 100644 mosquitto-custom/mosquitto.conf diff --git a/docker-compose.yml b/docker-compose.yml index 3674257f..72d7af39 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,22 +1,28 @@ -version: '3' - +version: '3.7' services: - mqtt-broker: - image: mvyas7/mqtt-broker:v1 - container_name: mqtt-broker + mqtt-broker_1: + image: eclipse-mosquitto:2.0.18 + container_name: mqtt-broker_1 ports: - "1884:1883" - networks: - - mqtt-net + # - "1884:1884" + volumes: + - ./mosquitto-custom/mosquitto.conf:/etc/mosquitto/config/mosquitto.conf + + restart: unless-stopped grafana: - image: mvyas7/grafana:v1 - container_name: grafana + image: grafana/grafana:latest + container_name: my_grafana + environment: + - GF_INSTALL_PLUGINS=grafana-mqtt-datasource + volumes: + - ./grafana-custom/provisioning/dashboards/dashboards.yaml:/etc/grafana/provisioning/dashboards/dashboards.yaml + - ./grafana-custom/provisioning/datasource/mqtt-datasource.yaml:/etc/grafana/provisioning/datasources/mqtt-datasource.yaml + - ./grafana-custom/dashboards/:/etc/grafana/dashboards/ ports: - "3000:3000" - networks: - - mqtt-net + + depends_on: + - mqtt-broker_1 -networks: - mqtt-net: - driver: bridge \ No newline at end of file diff --git a/grafana-custom/dashboards/dashboard.json b/grafana-custom/dashboards/dashboard.json new file mode 100644 index 00000000..518f136d --- /dev/null +++ b/grafana-custom/dashboards/dashboard.json @@ -0,0 +1,568 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 2, + "links": [], + "panels": [ + { + "datasource": { + "type": "grafana-mqtt-datasource", + "uid": "feb8cw2js8tmoc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 31, + "gradientMode": "hue", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 3, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.4.0", + "targets": [ + { + "refId": "A", + "topic": "grafana/log_data" + } + ], + "title": "FPS", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Cpu_idle": true, + "Cpu_iowait": true, + "Cpu_user": true, + "Memory_total": true, + "Memory_used": true, + "avg": true, + "current_read": true, + "current_write": true, + "frame_latency": true, + "frame_num": true, + "latency": true, + "max": true, + "min": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-mqtt-datasource", + "uid": "feb8cw2js8tmoc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 23, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 2, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.4.0", + "targets": [ + { + "refId": "A", + "topic": "grafana/log_data" + } + ], + "title": "Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Cpu_idle": true, + "Cpu_iowait": true, + "Cpu_user": true, + "Memory_total": true, + "Memory_used": true, + "avg": true, + "current_read": true, + "current_write": true, + "fps": true, + "frame_latency": true, + "frame_num": true, + "latency": false, + "max": true, + "min": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-mqtt-datasource", + "uid": "feb8cw2js8tmoc" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 23, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 16, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 1, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "timezone": [ + "America/Phoenix" + ], + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.4.0", + "targets": [ + { + "refId": "A", + "topic": "grafana/log_data" + } + ], + "title": "Frame Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Cpu_idle": true, + "Cpu_iowait": true, + "Cpu_user": true, + "Memory_total": true, + "Memory_used": true, + "avg": true, + "current_read": true, + "current_write": true, + "fps": true, + "frame_latency": false, + "frame_num": true, + "latency": true, + "max": true, + "min": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-mqtt-datasource", + "uid": "feb8cw2js8tmoc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "fieldMinMax": false, + "mappings": [], + "noValue": "disconnected", + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 50 + } + ] + }, + "unit": "deckbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 15 + }, + "id": 5, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": true, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.4.0", + "targets": [ + { + "refId": "A", + "topic": "grafana/log_data" + } + ], + "title": "Memory ", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Cpu_idle": true, + "Cpu_iowait": true, + "Cpu_user": true, + "Memory_total": false, + "Memory_used": false, + "Time": false, + "avg": true, + "current_read": true, + "current_write": true, + "fps": true, + "frame_latency": true, + "frame_num": true, + "latency": true, + "max": true, + "min": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": { + "Memory_total": "Available", + "Memory_used": "Used" + } + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-mqtt-datasource", + "uid": "feb8cw2js8tmoc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 23 + }, + "id": 4, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "11.4.0", + "targets": [ + { + "refId": "A", + "topic": "grafana/log_data" + } + ], + "title": "CPU Stats", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "CPU": true, + "DISK": true, + "MEMORY": true, + "Memory_total": true, + "Memory_used": true, + "avg": true, + "current_read": true, + "current_write": true, + "fps": true, + "frame_latency": true, + "frame_num": true, + "latency": true, + "max": true, + "min": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "gauge" + } + ], + "preload": false, + "schemaVersion": 40, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Frame_latency", + "uid": "febagokt7o64gc", + "version": 13, + "weekStart": "" +} \ No newline at end of file diff --git a/grafana-custom/provisioning/dashboards/dashboards.yaml b/grafana-custom/provisioning/dashboards/dashboards.yaml new file mode 100644 index 00000000..4242fc97 --- /dev/null +++ b/grafana-custom/provisioning/dashboards/dashboards.yaml @@ -0,0 +1,12 @@ +apiVersion: 1 + +providers: + - name: 'default' + orgId: 1 + folder: '' + type: file + disableDeletion: false + updateIntervalSeconds: 10 # how often Grafana will scan for changes + options: + path: /etc/grafana/provisioning/dashboards + \ No newline at end of file diff --git a/grafana-custom/provisioning/datasource/mqtt-datasource.yaml b/grafana-custom/provisioning/datasource/mqtt-datasource.yaml new file mode 100644 index 00000000..051d741a --- /dev/null +++ b/grafana-custom/provisioning/datasource/mqtt-datasource.yaml @@ -0,0 +1,21 @@ +apiVersion: 1 + +datasources: + - name: MQTT-GRAFANA + type: grafana-mqtt-datasource + uid: mqtt-datasource-uid + access: proxy + # Base URL of the MQTT broker + url: mqtt://mqtt-broker_1:1883 + isDefault: false + editable: true + jsonData: + # Required by the plugin + protocol: "tcp" + + server: tcp://mqtt-broker_1:1883 + # Unique client ID for MQTT connection + clientId: grafana_mqtt_client_1 + # username: your_username + # password: your_password + secureJsonData: \ No newline at end of file diff --git a/helm/Chart.yaml b/helm/Chart.yaml deleted file mode 100644 index c2064e29..00000000 --- a/helm/Chart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright © 2024 Intel Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -name: object-detection-service-low-code -description: DLStreamer based object detection pipeline -version: 3.0.0 -apiVersion: v1 -keywords: - - dlstreamer - - object-detection -sources: -home: diff --git a/helm/Dockerfile b/helm/Dockerfile deleted file mode 100644 index 765ac2dc..00000000 --- a/helm/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (C) 2024 Intel Corporation. -# -# SPDX-License-Identifier: Apache-2.0 -# - -FROM intel/dlstreamer:2024.1.1-dev-ubuntu22 as base -USER root - -COPY helm/requirements.txt /requirements.txt -RUN pip3 install --upgrade pip --no-cache-dir -r /requirements.txt -WORKDIR / -COPY src/extensions /home/pipeline-server/extensions -COPY src/pipelines /home/pipeline-server/pipelines -COPY /download_models/downloadModels.sh /home/pipeline-server/models/downloadModels.sh -WORKDIR /home/pipeline-server/models -RUN sh downloadModels.sh -WORKDIR / - -COPY src/entrypoint.sh /script/entrypoint.sh -RUN mkdir /tmp/results \ No newline at end of file diff --git a/helm/Makefile b/helm/Makefile deleted file mode 100644 index 72c73ed0..00000000 --- a/helm/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright © 2024 Intel Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -.PHONY: build build-all build-minikube run-minikube-demo stop-minikube-demo helm-convert install-helm uninstall-helm - -build: - docker build --build-arg HTTPS_PROXY=${HTTPS_PROXY} --build-arg HTTP_PROXY=${HTTP_PROXY} -t dlstreamer:deploy -f Dockerfile .. - -build-minikube: build - minikube start - minikube image build -t dlstreamer:deploy -f helm/Dockerfile .. - -run-minikube-demo: build-minikube - kompose -f docker-compose.yml convert -o kubernetes/ && \ - kubectl apply -f kubernetes - -stop-minikube-demo: - kubectl delete -f kubernetes - minikube stop - -helm-convert: - kompose -f docker-compose.yml convert -o kubernetes -c - -install-helm: - helm install -f kubernetes/Chart.yaml dls kubernetes - -uninstall-helm: - helm uninstall dls \ No newline at end of file diff --git a/helm/docker-compose.yml b/helm/docker-compose.yml deleted file mode 100644 index bd375426..00000000 --- a/helm/docker-compose.yml +++ /dev/null @@ -1,71 +0,0 @@ -# -# Copyright (C) 2024 Intel Corporation. -# -# SPDX-License-Identifier: Apache-2.0 -# - - - ## Current Developer Toolbox doesn't support environment files, make sure to remove any files or environment variables starting with $ -version: '3.7' -services: - camera-simulator: - container_name: camera-simulator - image: aler9/rtsp-simple-server - ports: - - "8554:8554" - env_file: - - .env - camera-simulator0: - image: jrottenberg/ffmpeg:4.1-alpine - container_name: camera-simulator0 - entrypoint: ["/bin/sh", "-c"] - command: | - if [ ! -f /home/pipeline-server/sample-media/coca-cola-4465029-1920-15-bench.mp4 ]; then - mkdir -p /home/pipeline-server/sample-media - wget -O /home/pipeline-server/sample-media/coca-cola-4465029-1920-15-bench.mp4 https://www.pexels.com/download/video/4465029 - fi - ffmpeg -nostdin -re -stream_loop -1 -i /home/pipeline-server/sample-media/coca-cola-4465029-1920-15-bench.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://camera-simulator:8554/camera_0 - depends_on: - - camera-simulator - env_file: - - .env - - dlstreamer: - image: dlstreamer:deploy - deploy: - mode: replicated - replicas: 1 - entrypoint: /script/entrypoint.sh --pipeline_script_choice yolov5s.sh - environment: - INPUTSRC: ${RTSP_INPUTSRC} - BATCH_SIZE: ${BATCH_SIZE} - GST_DEBUG: ${GST_DEBUG} - LOG_LEVEL: ${LOG_LEVEL} - CLASSIFICATION_OPTIONS: ${CLASSIFICATION_OPTIONS} - DETECTION_OPTIONS: ${DETECTION_OPTIONS} - OCR_RECLASSIFY_INTERVAL: ${OCR_RECLASSIFY_INTERVAL} - BARCODE_RECLASSIFY_INTERVAL: ${BARCODE_RECLASSIFY_INTERVAL} - RENDER_MODE: ${RENDER_MODE} - PUBLISH: ${PUBLISH} - depends_on: - - camera-simulator0 - env_file: - - .env - - mqtt-broker: - image: eclipse-mosquitto:2.0.18 - ports: - - "${MQTT_PORT}:${MQTT_PORT}" - command: - - /usr/sbin/mosquitto - - -c - - /mosquitto-no-auth.conf - container_name: mqtt-broker - hostname: mqtt-broker - read_only: true - restart: always - security_opt: - - no-new-privileges:true - user: 2002:2001 - env_file: - - .env \ No newline at end of file diff --git a/helm/requirements.txt b/helm/requirements.txt deleted file mode 100644 index d40d0daa..00000000 --- a/helm/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -pyzbar==0.1.9 -zxing-cpp==2.2.0 -numpy==2.1.3 \ No newline at end of file diff --git a/mosquitto-custom/mosquitto.conf b/mosquitto-custom/mosquitto.conf new file mode 100644 index 00000000..73edd9e0 --- /dev/null +++ b/mosquitto-custom/mosquitto.conf @@ -0,0 +1,12 @@ +# Enable anonymous connections +allow_anonymous true + +# Listen on port 1883 (inside the container) +listener 1883 0.0.0.0 + +# Listen on port 1884 for remote access +listener 1884 + +# Optional: set up logging +log_dest file /mosquitto/log/mosquitto.log +log_type all \ No newline at end of file From b7f7904b8ba71bada2cbe1ed1958698644ee5c99 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Wed, 19 Feb 2025 23:06:42 +0000 Subject: [PATCH 14/30] final edits done --- Python-2.7.18/Modules/_codecsmodule.gcda | Bin 2280 -> 0 bytes Python-2.7.18/Modules/_sre.gcda | Bin 6512 -> 0 bytes Python-2.7.18/Modules/_weakref.gcda | Bin 316 -> 0 bytes Python-2.7.18/Modules/errnomodule.gcda | Bin 1348 -> 0 bytes Python-2.7.18/Modules/gcmodule.gcda | Bin 4652 -> 0 bytes Python-2.7.18/Modules/getbuildinfo.gcda | Bin 200 -> 0 bytes Python-2.7.18/Modules/getpath.gcda | Bin 1872 -> 0 bytes Python-2.7.18/Modules/main.gcda | Bin 2236 -> 0 bytes Python-2.7.18/Modules/posixmodule.gcda | Bin 9320 -> 0 bytes Python-2.7.18/Modules/pwdmodule.gcda | Bin 320 -> 0 bytes Python-2.7.18/Modules/python.gcda | Bin 96 -> 0 bytes Python-2.7.18/Modules/signalmodule.gcda | Bin 3952 -> 0 bytes Python-2.7.18/Modules/symtablemodule.gcda | Bin 108 -> 0 bytes Python-2.7.18/Modules/threadmodule.gcda | Bin 1572 -> 0 bytes Python-2.7.18/Modules/xxsubtype.gcda | Bin 524 -> 0 bytes Python-2.7.18/Modules/zipimport.gcda | Bin 2352 -> 0 bytes Python-2.7.18/Objects/abstract.gcda | Bin 16716 -> 0 bytes Python-2.7.18/Objects/boolobject.gcda | Bin 416 -> 0 bytes Python-2.7.18/Objects/bufferobject.gcda | Bin 1788 -> 0 bytes Python-2.7.18/Objects/bytearrayobject.gcda | Bin 9264 -> 0 bytes Python-2.7.18/Objects/bytes_methods.gcda | Bin 468 -> 0 bytes Python-2.7.18/Objects/capsule.gcda | Bin 872 -> 0 bytes Python-2.7.18/Objects/cellobject.gcda | Bin 880 -> 0 bytes Python-2.7.18/Objects/classobject.gcda | Bin 12500 -> 0 bytes Python-2.7.18/Objects/cobject.gcda | Bin 408 -> 0 bytes Python-2.7.18/Objects/codeobject.gcda | Bin 2752 -> 0 bytes Python-2.7.18/Objects/complexobject.gcda | Bin 2320 -> 0 bytes Python-2.7.18/Objects/descrobject.gcda | Bin 4956 -> 0 bytes Python-2.7.18/Objects/dictobject.gcda | Bin 12024 -> 0 bytes Python-2.7.18/Objects/enumobject.gcda | Bin 972 -> 0 bytes Python-2.7.18/Objects/exceptions.gcda | Bin 8720 -> 0 bytes Python-2.7.18/Objects/fileobject.gcda | Bin 7172 -> 0 bytes Python-2.7.18/Objects/floatobject.gcda | Bin 3780 -> 0 bytes Python-2.7.18/Objects/frameobject.gcda | Bin 3856 -> 0 bytes Python-2.7.18/Objects/funcobject.gcda | Bin 4064 -> 0 bytes Python-2.7.18/Objects/genobject.gcda | Bin 1484 -> 0 bytes Python-2.7.18/Objects/intobject.gcda | Bin 5584 -> 0 bytes Python-2.7.18/Objects/iterobject.gcda | Bin 872 -> 0 bytes Python-2.7.18/Objects/listobject.gcda | Bin 9976 -> 0 bytes Python-2.7.18/Objects/longobject.gcda | Bin 9312 -> 0 bytes Python-2.7.18/Objects/memoryobject.gcda | Bin 1492 -> 0 bytes Python-2.7.18/Objects/methodobject.gcda | Bin 2516 -> 0 bytes Python-2.7.18/Objects/moduleobject.gcda | Bin 1152 -> 0 bytes Python-2.7.18/Objects/object.gcda | Bin 10676 -> 0 bytes Python-2.7.18/Objects/obmalloc.gcda | Bin 676 -> 0 bytes Python-2.7.18/Objects/rangeobject.gcda | Bin 464 -> 0 bytes Python-2.7.18/Objects/setobject.gcda | Bin 7964 -> 0 bytes Python-2.7.18/Objects/sliceobject.gcda | Bin 1552 -> 0 bytes Python-2.7.18/Objects/stringobject.gcda | Bin 20328 -> 0 bytes Python-2.7.18/Objects/structseq.gcda | Bin 1520 -> 0 bytes Python-2.7.18/Objects/tupleobject.gcda | Bin 4344 -> 0 bytes Python-2.7.18/Objects/typeobject.gcda | Bin 27624 -> 0 bytes Python-2.7.18/Objects/unicodectype.gcda | Bin 576 -> 0 bytes Python-2.7.18/Objects/unicodeobject.gcda | Bin 17848 -> 0 bytes Python-2.7.18/Objects/weakrefobject.gcda | Bin 4552 -> 0 bytes Python-2.7.18/Parser/acceler.gcda | Bin 464 -> 0 bytes Python-2.7.18/Parser/grammar1.gcda | Bin 124 -> 0 bytes Python-2.7.18/Parser/myreadline.gcda | Bin 200 -> 0 bytes Python-2.7.18/Parser/node.gcda | Bin 508 -> 0 bytes Python-2.7.18/Parser/parser.gcda | Bin 912 -> 0 bytes Python-2.7.18/Parser/parsetok.gcda | Bin 820 -> 0 bytes Python-2.7.18/Parser/tokenizer.gcda | Bin 5640 -> 0 bytes Python-2.7.18/Python/Python-ast.gcda | Bin 13472 -> 0 bytes Python-2.7.18/Python/_warnings.gcda | Bin 1976 -> 0 bytes Python-2.7.18/Python/asdl.gcda | Bin 236 -> 0 bytes Python-2.7.18/Python/ast.gcda | Bin 10464 -> 0 bytes Python-2.7.18/Python/bltinmodule.gcda | Bin 8620 -> 0 bytes Python-2.7.18/Python/ceval.gcda | Bin 24656 -> 0 bytes Python-2.7.18/Python/codecs.gcda | Bin 4196 -> 0 bytes Python-2.7.18/Python/compile.gcda | Bin 14672 -> 0 bytes Python-2.7.18/Python/dtoa.gcda | Bin 2456 -> 0 bytes Python-2.7.18/Python/dynload_shlib.gcda | Bin 256 -> 0 bytes Python-2.7.18/Python/errors.gcda | Bin 2996 -> 0 bytes Python-2.7.18/Python/formatter_string.gcda | Bin 2084 -> 0 bytes Python-2.7.18/Python/formatter_unicode.gcda | Bin 288 -> 0 bytes Python-2.7.18/Python/future.gcda | Bin 360 -> 0 bytes Python-2.7.18/Python/getargs.gcda | Bin 7372 -> 0 bytes Python-2.7.18/Python/getcompiler.gcda | Bin 88 -> 0 bytes Python-2.7.18/Python/getcopyright.gcda | Bin 88 -> 0 bytes Python-2.7.18/Python/getopt.gcda | Bin 316 -> 0 bytes Python-2.7.18/Python/getplatform.gcda | Bin 88 -> 0 bytes Python-2.7.18/Python/getversion.gcda | Bin 112 -> 0 bytes Python-2.7.18/Python/import.gcda | Bin 12636 -> 0 bytes Python-2.7.18/Python/importdl.gcda | Bin 288 -> 0 bytes Python-2.7.18/Python/marshal.gcda | Bin 4528 -> 0 bytes Python-2.7.18/Python/modsupport.gcda | Bin 3296 -> 0 bytes Python-2.7.18/Python/mysnprintf.gcda | Bin 164 -> 0 bytes Python-2.7.18/Python/mystrtoul.gcda | Bin 508 -> 0 bytes Python-2.7.18/Python/peephole.gcda | Bin 1704 -> 0 bytes Python-2.7.18/Python/pyarena.gcda | Bin 636 -> 0 bytes Python-2.7.18/Python/pymath.gcda | Bin 156 -> 0 bytes Python-2.7.18/Python/pystate.gcda | Bin 2760 -> 0 bytes Python-2.7.18/Python/pystrcmp.gcda | Bin 108 -> 0 bytes Python-2.7.18/Python/pystrtod.gcda | Bin 832 -> 0 bytes Python-2.7.18/Python/pythonrun.gcda | Bin 8256 -> 0 bytes Python-2.7.18/Python/random.gcda | Bin 376 -> 0 bytes Python-2.7.18/Python/structmember.gcda | Bin 1712 -> 0 bytes Python-2.7.18/Python/symtable.gcda | Bin 9616 -> 0 bytes Python-2.7.18/Python/sysmodule.gcda | Bin 5920 -> 0 bytes Python-2.7.18/Python/thread.gcda | Bin 1352 -> 0 bytes Python-2.7.18/Python/traceback.gcda | Bin 1512 -> 0 bytes docker-compose.yml | 4 ++-- .../provisioning/dashboards/dashboards.yaml | 2 +- .../datasource/mqtt-datasource.yaml | 4 ++-- mosquitto-custom/mosquitto.conf | 12 +----------- performance-tools | 2 +- 106 files changed, 7 insertions(+), 17 deletions(-) delete mode 100644 Python-2.7.18/Modules/_codecsmodule.gcda delete mode 100644 Python-2.7.18/Modules/_sre.gcda delete mode 100644 Python-2.7.18/Modules/_weakref.gcda delete mode 100644 Python-2.7.18/Modules/errnomodule.gcda delete mode 100644 Python-2.7.18/Modules/gcmodule.gcda delete mode 100644 Python-2.7.18/Modules/getbuildinfo.gcda delete mode 100644 Python-2.7.18/Modules/getpath.gcda delete mode 100644 Python-2.7.18/Modules/main.gcda delete mode 100644 Python-2.7.18/Modules/posixmodule.gcda delete mode 100644 Python-2.7.18/Modules/pwdmodule.gcda delete mode 100644 Python-2.7.18/Modules/python.gcda delete mode 100644 Python-2.7.18/Modules/signalmodule.gcda delete mode 100644 Python-2.7.18/Modules/symtablemodule.gcda delete mode 100644 Python-2.7.18/Modules/threadmodule.gcda delete mode 100644 Python-2.7.18/Modules/xxsubtype.gcda delete mode 100644 Python-2.7.18/Modules/zipimport.gcda delete mode 100644 Python-2.7.18/Objects/abstract.gcda delete mode 100644 Python-2.7.18/Objects/boolobject.gcda delete mode 100644 Python-2.7.18/Objects/bufferobject.gcda delete mode 100644 Python-2.7.18/Objects/bytearrayobject.gcda delete mode 100644 Python-2.7.18/Objects/bytes_methods.gcda delete mode 100644 Python-2.7.18/Objects/capsule.gcda delete mode 100644 Python-2.7.18/Objects/cellobject.gcda delete mode 100644 Python-2.7.18/Objects/classobject.gcda delete mode 100644 Python-2.7.18/Objects/cobject.gcda delete mode 100644 Python-2.7.18/Objects/codeobject.gcda delete mode 100644 Python-2.7.18/Objects/complexobject.gcda delete mode 100644 Python-2.7.18/Objects/descrobject.gcda delete mode 100644 Python-2.7.18/Objects/dictobject.gcda delete mode 100644 Python-2.7.18/Objects/enumobject.gcda delete mode 100644 Python-2.7.18/Objects/exceptions.gcda delete mode 100644 Python-2.7.18/Objects/fileobject.gcda delete mode 100644 Python-2.7.18/Objects/floatobject.gcda delete mode 100644 Python-2.7.18/Objects/frameobject.gcda delete mode 100644 Python-2.7.18/Objects/funcobject.gcda delete mode 100644 Python-2.7.18/Objects/genobject.gcda delete mode 100644 Python-2.7.18/Objects/intobject.gcda delete mode 100644 Python-2.7.18/Objects/iterobject.gcda delete mode 100644 Python-2.7.18/Objects/listobject.gcda delete mode 100644 Python-2.7.18/Objects/longobject.gcda delete mode 100644 Python-2.7.18/Objects/memoryobject.gcda delete mode 100644 Python-2.7.18/Objects/methodobject.gcda delete mode 100644 Python-2.7.18/Objects/moduleobject.gcda delete mode 100644 Python-2.7.18/Objects/object.gcda delete mode 100644 Python-2.7.18/Objects/obmalloc.gcda delete mode 100644 Python-2.7.18/Objects/rangeobject.gcda delete mode 100644 Python-2.7.18/Objects/setobject.gcda delete mode 100644 Python-2.7.18/Objects/sliceobject.gcda delete mode 100644 Python-2.7.18/Objects/stringobject.gcda delete mode 100644 Python-2.7.18/Objects/structseq.gcda delete mode 100644 Python-2.7.18/Objects/tupleobject.gcda delete mode 100644 Python-2.7.18/Objects/typeobject.gcda delete mode 100644 Python-2.7.18/Objects/unicodectype.gcda delete mode 100644 Python-2.7.18/Objects/unicodeobject.gcda delete mode 100644 Python-2.7.18/Objects/weakrefobject.gcda delete mode 100644 Python-2.7.18/Parser/acceler.gcda delete mode 100644 Python-2.7.18/Parser/grammar1.gcda delete mode 100644 Python-2.7.18/Parser/myreadline.gcda delete mode 100644 Python-2.7.18/Parser/node.gcda delete mode 100644 Python-2.7.18/Parser/parser.gcda delete mode 100644 Python-2.7.18/Parser/parsetok.gcda delete mode 100644 Python-2.7.18/Parser/tokenizer.gcda delete mode 100644 Python-2.7.18/Python/Python-ast.gcda delete mode 100644 Python-2.7.18/Python/_warnings.gcda delete mode 100644 Python-2.7.18/Python/asdl.gcda delete mode 100644 Python-2.7.18/Python/ast.gcda delete mode 100644 Python-2.7.18/Python/bltinmodule.gcda delete mode 100644 Python-2.7.18/Python/ceval.gcda delete mode 100644 Python-2.7.18/Python/codecs.gcda delete mode 100644 Python-2.7.18/Python/compile.gcda delete mode 100644 Python-2.7.18/Python/dtoa.gcda delete mode 100644 Python-2.7.18/Python/dynload_shlib.gcda delete mode 100644 Python-2.7.18/Python/errors.gcda delete mode 100644 Python-2.7.18/Python/formatter_string.gcda delete mode 100644 Python-2.7.18/Python/formatter_unicode.gcda delete mode 100644 Python-2.7.18/Python/future.gcda delete mode 100644 Python-2.7.18/Python/getargs.gcda delete mode 100644 Python-2.7.18/Python/getcompiler.gcda delete mode 100644 Python-2.7.18/Python/getcopyright.gcda delete mode 100644 Python-2.7.18/Python/getopt.gcda delete mode 100644 Python-2.7.18/Python/getplatform.gcda delete mode 100644 Python-2.7.18/Python/getversion.gcda delete mode 100644 Python-2.7.18/Python/import.gcda delete mode 100644 Python-2.7.18/Python/importdl.gcda delete mode 100644 Python-2.7.18/Python/marshal.gcda delete mode 100644 Python-2.7.18/Python/modsupport.gcda delete mode 100644 Python-2.7.18/Python/mysnprintf.gcda delete mode 100644 Python-2.7.18/Python/mystrtoul.gcda delete mode 100644 Python-2.7.18/Python/peephole.gcda delete mode 100644 Python-2.7.18/Python/pyarena.gcda delete mode 100644 Python-2.7.18/Python/pymath.gcda delete mode 100644 Python-2.7.18/Python/pystate.gcda delete mode 100644 Python-2.7.18/Python/pystrcmp.gcda delete mode 100644 Python-2.7.18/Python/pystrtod.gcda delete mode 100644 Python-2.7.18/Python/pythonrun.gcda delete mode 100644 Python-2.7.18/Python/random.gcda delete mode 100644 Python-2.7.18/Python/structmember.gcda delete mode 100644 Python-2.7.18/Python/symtable.gcda delete mode 100644 Python-2.7.18/Python/sysmodule.gcda delete mode 100644 Python-2.7.18/Python/thread.gcda delete mode 100644 Python-2.7.18/Python/traceback.gcda diff --git a/Python-2.7.18/Modules/_codecsmodule.gcda b/Python-2.7.18/Modules/_codecsmodule.gcda deleted file mode 100644 index 4c6c72a805a68518bc8546496e8b1041e4fb9664..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2280 zcmYdHNlw=?Hg>AtZ?!b}`^tO<28M+kKtdddub4{!Nd`t9An{%?IP^B_)r)qUb{_yL zVH5z02?8+)z-R`Bm5dOP^^71ho-;vsKoV?5py0fI+j6aR&){(-&FhN%}8!BS&v* z;{B9Qj1`Z`(VI9kTGaIAidW?5jnv)56ZtoYEPI7x7L`8Gyt;@Sdo_!<_yp>{@+U{{ z8m4Ix)7S0XLyq2O#chf;AwNUN(VPAxFyGczc{@3Je;b%GyVty1L5|)h*?RfA=luyI zN3VmwxcJ)zuD)%X7wUS)kd9MXO5!;Ra7^5b>GKPkucXYC?Jt@qwrj`T^oAyzL*%$$&)z_FMJ0zAG4`bRDa1HUdS5|| z+NU?a3%&h#{1!24D|si^)n2}%MU2|CunwVB2X3t+M(v@ZjahfhxJnmzC$KJN|qZKjvhK1KouK7|d6Vv+njUaPxkWd$0`I+V* zsIYPSCH}^CkY0TGDD21q+Zi`gR}rH&%WkRP(q?~MV(Q@uLR;9Do`1QTdvR+E$PJ(t U38K9L2}uMWwf*r1(NYyVYRd{?ZA&jnk&8S5E;fYm|b>+$L*M*p0D>{j%zumqX0 z0L=`DPEI@KT^sET=O!d_hA_~UX%)k~V_hl@7p0s2Yg}l#-%nV@$N+?wQ^4+gGy(fZXbV=2i!Y2Pq^`(`K~$f0+Pl z`N(43pFco$l9T_7BG1H&XP71#>?vRanbCpfZerp#P2Wz1x7+E+tvOphgUlc%kHk*U zN?~>qoc(-4PXb8K3Nq|{nEBXl`KO34bDhuM0GV+D%?wCjqlQ^5*Yeus+uyQA#@_^| zL-a5+AS;GY?O1yuPkt?TIM=qG|D_;zDFDsXhnfqcp@l z^2M5^FP6E1%+^3M0cJLgR)EUE_{enwvK{--?2ur+BBbMJ{dzafSVKhvfSXvo}LR{iF zl*5H_xdWFtT;nif6u|w1J>Tv}%TwB~cZ680-gI?KnGprbQ#0WD85m%B2__^5W1!I@ z1o&vu1i9#W5?G)>0d_y#MU(^J_UEEpuEa|-Ra<`E*7gMX=>bqTqO5@!1>?hLs0DC! z2U#E@l28d4AEu668r?oz=Af%X=VR(agpC5GBo+}!Ilc!iJsj>~3X1iKwV&9;E2`&H2qD);vktKv-udIF5*@BcHVPTJ^YzUL{43*OPR)LkfleHL7+m1=*AE z7t$9YE{s+(Zom?9gI@@>-j8T}oF(+Jv1X!{e>x}(4E{mFfV?&Z_4T zsdeQi!a#2DKuhO{@|vEh3e}DGXYB}T=n7?788tlz9J6Obdw(V#4^ax&5C9EIeyeBjt6Sl=|3PQjZ}a=Caw`i_?M0WFg}ZXjus{ zAA30eyDsc(yR_@m>l?O(AU!*P1v+wC91LY!bijFy%%zVe@yqVq2y&wUT3%K_4}PqC z)bKr^mQxhoHOb`0lv}`VE@pWNF#=W3k#||ORU8IlGd1_W1?f?MwnHFlv4<~@kXH1C zooxoB#L0`^2LZ2jx9%IvapKEmV;x+7ZL4pGW;?aw#N*+1AG7W&b4iI4hNZh~oQ?(+ zoV+X^4|0bC5pi@Uon>ek_?PIKw|y+SH8Q34&yS07gT22tG_4od%l52(sfDBTNUx4mQcwLuDrpdqRd>S25s4KoMEN6;%76%ZUeEQp(9 I5pHGx0JDlD!vFvP diff --git a/Python-2.7.18/Modules/gcmodule.gcda b/Python-2.7.18/Modules/gcmodule.gcda deleted file mode 100644 index 0306342bb36aa879f30b440da8263fd11fd26c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4652 zcmc&$2~3qo5dI$sDxyUSXiLE7MFp$A6qTcLiU*1Yselv$Qc$QBP!N@hqQxsTeJI#U zDCqNmfTCC{2`#kZeYRq&7H`5)Y0*Sm>k*4|XLslQ@Bg0 z$0fM9y82h`^DNowUK}O}!j4{~8$iBGZUad#C@e`=x;G`wqV>CPy${yZ5s2b`XJ@A% zlq&!r2$hN_lxNt@*<)2-Za2xY_6V8{SS3JsTh+t{PGcBFUe_1QAI=^cRia*K;Zf*_Btuaz#tU;4n`mKlj<7o;R^|lM9)5mCa|Pyr)hmu@F?1mE zQeTiS-l(rTMM=@QA;dQfdQD2!S`UOtW2;!?h_xCa?&-YMMZ6Gv`=Z&|#N|b}D zPTjP;1-{+8xQ9JDQkS31%8ovE@?ZyG>p2$kuHU40_=JPmsK@V(RjbQxyMt}rE7;DO zxo?KYadq^gqH`@^Tfl8~@2vj(h9uIsJl5qdvHMr0GG-qu zx-~N(KiLJ=aQYS2zjfnftDleA&sliAVJFzOaa*=R>3TXYcsf_t2ALVN9_Qfm%VUZo z|1<{s&m6}Esop80Ls#b|K@5#u#86oAVe-Un(_)PA+wy7Tg2IRlhd#U3(L2@E+A1R^ z+C5B|P@3iNR}92}XXr(FNc7nwD9?sA856_eJu{s>+e|N1XRCIDUsij>`>R`vLZ+`W zO9~FLHwK&E&~HI$mGxbf`HdCe7tX8r4oc4_${qEdUoj4NzvhZ&^#10TMEI?lq26b; zW>FE%39*;I38KmC8DXqPxw|1Ux2VTB(&JcRM5^I<)XU8Ea)daWc7{ZIw3G93T!C^q z0@n zM|;%gwwEshJ<8#q9&)`1gsjnA2iCu1>T<~9YW>qTa=UjZ<`SKT>Gkr)#oZ?8SDsIL zNSId|Q(~0s$O-e8*xveHnG7-Ee-494>+Ql~yCv>FKGa z)udVYoIOPEu##x;{>8t^pvAnNpj>_~hKYxl`n(jiDL!RsqDf1miN>}5n6l)?DnHjJwIp2FTKi6!EgRuH`0ttkTK_@0uVacne} zA2xTSs(yNGi}w)D&-8;VmZ*6wmd|)BNF(@ydxbMS#(;Wx3@FDK;xPh#hOe9d<`pu( Qf8O$YP1TSO18<`6AKDe_A^-pY diff --git a/Python-2.7.18/Modules/getbuildinfo.gcda b/Python-2.7.18/Modules/getbuildinfo.gcda deleted file mode 100644 index 1d982f71a83b9d3471c6fccb5376331b27f2e00d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmYdHNlw=?Hg@tpVzspY#(E(J28M+kKtdddub4{!Nd`t9An|lkVt!kt+^ikV21|fS z7(r?TL9$@59?YKx<3jbM)CS8Ja7q{9(=!!K&qbw+`mzVpFWPO|eE?*S08k!g4~%AD LfY{fM(8~Y-%#I(I diff --git a/Python-2.7.18/Modules/getpath.gcda b/Python-2.7.18/Modules/getpath.gcda deleted file mode 100644 index a9bdc69a7d2e2cccbfe347250dd1aea1e63834d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1872 zcmYdHNlw=?Hg;OF+G?rD>Xvs53=9i7fP^>@Uon>ek_?PIKtiO%$7ylbIVPtiHZ4FU zj3607kSq|O(+mvj89`>u1j~X6uo;^l#VS1R@6E?%20|%}1u4RxQ*AJ67hAM#3F!eBbLVTDy7!6Yo zOYgG~0^sy6p1GZQQ^t?`)%P8mL22X$P##k+LK89zrVd6U%aOu{=~sekg3&NDVDjiR zOrCfel3y1gG=Re(t#PeX{M}F8iE<1@pfETAl!w`cP>P)eQwO85t0F84(+~4IjE0G$ z(}Ycgset%-9*heuqh2k@lW%6;DV=skA^_y)7ytkN2c?l8U>Z`MuKIg4Re0C4GP`@v z6hUe-fM&qlg)oj*EQq@oAdCmcl}XxyM4c^@HN4*B+JW5UfRJa{4Q0bTyBj7BqhadNX>|9&_%QR()f3{gLKUFfORjmi?1SYG z7){80^l*dm(P>=v5i3rtdAQWU#L?}8iNnGbM#I#h^I_tIXoS9%jIgo|RnK}xP$GXj@5sN6SzDI$r6 zgasoav4O)vZ;z_sljC!bMjl+J2(B-HW+Ie8EI{YOti>e`lZVm7szX;#sy>*0!t_eU z0>X-DpaOdwJiL5XLZOJMP-12huqs{1H~~-nzGq`*wRc{Qf7@1(c_6hBKv$yIGlclW OdkoRW0OccgB#i*-=}mzE diff --git a/Python-2.7.18/Modules/posixmodule.gcda b/Python-2.7.18/Modules/posixmodule.gcda deleted file mode 100644 index 7b6ffd7333b26354ecb5e407ca6d77b6f8049aca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9320 zcmeHMc|4R`AD<~yB1Bqnn~ap5RF-fpAx4&LLs>$0Ddd)=_42wJrI)wca+R`{N)lzCI=d~V-WIrtW6C2 zOuV2D<-~j7H?MYh|Gy@&jD zS+!xjLS(xmoEJm7sm!0S^;)BWA)O&bcf?Loh>YnfyAW+BBA zz?;kF0Z+OPAXQhxC*!6ybix^WWzMRN=>)Xf$ z&qLLM<$HU>0ahDxI6e;CbbR|n--B8eh>KVLx&B2BskvJ>lXt!Y&q}~BnydhSCfUuT z*y->WOX79TySz2nAOBonyE^age}Z7;W)N+MkBGh&ZobWKhXJBy62xaN%kx!1fX3MRB~GL4cIooiXjCXn@^BfHhf3 zm);aq(15~Adf&L7LAjWcFE^MDc+V5?uGUU*<7=b=nyq>e+m>=~!Cxg6J zx9K#1O(*b6iMfB2fcvX9k%GzsfGr`wmem>h&0KC*hk~8iGHM_d;_5nhKluaTJw(83 zAJk-Yf0fq(b#dj(0NYN0)g3hPPP^C zTSo&0Yi`=dCs=7yi-K*)QJG%<=w%QJ*0m!f^60wsc_`Qrr%~&~?`2Xonk{00e=7<6 ztEb!~pc|?eLAyA^o>x9dh{*f@D%*YTh)9tYznOc#fD5isEFMm*S?eQe*1j-vmzWq?fF;V8a^sLix+edAhT^C6vLTWFW(7wS?46(8 z=0xu}wYOR@Lm1dlO5jtc5*-Dd_*2JGuo-zu4x%-bgW`6LseqR#RzqP|wJ337mm2$; zTLHG2z=q*7#`CB0U%IziPKpm;`^H#%77Fh`VF*tDzZDG)i|JYyic$xZ;$~3&lqjQd zW@XIWBdXDlPVCSQWta!1RIEt{Hm+ii2c~;bhh+?;awn*^#!TKr`8))U-^nqA8%Vve> zCxDlzmIj^`Tq(5lpZX~K!s4uECxI*9`0c8nX2Hwe(VJ&%^ft~YMB!Ebd6wf2m#WIj zZ$py+FVXy56Chz%b@^C7iVYE(N7syc1$3kAMGx)K7t!Riyos`g7rIu7exv^^;mpcG z=2`{wj)G-A?~8M8>?hkV?y^=%fX@ZF%V3j0iQlh=WAD!Fi}`Ln#rK`8jH1GpR^gTr z;6I|;Li+B)l04m2>1RDvT>+M8eg#+eY*cu;XMV-@-J5vDyKSgfKejw60|mRMXxB`O z503-G2h)Szx0fdmgJp4}Fp3jLjS$r^vQ-(n=^fEH|XQ zCA>O83|rJ5X|^*GXDXR!F7Im@*y?`V!5d z4>@n`BZv9kcShg*g%>vA=^610t+^W>9dU3y?<26uRc6tgw7D@IDD&Dv)+40l*vTf8^;KvdpL>4- zr4ZTxV&uqP2cg8*$V6N|H=Nu#GxdgB2IL?b$BNs!`qH;f&PKtiT)fJ!UQ+&uI?#fh zffDakyxv^bd%WGNHq7z*OMpF3;LFNVOYa+-lZ*QjdYOCPQtYe>zbSWl1b>8yBvqZaDvkwoW%*EmviT1xGo>oP9S8ZFK5%c;UJqm@lCgq7AP3o;D zN<5t1@|PZ(L^DRgcAI;;JW(wYL&4@Hx6{(*b{M1Bn;PA25%zHGIf@^~OsahUA?^@? z!rPP7CrSU^B@e~kq@orbvn10L6l_xjzYw)tatX@5WF&wlrJ*>gkFs_Rigo%%?QWTN zUBmhaubLlWq!q2qpl_q;?`;QITPzJbKBgk;2h{Nr*3~pN9)k2yc*(VRU{gAVfzMz+>Z1j&FVMcdF$deKd^!`OaGJtJ z<9vUwiM4gMlg`dw61CV2aKZfpx7d#`_ZO^smyyQLe<1j|3VuGK^gUM`qBgqTAQM0D zQTqBYj)#VnS4U-)2>%3ZF2P0$*GD*LUOL1DW0Cx`i(5Oy!uxm$@1x7V_Ftvnr~G4{ zb5ROv9l}qKE;wOy@&xdWCwo7rj&9HdBxkO4x%a5${a94`(lLJ!aMKC)nrB@$S=q`Z e&PBo2z0gt4mG^pwQh#$_Yx%9s%o*c>CH(=+yjTMO diff --git a/Python-2.7.18/Modules/pwdmodule.gcda b/Python-2.7.18/Modules/pwdmodule.gcda deleted file mode 100644 index 96176657bb408027e3c16820ab46c91044e723b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmYdHNlw=?Hg?*!-D+u3ecw_B28M+kKtdddub4{!Nd`t9AaP244ZFsS>zdPUJt+h# zVLb8w|9=LCm5d+-3=HcTe}MTAwQH;WLd7+%Jd$6m09Km;RcioIOd^SDw&p#T$d)zF z_zZ7&)(~<>^WW7u(GMmBo{70}9;9{y9yiPQeKkBUGK0Zm-ulfTwJ@Uon>ek_?PIK;m^#0h{_MF#)?xyAJ@B ZFbV+0Kx#lh1VRDH^^73BjBq{!0{~5f5KI67 diff --git a/Python-2.7.18/Modules/signalmodule.gcda b/Python-2.7.18/Modules/signalmodule.gcda deleted file mode 100644 index 8d438fd947ef92e869a55f0811f42036ec663238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3952 zcmYdHNlw=?Hg;OD!D{Kt+uCaw7#J3E010s*zG5x`BpDcafW)7z*W4yd&T9_5;Q9-w zgz>=t|Nj{nRx*MVFfgoV`~l`e)QWu($`4-6EvLzx;Q~_o0FT=4Q#19haY!7r+qC-t zNUZ?SG(nJ&KmenW?E$$>ff+0fBEW77+I1lQz&po7x8`j53^D`cYM5Sh8r>{@s1IOf zxz4{XUpuq+1@oXqY^V z#-$%!9-R-GrZwh18S?Cz|&qgeSJ@>D|?efjPZkT zklG!1)ViOp4E(g6m1#$_!4hyA5RclEPnH+Y@7{THcZI?MklGb^)ZTu$+ho&o2H|#g z@tq*G`1(;9p(f7tiCn=_`Ipau)Ly`2?rQU#klO)At|iqi@&>8Rz@t{=y|5HWqSl4F?#+Z6YQ5u>eniEo!J+?C}7asw>h6o^XVsD0k@ T8T`8H99z2GxNm0T@jC+m?SfnM diff --git a/Python-2.7.18/Modules/symtablemodule.gcda b/Python-2.7.18/Modules/symtablemodule.gcda deleted file mode 100644 index d3167c7a8b1717674b17315a073092031ce9b6d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmYdHNlw=?Hg-xnY_;^B*84{c3=9i7fP^>@Uon>ek_?PIK;lk>LelYyPo?}D|84>* lVKn&v|33r6dd44M8luMLfuLZANLe+HuBs|X%?eaC3;&0M$8gd&ogc_T(arNR*>2Sc+}b+V5`5|@aTixrrifX zYCqsndm>-MJ%358h23+jOCYs3@TgsV+(Uh@FqC2U3m2svgxY z?L4liEd9rMyHrDf#v|fWfC#;rwJ{#Kdv9#1@;rMEq<00LIQzt5mEk<)(ZSYB$^Ia< z2k@vpd%wdXHLK5$YfE!0sctF@aW{!tax3Zao%&@Uy*r@xC}8yux*%%Ucx*`z;9P7t zZO3kAU}jm!=m0g#0bLted{ny}Z!#sh3LN{~bNHMX$gT}gyQq<#iWhDc(_Zl`dWn$$ zF#9iL)S#l-j53n47U5ry&;7hh0c5rW)a(MX!h}*ys9}0z4v*d4__ZhJrES^lHUWw6raC^7D=0m>yd({~DL3%Gh?S=Rb)s6k!9>Uxy zNt0N6_CFw`_C$g*qwWfetH@Uon>ek_?PIKw{suwJK-cee*oAesKm+ z3FCzS|Nk>EtYic!U|?9!_yf#`s9pHV%UtlY%3c1m9Wy~{S3uPYKop~qsColtTZSpz zWH;nq+}Z-t`+@|$pDrEdT=Q-BZ*;v73sLRqVL8NW{V__yKv-ud$essy{Nw&KLTuj- ztsc8gyAOcWe!!zv=_^}8@8pTT=x!j!@9!5kM$0xn>|OoA^(n}n8+hyqQ#&iy(z;_K Vx;@zZs`25BlyFmI5COk3003jvrX&CW diff --git a/Python-2.7.18/Modules/zipimport.gcda b/Python-2.7.18/Modules/zipimport.gcda deleted file mode 100644 index 1752a0280d3ac3c31c486bb2efa79558a0f08cdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2352 zcmYdHNlw=?Hg?*5&}yl+z-4v@28M+kKtdddub4{!Nd`t9Ad&Yj*!53W?S`kK{o8>` z7%PBcf*@HWfX;_Wp^KBtN9bG02r+v-Bgn0PVHQE%`d~$>L6GPLSG{5n7LZ#5{{R2a zz_5~00HF?vwVv?@SRUd}rnO}@E$(aw+2(u%dVV3}0uuBZF< zR|gXx?ljEbFdDaiS28N#mPC?)^~ho)6=E_eZUKQ!+pz=MyL z4Ai`Ouz!2#yHwR*3DZB=gWPffkDs^wtg&-D)~m>I?YbsN?G8L@JC<9R^T7n9YL*7mP*^JyOMC z`Vsn8G6ui|NuXi+VMW-)W)pDn3KM5wfaDu3m;z{hSawu1qoCWwL{>{p6y!%(z9A-U ztt(l|P=4;pdxgsr^uT(7?nT%KaXdPo8|o(*4fEn;7z0Y9mlsNC@-X%NXzJ1Rp=pD2 SVfx?#L^Dv^7ix&`WB>s50CK

oZ%(TGf!(%=r?CyXSy&5?zryO^wW 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 diff --git a/Python-2.7.18/Objects/bufferobject.gcda b/Python-2.7.18/Objects/bufferobject.gcda deleted file mode 100644 index 8ae98c0b80033b1f7cf4954fa60b89b490052f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1788 zcmYdHNlw=?Hg;P2(sF6ho3$?(7#J3E010s*zG5x`BpDcafW(0VtMvjZ{8tzV>+A$7 zVSMoa|9=LC<%}Q&3=Auw^m@i0U~!0^==o8pmJ%h0_ub^s1L?UzgdUxi`4xp9Q=2QN zUREd8o)cRIwB1#Y>|OEOP86i)1QGV|{ZrTbqaq+hiren1Wd_+G`KE?jhf8%R$FnjUi8VX*6w!Ado=k2RTX??7fspqYuy9fFz1MR$rDdytaO zdNOBMol=ZnN{SwzTf#y~)j1r`?nf1X+(t}#zOnBmr=p_T)Sr7VT?gqo0QHXm#3N`V z_B`>?aAC0Xl}+=ME&o+gE1d606~_AfFge1#xU~gj<_jXid3`%)j0`_d04ZVC6>?v| zv6QELNmyDR$etZU*t53zU2e=L_vr@eD|$eBh$#cISGE<`96j#xa7yJVV(mG?m}y-p z>B_o=MNS)=J=o(2H4g;Xn6mC|f6j0uFn=qt_VR_5ip719o~yLudKE|yEKNWX1NJnq z?6i|R-;qfQcAIt|0O|QaL^#e?`JrQ&bRm@#J-<^K)LrJ<-$?tcmIJbfm~!A)*DjxQ z-++Il=y5z5pRhwdZ&Hw=1CFhj@ diff --git a/Python-2.7.18/Objects/bytearrayobject.gcda b/Python-2.7.18/Objects/bytearrayobject.gcda deleted file mode 100644 index 520d311daa825ae3455745b4a6627efad5c779d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9264 zcmeHN30M?I79Ql-;ZP181r3)H#NiqkV1?xn;xNbx4tRj_afn0&1r!ue0>X-lB0@AG z3R!SLz>C90U?D2UBGJexqMSiDDB=#=u8ZKwc1_a^)3l$}BwyTY(%(nd)bYRfzgMqb z)zq-jZ<9Zh&9C(ZWRzsW*#$5I5SWNFXSWrK&&Z3GzV#en zz9nE3FolG-sNT1C!#6w({6STfsm%Z~`lca6{bjU0-zYJtL_$p$$hbcZ8S&Okt9#kp z*VdOStAGrIAOkZ(l=~}s(l+Msb*aQBvvvba6$EBAUDG4%m9j*~3ypSwaVKD4d=~85 z5K`-6ZSttyw1~`JGOqoZblHO3kyC2Pz4`#dBIwn?Kp%LE+W#i#k=M(h?{ld5ETH$5 zZFR<t(9?f9 zcbz8dNNj-r$Q^*mg20qFJ986s*Hrohrgs1g%(@w#JF?681(I{}({^82dm34Rjw{MW zG*z9{EdeG4f?M05g|2q0#7w2nEcyXv**noZ(D#Aa{{QF}jaiqcQZ|l^kO8T zz`(?;%w}D6pMyzPzw*lK1sGxug2^X0GjgSET@#QWBcs7WM@g@=Dv=6z?(>nQt*NQ{ zk-;f~TmWP5@ZtaH4$fF*^;dn)5U_U{#5$OJr)14_z0<8JQX8rOCSe>y?i=#`ap+C) z#sfVU1}mHote>uo!#cgL6=JoQ--_Sz0y1FY$f#;iy|cbeYZGIRHNX@>*sGX&KEPvx z(~9Fmml9z0+^t$Grx}CXXc!nXhsEf)TkS2|&5PK}r`rMyo|mckRUx$A$-~SuQ{I1O zB9Jjk$WdhL@k%*+dC=#7dCf4UO92c_+v&0aJ_Tpn zM)3)V;A~rc{)AbEsf@Sk_F};~)gA4|W#HumV*CTK9k1i%`^Qf`GXqXd1Wu9j*`IWs zx|6_HTF3`Jf{7FDVv7a;LUtHdu6FYT7-HVWIEn5<*Oyl;ZxVBoqJlBrpKP|YByIr} z3==uH*;e)8jX=`(rI3dZ1#IOCpqZ5|cOA<3h`vD!%`tl^+7Al}>wIh92kyB}&4UBkw4fD~;9?T~x~bbdW4PD_U;r=t!S&;% z@p#8Id;rOvB^~X%OW@U5ohlJ}R@u9Ir)vrS`YSXh91;zV1+x`wX(IM8Dq+Sd?K~EzDzwbl?hc*W& zLm#}H%n$3q^gkx(Z>h`iD_gG>+f(RY0Q7Hx&|g`=4%<-|VrgB%7zLQ^GbY=KY5TRk z@%jI$?Iy~_>v;K7>-*)%6R!E#{|VCA`no|_UjwfYS6(%Tm;CjdT(DN|qX{BVT9h!c zF4{}IhRY+C)Fu6fpymN#OoE&|^}%A~79mC+Fu0z#vz{Gx(;q{(ZsGkUh9|$1XtvJ` zvAA^~w76yknb^zl(p%ebYhxQ0zKe-+C1UoXnF;h!(k>rmQI0}9v zM&5Rmp6gy7kRY2U@;Mic)6gZg>$e_E)H8}$ zR|8}a@8)4-JUU^e=%a2|grBou>~&JlQX206;wrN51^T}Z=y{%Gx)72!&?IaZ`bT3@ zJASs*Z#knZIv&d_Erj{9*j>5s>}R~kRD7>ieZ|_iyC8u3#$-R>e;;CwZL9lCRTf{4 z-gGZq@LjbJ0<()5K|6Gyp`A)Bb!BsXQ@Uon>ek_?PIK;nb4ezJsr&aqw-*HWMo z#uxwp|7T!W$p})wz_6b22bd30>$hi7VrsX1@cn`nxFPud6g)$B1IKuHa>Tpic+k0D#<;* z=J1J|AUB`D| g=eMJeeyeLt2B|ebSi*oi%|a9*<{9 diff --git a/Python-2.7.18/Objects/cellobject.gcda b/Python-2.7.18/Objects/cellobject.gcda deleted file mode 100644 index 47799c7b02fa4360356ede38771fbfcc3f3942fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmYdHNlw=?Hg;5o7q zj4%HG|Ifg%k`bhUfnh!44=^91_JRVBj*p7q%ECFhH6XPLKo!zJj12gp92gBU%K#__ z<1<0!T^iP^fSAls{>Ouo+HDWwq2qVQ$zAR{~+6 z^I>j)iNoBmcjDh7kPe_{z~JhGU|SHw9Kr>X5I5Y1X@G{AR9bcJ^5Xiqe!izaL2h_} zC(I<0{>J|b_}hO^VWAvI?EyS$`(LjtXL_2ChP=mJ>yhC$r~3KI~3(S;B$ zkc5OYOdRH9Sh%u6)y2Pxs{k=!;STeoB1{9+k0*rxxW+74Sn%b+VJVPXETH(T6$+_t7QUjR@N|QY>txy`~{%|yL1Q*o~X@ngN06e*Pr2qf` diff --git a/Python-2.7.18/Objects/classobject.gcda b/Python-2.7.18/Objects/classobject.gcda deleted file mode 100644 index 4ce0d4b56738f7434288334699cfe555f8142da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12500 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 XAPf-`2(8Es4OpahCdh1mgxL%L>;C%y diff --git a/Python-2.7.18/Objects/complexobject.gcda b/Python-2.7.18/Objects/complexobject.gcda deleted file mode 100644 index ffc5d9f6fac1bb8670a7e80bd94534907fda2de9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2320 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 PP+>E)_`5w3nX6foeNaL zc;f&6{|pQ(89@pd7}hiX0P`VgD}qc_8AQ2jml`~E1gTvBRVx5dj7FmB{qz2$_6xR( zTe4beq9DBwNYJ}Z`n4VJmK$nL-b}YZdM`lrDxlejor~&@ZAE*0{+(SLuTY^80W!;g z0<#43?iJ6SC!Qg$C;kIuRsz(l1ndr>vM8#*1QwqxP(FBI@6@Uon>ek_?PIK;lW6l})_!g(+*CQ#64} z7%hNef*@HW0OP}Gm=uf;qZt@hGCBYyVSGlY!i!BOlt4_FIE=<6&%m&r5#&}IW~c#B zx7ysEE5!NT?p951%@>ec3%D`OgzJDZV0Mj)qlW;5KN>!x;eebnM$-d%=>Zmou<(P? zFmV`7NPJWt7E-7*EL>nTsx0yKz^H!okc04H;R2)4Rl&qz^r$>)2*APxMx)A(rcYS7 z!06HNK@9<1;Q~{IE|1Q~r4A;JPUF&#t`3vGlFPJA7t!MlJ=0o}_abZU3kps;17`A6;QnjNIGycQO(-yc*1GZ)5I0TxOwttBi?|Hj^_)eD_;ipStzhK zV3$9jR&(;Fq@*-Ey#Se;K!F>z zdqpy`^M6hu#*Gh79T#l(ZJqh?-uzDFI3YKEA*Yqsjw(L(_QuS&=4|;4GW!M8PsF5^ zwxSGci=Y(unWv(G-B3hYp@zFwyw9r^|1`5qa{g&Qkl72M?xKd-PmAZv@ux3cLrk2j z9hw%ba%c5EV$`NegvYWyu=_!b+WSheR`+++d?!Y&%;b=A7jxmI#Hfw;oLV`}HiDlR zwfminyk`6;sNKU3Qi3*2)IC_XG)P^=sxrcK6SdOUTjt@^4^k}+DDAq3b(AF3%VBU#DvpNJEh!T2{)#Z0?+LEfpj#qwMzDB}7LeKtB&1Uzp5jFDPsLHh*i-ervt%~| zr+Gi$)1M%F@YQqtc5fX0zAjh2IxP=4sJW0)fCM)^`kiGP_$~UzwRiiOKzd>IUIOlh z02O6W>uW`uchYWRm-5M}uZ-)Xv%WbgtX&plT|UtMa6TKWySDJ-*Vi?t!Q;sa(D*2z zV#pD16lxd;pY%_-b^Ua`)K!~sP&jQMA+0!^_!n!vLQ=<=M_&k}_r^a+JGFs$$IwtE zsz0}Xi4LgL)IUy(c2%AI&)jR-`j)VC3Ytl9f%*)c2DRfAkmO zA21g}0l05)G;J4~IZyj5SUW5N$t;*c7>zIsCIX?+#bJDO8a8)HUDm9=18_a(70| zZ@XFV)<&v5x2Dw8Ut;O>m(@}e1?k0C=d(P_uPVOyFbh51VDtOG3$vp`GQZvF?7g-XHW_zrNg<0`80MAR(Pg zXdSJIkZFCfUdb*NWX}SqUInaihc1X3muG))MeTk1_eqrZ#72-=;6fNp3pW8i^4JV$ zj+Ps3j&^dHG7HC(i|2X{pA!Sw5rAag3?w#)iOz>fql=^SL2f93DMq4U>R`pp-id#U zK+--?HCG=5+amKxRSzrM17U?fbY2=XzkRIsryr~=k^owg0ab%e!|FtsILs(mod^?$ z*>wV@0BTp(WEW}v3sJ>hr;Rev!*>lrE!fBC{4S_Gy0{ut97coOh#YUw;A4R4hgoy2 zb%i}h4kixM50i)0jWBVTpH9LQK>ZXXe^AHbUSCbf#G(+8pFDtO&PJ#KTaV5M3jzr@ zs5)Hou<(Yd$4x`(C}0MK0dN~coKMegndfAE=ATzBL2iox%A$uKAwJANbagOs1P!Tg aVd`K(Fm*$%D@YAY9HAZ;3*whgNYVi3xs%uc diff --git a/Python-2.7.18/Objects/fileobject.gcda b/Python-2.7.18/Objects/fileobject.gcda deleted file mode 100644 index f998a6bcd44a977a4daa20ae80c34e9909b3ee92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7172 zcmdT|4Nw$y6u(m@MKdr_^Z-E+xG#W;-pt?W@Se=CO#VFcQRoA>XEmnM;uZGKNvy`35#$GYLatIu^ehu(Y{T^*2)m0o}|D2 zPW~uO^bV+1G=q+5gFG7pSMwPJ6K0-h_E(@hE5q6$MY*f-1V7d__aikA8c;AW?~Wli zc(Pw#sCk6hY?jGPa?BI+aE%trn^}L{S{TwJVV2hI$Xl{B^&*H>=z!CK4qyO6amZ8Z zpgS8dlibsWR3_tkIhWM6X!8lT)ZnX;BNrxJhq)&4oo~~H9if*UJyjzfDe5VY^8YV2 z$#u^}@>~zRNP1w;w>iUux1L?A@ZO#RJz#Vo*GLC2PZwg62RIafn{!t(=g!0DDr)ok zn~Mhj`XkI)XW`4uVk|YJI9GYWPI~PgC3Cn}u;$e)<1)jU8ADAl2RPir`GmU?O6P$% z*h2#tCGxoZ*Y8|B5^PY8`$s+qxraRqyQRF*GuOX5Qls*Uh8%YC`?A;`WVz4&nebu! zn*$~vR(cN}0k)sk<2L z{5zkJlXn5j-WIuZ9?K8z4QCi*S{WHs_&Z^ z(-7nVd3VI7=5v=Ku!d|sVscwpXJqJ?QtAWsRPH=4-7n7xjmEC;rjRWebC#5qX2#t$ zLM>(ddrNaZunQK}dq7xnZd_J&^5s3AtFs}Oe2L!mm{jjpo8)#Y>$l#)fK~E&>s-j< z$(vZutMulbK9yGw#{OP^XbYW47RA`2UCOA9XZrqc-Bw#+pASLd+70by3@tqPTc^hond(HMI__^Rwv>2%MrezaW`M8-hH?o>(^5PJ6;>sK{Yd75p^ho`7UN^#A7{4 zeK^*74@mBv@~$fIo2Eh%N5XCb^L+ z86M-}mMT{oGyp?6#;1CeV;)qGavBozNBmLuC||&!9Pj(#s7+wJ{*{g|~?st4?M zQyOC<7DG%9ah!Wh?6-|`Hh|{tq7TX1*8H?La#2d-I7ja019Jk?&y?nj9Q674bm+a& zj909=^Z8H<>pSytQtNd+jnn7UxYrdlULOmwk2|rZKl%8gcb@h_=%7yfioh1W+pw1~ z3wu1`D5Z8(FUAXYCia{`9(xeJXTcWbVt!ngbN#SFaKPSi&zcX#P7m9v>E9t^8q^BT zKzzse9UUUrNRAMP6v327xj?ydJdhV)P1OF|*dfZXrz1$OOgQ!0f<`~3sc`eeB`}9F z!ExIN=Y#^vqZ}#KBQHkL?!Qv>4`+{vZ z3OE(z(LhX&dV2mHBe~2mR;4zk`xYCwd$adySbxIaDtK{aB=iDj-JN%W6n)Zo0{`Ux zZw~KaB?jd0P7Sd&9!<67c|rU1%u#Kh#k#z4A2=3TD;FTS{7N+a<>(6E@ zPD0L7ceoO5Zt~#`5BHbks@OhjmbjN?w7xK)&V6y5BiPufx+zg^afz6NQpmAwG`MX< N2i9jvFQFf0{{r;JiJt%f diff --git a/Python-2.7.18/Objects/floatobject.gcda b/Python-2.7.18/Objects/floatobject.gcda deleted file mode 100644 index 89ca53ebcf018bc5f2bd8a34d6c71d16fee57bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 zcmYdHNlw=?Hg=lBX0`Os7nO$$3=9i7fP^>@Uon>ek_?PIK;n1YAEo<`lT%C=?5PJT zVN3wYkO;V->R~jx_5gGNhLwyEq4kU)H{D}~D*(HR!Dd2kP1-|Nox>NzV^3 zAL4$_SuU9!M;BX6iAJe$N(;&Bd0Ntkqb)!2PUBn6zfcXhV z!_+~QGZZnwSg3aEqS?LVy_(PWknn4|fBx^jl{kT~x@9*3< zDMxfCvON&PQO%XI&Q^$X<*8{E zAai#>%{4&sA@NL9H*5Xp5?NMaopj$TO$B7O1Cl||9$lMdq@P&jX zs{0E+Ir==}@3Fi!XUk`hT72eCy0V_-rR_b>hhB|0Kx!}Gaf3_BT<6vIZqKv3*aJ?p zC-A7X#X4>1R>#RmM` z??Fr++isgD!hhhuB1|nP{$O<)j7Cq_575%}k}HA|_M3Oq=U->I4{}=qo^Vgt?pg5E z^u&a6%{|q~VM$E7k+ENAAG+xK(&81#u8H7c_{CS|Kly6UKf^M~{PTwM;QIdoG*1@{ zNO6RkUlXUs@)sRGWkQTUxP1-@+6Y+t6QkB-gA|k2=1Je3XU*0C#Sy-|-O^LydgY&^ zTeZdPjUcrL@Wg%ogze%NzTb%=rhIXoqQlE3xVMrRwXeRHRSV}WRXUh`^&-d(_{tY| zv3iE}-OueT-^-i;sfFbi1G3^1H9r3BX7uWfIXwkdE=vH-RED>g&@EWWh%0}C>d8ig zK5$!D;M4YLoE#ve{A5E{T~ij5;!_I{>XEiv_Hw})WbOO|t2iBW4mqfGk7dcHaA ct`6Y(OaW*wEKCqifUs7;(>ZGRuR&4>06jA6MF0Q* diff --git a/Python-2.7.18/Objects/frameobject.gcda b/Python-2.7.18/Objects/frameobject.gcda deleted file mode 100644 index f45af5f3ffa7f18d415c239f41d24f02cd2408d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 zcmYdHNlw=?Hg?*=X|?oC>8V!?3=9i7fP^>@Uon>ek_?PIK%$f_KSbv3cTv{b#x$T3 zMh&2tAV?Mopz{$@D;Wh493<9yMvz_3%y1#FUBYpKiOJs>GMyCu7lZ5qxk3r91j0b@ zS299GAZBTxnPqWHKQ6B0o#F-dncRX`Q%8GnG)L;Ria_iwiM`NiRn-P;#|%-R4o3t|+iTDcD!in>1sEp=LA z(*jZpN&`V6xGY8WLnWFYw4X1s+|9AR0NE@aN#e{ZM>A_##B#;XXr>OR3c0h z!hrc}CNxi-MuY`cBVg*VN`eJfG8*8P#3KXA+Yt!+!TG45ex+NI^xeDvPA<3xOCzu{ z2u33eMNK0`2nn!Rn!*nDJ&ViK?KbT`05aN~2@@UM^UAe82>;-UiJTGKjJfMTS)IOVD`mLc|9}=8IKfuBZX58M1f5FKEBnJXl9|YTiXc!-+A66JvM3j6I7XIk=IiUF;#>cb?lAn>v6L21!$X+9w@@_`&+FzpkL1{Sy zXkLs3s%~_?=>mxSQzZy(04*C~y3p0b#9?#-3xxH@7$!m-ox%!H_rnN6!@>fl8<)M5 zif@9}F|e{4W*>|OwWqKFT=pW=0?THgC-k77|1-pMPNDv6hciLKl z=tK|!1RoDdf~^930?0qdJ4YTQ4%NgV16Q*!{j*M=1g9`IkRl-95XkWd(J(%UO$mV60}XC?c)`ReF&m^8mY!hd!~6#m z2et7)>^hhNXdCyu*!;Rn!N%`5hi9gP^6~>b_31OCFHTI+UKe<5g};N;9)POF)n`C% zQ~uz~53RUpvH$xzFJQ{WUvFQopTokds4esshT*p2){4g=?ls|d_?9=;P zo=xKxRsh+%gM@I+dNMC(LNwZ7=iMD(sbpGf2ew=$g;0kS??VkVnzkdJMcfRx8 z6*(){n8U*p-g1rp;2E#GpGlH*%vrg4E59p|M&&NaQAoj=;Cn8>7= zL0YRz$#q=hNd0obR}i8f(o<66;$u9C+V)a+5+oPG6eQ zI-M2uFW1Hyf>5}X6L*n=TgL(d8V+Ps5)y^v}d7s3*OiG{+c`#5hwkFrl8j=z&(BjpPbB zDD*WY5wv7S^vEs3o}}ufzDo&3_Fk8L%Q`9}7Q91qqy3=Hhg)!>@%lL(L@>Utopvpp z{~$3d>e{y(w-6S+S5*!SB*m3c@NI64pU#K`%GnYA6G1-xw7W{GuO%lW5mkG_ccn4Z<=GmG<2J0J8{%x4N0pg-WzXVE^2 zHy-xt3#rQ3cj2P2_HO@c$of1ZX!o^4O@p-dZ0+Ur{y%SNzc;nf5QBBf!%1ZU>}i7& zqn>mKP%hAy89Q=^eG8X>?&o|X_y5Vj1fX0!67Qi4lWgJfIV(AG!wNt4@QBwfQskkY zAru?ri#C}D`qZ5Xa?}BR)}OBzPz1pIOM3AFCQ4cxlgdTecV;6skO zp+|m@qkiat4>|UzG8phZYHr`Y+>TZ9)t6jmyVLBAlQ{o$Z+bH~YT9m7^Ua({@;yBX z-$cL1E)`$C8~XQO*VmIT&Rwj{`g2L-H(k-cIE1fq%kQ5_w(*J)>Sp$%@8jt;dA+O@ zJjTV|Cr9DicBkFdw05AxySXInB<0|&cv@pIAm-~J_}WW->8(YUwmU!1RNkUv^3h53 z=~w4@i~Jl+U$~wqD()hZEUL5 zI<{Vu+U~29(3?wDv39)+D^u)uzS2)Q(Y_|e0uPE<8n3V0AjB|7mYWW5*q*ekuy6*& z2vh**M^~VFAM2*a+$r>OZ^!|&rFegDLZd}J>m-c@!DSxU%mthAv!ZO`!3nh+T(e>JsE32NNW_km7ljn#dz{3_51zXxqWpLg%L* qpdJ=0#njGW6@kv-JZJ_#EVgipcNUcQ`p*Pz+Gx zK<96B*6xKxKCh>hT>{w^fyI15s2GffDM9DM#9=h1JpMT9K?{e;-K@2Ke{G*D#OTqqCq)WK+kJjBm1dtgom)YYMmxLXv^!dj3XAV?Moq(KEb1t5Yjc^HkPlt#?uj1YrYGAaNWFn2%&8D^b6$pVsxi8C;)X9W4x ziy0&e24KIIMMYZvebKV%m}lkzkY6K!Qc4hchIO(K28@1Y4dLH~%Fo21ZaXVP!dVDa zJp%*6%@7%gn{?3J)N(aM{idf|cg5RBJ3wyI04j!sYdJ(CoP@;#OdgjV#c&;vIMx<# z@;^RXLc&E!Y8uFn2mk;7$ENoOSRA59{t}Cc(1#PY447E%giT=9dPZb3 zbf+GZ(u)->cl&yBC>#^AIeafX0FWD6N426NG}3FmY^Q4U%&Pr&_RbaQb{8 zEo2|odr^Exv%wOO9gwiZOh?FJY&J!J+tB6O3R3j!@@m(vwmEgpZqx1qAbUQb#Vy1G zsBzgL%7j93Yw~BvI|GHF4L;Q*gC6oDzBjWakDX)Au2<$zh`F zN9PkVlX&%r_=BZ6RI?%J?IBuvlPVTcxwqopX;R|Ixc!Rw?B;u4Nzv2Deb95!W@op= znd*+LYTyBRi13BE6_mGjATlF3Z?UPDMl5+z?8m<8#U+qg3J}F$vIvO{Vj}q1 z&0d3M_Ql+ofF!4q0+`vvl&@L`O$E73yzj&GC?L6EGa@a3MG<`L?x{y}&(Fa8>{%Bx zPgX45*#z?I3L?UqedWs#bq7|i8DAOML3)1tL#-ncklaT*CTcp%D^Zkr@%r8bQqozu zn`ErPCo>sXc?e1i#cVJaV-G(swD9X{++Wk`eSHPbid#=XVR3_q@H_HeCsF^v;t=cI zd{;nvJYZG=X%QqgDNKYuguC&TAukZ=2At+k8L^pNV9StCo%iDl*dL@=PNG^w5Ta^? ziF2U}WAF&cV`zX1z|04g0}Fs+Fg~oF2Pp%wVd5}*pv^Y8I7}W^CByiz@P_fhh9Q{; zF&$w($UgjFC8Gm=1w_h1>W!CZaX#y_N8!Tb2Jaa6T?IOQA>#qGvddEN3e_#ZmNjO3ff#qNEjOqrk$<@9pxTPbAT!X*F=EUJ6S5Bt zu{_;CiC-p}6lFh}oEpAL_>LmT9Veh+irs!hI}*8_wr83~`h+(I$~%~!o&cE<0E_@w zJt7H>j21K+HI9hk5m!z`!xJ;4t%h#gK+<52#3qhOoIehtrTq^%ixb#QL{ZuchoBkW0B$kDY={sfAH^XG3~^oW}TfS=CA|o{^lZIZGF$=L6i&xEbi}Sad#aor6OL=3W?$9487yIS~^7 zkI>?5-Nv1foJ$+x9rK;fu=EJ8H)ytN7~Z@F#XlDDGd==?oB@iHJg(aRf%EvR9$K6-EVsV%Q~ z4rc`@gY+ywa!LZM07ViT985%bI8enwkhHoAVHUWo0*!yIv{pL=>sv_x8HicS5Do#mci({>DQ8z3pX=v) z`V$nF#FU4OmTSb)OTKb1nYY>nq(=j2=HhsW!9W2pfYDGc!%<-v3*l#o2*h1T<7;4d z73}BK=6@Uon>ek_?PIK!W+!Nv4f|MBd#HdVUzF zgi+!D|NjgOD;X0&DrgSYGyVYE2XTvxlS#y})eD_mg5R@&+;Rfy76qc*foj&yt}kv* zd!KeN>hvB5nRS2yvu1}}U0soSqFwUX6R69u{T0W=J7nSmUy9qgP!id_3Ux3I`*gY;?ujmGURh`k7T w{O+8N=1$fpYV1$Xefk@;^T7|0T@G06LYNJ)3m1t{w~`T}1`;+?5q2^F0BZP!NB{r; diff --git a/Python-2.7.18/Objects/listobject.gcda b/Python-2.7.18/Objects/listobject.gcda deleted file mode 100644 index a2ac114e6b06dc131ee81bd3b1c49075ba9f072c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9976 zcmeGiX;2kMdY*_&1OYEV1$_oZ5TbaYA|e3=7F?7o_)?Z4qQP^CQ9L10G;zyK2@;Kw zh=TDpg-28l57rzjDoPZOpaImBNK`huM$KlG?Vj%M^}LT6c$idv?Nl*efA`T}_w>wT zO5)VF`VJZtXt49${`_!(tt3ggR^;YL{wjt#k-Ma`A-D9*$5D@GxYyP7D)S>Ex|)WD z21(kfqXLq&o5OtFGnvkGh9`%`Mjbl8`af&Jy{S$)(y?dC=x%DGO@2b?+sFJeT>83o zR`Y9)jY~gN2HSQYm>L+~s`6#y$f>S%P3h+PSHrSpud2ntk}!?^jAMCU!^Nq-w+3~+ zMRl&B{MB@(mnIMG(XROX{0rCHQ5|WZz2lvuq2LWKA%S|^b2QpF4shlRO0YVo59%hF85X4_1UTGQpw#T>AlFedg>S3U}2iB-Mo`)-M-l!GD7F|;XkQP35r!Oa%*B_YBSwpcjU1T7SH*A#dBYtpNocs$v0P@ z`ldsxZKr8`@kAK+JoX8`nuDMRF@_iwMDH;Yi|we9&z_a*-py!}XT3Js@bAR0X>8*O ze~^$d837%j2~$N+$f?J21D&7TGFK%Vf}~I1xp$hRMZP;=2TkDMYknst1Q1l9K6BbK z3gA$`idRhOpr-{vAM=}|10SGP4^^YuJp6BEA3w`2%Z98QyNcFEkJb%~!*pHrtO%d8 zIJ?F$^XRm6s$I!x744A zTfHB@M>UU*_jK@jF~X**>O`HnwSd@#FQBvx?m^-h$MyjS2o9E}1lJj=(4|9+cjkQ1n}Fmo4t4=*t*L{;j=V3&1Xhpg z+8w8xX9fe>3}bitW;@XWXiSZf8g1$4Grh-!FK_w>%i*_P-~7y8BMXe_G@)_ zrloCQpS1O^U(xvENne+68B1;xRPcTS=eXHO4&=4qBF=d1zy{X_n@VDP*srOyc%J|| z$YTh6Eg0B}abVvBs3ni>0}k>S2fA`@G6eCZNAL5vVM|JrK1ij;fZlS$>?{-@6y?4v z>YFyMBJ_I5i_)#~9_K{(J{^P*9SL0YHj`jBZ$prLT`$=_(s#+ps5;x8*Ar;}nRP}^ zaZmBK{#8G5{f(PcCxAIny|>|1_c0(*Eq6(rpW*Q3o$5D}sSR^}PpZ3!z{hr)QIlYMgY^PQQp-cLfk)4?ez)*@t5WLEYA-0HPc~ht@pu;!8 zBtek-_(p`C$I}N_{PK4?Z>6y$5uN^2kz4>7*7&Z)$8_@1OXJ!ppDjSXHJ5@M^c)Ae zCC4EJz@fZ=D}Rfn&(UHK;A{7AZME;Cm6wlu4yfr!b1pFBd0#%d%kX!KF0E_HTFo9~ zJudBu_1C@EW|8({^UPC_$cJ$G0*L8@fuQpHGR>&~iokQ~>2hv>S9*+w~KZ!sS0;{`A=+-Fuq%9wqFdR;1AdWO6u=IZoBc!6k8rpoVv zF4i1lG23U+9Cd%>YWL)Thi5^$_h-~L&3OcWN7ah&w(uzTwtdB}$iLZd8#SqZq5RyE z&^*(1*YeBs9Qfsa8=rPv9D{p2*;ggcG4i1|%Yms)`WtmtX04%r>a=odb2YIsnIGT) zg4uZTp9u775cQLBXBS3TPCAcXAP4#Y8CTr3=t4rwUj`w9efZfLeqVpY&v;i>?UEx; z>c=d=o>@mahF-8wJz=P{uyEvXI)puZ)7esa`MYxd!+&%k&%MTHKh7qA_0yjPLGFcF z7kn349BB7#QP}n#w5INYFU|53jZMiI*Xp+zVMF%OChgN;8=vDzC%&^H*_!&Oh%og5 zs)8=+%6Kdf@jlAV9Yv0xOquMxE*thCJs2VouV;a)+g9|99RKjJ{vJhsx$_?!n!A(6 zAF8m8hr%}IFdX>uWXUA;7!(gEIfhBqy@whKZ#nNByf==uk_v4?+CRyf%v<|Ck9|GdauGE=ZwY_EnMWyBv_u&3i1B|t`^lx diff --git a/Python-2.7.18/Objects/longobject.gcda b/Python-2.7.18/Objects/longobject.gcda deleted file mode 100644 index db990aa2635e65b6c4e34100c9574eb9c64729b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9312 zcmeGi2~ZSQc7}nVfl?8|u^1c~4PpQXkZ2Y(Q$Z0$A=`sURVwK!`t^VR-T(df zk7548@Wo@Coj*Ko{KpfU;*Q@HiA2f)=w*ifz8i0j-XgIfdVOp-%_yq(XtNTJ;m1iJ2! zwP8s2PK2RtQnP)OO}mn_=06XQ{n9zu$_Lvd@9ga4`h$?K;mHxVQF`dO>_1T&m0Nm7 zJ?TPm3AUk$uz@y!&y$&5JNw4PgQ+z^bEjjTOoFGU7;yDEx=W_aH7xShM(?J57e(b> zvB}!-*!h0s6ymSAR&g}{8Md{auvL?Pcinb)9F-nfIbEkd3GEfj3>7MpwGe3B09{S*@T@BVzLijK3BLAfi{`fbg zF0`|%yuG$BWyJ!@g(!-2XMoJaGBo@W7bDM9alv zu?=LM>`nY#);*3Gy2jy8vGc+su*_S8UtzyAlzrC6&k5J;02dR#{GDHHlV@R@a4za~ z>C&95k0f0LRIVP@J8NK}{!hk)q!p=HMmdqIG&NuEz1Fu3AJvVVt+Z;f63p|tTR>9i zG~2vEInOcARYH%D`c)<|S3G&<8sTJX>VRd)U+{A)p@(_gO=BNIyW`vwMv{UNJoDY@qL;WzuzL!VEwxzcaEKg$Bx{$^(Ib7;;VyFEF1Fr zGWN>d7d<59myHbv?$yP1HW9V?*AVL@*$*4N7pSsk+Kg+!KKP)amodW+5VC=61Kxu9 z0QhD%es)bzpgy33vRT!(I}oz~9{9iwjki0k}FB z!_U?Cvh6mkc5vGge(EK)7Anx5jJ1=mjf@}J=2QRP`t3%5oi8Go1i#&2AkXQ0iLZ$H z?lEuus!Qvls}5{WKvPaB-bu`N&1)ck{ziRve##DIY-{eAbZ0E%D$)k?65#6&{r}VB zK^OpS-~&jIp(dM0((auaFm#+tBwbz9UcIv@&vKHhRYacYUaGDppze$=l2`j6<&bTV z4tRiE-{e5Vfj|e-2i6$CLr!HAXXw^XElg5^pND2_D{aR4kbq=DygA}~^-0Qs_IO4b zKsZZ5Ki5|Uq6IqAH^2iw*$;T|{qMv$TfJE~${|l*$IyR?JvE;=Ub1oHAhq}eet^IV zZGa>m+T0k>I67C)6XRz#%6m+%tmBZ=rB8-qAMkz#;t25pnaD}%na99A3TP_pvOqz0TTy%pZq@-ko0k)-vs87JlJtItCS-rV7*Rk<(^Sw~aGXW97eGu4# z4!_g`^B&p^T4V+T&zb*pA8ls=5i^yy@{OQxWChyXwLMI;*Ka-W2N!L4@ErX3!KvH8 zgX^=3i5WodI7>PG;L_IvKNyC6Vd-g~atWVu{C7>7m3-->NVX*y$C11n#WL_b;Kn{* zvEz;WrE47SPn68XJnICESK3dWIxph&FBruvKv((fy_4p(MRGcw=3MD9S=LICG(%0#WErp zKjgi#UnN%bijQRC`>7Y{5^-JqFYCezw^}OJ#2EL^R=$qnwy??SfyX-a@5IGp9dO^Q zO)Oo{T5YsA9vr#Fx1PEasVD5Dz2xh4O3Yt9ZqY1DZFtgc26%<;3u`GWu1&zUdLqF- zwD2y-G)1$Sk8^w#w9=^B+o)Trun*1C&~<jO%1~@uzuUV%t%TLXXuV1!C5}anfLK(PB`tQ`H^eHtY8iD7#<75h SJ$KL;XanqN&YG}xiT(%Pb`72Y diff --git a/Python-2.7.18/Objects/memoryobject.gcda b/Python-2.7.18/Objects/memoryobject.gcda deleted file mode 100644 index 589b48acb7f51184b61f7f23972f00f426102c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 zcmYdHNlw=?Hg@Wiw_3VyW4a;SWq8vl^ggL3E<3z2Epl>BC%c-}Gr~UV_vv_y=(_HnmUAELIWRH|IxMfpZH; ztpFZ#**SF_S9sqKj~6;QRr#7DqtQv*j2>3&Dko!sM`hlW_ z^N$rD2I;+k$BlB07ZdNlJJdvsf9%);84e}hcO*vbg?uFg>*Bvk#Hj5}VAc@Qns$vC zweCTBP9b@%{=}$V?K(m8;}-U}F)()?=ITVFEz@;{Kc4<7 z7!T45OY7M3vEL6hw||<&!3M%QJ3(sk<+o+88r{AfdHni^s3#{lyzr#uMdw;W-sfNb zJw>og4x|=ey5E=kkKMMc`Y$nY#!@3<<6kP*fhh@w#-)pnpb?Hq$3YNcfO(V<`~qbP`uT7x(+85%P-2+5Wq zD9)i{A24)+ZgFvBk|?H%8sWy0dAPEuXOM3e`jeItBIFz_kRETy}S4B z-Fqc>U0!~)PN%;Wk#OL-Rck_p5Dk7(g~`9GaTBB#ssO1vU)>*T9r*2B($V8~Nl^_u z91bCxRX`Bph-wtE!ks=-?^_jgW+QWhB;y6-IqlfFkT2Pr2$XMoLwnv?)4V}_grgYp z!Ahct5=+4tyT^LTEmoIboPXO$ubJ25Y3-JMH+(cljajXJn@o_m#KS(f2FFL|cKtn2 zRerb=xI2jp`~APT)~M^lwCF8EtxMF_NjWgL!$Y3h^IGqvC2!j!jWzYaZSuffdrITi z(qC}8-P->aaBq0v4zJEN_s%|fyE^dhpTO<$z%^#YW_*9P^2f&SddeRccbvFx$w@N& zo}5193*6UaF^aI2g!nkwwKA=X6l|QRSjJ9Pvnoddp6^ADwq5@g!7v`0Q_8iT^m$+z za~yYmcOm=!5d?L2EGb0qWxzs*x59{@X%H4|60P9mg^zl*FY0Xd1K_*WU%j( zKXTK%8Gy5?e$}dUE#OK}Qr1*1$CHXupg3518oNDG0 z0t|USrqll@s#lQMix&3D>r#Y zd3=v(c_Jd|*@ZAa6_k{^TYL0igDAiL@)2xpj-N4QWg++(>o%L$0jBFO_`Y%e?xI92 zWjuD75cLN29N^nH000+J-shXnZ}>icYJD^PhizqFPnv$={^Q=znU*zd=hSP zN!fV&p4vL*($5!W=RG)=;`~1d`bF>D1Fo^JS`(bnTUJp$y7?zq;{wTPqJV5UmWk>y TxJ3D~XeoQ#t!vI##<>3j=+TvB diff --git a/Python-2.7.18/Objects/moduleobject.gcda b/Python-2.7.18/Objects/moduleobject.gcda deleted file mode 100644 index 9d80c17ca6bdc783b3c8940cf57af122f40b729b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 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 OZcqRPFF^nge+B^mx{w?I diff --git a/Python-2.7.18/Objects/setobject.gcda b/Python-2.7.18/Objects/setobject.gcda deleted file mode 100644 index bd2264ae064a127075151f5904682b4b5c5716ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7964 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 diff --git a/Python-2.7.18/Objects/stringobject.gcda b/Python-2.7.18/Objects/stringobject.gcda deleted file mode 100644 index 2b56a7b747022681e841675726943786a862b70f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20328 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 Ezp?Cg+W-In diff --git a/Python-2.7.18/Objects/structseq.gcda b/Python-2.7.18/Objects/structseq.gcda deleted file mode 100644 index f244fba656713e440ece79d06869e7596f959bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmYdHNlw=?Hg=j|VztzMo7+wX28M+kKtdddub4{!Nd`t9Ad%tyNPMx@_4XfD_f7+q zFdhJk83Qp0{9%UBX%Gs7gsD3TRR>c5QxBuj#bJCHO>K1y3@aH8V1|=KuV(~>Q5ixH zIE>6Ld05Y>e|ae-!0jF=j57ZJ|4)e>KfwAS;eXj=qNb^SzJ4^TLI}w08&ImKd-4l~`G#e}dnF&&ZORoc( z-W>j?+FI;S4ePFd(go>t0P1}RH6ERY3Nr|S3Oyi*V299{>Q;iyfyu*)wppi7f^D~D zh3NaYo6!rz;(|JsQDd$fh%X2tzyMN~G$1?!E=w*PXf=?Y81P|Q`x#M?n}HDocQaHY PoR7_I$Y!sEX#mmyvN+@1s&W%tCMSKDxffqr1@KD1^5rs5NiANGz-~%g!LDZ}W zEE*Ve2rmXD=3{i6W+c>f2CI=#v1Uw!EU-qLAlkFL=imQs_a@EQ&amgP=X~ev*|Y!u zUskSO^|Eh3Kv+fKjA}LgHCIJZDjmu61o>;7>P}`w9ZsgU^u0N|hdo)pCOQ5MVxmri z6+U_#ko$Kk>}phId5}}H3NclK=1*hBb-uFMFRP%ScydHG#Jn{yFrX;^^zEg3mggF~ z13q~Qr_44$Az5e`25DjEt#`1=12s$ zLB;yuY85d=1EOa-cYa^IXP2L^>m*|d#PlZ1W4Xx=o}YOGQ=s13nZtg3CG3vG+hOM1 z)~KdEJ4hKS)w3K|Pg;1#>2(i-w}tzglO?(>J4-7e342j*f3f@@IM%!6QV%R1m^7u# ze7^QddE;HE*QLQIt}(7N*3@=AZ7ky4(F`AE@X^yP=&KaJ+|t5^>0Q11nN1Qj<8(s zOK0owLB{$iKkhMIk4haU=X#BU+rq?k3?gKaD_di+KayfM?7frOa&F$&hl6YVAoeZ< zB6JjPOs4}DuZpL@k}Q}w+=jnwY|j(1O)B8I)|$K3sI+Q&Ujt z1RvA)KZHO|7o~R&Gc~LFcg$1UpEtZ--LzpUFq-SC@*sopR>a;hvMs0u?@Qu{S^LRnnihw%q9*^Cu zag_VEt7I<84FN z@Tg%8^;s|OO9u=%Q&p=U%g@Na^<=%RJeLc9T3_!|vxAq`*%|HsNct6GxJ!4&n}vD6 zY$YC&%ankfI-5I{qpk|=Y=J*?r22TfhB}`-l zo-~o?k)q(;bTb!cg3QxXE+@T2yFC?@WR$fu(_4C+_ejdx`6EEz0}~lndkYr>{R}2D z@@p!W0`-N7j1{++=K#F~6B%c2y3YhkUXXPBbxe%{hNr8PbRMMjAP+1$N&|x6_nDHw zM8#=V-4bA_5urcP?8qJ9>!sT!!z)MAD+;^kq>*vZ9{=S`-tv2~Zn?WB`O$YZ+@lIw z88j1ek&)@dx;S&T!eT5Gt~5r*oRNvw%`R7Nv`3Q~SE^8$&;!B=M+7>1ymQLTbh1N*(7tCq$9|IV8FH5SJoNHzj c=S7W-Ln`Z0E=*vJfOx1E)Ozmt90I$)0i@{TJ^%m! diff --git a/Python-2.7.18/Objects/typeobject.gcda b/Python-2.7.18/Objects/typeobject.gcda deleted file mode 100644 index d3a1279e430ed0b92dc67a230f5aaca4541b4ea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27624 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 diff --git a/Python-2.7.18/Objects/unicodeobject.gcda b/Python-2.7.18/Objects/unicodeobject.gcda deleted file mode 100644 index 0f25b06a99529c12f91ccc0b573bbfd19f2fbab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17848 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 JC5SMK0RZHvE^z<= diff --git a/Python-2.7.18/Parser/grammar1.gcda b/Python-2.7.18/Parser/grammar1.gcda deleted file mode 100644 index b3d9b4fbb9cce4138192f2f9c341e73edd849c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmYdHNlw=?Hg?)^%W`Qn!@Uon>ek_?PIKw|2|G|8IS3F53`O8P)0 xj3@s8|Ifg%p795mhNxNKx0)>>W?{^ZW`iXlH6U}sWk5!NzI$YkpLzZ9D4u& diff --git a/Python-2.7.18/Parser/myreadline.gcda b/Python-2.7.18/Parser/myreadline.gcda deleted file mode 100644 index abade107838aa43e73065a6cbf8d31195076bd7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmYdHNlw=?Hg-yUV7W9=VrvTn1H(cNAR!LKSIi}VBm*N4kT|XSJ?zo?T}%InBu)k@ zVJ!In|33r6N=5;Y3JkEG@dsEQqBr?dk!t9nJvTC+Z4U+M4S?!}XhT)2cqYDD=#Bfd PwgvW$AhjCA*~0(;Cp9;^ diff --git a/Python-2.7.18/Parser/node.gcda b/Python-2.7.18/Parser/node.gcda deleted file mode 100644 index ab50255e894b90a51869bf76022703e543cbec85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmYdHNlw=?Hg-z6ZMjsAxAH#&1H(cNAR!LKSIi}VBm*N4kkF0M^1j|P_tTAvyWv13 zj644S2dZ7q_ybHs)D+h+nmuo-as5#xH5a7D0;unnD98u~hEq`bsUU>^l^K;r7YCUQ za)&ik9gqojhw#@~sTaqCS0=Q_H zeM)HdN%cx-{O5eP;OOlGoglLcAjW{nvy4a_EKHc6o+8Y|q6#6TFM?o$SO`8OEaVX8 kfWzWh!JDEDiM3YTi(6YjZUe;@%zrSG5PXOkA_y}W0HWJavy+j42d_JA4&28M+kKtdddub4{!Nd`t9AmPx{!15q6FFTv@(>|aQ z#uFeJG~g-?5wKu{&{qW^^jBt7K7_}>0F#IDVd`Lf7%c#0$TC3~PoU;ALitdNK@X}9 zM|GV9$-3LHs zg3<&mUBGAt28dooG`$Srlhy8gS5a}%k^2wQ>j2ct2gD!%qai$OW@x! jZH(@&TV#0UzqH!vk086iIS6VvLNClVhOGg3FM9%2DXFJ!a;s$oKN4muxA8c99G4jwc+w(GO0bx)JFu-mlz z0LYFH|NsAIU|7%i1588GfXwV0Y%I0iHu%&8?-0~kvu}=Nh|&&ca5@1xgb&>@IQWFr uA><)`U_3P9KJ{LZ9Mf$0v6PJ&-8BV=3ugqCTin6IK~YvKOr0Y3kMxH* zbS&MJtbsV9_2JDx!^)(Ug^Uo%DFYL96_~M+%ji7!eSi1d^W1a1m!jT{^SsaVKF{y@ zdf)flgQKLlbivZ4_OAYnckkFfKBOp0eTe#qRsXt|$Ei=n5~e=(ISZo-tPeL_J3D-@ zs$!{}n3zzM1`8=D%2A7rh|ket8F$$U%%Jo3xRKsdnd`1!?IX-~h8bmur^ooI&OU8- z;I^{xM?3Zq#tPMDY??5vlhJYB5Y{Es@)0^M7OKT;iKk9owK%fh@pm*7k~qbe&)&uK-Wti6aj*dmIB}e zK*5CiS~oHK&%~3B$Co}|M}3e0_6K+~>aU)ey_uZjBEALEAc-en1|;RMliN!Hg&BD0 zLC)!ue8X}D6FywZ*GhZvoYqJ^2cxi~cYsZ<-JKkjp2VFRtKA>2JGH5BXjM;2b!D$L z_X^#q{p?*Ju=RKU;{50}L(Y`1>kmBfJ=ttjm1fEyCfN?J(0$t*zbjH$Ugyuny!QL* z!0Fb#AI+c`M^#VpvJ#b&Oj@R~e z4`xzaMQZ;p&JtkNlG-Hpd`a=%1ch8KPdTysKtwM=p`IltppZ`$<#DM6G#rQv)bqEc zFc9}f9P3Tc(?pYU`+soZ1qHgn8-OA_Bop)~Tky|%b?(U_S>D+LiK=qazpPO*z zqw{u0*@p6j8@CQW)kr?lRY2qc3Ll(m>&Cu^ZI(4?B3}JmmgT&5v=7LRpR4ivP$xcseILb+i2qs?kQ(5imgg^$op_ z5X=NM$1#p^28*$&abjEY&{+S9(hE+Cv6H<6&;z|!{dtUt3Mi_-^hn_+)#>jLhWO_6 z_V4*EI`I0>**Wi@`~^0YmX?dREv@tYzN313#_Hy(s>xu4vHaf~94c@ z9uqQgPsOu(M5W~?4&MHC`N|Jk+bK8dKVkc|9?xAo5TQVWu<8EFWn8E$e;WH-2+V_Je1` zQj4}*$>$Cg#Q2Pv%l-4KX_?_`8rpg5^oR%jraqD`csh5)Yv+}?|8F24#6x?Qyo0B^ zg?KGKvDas^J$2KP^ZXCV6{S13F4~1&kR1*AGgFbr%>92O{{JJPJ(W+b7sykOE^>)r zx%5=sU$(GlWKKavT@U55M>X;lJJ$91Q_roE-(P0;MkLE6wYwnZndH1YWoDVI8S zE=7d;a}}AlIijh*#NlYT)@~ diff --git a/Python-2.7.18/Python/Python-ast.gcda b/Python-2.7.18/Python/Python-ast.gcda deleted file mode 100644 index 1e888b9dcfd004e75d1cabc17816c5747df98f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13472 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 E0AGJw_y7O^ diff --git a/Python-2.7.18/Python/_warnings.gcda b/Python-2.7.18/Python/_warnings.gcda deleted file mode 100644 index 58e15a1aa381a318828d7b46eb8f227d2191eed8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1976 zcmYdHNlw=?Hg-B1X0`N-JeMm21H(cNAR!LKSIi}VBm*N4kdW@%74$~W!0yEQ#Th^) zj0He3L69sGpcNls?n*|8b?X^HZWM#^fK0F(jc0g=s`Bs94DJc|3UXryPy(SBq7$8j z$rDS%^rNeXiMzlU81za;0Sqya0K_liXnsk0T99gLTQE7cs2dp63mInsRpPP}W-M;I zVJgU@VdlbUm?;Q8e!oee`OWa#iHz?{S=c-`vWtQI7V-c8e+Gt?j1Dk^DWcai{s5Z? zNfXYF=^n3LOJnRd?LGjq>jTs-h!v=6Q||Z~rqmw&xkkFl4y1MiRILJ0?m;z+Pqr(w z)ZV2^S7nO~$SejL`f;(wq!`6}l5$75xh{h2x`4-z3-%=Ocm{@9&vM`N5!sIhMEMb2 z5vrdx*Di>fr?x|RM(MS4AhUPiamTue3RPPtCtnDZ5%UMB)%ZudG|<9iYMtMv+`B=J z101gze<5~FK=;m|;G>4=_IQERYw@gGcC3%g0fmzX1!;0MOP|JuAM2MG{SMg-GHV6} zX6Z<=vFgoaF1vYF_Xo(V1$g4RYEsGwcg6ug#g5E_hzAAadysGcBHEQnF4YGpGU%`|RqmUMqNe>VwkW&i*vWG~tP diff --git a/Python-2.7.18/Python/asdl.gcda b/Python-2.7.18/Python/asdl.gcda deleted file mode 100644 index 8472ddc382b7d176fca48d454a4e34f0ebb890d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmYdHNlw=?Hg>8>wOTsUKWYmD1H(cNAR!LKSIi}VBm*N4kofkCfvND*Y&Rv3j%7e4 zj21vKUXUya0HJ<8BghUnX1Hds9Usp$R_i1mT8C`Mai|hGxKjL#r*LVA9clS diff --git a/Python-2.7.18/Python/ast.gcda b/Python-2.7.18/Python/ast.gcda deleted file mode 100644 index cce41dcc05ba1ad5b8f8c1566abd806d0a0f9a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10464 zcmd^F2~<^86#d^!0YSd0IF_sclMg6@iV~6xqB((yED;BA#91)RIYTT=LnJkv0zsS= zB^6LJ=R{LjrdFC^>RJwER!)?r-TVLDy#Efo2P$Z;-dgJUNjYhN5jD6H&f2Ta^vrmoIl6`b^OL=Yi#-H7mN~)u3jl>B|jR?I<2nMM#i!5AY<{(g?oKcYWDFOpEzO)9}Cw|TvtPiC13T_BeJ(UT)0>yP~ z2J_2U<4&Z;2L}1NST&eEF*q*b7oJN8#%^P5pm7rja1u9l1y+SYU=@LUKQXHF4{i$pUu4HZN=O(`pMLq&b3?7cAXt}*O_-Z zaOgqPd0HCRv(cj#?~icUQ*<|AKj-GC`2Bpv>&-eBG_m*I9<+;d3z$Qty3qV8nn(RV ztt`bSABP@f9Bi(nPH5|0=bZKEug>xs1gX?3Yf(*~i&x!4!fuYc&bi4d+^G%&-_;E` zztOGF(N&x~Q-vGp=s3YM&&J#P^zr3}7{qFQ+8R7bd(@30d_n)XGTH&rp6(w?GW4{) zl1%mdnPKeHxCaK2dC)A;YV5)FL6?3@$?wj`Ad!)4iXefAnaa>BA$`VES*acR0n!`- zNe-v_*SCmvc({7&&PH>24yh`0F4iY`NI-(7MR;DyL*$D%O4be*Bf?G*EG0ecWg*(r ze8Wk;XT0s|wR4%{XVc=ZB%TAF-$wuPJ@m}128~^ItQ;KNEjylbix>&dC?Ji?Rw!Tx zQr?Rv%h!UQ)b;BiyU|^i-!_0SS(t0*#2^m;+?v>4u*R~g_ zZ4>|9f#Y-cE_JQ#oXcx#%fi9)2$4Ys(!Hxc@tIyTvGpIVbFL)ao{_+Pc4m$&gfk#~ z1EB{h>*e|QlfJ*)*(5kWVS0gi>lt@>-{H&=&hzkD7J?51A2LN+4_6XXR?AKyV`4wO ze5ktHP9BpPo4@98DiAUd=GSrajIg}@Q66L;c1st%Yjz^Zi&dEI6D)`-A`pxj;sQ#~J$W3hNF0H;M@2gB?wioqEMPD9 z&A+2Z3Mc3TvQQWI4LhAD?xYW=&(d6bOkFVW(D|j?c^~mC3wt;di0|+IL|>Lj{eTZW z5PBt4;!!=~RPv*wFRNX3(vb2WS0?U?MdSmdW9LoA&Z7O~w=cQzoAQXYK{!%q2ZLoC;IO|Yy88#0iXHB=872tH(BUnBrRIg!>C z%}VO!YrCaX7{mD@-NPqz^mtAF`odA)@v-CUnEIgd7SS2jcA}6661@;h*$ZHi$42+R z%$7OTn;t)tX?cBrdmfwGyOg6VqI>Q68RG-{^G0dEmDe>u3e>QM=DgL?!gKGDjo+t5@8h*f#=>9;Y!gYK7J8Bt z>`+4nLQmU4|GW`#0TB=Kr3gDk=`3QjP?_?vZ33wsGVGXZK-m9(xK7)lLXtMVZ=>h9 z;Zc*OS!&m(j?%?@@wK4#?j|j#d)-{;opuGwV!Cp!+B@w~-I1v)vh~&%H?+&+T>M^S zOhx`qDCTg+@ME*=Gd*oB#&T|f%DFi{`TNLg?!j%`!+hB5xRu(g%pv9s%2e61Qa@Br z6u&fli@tj2VF3f+?ps=ZovnFD#`M=+erq)osVqh6?6@g!1*rSwVPAC=Oif>rVyO8ox5VU_u8 zKdb2Q2eIsU#Bxwsb8~&SYKCQX-5UPwu1lP&Q(1EroP@@jIK&wVNX*6WNb$V~2p*N8 zFE2V1q9n`f-ImOmdFEf#_2_ZFSGE1yF7O(Te}Wq7NZ(4blD;8n51Ie(mFeXo1nA)p zXv%%D?&V`-PsXUB>vY{xp9P!utPTs{W5gatB`(w;PFSW1G$YKWLIyI2vWq=H4Htfw zg)EWeu{w}g$0gox-(yoP*SRSf$vjs2j#Khead+K|UCCo}Cb4A|o`0`s?)|u*Vskq2 z*woG+=^?-OyLPop{+k&KJvrA_>_g$jeO2a-{A@md;g8L0oLjGtaH!9QRXUqv%;k|3 Hx7GX$gV^Up diff --git a/Python-2.7.18/Python/bltinmodule.gcda b/Python-2.7.18/Python/bltinmodule.gcda deleted file mode 100644 index 62aa1a650232bdd5507ce15568ad6ad00ce30a44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8620 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 sq1l-(f|Me diff --git a/Python-2.7.18/Python/compile.gcda b/Python-2.7.18/Python/compile.gcda deleted file mode 100644 index 93dfd80f96bbe672819a024496cda95fbc9c800f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14672 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 J17+=o{{n@@&Y%DQ diff --git a/Python-2.7.18/Python/dtoa.gcda b/Python-2.7.18/Python/dtoa.gcda deleted file mode 100644 index c4b0ac8a964e129eb08aaba0d0a1343a2e28d774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2456 zcmYdHNlw=?Hg?KgY_-(bcY_@R1H(cNAR!LKSIi}VBm*N4keGVrSBUX0^=A#T5vo8X zj2nLb|Ifg%oDrmefnh!4kN+S(MC}FtC7fzubC23>+I;||_5)ZByV`k^740sqIderW z_FpGR?F~F?4HoCtbv=H0>L=&%gCMmJ@Tjf(@F(xLsQSOJQ6?KfYG<&5+({Xrf)SKC zU{v>L2#kinXb23E5P+4JglOb?1XTAhu)sYCu6w@o_cDH5w1QJ^Lp!j(S;#oyAMUzm zW3WNmYki)~taArfg48xZ>j(k3k;n|xdP}gRA@JWR?#)kXcfBT5znIQ?=3(_U%S2bW z_9aN|20V4qz6q^P)0aQ$_763RCZu-8;$^nCo06wn-tdSAsl9;5+}(HD?cOL{Uv*S| zsx(OL3_NOiH<`rxP7$17l6cnzq;>)xwVdDoYhJ(lB>2w3PzR9O0z7I9G}U;2c)s(Q zW@)+>q_zT&T21~mZ6EGX31w@^%^Ama5u%A-If zj1&I<|Ifg%k`bhUfnh!44=^91_Na(-<%!m+T6X<>9kAMe5Va0qwUiR5cJ)7E)F{+u zxTsfk#0_NE3>w;%IPn&*`YywMchf_2L3VXO!$5&3FQK~o(!LwncW<@0Tq<$<05aA4a2#!}u^7rVd8K#9=fpadde?>Okqk0j3FwhUtSQ9)|c= zaTOqGm^hMBD04j{C{6xDNPyEM!`JN`dv|XS{$IayCMXOIfbyyW5JfN=rUji369>5w zss$kgWJaFSs~2iq7OBMr{wHgg*yE#&%-V zdUEjj3obpy^uT`UM35Um;pT#HCzwTuk5G=^|J_V*m0ZT@4-iAAiFc* z(wGdG8_;QVl`wgjI65CDPAIN=(A=7}^`Pf$&-d2aTwBsXZask~u9j%T2sX@_FrAq2 z4_11mx8cGeR! z!wi7a^PqB|x&j%%#9=f{9!5jG!vLdGpqhoC=D}!~ne8~-027C$7Z?rG2eS{xA9#8t z;{+^@fVmsy&1_N(4;#jm$SqM_rErvM&nij%mJ`kOn_d5+aEk^M}tcKC(X;B-^ zjJFHIl@^pKX(`0A?PnDq_@_3v8D%Fg%Ca1Iyd6@Pyd|3&xE%U(18k Q!^A;tYfw4;79@Uon>ek_?PIKw?_wvWmaIC(Lx%ASnh^ z!g%2S|NjgOD;Yrw7#P+w{s8kKYNzbGRriubR)!e0dMT@!lpY+}W4CGd0g$-@K+_fg zF$gRGlOO_N56EqAnc)&(xAnNGWISl~a3IBuPiSVuu@h=zKJ33@%JPI*p+arvR#( zzoNO>!ywn#ppkn+asO6ex>(3~0Z%;dNO&6emT#frv$!2HAhj>>sO_}(NKo+p825Cg z?=C{-o|)|F@Z3}|?9YWK9w4XHVYReSRF#u~fngyBkPrvrE9MeFl7W#2NK7-gOqih}zujSjq!>^M z>%p04!W1yXYXi<%oX z>#Lue3Woi;@Wcb8MgWT%C0EwGiDAAQY<@h+#$^tJ=ykcoyE)VQ`JVm+sd<3K9QBLB NLORmxop7jO008)sZ2SNK diff --git a/Python-2.7.18/Python/future.gcda b/Python-2.7.18/Python/future.gcda deleted file mode 100644 index b01bd252d76e0432081d731d0ab71db75a6a50d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmYdHNlw=?Hg-DIX0=oy-EI*B1H(cNAR!LKSIi}VBm*N4knjp{*ZJ_mE$L#-mJL89 zj21vK0gx;bAjC%~UC#)z!=4!~0=7f6d~S*J1on!Ax`eABJ0`%T85mTdY!)bOh$Kf1 zCd?@?8r@7#7(f8T?G6ZqV7J%x`3Y`cXzrVM;lLM=+bjP6|Ifg%p795mW?%pSFY_kH diff --git a/Python-2.7.18/Python/getargs.gcda b/Python-2.7.18/Python/getargs.gcda deleted file mode 100644 index fe901aad6fc43bd034742c3b8a0e713243f888cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7372 zcmYdHNlw=?Hg>XZw_3_`VbTu<28M+kKtdddub4{!Nd`t9AQAg)NwKGi;g%gY+H8PI z7%hNe%N0S=!~=x-m5dNw>ls0IeL)xjw(DQeYd>Soy52>Hxw}Aibs*&7tc50UCQTVF zp%CK{_My7{I@BjXRbaR06^3|6tXg(|QdT9<*$Wvt5b`v2CoK(E!eKZraU9Bl!l+^Q zg9)w@9Cn=Ruf%V1_1_<;;T8c3y9>au+rS4`17>JL!;?`TA}$D(hS8|1F?shv2@Vf{ zMmGb@Z^n4kf}~*bFdAKXrUtqQD!-e6{B~A|dYF6A`KYF0@_rKVFHDCD7mP(48eu+a z8n}b74x9!qec5jx@q2oFvdtA>$Sh<$@c;jRS2_kyhnfUC4rQ0BWR7;a_@=@))jnD=TKlY2x z=G$7YJ4sJ_+X@Q54bbotK&V4vt!G3I&y|yuII0C=W}T|6&;jY)0oAL3qysk-)vW1Z zveDbhB(88yKPU+@YXvWEorGj&vp`h9!U~uAZ#X3U(aPWmG(HY(qr!9!0rYr6=Tqt& zYMY1d9`tmD&PP{|&L>qpy8coA;0ggR_QB;Ia$Q5IKPc5tuDeI|4UZ651@#7uhWQFt zeGij|(dg>X`7m{(G<8FO*5Qn9K02SezM=3w$s-Ejw2I6&PYfA(=uo5J3?=UA@+WQN}$KvKTe1|a4-xE z>Y?UAxfoO^+#jfEM*~qVgYyX2szBK?3DtLo%lIyX(vAhtBu6EPaj^CfjP_QKCyHV+04ahAGKna*07!6X4 z4d9Z;C5~v6^+8XB3r(E6Nj0B&wnp> OpVYh^aL<&0S_S~1tBoZ9 diff --git a/Python-2.7.18/Python/getcompiler.gcda b/Python-2.7.18/Python/getcompiler.gcda deleted file mode 100644 index 19e04fdbaf6b2f801f9d48006ebe0c4551824217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmYdHNlw=?Hg;<4vRYbHzUDgv1H(cNAR!LKSIi}VBm*N4khr$Kp}2_s;k6yj21|fS T7(r?TL9$@59?b89ae*`d;&~B( diff --git a/Python-2.7.18/Python/getcopyright.gcda b/Python-2.7.18/Python/getcopyright.gcda deleted file mode 100644 index c8590ee2e89eb35d3d413ff7bfe82073b84a32fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmYdHNlw=?Hg-DEWwq2U-MNv0fngyBkPrvrE9MeFl7W#2NbKBM>m0dd%Zwe(21|fS T7(r?TL9$@59?YK(;{s^_pVSbL diff --git a/Python-2.7.18/Python/getopt.gcda b/Python-2.7.18/Python/getopt.gcda deleted file mode 100644 index 94136d0d39da287415b718f170de5b1b389a3cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmYdHNlw=?Hg-C;&}wOAoA_o128M+kKtdddub4{!Nd`t9AW_j#ul>sJjd_hsZWmAq z;|`Dv6mY^A1ZZsn@`R*8?f?Nc2nDC1Tn2d<14^Uw5z^}!L4IUL2!Q=~JL#v<**Ood V>}WPv0`em)93aXddSG^g!~iUn8MOca diff --git a/Python-2.7.18/Python/getplatform.gcda b/Python-2.7.18/Python/getplatform.gcda deleted file mode 100644 index 61b8cb946a1edc2074c65cf10a912fa04b6bb97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmYdHNlw=?Hg@9gwpv;fc5W5}1H(cNAR!LKSIi}VBm*N4kdQAs5#t$mR%A!B!4jYn TMvxjokSrLi2lHpZxIh{JX^{_L diff --git a/Python-2.7.18/Python/getversion.gcda b/Python-2.7.18/Python/getversion.gcda deleted file mode 100644 index d4317f7457335e3d0782644b02e1073e713bd3de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmYdHNlw=?Hg*c@wpv>MZILbm1H(cNAR!LKSIi}VBm*N4kXRMqCMz7`_;siA=SH9s ZMg^dlAP|E9E}DU1JtN4hUa%?%0RZeo5DNeR diff --git a/Python-2.7.18/Python/import.gcda b/Python-2.7.18/Python/import.gcda deleted file mode 100644 index 97a71f10bfcb41d76aac7cc3d914187bdcddeb31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12636 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 diff --git a/Python-2.7.18/Python/marshal.gcda b/Python-2.7.18/Python/marshal.gcda deleted file mode 100644 index 9b7f350dd7314530a34fe8bcb3e7e791c4614d7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4528 zcmYdHNlw=?Hg(^DH8*?Z?d>45 zF5vO++hw9QJA%sIMYAe|fYfRL?br>C2|_d|{1uSYL$xuaX8Q2~h2iEfFhJte6{Y~1 zPImp%fnVju7R8!$6I;7J$3K9#Pm!A#{fu8?%G1CLr3j?^HZ(*j1X+RXQY z+*ZL3^Bn_2g$@gt1EUc#*jZ(_v5TXNDnSLhpbSL=glEy!g7_D;P(>fhLimDE;k#QP z`X{3*!{EX6!DyH}VCGMq$GA!Dtjo6b_`_jv|DW0|}D}kfIx;0vsk&jAj=w^9q{mbpG53Yv02BfQv?N zn?6Mg=bKNCm@~GSPxeqfUJf!d0B9MkT^q6$(uRcbanUe!xM*}YIHI{hw^Z0C^>k6j zgb5r*AU9Ybg^4i|8^nb1VKht{!AEV+PecpDuy5fys~bw+^Z*)AuodAT zn0e&UsCIiGj0MNv#>I7kO$#R~2`PISZn)V!Er~>;sc=|ZNZb8;hi_?3Kig=Y?cLu4&(Z6Q^0DRlRHvj+t diff --git a/Python-2.7.18/Python/modsupport.gcda b/Python-2.7.18/Python/modsupport.gcda deleted file mode 100644 index 883a529d3b733e5b4fe925c67160b2f1bd9f9b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3296 zcmYdHNlw=?Hg=jf$!aNU|H%ss3=9i7fP^>@Uon>ek_?PIK*HoxoS>7(?xI7^hM7Pm zj21vKX^<=ufbn58k`x+qC8GeE2!y+y5oGsLCb%Tn?h;jLKK9?*?~v`@zy?;`z4rKkbPdD%!fpy+vg0C29aRXk8k+g3A^D0iYEzZzD6ixV1VUaWHAsMmpDw_eJp0d zAnEZu!hCStxm^fnICpsEU4K`*7;qkg)_V#F zb$D2)bv?&S;iO#Gct2CFIaVOE0)RSCXkgd=h!-LbqhYFGd@oQ#69{HNE3zCp2p_$k zbA<^*>$$nt4s*sGIW1@QeNH;a4H>}na~Gk8Bo?vyVCv35O^4AWSq476>{a6r5&YSkDMDVNP*3$J@v9Kwrxs_-KO0KKxPO4C2;ATfY8eT0N?r= AOaK4? diff --git a/Python-2.7.18/Python/mystrtoul.gcda b/Python-2.7.18/Python/mystrtoul.gcda deleted file mode 100644 index 22030d9eafa71d2227432a3d55737a06a7581918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmYdHNlw=?Hg@Uon>ek_?PIK;nQdXRgwH4L6?n@8v)x zj2X-f48kB;JOGzGsp2M#5KB7n*o7>`i_F2pCe}PWMxaP7MBy`;&_jm4V(~$d~{P1&|rAw2R+7>dDgE zK3pzGcLzG3SbgZ~5az68G(eXmiVsPf&(P9?Xwn(2XH_?N>#v2?gW_-ldFg=x0E|FN Ac>n+a diff --git a/Python-2.7.18/Python/pyarena.gcda b/Python-2.7.18/Python/pyarena.gcda deleted file mode 100644 index 7696a013786839c23c2e812645b86f15c9e9d1bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 636 zcmYdHNlw=?Hg-~(X0^0v@w{^k3=9i7fP^>@Uon>ek_?PIK%)N9Ov7`gM}yfj7d8Wx zFlqqBk{LnL2pYn}My_NOz$VPFo)Ki1E;C#bY*$<3V?_&Q`>*%*i5J1_N<^rED@JA@ z|EC@3g0D@6G7ytkO diff --git a/Python-2.7.18/Python/pymath.gcda b/Python-2.7.18/Python/pymath.gcda deleted file mode 100644 index debaa4a33c89f3ab190eea6ca309d13103bb7bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmYdHNlw=?HgWu@GkZ+4q@ z9{`yx0F*~J8`-}gGi;gRhJelJ51gM>Unh9})|@S$L1utL58VtHAKffzXh;IJfX#|s z?j$@b=xb49LGlHVSryQ5QGi>CkAWH=snfl)?*&R&>}WPv0x}B{SBUUHjyr>rEcw}v zF+{2D$tjP$Ul@Lp7;{hVj?ZN;=kXv$?cy&y0^y}?ESIPA>;SnJmVQ8Sf(cOldO`Ya z}V8<4j`iU(R5Gxd{}fZ7eVw5a9z77lsK#vK zv1tL>1B&ar2sLOdRI`AI7Y4v_op{qC{$Ezl)s+!DPl3$Zfyd1sWi>*lhFgEQbhtbg zq}Bmw5+Y5(j76mh$)l%52efo;pe1Q?(4hK%!j!$gL3S1pVJFN5=ys#?Vd`+v2=%C8 z=!oXV#T#AuCiCtQ|DApom`s3W10p}+G8$*NA?!reN-J?(=E7{pB~LAJQ2cLzSvI8T z^^BmrX^oZ^bf@idw5B4Nx53rbX zoufC-;H=i6&MPN3;<77NHBtD$F205A3~ye8)HGl*r>Dq5Yv-Kx?_!xAe+8*IfJIG= z+zp$w<43~hOpNmasab(V&AR2c1#do=wD3^v-j2(h?XS4_j+*yNX{J1n0I8_}h8Zg; z^e6!2>tD|Zio-w5aLd7QxS^jl=aom~X1h(h4}jeG0gGSvtPS)_eeASfrK~Ckq~-(` zHLm}}*;+YXZaQ*l#TJkn51=(Lw^B-j(iF(;f6?5|Ki@X|^7gjW$wftJAUg}-UPCbW c5lk=(<`y(zxLaZ3xYWVq5j4bYOe_cy0Pzg9IRF3v diff --git a/Python-2.7.18/Python/pythonrun.gcda b/Python-2.7.18/Python/pythonrun.gcda deleted file mode 100644 index d5126117608fad36bc5fde5bb54cfb23b82ba593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8256 zcmds62~ZSA6x~&W0-}IML=#;=lwg7gT9T-M3wR%E5LV&=1PvZh0WUU+c$Y*IiP01Z zs8JJ<3Kn>kc!K2tmQrY<0hL6J<&h{NA_fm6(>wc|-48Q6L{pZTs@=E$_xtbv?&;~C znT?zf747crt$sJq?L9?0V; z%6ql7wF*Usk`WY&EM>Lc=DG7muMI4^G&Wccw_VO@?~kh1U6#XLW%v6#Sy_pxa=6E5 zt3zTFdhV9P?VUDccu#fMLpj``9#M|!2i1OZxZggT?7RKUKubB?xawlB!B5L8<#0dW zdNFp>)GArJRUaxNllMGXB}X^=mo*-P)mJ>^aId>OSTO$F)kHbmxdje>7nJ*N%Hf8c zyce}KW158=u5ZC|owMbN4)a?TKVx%J#m&S(?!yisZyDRdoMrR8g<%GBKlSrmxp-3N zQ=vbVS#Mdklxeanz`qHv;>?4hgTXeQ|4hrCXyu=9upZ+yeo)qQ%kP+$KgVfh&;T0D z=YH7YXj*?$fvB%PtUNT}#t`?oeF2q=FeY{eju_H@*pPkM=+?x8VmeZI-j{k)>qgt|7Tn!fV{F-yFSo zOis*DmMfm)2wJ=fwd-m(%p*DZ6AeioDQ+uQjupBg`1LnTe`507Djs&wQ`TfYSlWHo|HK5_vDG_{YFTc7PM}3y5xs}{VFQIQ)0}URoVm$YgC6bP zwoDUx(n2G-qm+PJQQ(uHv0Z@MY3_J?|>gz zABXv9J8Ym>+^h1_x~Pr1pP@_^jDP(Lbz$!Px@?;t6NA6u!u(upAxtd&GsfydH_wWs z4fo@1OS0KqEHM%Wm7)}*{ikCJ zyh?P+*?EO*Y+@wteU6XI53j7)_xyRCAjG4T$$6f?B=OcE=R<%S|hmHu%`ntSE-Fx0cfY)LOb=FJAXunn3PSq6Ip*FByyt$F{HJCNB!p3qIRUlzPnsve!Kkr-L{YH-B^t(P7vBaLPync_%SEM`SbkJ7EDz@sM9dji1)W-dW%?#L5JiToAzzUXE zA;BFq;b@zU`MNKxW)=7{?k%GlQQQ9&>AKdQT$?NRg*V#k>Z!pyHg<19$AW5D@~4%3 z>(AS`GJj3CBR9{r9Mxqc8()>tCS6yH4~Acms^9;*@lY>C^b`Ju+H&LM^33Ij&VP-l zLoS-D2k+8^Y0fKCKWw0wF6yG~@B`5fTMSVb_{a~0A3PxRz=KVZwj&-0KIOp=r0s|Y zit*qFQXRo=*#93^5HzegC9#e^A%hRL?{fCfOt$9ubM07{fC!w5B4GD|A(`?N1+IZB`_hr8XsoC)lQ_ZW*SJOQY RJ$gE0+niZozoMGM005-QOFjSq diff --git a/Python-2.7.18/Python/structmember.gcda b/Python-2.7.18/Python/structmember.gcda deleted file mode 100644 index 3b52395b1f1d712de03a526d94bb1cf7832f5f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1712 zcmYdHNlw=?Hg>9?ZMBs13(sl>28M+kKtdddub4{!Nd`t9AhGF&y046b$VdA!#vY&& zMgbO(6e?m(E1V%%Em=GAc`DZ1g09FsKX9SfgR~g}w;4($y%nj9!%DIzv zgo^?t7Bb%W|NlP&!%C>C^^8Bjd`S7zJL#m*bE^o?pFgjugVYuv%z_(AEJKcfLOvz} z3g{$F$ena@29h<1xB#==@tJVIApTDL`p4G_ S=0<_kE`X}Vm42XUfdK&bnn^AI diff --git a/Python-2.7.18/Python/symtable.gcda b/Python-2.7.18/Python/symtable.gcda deleted file mode 100644 index c5230f6bd32ebe36ad947da65afbe459f8622658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9616 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 KH~HASwQ@S zi(Tv+8OqOq%qoCegp^b2fhTO%%=1dQ{%^x1uPyH@L23F diff --git a/Python-2.7.18/Python/traceback.gcda b/Python-2.7.18/Python/traceback.gcda deleted file mode 100644 index bac12731dde3603ae09e07fd82f443d86260bf26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1512 zcmYdHNlw=?Hg=L&Xti|Op-^iE28M+kKtdddub4{!Nd`t9AiHwI^e>#KK1rqSV*|)d9zbby zGsxwm+ue$0w}|~aPmW(7xNG_(B0+W=z@0|C8_?}&L$jly`@ZMhN%t;HdHBE^YzH(n zKvv=M7t9&B|#}0ofS=R0}g3 zW*53~=x&0^!_>p{!_>iO^fWdR%`JMS{E1%c51w4(oT3SG%ZdO0|AX`>z%0N^uV?%L zRu9RK`yFiy{Tn%0U4q}Ufy{!X5s(pLXyy>&gWTYNrU%4@>4Qbl-id#UK;qmW0tl`? z2(|^$Fg^nVBo1c40ti~3ZM^wfUO<)o(qfHdE09|ofO=qI2BSgdfB Date: Thu, 20 Feb 2025 04:28:43 +0000 Subject: [PATCH 15/30] Deleted Performance Tools --- performance-tools | 1 - 1 file changed, 1 deletion(-) delete mode 160000 performance-tools diff --git a/performance-tools b/performance-tools deleted file mode 160000 index 981fcc0b..00000000 --- a/performance-tools +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 981fcc0b5e9ccf3742b2c3aeafdc28965d7fab0a From 1542712ec234de09e1c3b90f07ce4daa7acb9bbe Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Fri, 21 Feb 2025 20:55:33 +0000 Subject: [PATCH 16/30] Restore performance-tools folder from commit 197209f --- performance-tools | 1 + 1 file changed, 1 insertion(+) create mode 160000 performance-tools diff --git a/performance-tools b/performance-tools new file mode 160000 index 00000000..981fcc0b --- /dev/null +++ b/performance-tools @@ -0,0 +1 @@ +Subproject commit 981fcc0b5e9ccf3742b2c3aeafdc28965d7fab0a From ea06d5a4de494b822401a71109033e620d744633 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Wed, 19 Feb 2025 23:06:42 +0000 Subject: [PATCH 17/30] 1884-->1885, 3000-->3001, Docker container name changed --- docker-compose.yml | 12 ++++++------ .../provisioning/datasource/mqtt-datasource.yaml | 4 ++-- mqtt/fps_extracter.py | 2 +- mqtt/publisher_intel.py | 2 +- src/grafana-custom/dashboards/dashboards.yaml | 0 .../provisioning/datasources/mqtt-datasource.yaml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 src/grafana-custom/dashboards/dashboards.yaml diff --git a/docker-compose.yml b/docker-compose.yml index 278677ed..e0b17e5c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,10 @@ version: '3.7' services: - mqtt-broker_1: + mqtt-broker_2: image: eclipse-mosquitto:2.0.18 - container_name: mqtt-broker_1 + container_name: mqtt-broker_2 ports: - - "1884:1883" + - "1885:1883" # - "1884:1884" volumes: - ./mosquitto-custom/mosquitto.conf:/mosquitto/config/mosquitto.conf @@ -13,7 +13,7 @@ services: grafana: image: grafana/grafana:latest - container_name: my_grafana + container_name: my_grafana_1 environment: - GF_INSTALL_PLUGINS=grafana-mqtt-datasource volumes: @@ -21,8 +21,8 @@ services: - ./grafana-custom/provisioning/datasource/mqtt-datasource.yaml:/etc/grafana/provisioning/datasources/mqtt-datasource.yaml - ./grafana-custom/dashboards/:/var/lib/grafana/dashboards ports: - - "3000:3000" + - "3001:3000" depends_on: - - mqtt-broker_1 + - mqtt-broker_2 diff --git a/grafana-custom/provisioning/datasource/mqtt-datasource.yaml b/grafana-custom/provisioning/datasource/mqtt-datasource.yaml index 21dc799d..84fbe455 100644 --- a/grafana-custom/provisioning/datasource/mqtt-datasource.yaml +++ b/grafana-custom/provisioning/datasource/mqtt-datasource.yaml @@ -6,14 +6,14 @@ datasources: uid: feb8cw2js8tmoc access: proxy # Base URL of the MQTT broker - url: tcp://mqtt-broker_1:1883 + url: tcp://mqtt-broker_2:1883 isDefault: false editable: true jsonData: # Required by the plugin protocol: "tcp" - server: tcp://mqtt-broker_1:1883 + server: tcp://mqtt-broker_2:1883 # Unique client ID for MQTT connection clientId: grafana_mqtt_client_1 # username: your_username diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py index e1c4ab8e..e55e33e2 100644 --- a/mqtt/fps_extracter.py +++ b/mqtt/fps_extracter.py @@ -23,7 +23,7 @@ # MQTT Configuration mqtt_broker = "localhost" -mqtt_port = 1884 +mqtt_port = 1885 mqtt_topic = "grafana/log_data" # Regex pattern to extract relevant information diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index 578bac93..cf7a98ea 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -7,7 +7,7 @@ # MQTT Configuration BROKER_ADDRESS = "localhost" # Replace with your MQTT broker address MQTT_TOPIC = "grafana/log_data" # Topic to publish the logs -MQTT_PORT = 1884 # Default MQTT port +MQTT_PORT = 1885 # Default MQTT port # Get the current working directory current_directory = os.getcwd() diff --git a/src/grafana-custom/dashboards/dashboards.yaml b/src/grafana-custom/dashboards/dashboards.yaml new file mode 100644 index 00000000..e69de29b diff --git a/src/grafana-custom/provisioning/datasources/mqtt-datasource.yaml b/src/grafana-custom/provisioning/datasources/mqtt-datasource.yaml index 961a023d..b0e95d97 100644 --- a/src/grafana-custom/provisioning/datasources/mqtt-datasource.yaml +++ b/src/grafana-custom/provisioning/datasources/mqtt-datasource.yaml @@ -6,14 +6,14 @@ datasources: uid: mqtt-datasource-uid access: proxy # Base URL of the MQTT broker - url: tcp://mqtt-broker_1:1883 + url: tcp://mqtt-broker_2:1883 isDefault: false editable: true jsonData: # Required by the plugin protocol: "tcp" - server: tcp://mqtt-broker_1:1883 + server: tcp://mqtt-broker_2:1883 # Unique client ID for MQTT connection clientId: grafana_mqtt_client_1 # username: your_username From 51ac6d0fc7e75384218b375654815047d3ba2832 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 19:41:37 +0000 Subject: [PATCH 18/30] Resolved issues flagged by review dog for files in mqtt/ --- Makefile | 9 --------- mqtt/fps_extracter.py | 7 ++++--- mqtt/publisher_intel.py | 12 +++++++++--- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 749a4480..9d5aa63c 100644 --- a/Makefile +++ b/Makefile @@ -76,15 +76,6 @@ run-mqtt: @echo "To view the results, open the browser and navigate to http://localhost:3000" wait -# run-mqtt: -# docker compose up -d -# rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null -# $(MAKE) benchmark-cmd -# python mqtt/publisher_intel.py & -# python mqtt/fps_extracter.py & -# @echo "To view the results, open the browser and navigate to http://localhost:3000/" -# wait - benchmark-cmd: $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py index e55e33e2..861e5a75 100644 --- a/mqtt/fps_extracter.py +++ b/mqtt/fps_extracter.py @@ -29,8 +29,9 @@ # Regex pattern to extract relevant information data_pattern = ( r"latency_tracer_pipeline, frame_latency=\(double\)([\d.]+), " - r"avg=\(double\)([\d.]+), min=\(double\)([\d.]+), max=\(double\)([\d.]+), " - r"latency=\(double\)([\d.]+), fps=\(double\)([\d.]+), frame_num=\(uint\)(\d+);" + r"avg=\(double\)([\d.]+), min=\(double\)([\d.]+), " + r"max=\(double\)([\d.]+), latency=\(double\)([\d.]+), " + r"fps=\(double\)([\d.]+), frame_num=\(uint\)(\d+);" ) @@ -76,4 +77,4 @@ def publish_data_to_mqtt(extracted_data): if extracted_data: publish_data_to_mqtt(extracted_data) else: - print("No relevant data found in the log file.") \ No newline at end of file + print("No relevant data found in the log file.") diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index cf7a98ea..5bb9954a 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -20,7 +20,10 @@ } # Combine the current directory with the relative paths -file_paths = {key: os.path.join(current_directory, path) for key, path in relative_paths.items()} +file_paths = { + key: os.path.join(current_directory, path) + for key, path in relative_paths.items() +} # Initialize file handlers cpu_file = open(file_paths["cpu"], 'r') @@ -70,9 +73,12 @@ def process_disk_line(line): "current_write": current_write, } return None + # Using itertools.zip_longest to iterate over all files simultaneously -for cpu_line, mem_line, disk_line in itertools.zip_longest(cpu_file, memory_file, disk_file): +for cpu_line, mem_line, disk_line in itertools.zip_longest + (cpu_file, memory_file, disk_file + ): # Process each line cpu_data = process_cpu_line(cpu_line) if cpu_line else None memory_data = process_memory_line(mem_line) if mem_line else None @@ -102,4 +108,4 @@ def process_disk_line(line): disk_file.close() # Disconnect MQTT client -mqtt_client.disconnect() \ No newline at end of file +mqtt_client.disconnect() From 77fcb00f18a17dd57b4955e35c642256637638ab Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 12:56:18 -0700 Subject: [PATCH 19/30] Update Makefile Co-authored-by: ejlee-intel --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9d5aa63c..c3252d5e 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ run-demo: | download-models update-submodules download-sample-videos run-mqtt: # check if python 3 is installed @python3 --version || (echo "Python 3 is not installed. Please install Python 3 and try again." && exit 1) - # ensure oython points to python3 + # ensure python points to python3 @sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 docker compose up -d From 97e6fab1f56dfcda994c9d714881c7adb2a72b38 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 12:56:50 -0700 Subject: [PATCH 20/30] Update docker-compose.yml Co-authored-by: ejlee-intel --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index e0b17e5c..e874fa19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,6 @@ services: container_name: mqtt-broker_2 ports: - "1885:1883" - # - "1884:1884" volumes: - ./mosquitto-custom/mosquitto.conf:/mosquitto/config/mosquitto.conf From 7a3dd56f14547b8c8e7a8c65ef5da5fba588cbd2 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 20:04:02 +0000 Subject: [PATCH 21/30] chore: Sync performance-tools @ 197209f --- performance-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/performance-tools b/performance-tools index 981fcc0b..197209f8 160000 --- a/performance-tools +++ b/performance-tools @@ -1 +1 @@ -Subproject commit 981fcc0b5e9ccf3742b2c3aeafdc28965d7fab0a +Subproject commit 197209f8f7bee712df5728d7cfae1605a3820d07 From 3a35a683f437466a3541268a232a375955beb033 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 20:37:54 +0000 Subject: [PATCH 22/30] Addressed Paho import possible issue --- Makefile | 4 ++-- mqtt/publisher_intel.py | 4 +--- performance-tools | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index c3252d5e..a53a7120 100644 --- a/Makefile +++ b/Makefile @@ -63,14 +63,14 @@ run-demo: | download-models update-submodules download-sample-videos run-mqtt: # check if python 3 is installed @python3 --version || (echo "Python 3 is not installed. Please install Python 3 and try again." && exit 1) - # ensure python points to python3 + # ensure oython points to python3 @sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 docker compose up -d rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd # install paho-mqtt - sudo apt install python3-paho-mqtt + sudo apt install -y python3-paho-mqtt python3 mqtt/publisher_intel.py & python3 mqtt/fps_extracter.py & @echo "To view the results, open the browser and navigate to http://localhost:3000" diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index 5bb9954a..106ce16b 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -76,9 +76,7 @@ def process_disk_line(line): # Using itertools.zip_longest to iterate over all files simultaneously -for cpu_line, mem_line, disk_line in itertools.zip_longest - (cpu_file, memory_file, disk_file - ): +for cpu_line, mem_line, disk_line in itertools.zip_longest(cpu_file, memory_file, disk_file): # Process each line cpu_data = process_cpu_line(cpu_line) if cpu_line else None memory_data = process_memory_line(mem_line) if mem_line else None diff --git a/performance-tools b/performance-tools index 197209f8..981fcc0b 160000 --- a/performance-tools +++ b/performance-tools @@ -1 +1 @@ -Subproject commit 197209f8f7bee712df5728d7cfae1605a3820d07 +Subproject commit 981fcc0b5e9ccf3742b2c3aeafdc28965d7fab0a From f450b276ffec056f88d41d7825b301fe0e579f40 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 21:05:33 +0000 Subject: [PATCH 23/30] Updated Readme --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index e7ff3eec..c1bbc7df 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ - [Manage Docker as a non-root user](https://docs.docker.com/engine/install/linux-postinstall/) - [Docker Compose v2](https://docs.docker.com/compose/) (Optional) - Intel hardware (CPU, GPU, dGPU) +- Python 3 ## QuickStart @@ -34,6 +35,26 @@ stop containers: make down ``` +## Running MQTT Scripts + +To run the MQTT scripts and ensure that the necessary Python packages are installed, use the following command: + +``` +make run-mqtt +``` + +This command will: +1. Check if Python 3 is installed. +2. Ensure that the `python` command points to Python 3. +3. Start the necessary Docker containers. +4. Remove any existing results in the `performance-tools/benchmark-scripts/results` directory. +5. Run the benchmark command. +6. Install the `paho-mqtt` Python package. +7. Run the `publisher_intel.py` and `fps_extracter.py` scripts. +8. Display a message indicating where to view the results. + +To view the results, open your browser and navigate to `http://localhost:3001`. + ## [Advanced Documentation](https://intel-retail.github.io/documentation/use-cases/automated-self-checkout/automated-self-checkout.html) ## Join the community From c8c5c111116a2422c5ba8a5d7cd7703095b0e9a4 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 14:32:01 -0700 Subject: [PATCH 24/30] Update README.md Co-authored-by: ejlee-intel --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1bbc7df..95e9ca8a 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ stop containers: make down ``` -## Running MQTT Scripts +## Viewing Benchmark Results in Grafana Dashboard To run the MQTT scripts and ensure that the necessary Python packages are installed, use the following command: From fc9e10a82eca1616543b6e5ec83a4335159f10b5 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Mon, 24 Feb 2025 14:43:08 -0700 Subject: [PATCH 25/30] Delete src/grafana-custom/dashboards/dashboards.yaml --- src/grafana-custom/dashboards/dashboards.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/grafana-custom/dashboards/dashboards.yaml diff --git a/src/grafana-custom/dashboards/dashboards.yaml b/src/grafana-custom/dashboards/dashboards.yaml deleted file mode 100644 index e69de29b..00000000 From 854e66dad69997910cfcd40d6abe041424520363 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Tue, 25 Feb 2025 08:36:29 +0000 Subject: [PATCH 26/30] Dockerised Scripts --- Dockerfile.mqtt | 23 +++++++++++++++++++ Makefile | 20 +++++++++------- docker-compose.yml | 12 ++++++++-- mqtt/fps_extracter.py | 4 ++-- mqtt/publisher_intel.py | 4 ++-- requirements.txt | 1 + src/grafana-custom/dashboards/dashboards.yaml | 0 7 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 Dockerfile.mqtt create mode 100644 requirements.txt create mode 100644 src/grafana-custom/dashboards/dashboards.yaml diff --git a/Dockerfile.mqtt b/Dockerfile.mqtt new file mode 100644 index 00000000..ec099cfd --- /dev/null +++ b/Dockerfile.mqtt @@ -0,0 +1,23 @@ +# Dockerfile.mqtt +FROM python:3.9-slim + +WORKDIR /app + +# Install dependencies +RUN apt-get update && apt-get install -y \ + apt-transport-https \ + ca-certificates \ + software-properties-common \ + && rm -rf /var/lib/apt/lists/* + +# Install mosquitto-clients +RUN apt-get update && apt-get install -y mosquitto-clients + +# Install Python packages +COPY requirements.txt /app/ +RUN pip install --no-cache-dir -r /app/requirements.txt + +# Copy the application code +COPY . /app/ + +CMD ["bash", "-c", "python3 mqtt/fps_extracter.py && python3 mqtt/fps_publisher.py"] \ No newline at end of file diff --git a/Makefile b/Makefile index a53a7120..810a884b 100644 --- a/Makefile +++ b/Makefile @@ -61,20 +61,24 @@ run-demo: | download-models update-submodules download-sample-videos run-mqtt: - # check if python 3 is installed + # Check if Python 3 is installed @python3 --version || (echo "Python 3 is not installed. Please install Python 3 and try again." && exit 1) - # ensure oython points to python3 + # Ensure python points to python3 @sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 - + + # Build and start the Docker Compose services docker compose up -d rm -f performance-tools/benchmark-scripts/results/* 2>/dev/null $(MAKE) benchmark-cmd - # install paho-mqtt - sudo apt install -y python3-paho-mqtt - python3 mqtt/publisher_intel.py & - python3 mqtt/fps_extracter.py & + + # Build and run the Python scripts container + docker build -t mqtt-scripts -f Dockerfile.mqtt . + docker run -d --rm \ + -v $(PWD)/performance-tools/benchmark-scripts/results:/app/results \ + -v $(PWD)/mqtt:/app/mqtt \ + mqtt-scripts @echo "To view the results, open the browser and navigate to http://localhost:3000" - wait + @echo "wait" benchmark-cmd: $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark diff --git a/docker-compose.yml b/docker-compose.yml index e874fa19..b7a5dac1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,6 @@ services: - "1885:1883" volumes: - ./mosquitto-custom/mosquitto.conf:/mosquitto/config/mosquitto.conf - restart: unless-stopped grafana: @@ -21,7 +20,16 @@ services: - ./grafana-custom/dashboards/:/var/lib/grafana/dashboards ports: - "3001:3000" - depends_on: - mqtt-broker_2 + mqtt-runner: + build: + context: . + dockerfile: Dockerfile.mqtt + container_name: mqtt_scripts_runner + volumes: + - ./performance-tools/benchmark-scripts/results:/app/results + - ./mqtt:/app/mqtt # Mount your MQTT script directory if needed + restart: unless-stopped + diff --git a/mqtt/fps_extracter.py b/mqtt/fps_extracter.py index 861e5a75..0f0a19cb 100644 --- a/mqtt/fps_extracter.py +++ b/mqtt/fps_extracter.py @@ -22,8 +22,8 @@ file_path = os.path.join(current_directory, relative_path) # MQTT Configuration -mqtt_broker = "localhost" -mqtt_port = 1885 +mqtt_broker = "mqtt-broker_2" +mqtt_port = 1883 mqtt_topic = "grafana/log_data" # Regex pattern to extract relevant information diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index 106ce16b..f2277d93 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -5,9 +5,9 @@ from paho.mqtt.client import Client # MQTT Configuration -BROKER_ADDRESS = "localhost" # Replace with your MQTT broker address +BROKER_ADDRESS = "mqtt-broker_2" # Replace with your MQTT broker address MQTT_TOPIC = "grafana/log_data" # Topic to publish the logs -MQTT_PORT = 1885 # Default MQTT port +MQTT_PORT = 1883 # Default MQTT port # Get the current working directory current_directory = os.getcwd() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..c543356e --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +paho-mqtt==1.6.0 \ No newline at end of file diff --git a/src/grafana-custom/dashboards/dashboards.yaml b/src/grafana-custom/dashboards/dashboards.yaml new file mode 100644 index 00000000..e69de29b From 49dddf71dfa19834e01e47416d2e46da8fd064b6 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Tue, 25 Feb 2025 18:14:40 +0000 Subject: [PATCH 27/30] In Sync JSON dump of payload --- Dockerfile.mqtt => Dockerfile.cpu | 2 +- Dockerfile.fps | 23 +++++++++++++++++++++++ Makefile | 3 ++- docker-compose.yml | 16 +++++++++++++--- 4 files changed, 39 insertions(+), 5 deletions(-) rename Dockerfile.mqtt => Dockerfile.cpu (85%) create mode 100644 Dockerfile.fps diff --git a/Dockerfile.mqtt b/Dockerfile.cpu similarity index 85% rename from Dockerfile.mqtt rename to Dockerfile.cpu index ec099cfd..1e3549db 100644 --- a/Dockerfile.mqtt +++ b/Dockerfile.cpu @@ -20,4 +20,4 @@ RUN pip install --no-cache-dir -r /app/requirements.txt # Copy the application code COPY . /app/ -CMD ["bash", "-c", "python3 mqtt/fps_extracter.py && python3 mqtt/fps_publisher.py"] \ No newline at end of file +CMD ["bash", "-c", "python3 mqtt/publisher_intel.py"] \ No newline at end of file diff --git a/Dockerfile.fps b/Dockerfile.fps new file mode 100644 index 00000000..262a8c47 --- /dev/null +++ b/Dockerfile.fps @@ -0,0 +1,23 @@ +# Dockerfile.mqtt +FROM python:3.9-slim + +WORKDIR /app + +# Install dependencies +RUN apt-get update && apt-get install -y \ + apt-transport-https \ + ca-certificates \ + software-properties-common \ + && rm -rf /var/lib/apt/lists/* + +# Install mosquitto-clients +RUN apt-get update && apt-get install -y mosquitto-clients + +# Install Python packages +COPY requirements.txt /app/ +RUN pip install --no-cache-dir -r /app/requirements.txt + +# Copy the application code +COPY . /app/ + +CMD ["bash", "-c", "python3 mqtt/fps_publisher.py"] \ No newline at end of file diff --git a/Makefile b/Makefile index 810a884b..4403474a 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,8 @@ run-mqtt: $(MAKE) benchmark-cmd # Build and run the Python scripts container - docker build -t mqtt-scripts -f Dockerfile.mqtt . + docker build -t mqtt-scripts -f Dockerfile.fps . + docker build -t mqtt-scripts -f Dockerfile.cpu . docker run -d --rm \ -v $(PWD)/performance-tools/benchmark-scripts/results:/app/results \ -v $(PWD)/mqtt:/app/mqtt \ diff --git a/docker-compose.yml b/docker-compose.yml index b7a5dac1..e59b4cad 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,11 +23,21 @@ services: depends_on: - mqtt-broker_2 - mqtt-runner: + mqtt-runner-1: build: context: . - dockerfile: Dockerfile.mqtt - container_name: mqtt_scripts_runner + dockerfile: Dockerfile.fps + container_name: fps-mqtt-runner-1 + volumes: + - ./performance-tools/benchmark-scripts/results:/app/results + - ./mqtt:/app/mqtt # Mount your MQTT script directory if needed + restart: unless-stopped + + mqtt-runner-2: + build: + context: . + dockerfile: Dockerfile.cpu + container_name: cpu-mqtt-runner-1 volumes: - ./performance-tools/benchmark-scripts/results:/app/results - ./mqtt:/app/mqtt # Mount your MQTT script directory if needed From fd08d35833085c6cf997ea9f75d25e4dfd9aa5b0 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Tue, 25 Feb 2025 18:17:44 +0000 Subject: [PATCH 28/30] updated Readme --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index 95e9ca8a..d9ab96aa 100644 --- a/README.md +++ b/README.md @@ -43,18 +43,6 @@ To run the MQTT scripts and ensure that the necessary Python packages are instal make run-mqtt ``` -This command will: -1. Check if Python 3 is installed. -2. Ensure that the `python` command points to Python 3. -3. Start the necessary Docker containers. -4. Remove any existing results in the `performance-tools/benchmark-scripts/results` directory. -5. Run the benchmark command. -6. Install the `paho-mqtt` Python package. -7. Run the `publisher_intel.py` and `fps_extracter.py` scripts. -8. Display a message indicating where to view the results. - -To view the results, open your browser and navigate to `http://localhost:3001`. - ## [Advanced Documentation](https://intel-retail.github.io/documentation/use-cases/automated-self-checkout/automated-self-checkout.html) ## Join the community From 6c633b46eb3b0b5bc79ab28e5bc343da3072cac2 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Thu, 27 Feb 2025 19:12:32 +0000 Subject: [PATCH 29/30] Resolved review dog issue --- Dockerfile.cpu | 16 ++++++++-------- Dockerfile.fps | 7 ++++--- mqtt/publisher_intel.py | 6 ++++-- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Dockerfile.cpu b/Dockerfile.cpu index 1e3549db..e4e1ad43 100644 --- a/Dockerfile.cpu +++ b/Dockerfile.cpu @@ -1,17 +1,17 @@ -# Dockerfile.mqtt FROM python:3.9-slim WORKDIR /app # Install dependencies -RUN apt-get update && apt-get install -y \ - apt-transport-https \ - ca-certificates \ - software-properties-common \ - && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install --no-install-recommends -y \ + apt-transport-https \ + ca-certificates \ + software-properties-common \ + && rm -rf /var/lib/apt/lists/* # Install mosquitto-clients -RUN apt-get update && apt-get install -y mosquitto-clients +RUN apt-get update && apt-get install --no-install-recommends -y mosquitto-clients \ + && rm -rf /var/lib/apt/lists/* # Install Python packages COPY requirements.txt /app/ @@ -20,4 +20,4 @@ RUN pip install --no-cache-dir -r /app/requirements.txt # Copy the application code COPY . /app/ -CMD ["bash", "-c", "python3 mqtt/publisher_intel.py"] \ No newline at end of file +CMD ["bash", "-c", "python3 mqtt/publisher_intel.py"] diff --git a/Dockerfile.fps b/Dockerfile.fps index 262a8c47..917392a4 100644 --- a/Dockerfile.fps +++ b/Dockerfile.fps @@ -4,14 +4,15 @@ FROM python:3.9-slim WORKDIR /app # Install dependencies -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install --no-install-recommends -y \ apt-transport-https \ ca-certificates \ software-properties-common \ && rm -rf /var/lib/apt/lists/* # Install mosquitto-clients -RUN apt-get update && apt-get install -y mosquitto-clients +RUN apt-get update && apt-get install --no-install-recommends -y mosquitto-clients \ + && rm -rf /var/lib/apt/lists/* # Install Python packages COPY requirements.txt /app/ @@ -20,4 +21,4 @@ RUN pip install --no-cache-dir -r /app/requirements.txt # Copy the application code COPY . /app/ -CMD ["bash", "-c", "python3 mqtt/fps_publisher.py"] \ No newline at end of file +CMD ["bash", "-c", "python3 mqtt/fps_extracter.py"] \ No newline at end of file diff --git a/mqtt/publisher_intel.py b/mqtt/publisher_intel.py index f2277d93..e7d7c42e 100644 --- a/mqtt/publisher_intel.py +++ b/mqtt/publisher_intel.py @@ -73,10 +73,12 @@ def process_disk_line(line): "current_write": current_write, } return None - + # Using itertools.zip_longest to iterate over all files simultaneously -for cpu_line, mem_line, disk_line in itertools.zip_longest(cpu_file, memory_file, disk_file): +for cpu_line, mem_line, disk_line in itertools.zip_longest( + cpu_file, memory_file, disk_file +): # Process each line cpu_data = process_cpu_line(cpu_line) if cpu_line else None memory_data = process_memory_line(mem_line) if mem_line else None From beb50534cb595b5d98ca5c2500e77dbb692826e5 Mon Sep 17 00:00:00 2001 From: Mayank Vyas Date: Thu, 27 Feb 2025 15:26:26 -0700 Subject: [PATCH 30/30] Update Makefile Co-authored-by: Jim Wang @ Intel --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4403474a..9f79d9db 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ run-mqtt: @echo "wait" benchmark-cmd: - $(MAKE) PIPELINE_COUNT=2 DURATION=60 DEVICE_ENV=res/all-cpu.env RESULTS_DIR=cpu benchmark + $(MAKE) PIPELINE_COUNT=$(PIPELINE_COUNT) DURATION=$(DURATION) DEVICE_ENV=$(DEVICE_ENV) RESULTS_DIR=$(RESULTS_DIR) benchmark run-headless: | download-models update-submodules download-sample-videos @echo "Building automated self checkout app"