diff --git a/Assignment9/.idea/.gitignore b/Assignment9/.idea/.gitignore
new file mode 100644
index 0000000..1c2fda5
--- /dev/null
+++ b/Assignment9/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/Assignment9/.idea/Assignment9.iml b/Assignment9/.idea/Assignment9.iml
new file mode 100644
index 0000000..6d70257
--- /dev/null
+++ b/Assignment9/.idea/Assignment9.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Assignment9/.idea/cmake.xml b/Assignment9/.idea/cmake.xml
new file mode 100644
index 0000000..c4a79cb
--- /dev/null
+++ b/Assignment9/.idea/cmake.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assignment9/.idea/misc.xml b/Assignment9/.idea/misc.xml
new file mode 100644
index 0000000..f1c67df
--- /dev/null
+++ b/Assignment9/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Assignment9/.idea/modules.xml b/Assignment9/.idea/modules.xml
new file mode 100644
index 0000000..5a2f918
--- /dev/null
+++ b/Assignment9/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assignment9/.idea/vcs.xml b/Assignment9/.idea/vcs.xml
new file mode 100644
index 0000000..2e3f692
--- /dev/null
+++ b/Assignment9/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assignment9/CMakeLists.txt b/Assignment9/CMakeLists.txt
new file mode 100644
index 0000000..163ccd2
--- /dev/null
+++ b/Assignment9/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 3.20)
+project(Assignment9 C)
+set(CMAKE_C_STANDARD 99)
+add_executable(Assignment9 src/main.c)
\ No newline at end of file
diff --git a/Assignment9/src/main.c b/Assignment9/src/main.c
new file mode 100644
index 0000000..d65e213
--- /dev/null
+++ b/Assignment9/src/main.c
@@ -0,0 +1,3 @@
+int main(int argc, char *argv[]) {
+ return 0;
+}
\ No newline at end of file
diff --git a/Assignment9/tests/output1.txt b/Assignment9/tests/output1.txt
new file mode 100644
index 0000000..8227ffd
--- /dev/null
+++ b/Assignment9/tests/output1.txt
@@ -0,0 +1,13 @@
+It's a PNG file
+Found unknown: IHDR
+Chunk size is:13
+Found unknown: sRGB
+Chunk size is:1
+Found unknown: gAMA
+Chunk size is:4
+Found unknown: pHYs
+Chunk size is:9
+Found IDAT
+Chunk size is:18944
+Found IEND
+Chunk size is:0
diff --git a/Assignment9/tests/output2.txt b/Assignment9/tests/output2.txt
new file mode 100644
index 0000000..56c52ee
--- /dev/null
+++ b/Assignment9/tests/output2.txt
@@ -0,0 +1 @@
+It's not a PNG file
diff --git a/Assignment9/tests/output3.txt b/Assignment9/tests/output3.txt
new file mode 100644
index 0000000..ce30cb2
--- /dev/null
+++ b/Assignment9/tests/output3.txt
@@ -0,0 +1,249 @@
+It's a PNG file
+Found unknown: IHDR
+Chunk size is:13
+Found unknown: sRGB
+Chunk size is:1
+Found unknown: gAMA
+Chunk size is:4
+Found unknown: pHYs
+Chunk size is:9
+Found unknown: tEXt
+Chunk size is:15
+Found unknown: tIME
+Chunk size is:7
+Found unknown: tEXt
+Chunk size is:32
+Found unknown: tEXt
+Chunk size is:33
+Found IDAT
+Chunk size is:65310
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:17176
+Found IEND
+Chunk size is:0
diff --git a/Assignment9/tests/output4.txt b/Assignment9/tests/output4.txt
new file mode 100644
index 0000000..ec30b00
--- /dev/null
+++ b/Assignment9/tests/output4.txt
@@ -0,0 +1,317 @@
+It's a PNG file
+Found unknown: IHDR
+Chunk size is:13
+Found unknown: sRGB
+Chunk size is:1
+Found unknown: gAMA
+Chunk size is:4
+Found unknown: pHYs
+Chunk size is:9
+Found unknown: tEXt
+Chunk size is:15
+Found unknown: tIME
+Chunk size is:7
+Found unknown: tEXt
+Chunk size is:32
+Found unknown: tEXt
+Chunk size is:33
+Found IDAT
+Chunk size is:65310
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:65524
+Found IDAT
+Chunk size is:53390
+Found IEND
+Chunk size is:0
diff --git a/Assignment9/tests/test1.png b/Assignment9/tests/test1.png
new file mode 100644
index 0000000..ede6f2a
Binary files /dev/null and b/Assignment9/tests/test1.png differ
diff --git a/Assignment9/tests/test2.png b/Assignment9/tests/test2.png
new file mode 100644
index 0000000..d87af62
Binary files /dev/null and b/Assignment9/tests/test2.png differ
diff --git a/Assignment9/tests/test3.png b/Assignment9/tests/test3.png
new file mode 100644
index 0000000..27d45f8
Binary files /dev/null and b/Assignment9/tests/test3.png differ
diff --git a/Assignment9/tests/test4.png b/Assignment9/tests/test4.png
new file mode 100644
index 0000000..27c5ccc
Binary files /dev/null and b/Assignment9/tests/test4.png differ