From f08e571fb41d32de7a475d8b94bed7b3b635241b Mon Sep 17 00:00:00 2001 From: Russell Champoux Date: Mon, 8 Jun 2015 18:51:07 -0400 Subject: [PATCH] Add diagrams --- images/diagram-1.gif | Bin 0 -> 8555 bytes images/diagram-2.gif | Bin 0 -> 10031 bytes images/diagram-3.gif | Bin 0 -> 7160 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/diagram-1.gif create mode 100644 images/diagram-2.gif create mode 100644 images/diagram-3.gif diff --git a/images/diagram-1.gif b/images/diagram-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..80abea831483849307d687e19ffb51743b15f22e GIT binary patch literal 8555 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 ScGkXLtgXYoenKFCC;tNhV0SeD literal 0 HcmV?d00001 diff --git a/images/diagram-3.gif b/images/diagram-3.gif new file mode 100644 index 0000000000000000000000000000000000000000..47878de7a74a98bff506ddd833973063288f43e1 GIT binary patch literal 7160 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 Qo}a9Dg