diff --git a/t1/doc/rvv.drawio b/t1/doc/rvv.drawio
index f14de433ca..c294e9bc67 100644
--- a/t1/doc/rvv.drawio
+++ b/t1/doc/rvv.drawio
@@ -1 +1,1695 @@
-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
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+