ToiGC^~sS$7Ab^ZM|+N>
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
literal 0
HcmV?d00001
diff --git a/Documentation/Resources/CleanArchitecture.jpg b/Documentation/Resources/CleanArchitecture.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3cd44fb58d87e5fd2fe1f0a75533f132bb163c61
GIT binary patch
literal 107444
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