changeset 28:356077fb1c38

add resume
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Tue, 17 Feb 2009 12:27:00 +0900
parents 90128e098120
children 57a914ebe900
files presen/images/cerium.pdf presen/images/cerium_sg_tree.graffle presen/images/cerium_sg_tree.graffle/data.plist presen/images/cerium_sg_tree.graffle/image1.jpg presen/images/cerium_sg_tree.jpg presen/presen.html presen/presen.rst presen/ui/default/gongo.css resume/Makefile resume/README resume/dummy.tex resume/handout.bib resume/handout.tex resume/images/amdahl.bb resume/images/amdahl.pdf resume/images/cell_arch.bb resume/images/cell_arch.graffle resume/images/cell_arch.pdf resume/images/cell_spe.bb resume/images/cell_spe.graffle resume/images/cell_spe.pdf resume/images/cerium.bb resume/images/cerium.graffle resume/images/cerium.pdf resume/images/cerium_game_1.bb resume/images/cerium_game_1.pdf resume/images/rendering.bb resume/images/rendering.graffle resume/images/rendering.pdf resume/images/tm_sort.bb resume/images/tm_sort.graffle resume/images/tm_sort.pdf resume/images/tm_sort_calc1m.bb resume/images/tm_sort_calc1m.pdf resume/images/tm_sort_calc1m.plt resume/images/tm_sort_calc1m.txt resume/master_proc.sty
diffstat 37 files changed, 4985 insertions(+), 99 deletions(-) [+]
line wrap: on
line diff
Binary file presen/images/cerium.pdf has changed
Binary file presen/images/cerium_sg_tree.graffle has changed
Binary file presen/images/cerium_sg_tree.graffle/data.plist has changed
Binary file presen/images/cerium_sg_tree.graffle/image1.jpg has changed
Binary file presen/images/cerium_sg_tree.jpg has changed
--- a/presen/presen.html	Sun Feb 15 22:39:02 2009 +0900
+++ b/presen/presen.html	Tue Feb 17 12:27:00 2009 +0900
@@ -524,7 +524,7 @@
 </ul>
 </li>
 </ul>
-<p>二つの分割は自明には行えず、工夫が必要</p>
+<p>二つの分割は自明には行えないことが多いため、工夫が必要</p>
 </div>
 <div class="slide" id="id7">
 <h1>Many Core の同期</h1>
@@ -537,11 +537,11 @@
 <li>待ち時間が無駄になる</li>
 </ul>
 </li>
+<li>データ待ちの為にストップする状態を減らす</li>
 </ul>
 <div align="center">
   &darr;
 </div><ul class="simple">
-<li>データ待ちの為にストップする状態を減らす</li>
 <li>各 CPU が独立に (ロック無しで) データにアクセスできる様にデータを分割すれば良い</li>
 </ul>
 </div>
@@ -575,10 +575,10 @@
 <li>アーキテクチャに特化した実装</li>
 </ol>
 <ul class="simple">
-<li>SIMD</li>
+<li>Cell の場合は SIMD</li>
 </ul>
 <p>4、5段階目でエラーが出た場合、一度 3. まで戻って
-アルゴリズム、データ構造、プログラムの分割を確認する</p>
+データ構造、プログラムの分割を確認する</p>
 </div>
 <div class="slide" id="task-manager">
 <h1>Task Manager の実装</h1>
@@ -596,12 +596,17 @@
 <table>
   <tr>
     <td><p>Task と呼ばれる、分割された各プログラムを管理する</p>
-<ul class="simple">
-<li>Task はサブルーチンもしくは関数</li>
-<li>Task 同士の依存関係を考慮</li>
-<li>実行状態になった Task を各 SPE に割り振る</li>
+<ul>
+<li><p class="first">Task はサブルーチン</p>
+</li>
+<li><p class="first">Task 同士の依存関係を考慮</p>
+</li>
+<li><p class="first">実行状態になった Task を各 SPE に割り振る</p>
+</li>
+<li><p class="first">C++ で実装</p>
+<p><span class="text-maroon">Task Manager User API</span></p>
+</li>
 </ul>
-<p class="small">Task Manager User API</p>
 <table border="1" class="small docutils">
 <colgroup>
 <col width="100%" />
@@ -614,7 +619,7 @@
 </td>
 </tr>
 <tr><td><dl class="first last docutils">
-<dt>void* TaskManager::allocate</dt>
+<dt>void* TaskManager::allocate(int size)</dt>
 <dd>実行環境のアライメントを考慮した allocator</dd>
 </dl>
 </td>
@@ -622,7 +627,7 @@
 </tbody>
 </table>
 </td>
-<td><p class="small">Task API</p>
+<td align="center"><p><span class="text-maroon">Task API</span></p>
 <table border="1" class="small docutils">
 <colgroup>
 <col width="100%" />
@@ -658,6 +663,15 @@
 </dl>
 </td>
 </tr>
+<tr><td><dl class="first last docutils">
+<dt>task-&gt;spawn(void);</dt>
+<dd><p class="first">task を ActiveQueue へ格納する</p>
+<p class="last">TaskManager は ActiveQueue にある task を
+SPE へ割り振る</p>
+</dd>
+</dl>
+</td>
+</tr>
 </tbody>
 </table>
    </td>
@@ -676,34 +690,27 @@
 <dd>各タスクに割り振られているグローバルID</dd>
 </dl>
 <ul class="simple">
+<li>逐次型プログラムでは、Task に関数ポインタを持たせれば良い</li>
 <li>PPE と SPE ではアドレス空間が異なるため、
 単純に関数ポインタを持たせても意味が無い</li>
 <li>予め SPE 上の領域に置いてある Task (関数) を選択して実行するために
 ID を指定する</li>
 <li>HTask が持つのは、SPE 上にある Task を実行するための情報</li>
 </ul>
-<dl class="docutils">
-<dt><strong>spawn()</strong></dt>
-<dd><p class="first">Task を TaskManager が持つ ActiveQueue へ渡す</p>
-<ul class="last simple">
-<li>TaskManager は ActiveQueue から Task を取り出し、各 SPE へ割り振る</li>
-</ul>
-</dd>
-</dl>
 </div>
 <div class="slide" id="id11">
 <h1>Task の依存関係の解決</h1>
 <p>TaskManager はタスク依存を解決する機能をもつ</p>
-<pre class="literal-block">
+<pre class="small literal-block">
 /* task2 は task1、task3 の終了を待つ */
 task2-&gt;wait_for(task1);
 task2-&gt;wait_for(task3);
 
-/* HTask が持つ依存関係の変数 */
+/* Task が持つ依存関係の変数 */
 TaskQueuePtr wait_me;  // List of task waiting for me
 TaskQueuePtr wait_i;   // List of task for which I am waiting
 </pre>
-<div align="center" class="align-center"><img alt="images/tm_task_depend.jpg" class="align-center" src="images/tm_task_depend.jpg" style="width: 450px;" /></div>
+<div align="center" class="align-center"><img alt="images/tm_task_depend.jpg" class="align-center" src="images/tm_task_depend.jpg" style="width: 430px;" /></div>
 </div>
 <div class="slide" id="task-cpu">
 <h1>Task を実行させる CPU の選択</h1>
@@ -722,7 +729,11 @@
 <li>PPE 内でもタスクの実行が可能</li>
 <li>Mac OS X や Linux で実行する場合、SPE_* を指定したタスクは
 そのままメインスレッドで実行される</li>
-<li>環境依存のプログラム変換はタスク内部だけでよい</li>
+<li>違う環境へプログラムを移行する場合<ul>
+<li>set_cpu で実行 CPU を変更する、もしくはそのままでもよい</li>
+<li>環境依存のプログラム変換はタスク内部だけになる</li>
+</ul>
+</li>
 </ul>
 </div>
 <div class="slide" id="cpu">
@@ -742,23 +753,24 @@
 </table></div>
 <div class="slide" id="id12">
 <h1>メインスレッドと CPU スレッド間の同期</h1>
-<table>
-  <tr>
-    <td><img src="images/tm_sync.jpg" width="370px"></td>
-    <td><ul class="simple">
-<li>同期は 32 ビットメッセージの交換 (Mailbox) により行う</li>
-<li>スレッド間の待ち合わせは起こらない</li>
-</ul>
-<p>Task Manager がもつ Thread</p>
+<ul>
+<li><p class="first">同期は 32 ビットメッセージの交換 (Mailbox) により行う</p>
+</li>
+<li><p class="first">同期のタイミング</p>
+<p><span class="text-maroon">SPE -&gt; PPE</span></p>
 <ul class="simple">
-<li>PPE スレッド</li>
-<li>SPE スレッド</li>
-<li>SPE の起動、終了を見る Frontend スレッド</li>
-<li>SPE からの Mail を監視する Mail スレッド</li>
+<li>タスクの終了</li>
+<li>新しい TaskList のリクエスト</li>
 </ul>
-    </td>
-  </tr>
-</table></div>
+<p><span class="text-maroon">PPE -&gt; SPE</span></p>
+<ul class="simple">
+<li>新しい TaskList の送信</li>
+</ul>
+</li>
+<li><p class="first">メッセージ交換なので、スレッド間の待ち合わせは起こらない</p>
+</li>
+</ul>
+</div>
 <div class="slide" id="bitonic-sort">
 <h1>例題 Bitonic Sort</h1>
 <p>Task Manager を用いて、学生が記述</p>
@@ -814,7 +826,7 @@
 </div>
 <div class="slide" id="scene-graph">
 <h1>Scene Graph</h1>
-<div align="center" class="align-center"><img alt="images/cerium_sg_tree.jpg" class="align-center" src="images/cerium_sg_tree.jpg" style="width: 400px;" /></div>
+<div align="center" class="align-center"><img alt="images/cerium_sg_tree.jpg" class="align-center" src="images/cerium_sg_tree.jpg" style="width: 95%;" /></div>
 <ul class="simple">
 <li>Blender <a class="footnote-reference" href="#id16" id="id15" name="id15">[1]</a> で生成したオブジェクトを 独自の XML 形式で出力</li>
 <li>XML が持つ情報 (頂点座標、テクスチャ座標、イメージなど) から
@@ -837,7 +849,7 @@
 <td><dl class="docutils">
 <dt>SG2PP</dt>
 <dd>SceneGraph を操作後、ポリゴンに変換し PolygonPack (ポリゴンの集合)を生成する</dd>
-<dt>PP2SG</dt>
+<dt>PP2SP</dt>
 <dd>ポリゴンの中から、Span (ポリゴン内にあるx軸に水平な線分) を抽出し、
 SpanPack (Span の集合)を生成する</dd>
 <dt>DrawSpan</dt>
@@ -848,7 +860,7 @@
 </table></div>
 <div class="slide" id="rendering-task">
 <h1>Rendering Task のパイプライン</h1>
-<div align="center" class="align-center"><img alt="images/rendering_pipeline.jpg" class="align-center" src="images/rendering_pipeline.jpg" style="width: 350px;" /></div>
+<div align="center" class="align-center"><img alt="images/rendering_pipeline.jpg" class="align-center" src="images/rendering_pipeline.jpg" style="width: 80%; height: 165px;" /></div>
 <p>レンダリングはフレームが進む毎に全画面更新する</p>
 <dl class="docutils">
 <dt><strong>フレーム</strong></dt>
