From df4e88ff158b81664e6a247d28b3ea757e4a3e13 Mon Sep 17 00:00:00 2001 From: Alexis Metaireau Date: Wed, 30 Nov 2011 21:11:50 +0100 Subject: [PATCH] add some docs written a long time ago --- docs/_static/overall.png | Bin 0 -> 15732 bytes docs/_static/uml.jpg | Bin 0 -> 66995 bytes docs/index.rst | 1 + docs/internals.rst | 5 ++ docs/report.rst | 122 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 128 insertions(+) create mode 100644 docs/_static/overall.png create mode 100644 docs/_static/uml.jpg create mode 100644 docs/report.rst diff --git a/docs/_static/overall.png b/docs/_static/overall.png new file mode 100644 index 0000000000000000000000000000000000000000..1240a1483242a258a01c26c0b16ca1573211ffe2 GIT binary patch literal 15732 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

!U+`MU) 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 literal 0 HcmV?d00001 diff --git a/docs/_static/uml.jpg b/docs/_static/uml.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03655d7e428c153b79be182987b5dcd3fd1ca3f9 GIT binary patch literal 66995 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 UGyUDHE&4Z7LI2Lz_&