@@ -877,7 +889,9 @@
 </div>
 <div class="slide" id="id18">
 <h1>ゲームの実行結果(速度検証)</h1>
-<div align="center"><p class="small">ポリゴン数</p>
+<table width="95%">
+  <tr>
+    <td align="center"><p class="small">ポリゴン数</p>
 <table border="1" class="small docutils">
 <colgroup>
 <col width="56%" />
@@ -891,13 +905,14 @@
 <td>44</td>
 </tr>
 <tr><td>背景</td>
-<td>6</td>
+<td>2</td>
 </tr>
 </tbody>
 </table>
 <p class="small">Mac OS X 以外は Frame Buffer へ直接出力</p>
 <p class="small">Mac OS X は SDL 経由で出力している</p>
-<table border="1" class="small docutils">
+</td>
+<td><table border="1" class="docutils">
 <colgroup>
 <col width="40%" />
 <col width="60%" />
@@ -920,7 +935,9 @@
 </tr>
 </tbody>
 </table>
-</div><ul class="simple">
+    </td>
+  </tr>
+</table><ul class="simple">
 <li>SPE 6個で 1 個のものより 3.6 倍</li>
 <li>現状<ul>
 <li>SceneGraph の演算を SPE で行っていない</li>
@@ -983,9 +1000,12 @@
 </ul>
 </li>
 </ul>
-<div align="center" class="align-center"><img alt="images/com_gallium.jpg" class="align-center" src="images/com_gallium.jpg" style="width: 350px;" /></div>
-<div align="center">
- ポリゴン数 : 1984<table border="1" class="small docutils">
+<table width="90%">
+ <tr>
+   <td><div align="center" class="align-center"><img alt="images/com_gallium.jpg" class="align-center" src="images/com_gallium.jpg" style="width: 350px;" /></div>
+</td>
+<td align="center"><p class="small">ポリゴン数 : 1984</p>
+<table border="1" class="small docutils">
 <colgroup>
 <col width="55%" />
 <col width="45%" />
@@ -1002,7 +1022,9 @@
 </tr>
 </tbody>
 </table>
-</div><ul class="simple">
+    </td>
+  </tr>
+</table><ul class="simple">
 <li>Gallium には OpenGL API の機能が全て乗っているわけではない</li>
 <li>Cerium とのレンダリングの機能の違い<ul>
 <li>光源、アルファブレンディング、etc..</li>
@@ -1018,7 +1040,7 @@
 <dd>オープンソースの3Dグラフィックスプログラムインターフェース</dd>
 </dl>
 <ul class="simple">
-<li>変換行列、光源、カメラなどの API</li>
+<li>変換行列、光源、カメラなどの API を実装</li>
 <li>親子関係の表現も可能</li>
 </ul>
 <p>Cerium での OpenGL の使用の問題</p>
@@ -1094,16 +1116,20 @@
 <li>SIMD 演算の使用、もしくはそれに適したデータ構造の採用</li>
 <li>プログラムコードの SPE 上での On demand Load<ul>
 <li>現在は予めコードを全て置いておく必要がある</li>
+<li>SPE のメモリ領域 (256KB) を考えると好ましくない</li>
 </ul>
 </li>
 <li>レンダリングの機能の追加<ul>
-<li>Z-sort</li>
 <li>アルファブレンディング</li>
 <li>光源</li>
+<li>Z-sort</li>
 </ul>
 </li>
 </ul>
 </div>
+<div class="slide" id="id23">
+<h1>終</h1>
+</div>
 </div>
 </body>
 </html>
--- a/presen/presen.rst	Sun Feb 15 22:39:02 2009 +0900
+++ b/presen/presen.rst	Tue Feb 17 12:27:00 2009 +0900
@@ -201,7 +201,7 @@
 
   - 分割できるデータ構造の採用が必要となる
 
-二つの分割は自明には行えず、工夫が必要
+二つの分割は自明には行えないことが多いため、工夫が必要
 
 
 Many Core の同期
@@ -214,13 +214,14 @@
 
   - 待ち時間が無駄になる
 
+- データ待ちの為にストップする状態を減らす
+
 .. raw:: html
 
   <div align="center">
     &darr;
   </div>
 
-- データ待ちの為にストップする状態を減らす
 - 各 CPU が独立に (ロック無しで) データにアクセスできる様にデータを分割すれば良い
 
 
@@ -250,10 +251,10 @@
 
 5. アーキテクチャに特化した実装
 
-- SIMD
+- Cell の場合は SIMD
 
 4、5段階目でエラーが出た場合、一度 3. まで戻って
-アルゴリズム、データ構造、プログラムの分割を確認する
+データ構造、プログラムの分割を確認する
 
 
 Task Manager の実装
@@ -278,31 +279,34 @@
 
 Task と呼ばれる、分割された各プログラムを管理する
 
-- Task はサブルーチンもしくは関数
+- Task はサブルーチン
 - Task 同士の依存関係を考慮
 - 実行状態になった Task を各 SPE に割り振る
+- C++ で実装
+
+
+  :maroon:`Task Manager User API`
 
 .. class:: small
 
-  Task Manager User API
-
   +----------------------------------------------+
   | HTask* TaskManager::create_task(int ID);     | 
   |   Task の生成                                |
   +----------------------------------------------+
-  | void* TaskManager::allocate                  |
+  | void* TaskManager::allocate(int size)        |
   |   実行環境のアライメントを考慮した allocator |
   +----------------------------------------------+
 
 .. raw:: html
 
       </td>
-      <td>
+      <td align="center">
+
+
+:maroon:`Task API`
 
 .. class:: small
 
-  Task API
-
   +--------------------------------------------------------------+
   |task->add_inData(int addr, int size);                         |
   |  Task の入力データの設定 (入力元アドレス、データサイズ)      |
@@ -319,6 +323,12 @@
   |task->set_cpu(CPU_TYPE type);                                 |
   |  Task を実行する CPU の設定                                  |
   +--------------------------------------------------------------+
+  |task->spawn(void);                                            |
+  |  task を ActiveQueue へ格納する                              |
+  |                                                              | 
+  |  TaskManager は ActiveQueue にある task を                   |
+  |  SPE へ割り振る                                              |
+  +--------------------------------------------------------------+
   
 .. raw:: html
 
@@ -340,6 +350,8 @@
 Task ID
   各タスクに割り振られているグローバルID
 
+- 逐次型プログラムでは、Task に関数ポインタを持たせれば良い
+
 - PPE と SPE ではアドレス空間が異なるため、
   単純に関数ポインタを持たせても意味が無い
 
@@ -348,30 +360,28 @@
 
 - HTask が持つのは、SPE 上にある Task を実行するための情報
 
-**spawn()**
-  Task を TaskManager が持つ ActiveQueue へ渡す
-
-  - TaskManager は ActiveQueue から Task を取り出し、各 SPE へ割り振る
 
 Task の依存関係の解決
 =========================
 
 TaskManager はタスク依存を解決する機能をもつ
 
+.. class:: small
+
 ::
 
     /* task2 は task1、task3 の終了を待つ */
     task2->wait_for(task1);
     task2->wait_for(task3);
 
-    /* HTask が持つ依存関係の変数 */
+    /* Task が持つ依存関係の変数 */
     TaskQueuePtr wait_me;  // List of task waiting for me
     TaskQueuePtr wait_i;   // List of task for which I am waiting
 
 
 .. image:: images/tm_task_depend.jpg
    :align: center
-   :width: 450px
+   :width: 430px
 
 
 Task を実行させる CPU の選択
@@ -393,7 +403,11 @@
 - PPE 内でもタスクの実行が可能
 - Mac OS X や Linux で実行する場合、SPE_\* を指定したタスクは
   そのままメインスレッドで実行される
-- 環境依存のプログラム変換はタスク内部だけでよい
+- 違う環境へプログラムを移行する場合
+
+  - set_cpu で実行 CPU を変更する、もしくはそのままでもよい
+  - 環境依存のプログラム変換はタスク内部だけになる
+
 
 CPU スレッドスケジューラ
 ==========================
@@ -426,32 +440,25 @@
    </tr>
  </table>
 
+
 メインスレッドと CPU スレッド間の同期
 =======================================
 
-.. raw:: html
+- 同期は 32 ビットメッセージの交換 (Mailbox) により行う
 
- <table>
-   <tr>
-     <td><img src="images/tm_sync.jpg" width="370px"></td>
-     <td>
+- 同期のタイミング
 
-
-- 同期は 32 ビットメッセージの交換 (Mailbox) により行う
-- スレッド間の待ち合わせは起こらない
+  :maroon:`SPE -> PPE`
 
-Task Manager がもつ Thread
+  - タスクの終了
+  - 新しい TaskList のリクエスト
+
+  :maroon:`PPE -> SPE`
 
-- PPE スレッド
-- SPE スレッド
-- SPE の起動、終了を見る Frontend スレッド
-- SPE からの Mail を監視する Mail スレッド
+  - 新しい TaskList の送信
 
-.. raw:: html
+- メッセージ交換なので、スレッド間の待ち合わせは起こらない
 
-     </td>
-   </tr>
- </table>
 
 
 例題 Bitonic Sort
@@ -516,7 +523,7 @@
 
 .. image:: images/cerium_sg_tree.jpg
    :align: center
-   :width: 400px
+   :width: 95%
 
 - Blender [#]_ で生成したオブジェクトを 独自の XML 形式で出力
 - XML が持つ情報 (頂点座標、テクスチャ座標、イメージなど) から
@@ -550,7 +557,7 @@
 SG2PP
   SceneGraph を操作後、ポリゴンに変換し PolygonPack (ポリゴンの集合)を生成する
 
-PP2SG
+PP2SP
  ポリゴンの中から、Span (ポリゴン内にあるx軸に水平な線分) を抽出し、
  SpanPack (Span の集合)を生成する
 
@@ -568,7 +575,8 @@
 
 .. image:: images/rendering_pipeline.jpg
    :align: center
-   :width: 350px
+   :width: 80%
+   :height: 165px
 
 レンダリングはフレームが進む毎に全画面更新する
 
@@ -608,7 +616,9 @@
 
 .. raw:: html
 
-  <div align="center">
+  <table width="95%">
+    <tr>
+      <td align="center">
 
 .. class:: small
 
@@ -621,7 +631,7 @@
 ---------- --------
   敵機       44
 ---------- --------
-  背景       6
+  背景       2
 ========== ======== 
 
 .. class:: small
@@ -632,7 +642,10 @@
 
 Mac OS X は SDL 経由で出力している
 
-.. class:: small
+.. raw:: html
+
+      </td>
+      <td>
 
 =========================  =====================================
  Architecture              Speed (FPS : Frame Per Second)
@@ -648,7 +661,9 @@
 
 .. raw:: html
 
-  </div>
+      </td>
+    </tr>
+  </table>
 
 - SPE 6個で 1 個のものより 3.6 倍
 
@@ -710,15 +725,24 @@
   - 出力解像度は 1920x1080
   - 地球のテクスチャを貼った球体のオブジェクトを表示
 
+.. raw:: html
+
+  <table width="90%">
+   <tr>
+     <td>
+
 .. image:: images/com_gallium.jpg
    :align: center
    :width: 350px
 
-
 .. raw:: html
 
-  <div align="center">
-   ポリゴン数 : 1984
+     </td>
+     <td align="center">
+
+.. class:: small
+
+ポリゴン数 : 1984
 
 .. class:: small
 
@@ -732,7 +756,9 @@
 
 .. raw:: html
 
-  </div>
+      </td>
+    </tr>
+  </table>
 
 - Gallium には OpenGL API の機能が全て乗っているわけではない
 - Cerium とのレンダリングの機能の違い
@@ -747,7 +773,7 @@
 OpenGL
   オープンソースの3Dグラフィックスプログラムインターフェース
 
-- 変換行列、光源、カメラなどの API
+- 変換行列、光源、カメラなどの API を実装
 - 親子関係の表現も可能
 
 Cerium での OpenGL の使用の問題
@@ -829,10 +855,14 @@
 - プログラムコードの SPE 上での On demand Load
 
   - 現在は予めコードを全て置いておく必要がある
+  - SPE のメモリ領域 (256KB) を考えると好ましくない
 
 - レンダリングの機能の追加
 
-  - Z-sort
   - アルファブレンディング
   - 光源
+  - Z-sort
 
+終
+==============
+
--- a/presen/ui/default/gongo.css	Sun Feb 15 22:39:02 2009 +0900
+++ b/presen/ui/default/gongo.css	Tue Feb 17 12:27:00 2009 +0900
@@ -20,4 +20,12 @@
 div.gongohighlight span.n  { color: #0000dd; }
 div.gongohighlight span.nl { color: #dd00dd; }
 
+pre.literal-block {
+  margin-top: 10px;
+  margin-bottom: 10px;
+  color: #335533;
+  background-color: #dddddd;
+  border: 1px solid #aaaaaa;
+}
+
 * {font-family: Osaka, 'MS Pゴシック';}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/Makefile	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,76 @@
+TARGET = handout
+
+LATEX   = platex
+BIBTEX  = jbibtex
+DVIPS   = dvips
+DVIPDFM = dvipdfmx
+RM      = rm -f
+EBB     = ebb
+
+#  Option definitions
+DVIPDFMOPT = 
+DVIPSOPT   = -D 720 -mode esphi -O 0mm,0mm -N0 
+
+#  Suffixes definitions
+.SUFFIXES: .tex .dvi
+
+#  Recipes
+all: pdf# $(TARGET).ps
+	open $(TARGET).pdf
+
+dvi:
+	@echo "----------- make dvi file ($(TARGET).dvi) ----------"
+	$(LATEX) $(TARGET)
+	$(BIBTEX) $(TARGET)
+	$(LATEX) $(TARGET)
+	$(LATEX) $(TARGET)
+pdf: dvi
+	$(DVIPDFM) $(DVIPDFMOPT) $(TARGET)
+
+clean:
+	$(RM) *~ \#*
+	@if [ -f $(TARGET).aux ];\
+		then $(RM) $(TARGET).aux;\
+	fi
+	@if [ -f $(TARGET).log ];\
+		then $(RM) $(TARGET).log;\
+	fi
+	@if [ -f $(TARGET).toc ];\
+		then $(RM) $(TARGET).toc;\
+	fi
+	@if [ -f $(TARGET).lof ];\
+		then $(RM) $(TARGET).lof;\
+	fi
+	@if [ -f $(TARGET).lot ];\
+		then $(RM) $(TARGET).lot;\
+	fi
+	@if [ -f $(TARGET).big ];\
+		then $(RM) $(TARGET).big;\
+	fi
+	@if [ -f $(TARGET).bbl ];\
+		then $(RM) $(TARGET).bbl;\
+	fi
+	@if [ -f $(TARGET).ilg ];\
+		then $(RM) $(TARGET).ilg;\
+	fi
+	@if [ -f $(TARGET).idx ];\
+		then $(RM) $(TARGET).idx;\
+	fi
+	@if [ -f $(TARGET).ind ];\
+		then $(RM) $(TARGET).ind;\
+	fi
+	@if [ -f $(TARGET).dvi ];\
+		then $(RM) $(TARGET).dvi;\
+	fi
+	@if [ -f $(TARGET).pdf ];\
+		then $(RM) $(TARGET).pdf;\
+	fi
+	@if [ -f $(TARGET).out ];\
+		then $(RM) $(TARGET).out;\
+	fi
+	@if [ -f $(TARGET).bbl ];\
+		then $(RM) $(TARGET).bbl;\
+	fi
+	@if [ -f $(TARGET).blg ];\
+		then $(RM) $(TARGET).blg;\
+	fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/README	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,40 @@
+κǽȯɽͽ  ե ver. 1.0.2
+
+Style-file for Proceedings of Master's Final Presentation
+  at Department of Information Engineering, University of the Ryukyus 
+
+* ǥ쥯ȥ
+ README			...	Υե
+ master_proc.sty	...	ե
+ sample.tex		...	ץե
+
+* 
+
+ ȯɽͽƤΤΥեǤͽƤϡ
+
+| ͽƻ͡
+|   A4ѻ2硢֥롦
+|   1ڡܡʾޡ15mm, ޡ20mm, ޡ10mm, ޡ20mm
+|   2ڡܡʾޡ15mm, ޡ20mm, ޡ20mm, ޡ10mm
+|   1ڡܥإåʬˡֹ桢̾Ƴ̾롣
+
+ Ȥͤ˴ŤƺƤޤ
+
+* ˡ
+
+ ˥ץꥢ֥
+ \documentclass[twocolumn, a4j, twoside]{jarticle}
+ \usepackage{master_proc}
+
+ \jtitle{ʸȥ}		%ʸȥ
+ \etitle{Title in English}	%ʸȥ
+ \author{̾}	%̾
+ \studentid{999999Z}	%ֹ
+ \teacher{Ƴ̾}	%Ƴ
+
+ ꤷ\begin{document} ľ \maketitle Ƥ
+
+
+ ϥץե򻲾ȡ
+
+--Ryuji GUSHIKEN
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/dummy.tex	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,60 @@
+%%% jdummy.def
+%
+\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\endinput
+%%%% end of jdummy.def
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/handout.bib	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,239 @@
+@article{akira,
+author = "{Akira KAMIZATO}",
+title = "{Cell を用いたゲームフレームワークの提案}",
+journal = "{琉球大学理工学研究科情報工学専攻 平成19年度学位論文}",
+year = 2008
+}
+
+@manual{cell_abi,
+author = "{International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation}",
+title ="{Cell Broadband Engine Linux Reference Implementation Application Binary Interface Specification}",
+year = 2007
+}
+
+@manual{cell_cpp,
+author = "{International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation}",
+title = "{C/C++ Language Extensions for Cell Broadband Engine Architecture Version 2.6}",
+year = 2008
+}
+
+@misc{osmesa,
+author = "",
+title = "{The Mesa 3D Graphics Library}",
+howpublished = "{http://www.mesa3d.org/}"
+}
+
+@misc{fedora,
+author = "",
+title = "{Fedora Project}",
+howpublished = "{http://fedoraproject.org/}"
+}
+
+@misc{ydl,
+author = "",
+title = "{Yellow Dog Linux for PowerPC Computers}",
+howpublished = "{http://us.fixstars.com/products/ydl/}"
+}
+
+@book{amdahl,
+author = "{Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea}",
+title = "{Java Concurrency in Prac-tice}",
+publisher = "{Addison-Wesley Professional}",
+year = "2005"
+}
+
+@misc{cerium,
+author = "",
+title = "{SourceForge.JP: Cerium Rendering Engine}",
+howpublished = "{https//sourceforge.jp/projects/cerium/}"
+}
+
+@misc{spurs,
+author = "{Keisuke Inoue}",
+title = "{SPU Centric Execution Model}",
+text = "SACSIS 2006",
+year = 2006
+}
+
+@manual{cell,
+author = "{Sony Corporation}",
+title = "{Cell BroadbandEngine \texttrademark アーキテクチャ}",
+year = 2006
+}
+
+@manual{cell_sdk,
+author = "{International Business Machines Corporation}",
+title = "{Software Development Kit for Multicore Acceleration Version 3.1}",
+year = 2008
+}
+
+@manual{libspe2,
+author = "{International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation}",
+title = "{SPE Runtime Management Library Version 2.3}",
+year = 2008
+}
+
+@article{gongo2,
+author = "{Wataru MIYAGUNI}",
+title = "{Cell 用の Fine-grain Task Manager の実装}",
+journal = "{情報処理学会 システムソフトウェアとオペレーティング・システム研究会}",
+month = "April",
+year = 2008
+}
+
+@article{chiaki,
+author = "{Chiaki SUGIYAMA}",
+title = "{SceneGraph と StatePattern を用いたゲームフレームワークの設計と実装}",
+journal = "{琉球大学工学部情報工学科 平成19年度卒業論文}",
+year = 2008
+}
+
+@misc{blender,
+title = "{Blender.jp - Blender Japanese Website}",
+howpublished = "{http://blender.jp/}"
+}
+
+@article{spufs,
+author = "{Toshiyuki SANUKI}",
+title = "{Cell Broadband Engine \texttrademark を用いたブレード・サーバーの設計と実装}",
+journal = "{IBM PROVISION No.48}",
+year = 2006
+}
+
+@misc{sdl,
+author = "",
+title = "{Simple DirectMedia Layer}",
+howpublished = "{http://www.libsdl.org/}"
+}
+
+@misc{sdl_image,
+author = "",
+title = "{SDL\_image}",
+howpublished = "{http://www.libsdl.org/projects/SDL\_image/}"
+}
+
+@manual{opencl,
+author = "{Aaftab Munshi, Khronos OpenCL Working Group}",
+title ="{The OpenCL Specification Version 1.0}",
+year = 2007
+}
+
+@misc{gallium,
+author = "",
+title = "{Gallium3D}",
+howpublished = "{http://www.tungstengraphics.com/wiki/ index.php/Gallium3D}"
+}
+
+@inproceedings{cellbe-overview-conference,
+author = {Pham, D. and Asano, S. and Bolliger, M.and Day, M. N. and Hofstee, H. P. and Johns, C. and Kahle, J. and Kameyama, A. and Keaty, J. and Masubuchi, Y. and Riley, M. and Shippy, D. and Stasiak, D. and Suzuoki, M. and Wang, M. and Warnock, J. and Weitzel, S. and Wendel, D. and Yamazaki, T. and Yazawa, K. },
+booktitle = {Solid-State Circuits Conference, 2005. Digest of Technical Papers. ISSCC. 2005 IEEE International},
+pages = {184--592 Vol. 1},
+title = {The design and implementation of a first-generation CELL processor},
+year = {2005}
+}
+
+@INPROCEEDINGS{KOKKEVIS06high-performancephysics,
+author = {V KOKKEVIS and S OSMAN and E L},
+title = {High-performance physics solver design for next generation consoles},
+booktitle = {In Game Developers Conference},
+year = {2006}
+}
+
+@misc{Cellteto,
+author = "{Williams, J. Carter, L. Oliker, J. Shalf, K. Yelick}",
+title = "{3D Lattice Boltzmann Magneto-hydrodynamics (LBMHD3D)}",
+howpublished = "{UTK Summit on Software and Algorithms for the Cell Processor}",
+year = {2006}
+}
+
+@inproceedings{cellbe-spe-overview-conference,
+uthor = {Flachs, B.  and Asano, S.  and Dhong, S. H.  and Hotstee, P.  and Gervais, G.  and Kim, R.  and Le, T.  and Liu, P.  and Leenstra, J.  and Liberty, J.  and Michael, B.  and Oh, H.  and Mueller, S. M.  and Takahashi, O.  and Hatakeyama, A.  and Watanabe, Y.  and Yano, N. },
+journal = {Solid-State Circuits Conference, 2005. Digest of Technical Papers. ISSCC. 2005 IEEE International},
+pages = {134--135 Vol. 1},
+title = {A streaming processing unit for a CELL processor},
+year = {2005}
+}
+
+@article{Cellteto2,
+  author = {A. E. Eichenberger},
+  title =  {Using advanced compiler technology to exploit the performance of the Cell Broadband Engine \texttrademark architecture},
+  journal = {IBM System Journal Vol 45, No.1},
+  year =  {2006},
+}
+
+
+@INPROCEEDINGS{Benthin06raytracing,
+    author = {Carsten Benthin and Ingo Wald and Michael Scherbaum and Heiko Friedrich},
+    title = {Ray Tracing on the CELL Processor},
+    booktitle = {In Proceedings of the 2006 IEEE Symposium on Interactive Ray Tracing},
+    year = {2006},
+    pages = {15--23}
+}
+
+@inproceedings{citeulike:1905188,
+author = {Blagojevic, Filip   and Nikolopoulos, Dimitris  S.  and Stamatakis, Alexandros   and Antonopoulos, Christos  D. },
+booktitle = {PPoPP '07: Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming},
+pages = {90--100},
+publisher = {ACM},
+title = {Dynamic multigrain parallelization on the cell broadband engine},
+year = {2007}
+}
+
+@article{DBLP:journals/cphysics/Fabritiis07,
+  author    = {G. De Fabritiis},
+  title     = {Performance of the Cell processor for biomolecular simulations},
+  journal   = {Computer Physics Communications},
+  volume    = {176},
+  number    = {11-12},
+  year      = {2007},
+  pages     = {660-664},
+  ee        = {http://dx.doi.org/10.1016/j.cpc.2007.02.107},
+  bibsource = {DBLP, http://dblp.uni-trier.de}
+}
+
+@article{1272431,
+ author = {Kurzak,, Jakub and Dongarra,, Jack},
+ title = {Implementation of mixed precision in solving systems of linear equations on the Cell processor: Research Articles},
+ journal = {Concurr. Comput. : Pract. Exper.},
+ volume = {19},
+ number = {10},
+ year = {2007},
+ issn = {1532-0626},
+ pages = {1371--1385},
+ publisher = {John Wiley and Sons Ltd.},
+}
+
+@inproceedings{1128027,
+ author = {Williams,, Samuel and Shalf,, John and Oliker,, Leonid and Kamil,, Shoaib and Husbands,, Parry and Yelick,, Katherine},
+ title = {The potential of the cell processor for scientific computing},
+ booktitle = {CF '06: Proceedings of the 3rd conference on Computing frontiers},
+ year = {2006},
+ isbn = {1-59593-302-6},
+ pages = {9--20},
+ publisher = {ACM}
+}
+@Comment LocalWords:  SACSIS BroadbandEngine sdk Multicore
+
+@article{kono_list1,
+author = "{河野真治}",
+title = "{検証を自身で表現できるハードウェア、ソフトウェア記述言語 Continuation based C と、そのCell への応用}",
+journal = "{電子情報通信学会VLSI設計技術研究会}",
+month = "{March}",
+year = 2008
+}
+
+@article{kono_list2,
+author = "{神里晃, 宮國渡, 杉山千秋, 河野真治}",
+title = "{CからCellアーキテクチャを利用したCbCへの変換}",
+journal = "{電子情報通信学会VLSI設計技術研究会}",
+month = "{March}",
+year = 2008
+}
+
+@article{kono_list3,
+author = "{神里晃, 河野真治}",
+title = "{Continuation based CによるPS3 Cell のシミュレーション}",
+journal = "{情報処理学会システムソフトウェアとオペレーティング・システム研究会}",
+month = "{May}",
+year = 2006
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/handout.tex	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,300 @@
+\documentclass[twocolumn, a4j, twoside]{jarticle}
+\usepackage{master_proc}
+%\usepackage[dvips]{graphicx}
+\usepackage[dvipdfm]{graphicx}
+
+\input{dummy.tex}
+
+% dvipdfm を使って PDF ファイルに日本語の栞をつける
+% \usepackage[dvipdfm]{color}
+% \usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true,%
+% bookmarkstype=toc]{hyperref}
+
+\newcommand\figref[1]{図 \ref{fig:#1}}
+\newcommand\tabref[1]{表 \ref{tab:#1}}
+
+%和文タイトル
+\jtitle{Cell 用の Fine-Grain Task Manager の実装}
+%英文タイトル
+\etitle{Implementation of Fine-grain Task Manager for Cell}
+%著者名
+\author{宮國 渡}
+%学籍番号
+\studentid{078519K}
+%指導教官
+\teacher{河野 真治}
+
+\begin{document}
+
+\maketitle
+
+\section{はじめに}
+
+現在、学生実験にて PlayStation 3 (PS3) で動作するゲーム開発を行っている。 
+しかし、PS3 のアーキテクチャである Cell は、
+Many Core を用いた並列プログラミングが求められており、
+並列プログラミングの経験が浅い学生にとって、
+Cell のようなアーキテクチャを理解した上でゲームを実装することは困難である。
+また、現在 PS3 ゲーム開発用フレームワークが存在しないことで、
+学生が一からプログラミングしていく必要がある。
+%この様な問題から、例年、学生実験の期間の大半を
+%アーキテクチャの勉強に費やさねばならず、残りの期間内でゲーム開発を行っている。
+%そのため、制作されたゲームの完成度が一定以上にならない。
+
+本研究では、Many Core Architetcure を用いた並列プログラムの開発をサポートする
+フレームワークとして Fine-Grain Task Manager を実装し、それを組み込んだ、
+PS3 ゲーム開発用フレームワークである Cerium を提案する。
+
+%Cerium を用いた開発行程は以下の様になる。
+%
+%\begin{itemize}
+%\item 逐次型プログラム
+%\item データやコードを分割したプログラム
+%\item 並列に動かすプログラム
+%\end{itemize}
+%
+%これらのステップ毎にプログラムの仕様やアルゴリズムを確かめ、テストやデバッグを行い信頼性を確保しながら開発を進める。
+
+Cerium は学生が Cell を理解しながら、一定期間内でゲーム開発が行える、
+シンプルなマルチタスクフレームワークを目指している。
+
+\vspace{-4mm}
+
+\section{Cell Broadband Engine}
+Cell \cite{cell} は、1個の Power PC Processor Element (PPE) と、
+8個の Synergistic Processor Element (SPE) からなる非対称なマルチコアプロセッサ
+である、高速なリングバスでである Element Interface Bus (EIB) で構成されている
+(\figref{cell_arch})。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.3]{./images/cell_arch.pdf}
+    \caption{Cell Broadband Engine Architecture}
+    \label{fig:cell_arch}
+  \end{center}
+\end{figure}
+
+\vspace{-8mm}
+
+本研究で用いた PS3Linux (Fedora 10、Yellow Dog Linux 6.0) からは
+6個の SPE が使用できる。SPE には 256KB の Local Store (LS) と呼ばれる
+メモリ領域を持っている。また、SPE からメインメモリへは直接アクセスできず、
+SPE が持つ Memory Flow Controller (MFC) へ、DMA 命令を発行することで行われる
+。
+%(\figref{cell_spe})。
+
+%\begin{figure}[htb]
+%  \begin{center}
+%    \includegraphics[scale=0.25]{./images/cell_spe.pdf}
+%    \caption{Synergistic Processor Element (SPE)}
+%    \label{fig:cell_spe}
+%  \end{center}
+%\end{figure}
+
+Cell が持つ基本的な機能として、Mailbox \cite{libspe2} がある。
+Mailbox は SPE の MFC 内にある 32ビットメッセージの FIFO キューを保持しており、
+PPE と SPE 間での同期に用いることができる。
+
+\vspace{-4mm}
+\section{Many Core プログラミングの特徴}
+並列実行には Amdahl 則 \cite{amdahl}があり、
+使用するCPUを増やしても、元のプログラムの 
+並列化率が低ければ、その性能を生かすことは出来ないとされている
+(\figref{amdahl})。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.35]{./images/amdahl.pdf}
+    \caption{Amdahl則 (6CPUを用いた時の並列化率と性能向上率)}
+    \label{fig:amdahl}
+  \end{center}
+\end{figure}
+
+並列度を維持するためには、元のプログラム及びデータの分割による
+データ並列、パイプライン処理を行うことが必要である。
+
+並列プログラミングでは、以下の段階において、それぞれ実装とテストを行う。
+
+\vspace{-2mm}
+
+{\small
+\begin{verbatim}
+step1. C によるシーケンシャルな実装
+step2. 並列実行を考慮したデータ構造を持つ実装
+step3. コードを分割し、それらをシーケンシャルに実行する実装
+step4. 分割したコードを並列実行する実装
+step5. アーキテクチャに特化した実装
+\end{verbatim}
+}
+
+\vspace{-2mm}
+
+step3 まではシーケンシャルに実行されるためアーキテクチャに依存しない実装と
+なっており、二分法によるデバッグが可能となっている。
+step4、5 で異常が確認できた場合、一度 step3 に戻りアルゴリズムやデータ構造、
+プログラム分割が正しいかを確認する。
+
+\vspace{-4mm}
+\section{TaskManager}
+
+Task Manager は、Task と呼ばれる、分割された各プログラムの管理を行う。
+Task の単位はサブルーチンとし、Task 同士の依存関係を考慮し、
+実行可能状態になった Task を各 SPE に割り振る。
+Task は通常 PPE スレッドで生成され、SPE スレッドに送られる。
+SPE スレッドでは、受け取った Task をパイプラインに沿ってステージを遷移しながら
+複数の Task を同時に実行していく。
+
+Task Manager は、Task が実行される CPU を明示的に選択できる機能を
+持っているため、違う環境へプログラムを移行する場合に大幅なコードの変更が
+必要なく、環境依存のプログラム変換はタスク内部だけになる。
+
+PPE スレッドと SPE スレッド間の同期は、Cell の機能である Mailbox を用いる。
+メッセージ交換なので、スレッド間の待ち合わせは起こらない。
+
+%\subsection{例題}
+%Task Manager を用いて、実際に学生に並列プログラムを実装してもらった。
+%プログラムは Bitonic Sort で、ソートデータを複数のブロックに分割し、
+%隣り合ったブロック同士でソートするのを繰り返すソーティングである
+%(\figref{sort})。
+%
+%\vspace{-2mm}
+%
+%\begin{figure}[htb]
+%  \begin{center}
+%    \includegraphics[scale=0.3]{./images/tm_sort.pdf}
+%    \vspace{-4mm}
+%    \caption{Bitonic Sort}
+%    \label{fig:sort}
+%  \end{center}
+%\end{figure}
+%
+%\figref{sort_calc} が実行結果となる。
+%SPE 6 個で、SPE 1 個の時より 5.1 の性能向上がみられる。
+%これより、TaskManager 自体のオーバーヘッドは問題ないと考えられる。
+%
+%\vspace{-2mm}
+%
+%\begin{figure}[htb]
+%  \begin{center}
+%    \includegraphics[scale=0.3]{./images/tm_sort_calc1m.pdf}
+%    \vspace{-4mm}
+%    \caption{Bitonic Sort 実行結果}
+%    \label{fig:sort_calc}
+%    \vspace{-8mm}
+%  \end{center}
+%\end{figure}
+%
+\vspace{-2mm}
+
+\section{Cerium}
+
+Cerium \cite{cerium} は PS3 ゲーム開発用のフレームワークである。
+
+Cerium は、オブジェクトのデータやその振る舞い、
+またはゲームのルールなどゲームを構成する場面 (シーン) を木構造で持つ
+Scene Graph、OSMesa に代表される Rendering Engine、
+そしてそれらの実行単位を Task とし、
+動的に全てのコアが動作する様な割り振りを行うカーネル
+TaskManager で構成されている (\figref{cerium})。 
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.3]{./images/cerium.pdf}
+    \vspace{-4mm}
+    \caption{Cerium}
+    \label{fig:cerium}
+  \end{center}
+\end{figure}
+
+\vspace{-8mm}
+
+\subsection{SceneGraph}
+ゲームオブジェクトは オープンソースの3Dモデリングツールである
+Blender \cite{blender} で作成し、Cerium 独自の XML 形式で出力する
+\cite{chiaki}。
+Cerium はXML が持つ情報 (頂点座標、テクスチャ情報など) から SceneGraph
+を生成する。SceneGraph はポリゴン情報の他に、オブジェクトの操作に関する move や
+他の SceneGraph との衝突処理を行う collision を持つ。
+
+\subsection{Rendering Engine}
+Cerium Rendering Engine では、SceneGraph の操作後、
+実際に描画するポリゴン を SceneGraph から取得する {\bf SG2PP}、
+ポリゴンの中から Span (ポリゴン内にある x軸に水平な線分) を抽出する
+{\bf PP2SP}、Span を使って 1 ラインずつ描画していく {\bf DrawSpan} の
+3つのタスクで構成されている (\figref{rendering})。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.25]{./images/rendering.pdf}
+    \vspace{-4mm}
+    \caption{Cerium Rendering Engine}
+    \label{fig:rendering}
+  \end{center}
+\end{figure}
+
+\vspace{-8mm}
+\subsection{Cerium を用いたゲーム開発}
+
+\figref{dandy} は、学生が Cerium を用いて開発したPS3 で動作する
+3Dシューティングゲームである。このゲームの実行結果を \tabref{game} に示す。
+SPE 6 個で、SPE 1 個のものより 3.6 倍の性能向上となった。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.08]{./images/cerium_game_1.pdf}
+    \caption{SuperDandy3D(仮)}
+    \label{fig:dandy}
+    \vspace{-4mm}
+  \end{center}
+\end{figure}
+
+\begin{table}[htb]
+  \begin{center}
+    \caption{SuperDandy3D(仮) の各動作環境での実行速度} \label{tab:game}
+{\small
+    \hbox to\hsize{\hfil
+      \begin{tabular}{l|r} \hline \hline
+        MacOSX 10.5 & 5.7 FPS \\ \hline
+        Linux (Fedora 10)  & 7.8 FPS \\ \hline
+        PS3 SPE 1個 & 8.1 FPS \\ \hline
+        PS3 SPE 6個 & {\bf 29.3 FPS} \\ \hline
+      \end{tabular}\hfil}
+}
+  \end{center}
+\end{table}
+
+\section{比較}
+\subsection{Gallium}
+先行研究 \cite{akira} では、レンダリングエンジンに OSMesa \cite{osmesa}を用い、
+その後 Galiium \cite{gallium} というOSMesa の Cell driver が登場した。
+しかし、PS3 上のゲーム開発において、
+レンダリングのみを SPE 上で実行させるのは Amdahl 則の問題もあり好ましくない。
+したがって、レンダリングだけでなく、ゲームオブジェクトも SPE で処理させる
+方針の Cerium では独自のレンダリングエンジンを用いている。
+\subsection{OpenCL}
+並列コンピューティングフレームワークである OpenCL \cite{opencl} は、
+あらゆる Many Core Architecture に対応できるような汎用的な実装がされており、
+開発環境に合わせた記述が必要となる。また、現在 OpenCL を用いた Cell 用の
+実装は無い。
+対して、Task Manager は Cell に重きを置いた記述で、ある程度決まった記述で
+開発できる。また、大幅な変更無く Mac OSX や Linux など複数の環境で
+動作させることが可能となっている。
+
+\section{まとめと今後の課題}
+
+本研究では、Many Core Architetcure を用いた並列プログラムの開発を
+サポートするフレームワークとして Fine-Grain Task Manager を実装し、
+それを組み込んだ、PS3 ゲーム開発用フレームワークである Cerium を提案した。
+
+Cerium を用いれば、学生が手を付けやすい環境(Mac OS X、Linux)からの
+開発を始めることができ、コードの大幅な変更無く PS3 での動作を確認できる。
+その過程で、学生が Cell アーキテクチャの理解も行えるため、
+教育効果も期待できる。
+
+今後の課題には、レンダリング機能の追加、SceneGraph の操作の SPE 上での処理、
+SPE に特化した演算の積極的な使用が上げられる。
+
+\bibliographystyle{junsrt}
+\bibliography{handout}
+
+\end{document}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/amdahl.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./amdahl.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 360 252
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/amdahl.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/cell_arch.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./cell_arch.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 505 339
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/cell_arch.graffle has changed
Binary file resume/images/cell_arch.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/cell_spe.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./cell_spe.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 380 340
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/cell_spe.graffle has changed
Binary file resume/images/cell_spe.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/cerium.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./cerium.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 460 191
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/cerium.graffle has changed
Binary file resume/images/cerium.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/cerium_game_1.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./cerium_game_1.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 1920 1080
+%%CreationDate: Fri Feb 13 21:49:42 2009
+
Binary file resume/images/cerium_game_1.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/rendering.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./rendering.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 540 471
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/rendering.graffle	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,3727 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActiveLayerIndex</key>
+	<integer>0</integer>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGraffle</string>
+		<string>129.18</string>
+	</array>
+	<key>AutoAdjust</key>
+	<false/>
+	<key>CanvasColor</key>
+	<dict>
+		<key>w</key>
+		<string>1</string>
+	</dict>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>CanvasScale</key>
+	<real>1</real>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2008-07-18 12:29:35 +0900</string>
+	<key>Creator</key>
+	<string>nunota takehiro</string>
+	<key>DisplayScale</key>
+	<string>1 cm = 1 cm</string>
+	<key>GraphDocumentVersion</key>
+	<integer>5</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>483</integer>
+			</dict>
+			<key>ID</key>
+			<integer>764</integer>
+			<key>Points</key>
+			<array>
+				<string>{377.258, 369.38}</string>
+				<string>{356, 330.363}</string>
+				<string>{386.511, 300.778}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>758</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>743</integer>
+					<key>Points</key>
+					<array>
+						<string>{339.068, 418.765}</string>
+						<string>{351.8, 418.765}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>744</integer>
+					<key>Points</key>
+					<array>
+						<string>{347.494, 408.492}</string>
+						<string>{375.607, 408.492}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>745</integer>
+					<key>Points</key>
+					<array>
+						<string>{360.264, 391.996}</string>
+						<string>{424.719, 391.996}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>746</integer>
+					<key>Points</key>
+					<array>
+						<string>{357.391, 394.993}</string>
+						<string>{417.074, 394.993}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>747</integer>
+					<key>Points</key>
+					<array>
+						<string>{402.379, 335.814}</string>
+						<string>{409.552, 335.814}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>748</integer>
+					<key>Points</key>
+					<array>
+						<string>{399.599, 339.469}</string>
+						<string>{412.332, 339.469}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>749</integer>
+					<key>Points</key>
+					<array>
+						<string>{353.12, 399.464}</string>
+						<string>{403.302, 399.464}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>750</integer>
+					<key>Points</key>
+					<array>
+						<string>{345.436, 411.783}</string>
+						<string>{366.126, 411.783}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>751</integer>
+					<key>Points</key>
+					<array>
+						<string>{372.508, 376.708}</string>
+						<string>{432.191, 376.708}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>752</integer>
+					<key>Points</key>
+					<array>
+						<string>{366.519, 382.503}</string>
+						<string>{433.369, 382.503}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>753</integer>
+					<key>Points</key>
+					<array>
+						<string>{375.691, 372.635}</string>
+						<string>{429.008, 372.635}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>754</integer>
+					<key>Points</key>
+					<array>
+						<string>{390.308, 350.507}</string>
+						<string>{418.088, 350.507}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>755</integer>
+					<key>Points</key>
+					<array>
+						<string>{387.61, 354.92}</string>
+						<string>{420.634, 354.92}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>756</integer>
+					<key>Points</key>
+					<array>
+						<string>{383.539, 359.299}</string>
+						<string>{422.064, 359.299}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>757</integer>
+					<key>Points</key>
+					<array>
+						<string>{350.606, 404.802}</string>
+						<string>{389.131, 404.802}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>758</integer>
+					<key>Points</key>
+					<array>
+						<string>{377.258, 369.38}</string>
+						<string>{427.44, 369.38}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>759</integer>
+					<key>Points</key>
+					<array>
+						<string>{362.13, 388.298}</string>
+						<string>{437.759, 388.298}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>760</integer>
+					<key>Points</key>
+					<array>
+						<string>{380.904, 364.812}</string>
+						<string>{423.794, 364.812}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{333.759, 330.363}, {103.518, 94.86}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>761</integer>
+					<key>Shape</key>
+					<string>Bezier</string>
+					<key>ShapeData</key>
+					<dict>
+						<key>UnitPoints</key>
+						<array>
+							<string>{0.213846, -0.5}</string>
+							<string>{0.213846, -0.5}</string>
+							<string>{-0.5, 0.5}</string>
+							<string>{-0.5, 0.5}</string>
+							<string>{-0.5, 0.5}</string>
+							<string>{0.5, 0.106164}</string>
+							<string>{0.5, 0.106164}</string>
+							<string>{0.5, 0.106164}</string>
+							<string>{0.213846, -0.5}</string>
+						</array>
+					</dict>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>TextPlacement</key>
+					<integer>0</integer>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>762</integer>
+					<key>Points</key>
+					<array>
+						<string>{342.649, 414.611}</string>
+						<string>{360.554, 414.611}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>763</integer>
+					<key>Points</key>
+					<array>
+						<string>{397.013, 344.924}</string>
+						<string>{414.918, 344.924}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>0</string>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>742</integer>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{220.006, 359.143}, {81, 21}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Color</key>
+				<dict>
+					<key>w</key>
+					<string>0</string>
+				</dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>14</real>
+			</dict>
+			<key>ID</key>
+			<integer>658</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs28 \cf0 DrawSpan}</string>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>14</real>
+			</dict>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>434</integer>
+			</dict>
+			<key>ID</key>
+			<integer>24</integer>
+			<key>Points</key>
+			<array>
+				<string>{318.495, 351.868}</string>
+				<string>{216.512, 350.14}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>493</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{442.236, 214.132}, {63, 24}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Color</key>
+				<dict>
+					<key>w</key>
+					<string>0</string>
+				</dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>16</real>
+			</dict>
+			<key>ID</key>
+			<integer>655</integer>
+			<key>Line</key>
+			<dict>
+				<key>ID</key>
+				<integer>51</integer>
+				<key>Position</key>
+				<real>0.84009146690368652</real>
+				<key>RotationType</key>
+				<integer>0</integer>
+			</dict>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 PP2SP}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{271.22, 41.986}, {65, 24}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Color</key>
+				<dict>
+					<key>w</key>
+					<string>0</string>
+				</dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>16</real>
+			</dict>
+			<key>ID</key>
+			<integer>654</integer>
+			<key>Line</key>
+			<dict>
+				<key>ID</key>
+				<integer>22</integer>
+				<key>Position</key>
+				<real>0.46539857983589172</real>
+				<key>RotationType</key>
+				<integer>0</integer>
+			</dict>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 SG2PP}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{444.902, 421.482}, {81, 18}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>14</real>
+			</dict>
+			<key>ID</key>
+			<integer>477</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs30 \cf0 T : Texture}</string>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{401.578, 460.081}, {83, 19}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>15</real>
+			</dict>
+			<key>ID</key>
+			<integer>478</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 SpanPack}</string>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{525.916, 417.313}, {18.0284, 18.1687}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>479</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 T}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{500.873, 394.386}, {18.0284, 18.1687}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>480</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 T}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{475.83, 371.459}, {18.0284, 18.1687}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>481</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 T}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{450.788, 344.638}, {18.0284, 18.1687}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>482</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 T}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{380.509, 276.722}, {37.532, 23.3598}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>14</real>
+			</dict>
+			<key>ID</key>
+			<integer>483</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SPU}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{388.59, 282.346}, {24.3384, 23.3598}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>484</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{392.646, 287.104}, {24.3384, 23.3598}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>485</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{396.252, 291.647}, {24.3384, 23.3598}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>486</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>491</integer>
+			</dict>
+			<key>ID</key>
+			<integer>487</integer>
+			<key>Points</key>
+			<array>
+				<string>{419.022, 284.459}</string>
+				<string>{429.604, 282.346}</string>
+				<string>{450.082, 302.88}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>483</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{525.916, 353.29}, {18.0284, 64.023}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>488</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{500.873, 330.363}, {18.0284, 64.023}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>489</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{475.83, 307.436}, {18.0284, 64.023}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>490</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{450.788, 280.615}, {18.0284, 64.023}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>491</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{318.995, 260.205}, {240.178, 187.415}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>493</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>CornerRadius</key>
+					<real>5</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{449.275, 22.065}, {37, 16}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>Flow</key>
+					<string>Resize</string>
+					<key>FontInfo</key>
+					<dict>
+						<key>Font</key>
+						<string>Helvetica</string>
+						<key>Size</key>
+						<real>15</real>
+					</dict>
+					<key>ID</key>
+					<integer>595</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs26 \cf0 SPU}</string>
+					</dict>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>Group</string>
+					<key>Graphics</key>
+					<array>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>608</integer>
+							</dict>
+							<key>ID</key>
+							<integer>597</integer>
+							<key>Points</key>
+							<array>
+								<string>{405.555, 184.096}</string>
+								<string>{405.555, 172.517}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>604</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>602</integer>
+							</dict>
+							<key>ID</key>
+							<integer>598</integer>
+							<key>Points</key>
+							<array>
+								<string>{405.554, 172.518}</string>
+								<string>{419.142, 172.196}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>607</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>608</integer>
+							</dict>
+							<key>ID</key>
+							<integer>599</integer>
+							<key>Points</key>
+							<array>
+								<string>{391.967, 181.201}</string>
+								<string>{405.555, 172.517}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>604</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>611</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+							<key>ID</key>
+							<integer>600</integer>
+							<key>Points</key>
+							<array>
+								<string>{391.967, 181.201}</string>
+								<string>{395.025, 167.693}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>605</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>601</integer>
+							<key>Points</key>
+							<array>
+								<string>{391.967, 181.201}</string>
+								<string>{385.174, 161.26}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>605</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>602</integer>
+							<key>Points</key>
+							<array>
+								<string>{419.142, 172.196}</string>
+								<string>{418.463, 156.114}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>603</integer>
+							<key>Points</key>
+							<array>
+								<string>{405.555, 183.774}</string>
+								<string>{419.141, 172.517}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>604</integer>
+							<key>Points</key>
+							<array>
+								<string>{391.967, 181.201}</string>
+								<string>{405.555, 184.096}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>605</integer>
+							<key>Points</key>
+							<array>
+								<string>{385.174, 175.09}</string>
+								<string>{391.967, 181.201}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>611</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+							<key>ID</key>
+							<integer>606</integer>
+							<key>Points</key>
+							<array>
+								<string>{418.463, 156.114}</string>
+								<string>{395.025, 167.693}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>610</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>607</integer>
+							<key>Points</key>
+							<array>
+								<string>{395.025, 167.693}</string>
+								<string>{405.554, 172.518}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>611</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>Head</key>
+							<dict>
+								<key>ID</key>
+								<integer>610</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+							<key>ID</key>
+							<integer>608</integer>
+							<key>Points</key>
+							<array>
+								<string>{405.555, 172.517}</string>
+								<string>{418.463, 156.114}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>609</integer>
+							<key>Points</key>
+							<array>
+								<string>{385.174, 161.26}</string>
+								<string>{385.174, 174.769}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>612</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>610</integer>
+							<key>Points</key>
+							<array>
+								<string>{403.517, 149.681}</string>
+								<string>{418.463, 156.114}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>612</integer>
+								<key>Info</key>
+								<integer>1</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>611</integer>
+							<key>Points</key>
+							<array>
+								<string>{385.174, 161.26}</string>
+								<string>{395.025, 167.693}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+							<key>Tail</key>
+							<dict>
+								<key>ID</key>
+								<integer>612</integer>
+							</dict>
+						</dict>
+						<dict>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>612</integer>
+							<key>Points</key>
+							<array>
+								<string>{385.174, 161.26}</string>
+								<string>{403.517, 149.681}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+					</array>
+					<key>ID</key>
+					<integer>596</integer>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>613</integer>
+					<key>Points</key>
+					<array>
+						<string>{413.677, 154.054}</string>
+						<string>{433.069, 149.038}</string>
+						<string>{466.357, 157.722}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>610</integer>
+						<key>Position</key>
+						<real>0.67979449033737183</real>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{471.049, 153.229}, {16.3664, 26.7778}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>HFlip</key>
+					<string>YES</string>
+					<key>ID</key>
+					<integer>614</integer>
+					<key>Rotation</key>
+					<real>209.84246826171875</real>
+					<key>Shape</key>
+					<string>RightTriangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>FillType</key>
+							<integer>2</integer>
+							<key>GradientAngle</key>
+							<real>95</real>
+							<key>GradientColor</key>
+							<dict>
+								<key>b</key>
+								<string>0.666667</string>
+								<key>g</key>
+								<string>0.666667</string>
+								<key>r</key>
+								<string>0.666667</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{456.226, 38.065}, {18.3427, 17.3681}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>615</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{458.604, 42.246}, {18.3427, 17.3681}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>616</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{461.661, 45.784}, {18.3427, 17.3681}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>617</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{464.378, 49.161}, {18.3427, 17.3681}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>618</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>ID</key>
+					<integer>619</integer>
+					<key>Points</key>
+					<array>
+						<string>{435.574, 66.529}</string>
+						<string>{440.74, 53.974}</string>
+						<string>{453.721, 48.372}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>Group</string>
+					<key>Graphics</key>
+					<array>
+						<dict>
+							<key>Bounds</key>
+							<string>{{450.157, 96.067}, {13.5872, 47.6015}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>621</integer>
+							<key>Shape</key>
+							<string>Rectangle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{431.283, 79.02}, {13.5872, 47.6015}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>622</integer>
+							<key>Shape</key>
+							<string>Rectangle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{412.41, 61.974}, {13.5872, 47.6015}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>623</integer>
+							<key>Shape</key>
+							<string>Rectangle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{393.536, 42.033}, {13.5872, 47.6015}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>624</integer>
+							<key>Shape</key>
+							<string>Rectangle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+					</array>
+					<key>ID</key>
+					<integer>620</integer>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>594</integer>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{305, 199.126}, {104, 19}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>Helvetica</string>
+				<key>Size</key>
+				<real>15</real>
+			</dict>
+			<key>ID</key>
+			<integer>496</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 PolygonPack}</string>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{379.717, 16.851}, {118.733, 169.774}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>526</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>CornerRadius</key>
+					<real>5</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{90.0058, 449.728}, {84, 19}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>Flow</key>
+					<string>Resize</string>
+					<key>FontInfo</key>
+					<dict>
+						<key>Font</key>
+						<string>Helvetica</string>
+						<key>Size</key>
+						<real>15</real>
+					</dict>
+					<key>ID</key>
+					<integer>427</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 Rendering}</string>
+					</dict>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{131.556, 331.125}, {73.0662, 69.4796}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>428</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Frame\
+Buffer}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>428</integer>
+					</dict>
+					<key>ID</key>
+					<integer>429</integer>
+					<key>Points</key>
+					<array>
+						<string>{90.6577, 287.716}</string>
+						<string>{140.012, 295.354}</string>
+						<string>{153.886, 330.196}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>430</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{57.3286, 269.427}, {32.3408, 31.2658}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>430</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs18 \cf0 SPU}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{61.5206, 276.954}, {32.3408, 31.2658}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>431</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{66.9106, 283.323}, {32.3408, 31.2658}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>432</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{71.7026, 289.403}, {32.3408, 31.2658}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>433</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{48, 255}, {168.012, 187.415}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>434</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>CornerRadius</key>
+							<real>5</real>
+						</dict>
+					</dict>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>426</integer>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{85.8221, 199.126}, {105, 19}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>Flow</key>
+					<string>Resize</string>
+					<key>FontInfo</key>
+					<dict>
+						<key>Font</key>
+						<string>Helvetica</string>
+						<key>Size</key>
+						<real>15</real>
+					</dict>
+					<key>ID</key>
+					<integer>626</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs32 \cf0 Scene Graph}</string>
+					</dict>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>Group</string>
+					<key>Graphics</key>
+					<array>
+						<dict>
+							<key>Bounds</key>
+							<string>{{92.3239, 67.912}, {8.14233, 10.0215}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>628</integer>
+							<key>Rotation</key>
+							<real>90</real>
+							<key>Shape</key>
+							<string>HorizontalTriangle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>AllowToConnect</key>
+							<false/>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>629</integer>
+							<key>Points</key>
+							<array>
+								<string>{96.5696, 75.998}</string>
+								<string>{101.566, 68.749}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>AllowToConnect</key>
+							<false/>
+							<key>Class</key>
+							<string>LineGraphic</string>
+							<key>ID</key>
+							<integer>630</integer>
+							<key>Points</key>
+							<array>
+								<string>{91.5446, 68.852}</string>
+								<string>{96.6355, 75.794}</string>
+							</array>
+							<key>Style</key>
+							<dict>
+								<key>stroke</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+									<key>HeadArrow</key>
+									<string>0</string>
+									<key>TailArrow</key>
+									<string>0</string>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{96.4752, 66.009}, {5.09091, 2.75653}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>631</integer>
+							<key>Shape</key>
+							<string>SemiCircle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+						<dict>
+							<key>Bounds</key>
+							<string>{{91.3843, 66.009}, {5.09091, 2.75653}}</string>
+							<key>Class</key>
+							<string>ShapedGraphic</string>
+							<key>ID</key>
+							<integer>632</integer>
+							<key>Shape</key>
+							<string>SemiCircle</string>
+							<key>Style</key>
+							<dict>
+								<key>fill</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+								</dict>
+								<key>shadow</key>
+								<dict>
+									<key>Draws</key>
+									<string>NO</string>
+								</dict>
+								<key>stroke</key>
+								<dict>
+									<key>Color</key>
+									<dict>
+										<key>b</key>
+										<string>0</string>
+										<key>g</key>
+										<string>0</string>
+										<key>r</key>
+										<string>1</string>
+									</dict>
+									<key>Width</key>
+									<real>2</real>
+								</dict>
+							</dict>
+						</dict>
+					</array>
+					<key>ID</key>
+					<integer>627</integer>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>641</integer>
+					</dict>
+					<key>ID</key>
+					<integer>633</integer>
+					<key>Points</key>
+					<array>
+						<string>{88.9501, 143.997}</string>
+						<string>{118.605, 128.341}</string>
+						<string>{155.135, 144.13}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>650</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+					<key>ID</key>
+					<integer>634</integer>
+					<key>Points</key>
+					<array>
+						<string>{106.032, 75.7234}</string>
+						<string>{140.784, 52.133}</string>
+						<string>{176.7, 79.4162}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>651</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>646</integer>
+					</dict>
+					<key>ID</key>
+					<integer>635</integer>
+					<key>Points</key>
+					<array>
+						<string>{100.577, 41.5559}</string>
+						<string>{130.366, 36.802}</string>
+						<string>{175.285, 42.1223}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>652</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>644</integer>
+					</dict>
+					<key>ID</key>
+					<integer>636</integer>
+					<key>Points</key>
+					<array>
+						<string>{176.054, 89.1448}</string>
+						<string>{155.305, 100.179}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>645</integer>
+					</dict>
+					<key>ID</key>
+					<integer>637</integer>
+					<key>Points</key>
+					<array>
+						<string>{191.863, 89.1877}</string>
+						<string>{212.198, 100.136}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>642</integer>
+					</dict>
+					<key>ID</key>
+					<integer>638</integer>
+					<key>Points</key>
+					<array>
+						<string>{187.089, 94.2583}</string>
+						<string>{201.849, 138.337}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>641</integer>
+					</dict>
+					<key>ID</key>
+					<integer>639</integer>
+					<key>Points</key>
+					<array>
+						<string>{180.889, 94.2773}</string>
+						<string>{166.377, 138.318}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>643</integer>
+					</dict>
+					<key>ID</key>
+					<integer>640</integer>
+					<key>Points</key>
+					<array>
+						<string>{183.967, 53.1335}</string>
+						<string>{183.967, 74.954}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>TailArrow</key>
+							<string>0</string>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>646</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{155.57, 138.676}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>641</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0.4</string>
+								<key>g</key>
+								<string>0.4</string>
+								<key>r</key>
+								<string>0.4</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{197.241, 138.676}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>642</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0.25098</string>
+								<key>g</key>
+								<string>0.501961</string>
+								<key>r</key>
+								<string>0</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{176.238, 75.954}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>643</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0.501961</string>
+								<key>g</key>
+								<string>0</string>
+								<key>r</key>
+								<string>0.25098</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{139.662, 95.404}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>644</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0</string>
+								<key>g</key>
+								<string>1</string>
+								<key>r</key>
+								<string>1</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{212.364, 95.404}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>645</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0</string>
+								<key>g</key>
+								<string>1</string>
+								<key>r</key>
+								<string>1</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{176.238, 34.168}, {15.4585, 17.9655}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>646</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>1</string>
+								<key>g</key>
+								<string>0</string>
+								<key>r</key>
+								<string>0</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{37.4042, 81.345}, {51.7715, 7.18377}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>647</integer>
+					<key>Rotation</key>
+					<real>105.71257781982422</real>
+					<key>Shape</key>
+					<string>RoundRect</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0</string>
+								<key>g</key>
+								<string>1</string>
+								<key>r</key>
+								<string>1</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{91.9967, 81.345}, {51.7715, 7.18377}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>648</integer>
+					<key>Rotation</key>
+					<real>74.287422180175781</real>
+					<key>Shape</key>
+					<string>RoundRect</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0</string>
+								<key>g</key>
+								<string>1</string>
+								<key>r</key>
+								<string>1</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{69.2129, 141.609}, {59.8852, 12.0979}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>649</integer>
+					<key>Rotation</key>
+					<real>90</real>
+					<key>Shape</key>
+					<string>RoundRect</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0</string>
+								<key>g</key>
+								<string>0.501961</string>
+								<key>r</key>
+								<string>0</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{52.0742, 141.609}, {59.8852, 12.0979}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>650</integer>
+					<key>Rotation</key>
+					<real>90</real>
+					<key>Shape</key>
+					<string>RoundRect</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0.4</string>
+								<key>g</key>
+								<string>0.4</string>
+								<key>r</key>
+								<string>0.4</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{75.9678, 59.046}, {29.2367, 54.3244}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>651</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>0.501961</string>
+								<key>g</key>
+								<string>0</string>
+								<key>r</key>
+								<string>0.501961</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>CornerRadius</key>
+							<real>5</real>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{81.5127, 31.601}, {18.1469, 23.0986}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>652</integer>
+					<key>Shape</key>
+					<string>Circle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Color</key>
+							<dict>
+								<key>b</key>
+								<string>1</string>
+								<key>g</key>
+								<string>0</string>
+								<key>r</key>
+								<string>0</string>
+							</dict>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Width</key>
+							<real>2</real>
+						</dict>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{40.6442, 16.851}, {195.356, 169.774}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>653</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>CornerRadius</key>
+							<real>5</real>
+						</dict>
+					</dict>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>625</integer>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>493</integer>
+			</dict>
+			<key>ID</key>
+			<integer>51</integer>
+			<key>Points</key>
+			<array>
+				<string>{439.083, 101.738}</string>
+				<string>{496.989, 130.934}</string>
+				<string>{463.544, 259.721}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>526</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>526</integer>
+			</dict>
+			<key>ID</key>
+			<integer>22</integer>
+			<key>Points</key>
+			<array>
+				<string>{236.482, 74.1214}</string>
+				<string>{308, 54}</string>
+				<string>{379.247, 79.9468}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>653</integer>
+			</dict>
+		</dict>
+	</array>
+	<key>GridInfo</key>
+	<dict/>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>HPages</key>
+	<integer>1</integer>
+	<key>ImageCounter</key>
+	<integer>19</integer>
+	<key>IsPalette</key>
+	<string>NO</string>
+	<key>KeepToScale</key>
+	<false/>
+	<key>Layers</key>
+	<array>
+		<dict>
+			<key>Lock</key>
+			<string>NO</string>
+			<key>Name</key>
+			<string>レイヤー 1</string>
+			<key>Print</key>
+			<string>YES</string>
+			<key>View</key>
+			<string>YES</string>
+		</dict>
+	</array>
+	<key>LayoutInfo</key>
+	<dict/>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheet</key>
+	<string>マスター 1</string>
+	<key>MasterSheets</key>
+	<array>
+		<dict>
+			<key>ActiveLayerIndex</key>
+			<integer>0</integer>
+			<key>AutoAdjust</key>
+			<true/>
+			<key>CanvasColor</key>
+			<dict>
+				<key>w</key>
+				<string>1</string>
+			</dict>
+			<key>CanvasOrigin</key>
+			<string>{0, 0}</string>
+			<key>CanvasScale</key>
+			<real>1</real>
+			<key>ColumnAlign</key>
+			<integer>1</integer>
+			<key>ColumnSpacing</key>
+			<real>36</real>
+			<key>DisplayScale</key>
+			<string>1 cm = 1 cm</string>
+			<key>GraphicsList</key>
+			<array/>
+			<key>GridInfo</key>
+			<dict/>
+			<key>HPages</key>
+			<integer>1</integer>
+			<key>IsPalette</key>
+			<string>NO</string>
+			<key>KeepToScale</key>
+			<false/>
+			<key>Layers</key>
+			<array>
+				<dict>
+					<key>Lock</key>
+					<string>NO</string>
+					<key>Name</key>
+					<string>レイヤー 1</string>
+					<key>Print</key>
+					<string>YES</string>
+					<key>View</key>
+					<string>YES</string>
+				</dict>
+			</array>
+			<key>LayoutInfo</key>
+			<dict/>
+			<key>Orientation</key>
+			<integer>2</integer>
+			<key>OutlineStyle</key>
+			<string>Basic</string>
+			<key>RowAlign</key>
+			<integer>1</integer>
+			<key>RowSpacing</key>
+			<real>36</real>
+			<key>SheetTitle</key>
+			<string>マスター 1</string>
+			<key>UniqueID</key>
+			<integer>1</integer>
+			<key>VPages</key>
+			<integer>1</integer>
+		</dict>
+	</array>
+	<key>ModificationDate</key>
+	<string>2009-02-15 14:35:04 +0900</string>
+	<key>Modifier</key>
+	<string>Wataru MIYAGUNI</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>OutlineStyle</key>
+	<string>Basic</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string>
+		</array>
+		<key>NSPaperName</key>
+		<array>
+			<string>string</string>
+			<string>iso-a4</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595.2, 841.8}</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string>
+		</array>
+	</dict>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>キャンバス 1</string>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UniqueID</key>
+	<integer>1</integer>
+	<key>UseEntirePage</key>
+	<true/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>DrawerTab</key>
+		<string>Outline</string>
+		<key>DrawerWidth</key>
+		<real>209</real>
+		<key>Frame</key>
+		<string>{{159, -24}, {592, 746}}</string>
+		<key>VisibleRegion</key>
+		<string>{{0, 0}, {577, 632}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+	</dict>
+</dict>
+</plist>
Binary file resume/images/rendering.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/tm_sort.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./tm_sort.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 553 371
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/tm_sort.graffle has changed
Binary file resume/images/tm_sort.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/tm_sort_calc1m.bb	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./tm_sort_calc1m.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 360 216
+%%CreationDate: Tue Feb 17 11:09:36 2009
+
Binary file resume/images/tm_sort_calc1m.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/tm_sort_calc1m.plt	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,148 @@
+#!/opt/local/bin/gnuplot -persist
+#
+#    
+#    	G N U P L O T
+#    	Version 4.2 patchlevel 4 
+#    	last modified Sep 2008
+#    	System: Darwin 9.6.0
+#    
+#    	Copyright (C) 1986 - 1993, 1998, 2004, 2007, 2008
+#    	Thomas Williams, Colin Kelley and many others
+#    
+#    	Type `help` to access the on-line reference manual.
+#    	The gnuplot FAQ is available from http://www.gnuplot.info/faq/
+#    
+#    	Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot>
+#    
+# set terminal aqua 0 title "Figure 0" size 846 594 font "Times-Roman,14" noenhanced solid
+# set output 'tm_sort_calc1m.pdf'
+unset clip points
+set clip one
+unset clip two
+set bar 1.000000
+set border 31 front linetype -1 linewidth 1.000
+set xdata
+set ydata
+set zdata
+set x2data
+set y2data
+set timefmt x "%d/%m/%y,%H:%M"
+set timefmt y "%d/%m/%y,%H:%M"
+set timefmt z "%d/%m/%y,%H:%M"
+set timefmt x2 "%d/%m/%y,%H:%M"
+set timefmt y2 "%d/%m/%y,%H:%M"
+set timefmt cb "%d/%m/%y,%H:%M"
+set boxwidth
+set style fill  empty border
+set style rectangle back fc lt -3 fillstyle  solid 1.00 border -1
+set dummy x,y
+set format x "% g"
+set format y "% g"
+set format x2 "% g"
+set format y2 "% g"
+set format z "% g"
+set format cb "% g"
+set angles radians
+unset grid
+set key title ""
+set key inside right top vertical Right noreverse enhanced autotitles nobox
+set key noinvert samplen 4 spacing 1 width 0 height 0 
+unset label
+unset arrow
+set style increment default
+unset style line
+unset style arrow
+set style histogram clustered gap 2 title  offset character 0, 0, 0
+unset logscale
+set offsets 0, 0, 0, 0
+set pointsize 1
+set encoding default
+unset polar
+unset parametric
+unset decimalsign
+set view 60, 30, 1, 1
+set samples 100, 100
+set isosamples 10, 10
+set surface
+unset contour
+set clabel '%8.3g'
+set mapping cartesian
+set datafile separator whitespace
+unset hidden3d
+set cntrparam order 4
+set cntrparam linear
+set cntrparam levels auto 5
+set cntrparam points 5
+set size ratio 0 1,1
+set origin 0,0
+set style data points
+set style function lines
+set xzeroaxis linetype -2 linewidth 1.000
+set yzeroaxis linetype -2 linewidth 1.000
+set zzeroaxis linetype -2 linewidth 1.000
+set x2zeroaxis linetype -2 linewidth 1.000
+set y2zeroaxis linetype -2 linewidth 1.000
+set ticslevel 0.5
+set mxtics default
+set mytics default
+set mztics default
+set mx2tics default
+set my2tics default
+set mcbtics default
+set xtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set xtics autofreq 
+set ytics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set ytics autofreq 
+set ztics border in scale 1,0.5 nomirror norotate  offset character 0, 0, 0
+set ztics autofreq 
+set nox2tics
+set y2tics border in scale 1,0.5 nomirror norotate  offset character 0, 0, 0
+set y2tics 200.000,200
+set cbtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set cbtics autofreq 
+set title "SPEs number effect" 
+set title  offset character 0, 0, 0 font "" norotate
+set timestamp bottom 
+set timestamp "" 
+set timestamp  offset character 0, 0, 0 font "" norotate
+set rrange [ * : * ] noreverse nowriteback  # (currently [0.00000:10.0000] )
+set trange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set urange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set vrange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set xlabel "SPE NUM" 
+set xlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set x2label "" 
+set x2label  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set xrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set x2range [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set ylabel "effect" 
+set ylabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set y2label "time(sec)" 
+set y2label  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set yrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set y2range [ 200.000 : 1100.00 ] noreverse nowriteback
+set zlabel "" 
+set zlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set zrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set cblabel "" 
+set cblabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set cbrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set zero 1e-08
+set lmargin  -1
+set bmargin  -1
+set rmargin  -1
+set tmargin  -1
+set locale "C"
+set pm3d explicit at s
+set pm3d scansautomatic
+set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean
+set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB 
+set palette rgbformulae 7, 5, 15
+set colorbox default
+set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault
+set loadpath 
+set fontpath 
+set fit noerrorvariables
+GNUTERM = "aqua"
+p 'tm_sort_calc1m.txt' using 1:3 title 'number effect' with lines, 'tm_sort_calc1m.txt' using 1:2 title 'sort time' axes x1y2 with lines
+#    EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/images/tm_sort_calc1m.txt	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,6 @@
+1 1080.842031 1
+2  557.823441 1.937605
+3  383.732214 2.816657
+4  295.992751 3.651582
+5  243.952017 4.430551
+6  209.308946 5.163859
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resume/master_proc.sty	Tue Feb 17 12:27:00 2009 +0900
@@ -0,0 +1,186 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%%  Style-file for Proceedings of Master's Final Presentation
+%%    at Department of Information Engineering, University of the Ryukyus 
+%%
+%%
+%%  ChangeLog:
+%%    version 1.0.1
+%%
+%%    Thu Feb 22 2001 Ryuji GUSHIKEN <ryuji@ads.ie.u-ryukyu.ac.jp>
+%%	* font size was make small under the thebibliography-environment
+%%    Thu Feb 22 2001 Ryuji GUSHIKEN <ryuji@ads.ie.u-ryukyu.ac.jp>
+%%	* modified *section parameters
+%%    Sun Feb 18 2001 Ryuji GUSHIKEN <ryuji@ads.ie.u-ryukyu.ac.jp>
+%%	* first release
+%%
+%%
+%%  USAGE:
+%%
+%%\documentclass[twocolumn, a4j, twoside]{jarticle}
+%%\usepackage{master_proc}
+%%
+%%\jtitle{修士論文最終発表用予稿作成テスト}		%和文タイトル
+%%\etitle{Test for Proc of Master's Final Presentation}	%英文タイトル
+%%\author{琉球 太郎}	%著者名
+%%\studentid{999999Z}	%学籍番号
+%%\teacher{先生 様々}	%指導教官
+%%
+%%\begin{document}
+%%  \maketitle
+%%  \section{はじめに}
+%%    はじめに,あいうえお.
+%%  \section{研究内容}
+%%    つぎに,かきくけこ.
+%%    \subsection{提案手法}
+%%      さしすせそ.
+%%    \subsection{アルゴリズム}
+%%      たちつてと(図~\ref{fig::test}).
+%%
+%%    \begin{figure}[b]
+%%      \begin{center}
+%%        \begin{minipage}{.2\textwidth}
+%%          \fbox{図図図図図図図図図図}
+%%	  図図図図図図図図図図図図図図図図
+%%	  図図図図図図図図図図図図図図図図
+%%	  図図図図図図図図図図図図図図図図
+%%        \end{minipage}
+%%      \end{center}
+%%      \caption{図のテスト}
+%%      \label{fig::test}
+%%    \end{figure}
+%%
+%%  \section{計算機実験}
+%%    そして,なにぬねの.
+%%    \subsection{実験手法}
+%%      はひふへほ.
+%%    \subsection{実験結果}
+%%      まみむめも(表~\ref{tbl::test}).
+%%
+%%    \begin{table}[tb]
+%%      \begin{center}
+%%        \caption{表のテスト}
+%%        \label{tbl::test}
+%%        \begin{tabular}{|c|}\hline
+%%          表表表表表表表表表表表表表表。\\\hline
+%%          表表表表表表表表表表表表表表。\\\hline
+%%          表表表表表表表表表表表表表表。\\\hline
+%%        \end{tabular}
+%%      \end{center}
+%%    \end{table}
+%%
+%%  \section{まとめ}
+%%    やゆよ\cite{last}.
+%%
+%%  \begin{thebibliography}{9}
+%%    \bibitem{last} わゐうゑを,''テストテスト,'' 2001.
+%%  \end{thebibliography}
+%%\end{document}
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\hoffset -1in \addtolength{\hoffset}{0mm}
+\voffset -1in \addtolength{\voffset}{15mm}
+%\topmargin -20mm
+\oddsidemargin 10mm
+\evensidemargin 10mm
+\topmargin -10mm
+\headheight 0mm
+\headsep 0mm
+\textheight 280mm %295-(15+20)mm
+\textwidth 190mm %odd-> 210-(10+20) : even->  210-(20+10)
+\marginparsep 0mm
+\marginparwidth 0mm
+\footskip \headsep
+
+\pagestyle{empty}
+
+%和文タイトル
+\def\jetitle{}
+\def\jtitle#1{\gdef\@title{#1}}
+%英文タイトル
+\def\@etitle{}
+\def\etitle#1{\gdef\@etitle{#1}}
+%学籍番号
+\def\@studentid{}
+\def\studentid#1{\gdef\@studentid{#1}}
+%指導教官
+\def\@teacher{}
+\def\teacher#1{\gdef\@teacher{#1}}
+\def\teacherlabel{指導教官:}
+
+\def\maketitle{%\par%
+  \begingroup
+    \if@twocolumn
+      \twocolumn[\@maketitle]
+    \else\newpage
+      \global\@topnum\z@\@maketitle \fi
+  \endgroup}
+
+\def\@maketitle{\newpage
+  \thispagestyle{empty}
+  \let\footnote\thanks
+  \begin{center}%
+    \begin{tabular*}{\textwidth}{cc}
+     \multicolumn{2}{c}{%
+       \parbox{\textwidth}{\center\LARGE \@title}}\\
+     \multicolumn{2}{c}{%
+       \parbox{\textwidth}{\center\Large \@etitle}}\\
+     \multicolumn{2}{c}{\rule{0pt}{10pt}}\\
+     \parbox[b]{.45\textwidth}{\center%
+ 	{\large\@studentid\hskip 1zw\@author}}&
+     \parbox[b]{.45\textwidth}{\center%
+ 	{\large\teacherlabel\hskip 1zw\@teacher}}\\
+    \end{tabular*}
+  \end{center}\vskip 5mm}
+
+% 章の見出し
+% 第4,5引き数はそれぞれ見出しの上下の空白の量である.
+% \@startsectionの第4引き数を負にすると見出しの後インデントしない.
+%    〃    第5引き数を負にすると見出しの後改行しない.
+%    〃    第6引き数は見出しフォントの指定
+\def\section{\@startsection {section}{1}{\z@}%
+	  {2ex plus 1ex minus .5ex}%
+	  {.3ex plus 1ex minus .3ex}%
+	{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}%
+	  {1ex plus 1ex minus .5ex}%
+	  {.1ex plus 1ex minus .3ex}%
+		{\normalsize\bf}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1.25ex plus
+ 1ex minus .2ex}{1.0ex plus .2ex}{\normalsize\bf}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\z@}{1.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{\parindent}{1.25ex plus 1ex minus
+ .2ex}{-1em}{\normalsize\bf}}
+
+\renewenvironment{thebibliography}[1]
+{\section*{\refname\@mkboth{\refname}{\refname}}%
+   \list{\small\@biblabel{\@arabic\c@enumiv}}%
+        {\settowidth\labelwidth{\@biblabel{#1}}%
+         \leftmargin\labelwidth
+         \advance\leftmargin\labelsep
+         \@openbib@code
+         \usecounter{enumiv}%
+         \let\p@enumiv\@empty
+         \renewcommand\theenumiv{\@arabic\c@enumiv}%
+	\setlength{\topsep}{10pt}%
+	\setlength{\itemsep}{1.5pt}%
+	\setlength{\parsep}{1.5mm}}
+   \sloppy
+   \clubpenalty4000
+   \@clubpenalty\clubpenalty
+   \widowpenalty4000%
+   \sfcode`\.\@m}
+  {\def\@noitemerr
+    {\@latex@warning{Empty `thebibliography' environment}}%
+   \endlist}
+\let\@openbib@code\@empty
+
+\def\bibitem{\small\@ifnextchar[\@lbibitem\@bibitem}
+\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
+      {\let\protect\noexpand
+       \immediate
+       \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
+       {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}