changeset 9:7a2a26770f62

add DS and CS
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Mon, 06 Feb 2012 04:56:25 +0900
parents 0b01b77d33b4
children 865f2c8f2fbe
files paper/chapter1.tex paper/chapter2.tex paper/images/dsandcs.bb paper/images/dsandcs.eps paper/images/dsandcs.graffle paper/images/dsandcs.pdf paper/master_paper.tex
diffstat 7 files changed, 2083 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter1.tex	Mon Feb 06 03:19:53 2012 +0900
+++ b/paper/chapter1.tex	Mon Feb 06 04:56:25 2012 +0900
@@ -177,7 +177,7 @@
 例えば、 PlayStation 3 (Cell) 上の Linux で動作するアプリケーションと、 Mac OS X (Intel) 上で動作するアプリケーション間である。そのアプリケーション間で、とある共通の構造体のデータをやり取りするといった事案でデータフォーマットに関する問題が発生する。
 通信するたびに、 XDR (External Data Representation) などのデータフォーマットを用いて、ユーザーがデータを変換する必要がある。
 
-\subsection{タプルの ID が整数値であること}
+\subsection{タプルの ID}
 更なる問題点として、タプルの ID が整数値であることが挙げられる。
 これは、整数値であるため、送受信する際や、タプルスペースのデータを探すときには効率がよいというメリットがある。
 一方で、ユーザーが整数 ID を管理するためには、 enum やハッシュ、即ち文字列から整数値への射影を管理する必要が出てくるのである。
@@ -202,7 +202,7 @@
   \begin{center}
     \includegraphics[width=70mm]{./images/callback_tree.pdf}
   \end{center}
-  \caption{コールバック関数同士がタプルを介してツリー状に接続されている}
+  \caption{コールバック関数間のタプルを介した接続(ツリー状)}
   \label{fig:callbackTree}
 \end{figure}
 
--- a/paper/chapter2.tex	Mon Feb 06 03:19:53 2012 +0900
+++ b/paper/chapter2.tex	Mon Feb 06 04:56:25 2012 +0900
@@ -1,5 +1,49 @@
-\chapter{Alice の設計}
+\chapter{分散フレームワーク Alice の設計}
+この章では、分散ネットワークアプリケーションフレームワーク Alice (以下、 Alice) の設計を示す。
 
 \section{分散プログラミング}
-はじめに
+
+まず、 Federated Linda の設計と実装を通して得られた、分散プログラミングにおいて重要な三点を元に基本設計を行った。
+その三点とは以下の通りである。
+
+\begin{itemize}
+\item Database
+\item Protocol Engine
+\item Link Configuration
+\end{itemize}
+
+分散プログラミングを行うにあたり、どのようなデータベースでデータを表現、管理するかということが重要になる。 Federated Linda では、 Linda のタプルスペースを用いた。データベースの設計は、ユーザーが意図したとおりにデータを扱えるために、重要なものとなる。
+
+次に、どのようにマシンを接続するか、そのデータベースをどのように操作するかといった処理を記述できる Protocol Engine が挙げられる。この部分はユーザーが直接コードを記述できる。ユーザーが望んだマシンへの接続や必要なデータへ簡単にアクセスでき、簡潔に処理を記述できることが求められる。
+
+そして、どのようにマシンを接続するか、すなわち接続トポロジーをどうするかが重要である。多様なアプリケーション間の通信を分散させるために自由度の高いトポロジーを作成できる必要がある。
+
+\subsection{Data Segment と Code Segment}
+
+本研究室では、並列タスク管理フレームワーク Cerium (以下、 Cerium) の開発を行なっているが、その設計と実装を行うにあたり、並列プログラミングと分散プログラミングは本質的には同じことを行なっていることが分かった。特に、ヘテロジニアスマルチコアであり、ローカルストアをそれぞれのコアが持っているという特異な Cell の環境は、分散プログラミングの環境と酷似している。それらを踏まえて、 Cerium のタスク管理手法を分散に応用できないかと考えた。
+
+Cerium においても、タスクとそれの入出力データの取り扱いは難しい課題である。データを操作する API を考えて、タスクを自然に記述し、効率よく実行する方法を考えてきた。
 
+そこで考えられた手法が、データを Data Segment、タスクを Code Segment という単位に分割して記述するという手法である。
+
+まず、 Code Segment (タスク) は入力データと出力データ(それぞれ、 Input Data Segment、 Output Data Segment とする)を持つ。 (図\ref{fig:dsAndCs}) Input Data Segment はそのタスクを実行するにあたり必要なデータ群であり、 Output Data Segment はそのタスクが計算を行った結果を格納したデータ群である。
+
+\begin{figure}[htbp]
+  \begin{center}
+    \includegraphics[width=80mm]{./images/dsandcs.pdf}
+  \end{center}
+  \caption{Code Segment と入出力 Data Segment}
+  \label{fig:dsAndCs}
+\end{figure}
+
+Code Segment と依存するデータ群を記述することにより、明示的にそれらが実行される順番が決定される。
+
+
+
+\subsection{Data Segment (Database)}
+
+
+
+\subsection{Code Segment (Protocol Engine)}
+
+\subsection{Topology Manager (Link Configuration)}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/dsandcs.bb	Mon Feb 06 04:56:25 2012 +0900
@@ -0,0 +1,5 @@
+%%Title: ./dsandcs.pdf
+%%Creator: extractbb 20110311
+%%BoundingBox: 0 0 396 256
+%%CreationDate: Mon Feb  6 04:50:45 2012
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/dsandcs.eps	Mon Feb 06 04:56:25 2012 +0900
@@ -0,0 +1,1061 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%HiResBoundingBox: 0.000000 0.000000 396.000000 256.000000
+%APL_DSC_Encoding: UTF8
+%%Title: (Unknown)
+%%Creator: (Unknown)
+%%CreationDate: (Unknown)
+%%For: (Unknown)
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 0 0 396 256
+%%EndComments
+%%BeginProlog
+%%BeginFile: cg-pdf.ps
+%%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
+%%Copyright: All Rights Reserved.
+currentpacking true setpacking
+/cg_md 141 dict def
+cg_md begin
+/L3? languagelevel 3 ge def
+/bd{bind def}bind def
+/ld{load def}bd
+/xs{exch store}bd
+/xd{exch def}bd
+/cmmtx matrix def
+mark
+/sc/setcolor
+/scs/setcolorspace
+/dr/defineresource
+/fr/findresource
+/T/true
+/F/false
+/d/setdash
+/w/setlinewidth
+/J/setlinecap
+/j/setlinejoin
+/M/setmiterlimit
+/i/setflat
+/rc/rectclip
+/rf/rectfill
+/rs/rectstroke
+/f/fill
+/f*/eofill
+/sf/selectfont
+/s/show
+/xS/xshow
+/yS/yshow
+/xyS/xyshow
+/S/stroke
+/m/moveto
+/l/lineto
+/c/curveto
+/h/closepath
+/n/newpath
+/q/gsave
+/Q/grestore
+counttomark 2 idiv
+{ld}repeat pop
+/SC{	
+    /ColorSpace fr scs
+}bd
+/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
+/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
+/cgmtx matrix def
+/sdmtx{cgmtx currentmatrix pop}bd
+/CM {cgmtx setmatrix}bd		
+/cm {cmmtx astore CM concat}bd	
+/W{clip newpath}bd
+/W*{eoclip newpath}bd
+statusdict begin product end dup (HP) anchorsearch{
+    pop pop pop	
+    true
+}{
+    pop	
+   (hp) anchorsearch{
+	pop pop true
+    }{
+	pop false
+    }ifelse
+}ifelse
+{	
+    { 
+	{ 
+	    pop pop 
+	    (0)dup 0 4 -1 roll put
+	    F charpath
+	}cshow
+    }
+}{
+    {F charpath}
+}ifelse
+/cply exch bd
+/cps {cply stroke}bd
+/pgsave 0 def
+/bp{/pgsave save store}bd
+/ep{pgsave restore showpage}def		
+/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
+/scrdict 10 dict def
+/scrmtx matrix def
+/patarray 0 def
+/createpat{patarray 3 1 roll put}bd
+/makepat{
+scrmtx astore pop
+gsave
+initgraphics
+CM 
+patarray exch get
+scrmtx
+makepattern
+grestore
+setpattern
+}bd
+/cg_BeginEPSF{
+    userdict save/cg_b4_Inc_state exch put
+    userdict/cg_endepsf/cg_EndEPSF load put
+    count userdict/cg_op_count 3 -1 roll put 
+    countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
+    3 sub{end}repeat
+    /showpage {} def
+    0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
+    10 setmiterlimit [] 0 setdash newpath
+    false setstrokeadjust false setoverprint	
+}bd
+/cg_EndEPSF{
+  countdictstack 3 sub { end } repeat
+  cg_dict_array 3 1 index length 3 sub getinterval
+  {begin}forall
+  count userdict/cg_op_count get sub{pop}repeat
+  userdict/cg_b4_Inc_state get restore
+  F setpacking
+}bd
+/cg_biproc{currentfile/RunLengthDecode filter}bd
+/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
+/ImageDataSource 0 def
+L3?{
+    /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
+    /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
+}{
+    /ImageBandMask 0 def
+    /ImageBandData 0 def
+    /cg_mibiproc{
+	string/ImageBandMask xs
+	string/ImageBandData xs
+	/ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
+	    /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
+    }bd
+    /cg_miaiproc{	
+	string/ImageBandMask xs
+	string/ImageBandData xs
+	/ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
+	    dup ImageBandMask/readstring cvx
+	    /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
+    }bd
+}ifelse
+/imsave 0 def
+/BI{save/imsave xd mark}bd
+/EI{imsave restore}bd
+/ID{
+counttomark 2 idiv
+dup 2 add	
+dict begin
+{def} repeat
+pop		
+/ImageType 1 def
+/ImageMatrix[Width 0 0 Height neg 0 Height]def
+currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
+L3?{
+    dup/MaskedImage known
+    { 
+	pop
+	<<
+	    /ImageType 3
+	    /InterleaveType 2
+	    /DataDict currentdict
+	    /MaskDict
+	    <<  /ImageType 1
+		/Width Width
+		/Height Height
+		/ImageMatrix ImageMatrix
+		/BitsPerComponent 1
+		/Decode [0 1]
+		currentdict/Interpolate known
+		{/Interpolate Interpolate}if
+	    >>
+	>>
+    }if
+}if
+exch
+{imagemask}{image}ifelse	
+end	
+}bd
+/cguidfix{statusdict begin mark version end
+{cvr}stopped{cleartomark 0}{exch pop}ifelse
+2012 lt{dup findfont dup length dict begin
+{1 index/FID ne 2 index/UniqueID ne and
+{def} {pop pop} ifelse}forall
+currentdict end definefont pop
+}{pop}ifelse
+}bd
+/t_array 0 def
+/t_i 0 def
+/t_c 1 string def
+/x_proc{ 
+    exch t_array t_i get add exch moveto
+    /t_i t_i 1 add store
+}bd
+/y_proc{ 
+    t_array t_i get add moveto
+    /t_i t_i 1 add store
+}bd
+/xy_proc{
+        
+	t_array t_i 2 copy 1 add get 3 1 roll get 
+	4 -1 roll add 3 1 roll add moveto
+	/t_i t_i 2 add store
+}bd
+/sop 0 def		
+/cp_proc/x_proc ld 	
+/base_charpath		
+{
+    /t_array xs
+    /t_i 0 def
+    { 
+	t_c 0 3 -1 roll put
+        currentpoint
+	t_c cply sop
+        cp_proc
+    }forall
+    /t_array 0 def
+}bd
+/sop/stroke ld		
+/nop{}def
+/xsp/base_charpath ld
+/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
+/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
+/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
+/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
+/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
+/refnt{ 
+findfont dup length dict copy dup
+/Encoding 4 -1 roll put 
+definefont pop
+}bd
+/renmfont{ 
+findfont dup length dict copy definefont pop
+}bd
+L3? dup dup{save exch}if
+/Range 0 def
+/DataSource 0 def
+/val 0 def
+/nRange 0 def
+/mulRange 0 def
+/d0 0 def
+/r0 0 def
+/di 0 def
+/ri 0 def
+/a0 0 def
+/a1 0 def
+/r1 0 def
+/r2 0 def
+/dx 0 def
+/Nsteps 0 def
+/sh3tp 0 def
+/ymax 0 def
+/ymin 0 def
+/xmax 0 def
+/xmin 0 def
+/setupFunEval 
+{
+    begin
+	/nRange Range length 2 idiv store
+	/mulRange   
+		    
+	[ 
+	    0 1 nRange 1 sub
+	    { 
+		    2 mul/nDim2 xd		
+		    Range nDim2 get		
+		    Range nDim2 1 add get	
+		    1 index sub			
+						
+		    255 div			
+		    exch			
+	    }for
+	]store
+    end
+}bd
+/FunEval 
+{
+    begin
+	
+	nRange mul /val xd	
+				
+	0 1 nRange 1 sub
+	{
+	    dup 2 mul/nDim2 xd 
+	    val	
+	    add DataSource exch get 
+	    mulRange nDim2 get mul 	
+	    mulRange nDim2 1 add get 
+	    add 
+	}for	
+    end
+}bd
+/max 
+{
+	2 copy lt
+	{exch pop}{pop}ifelse
+}bd
+/sh2
+{	
+	/Coords load aload pop 	
+	3 index 3 index translate	
+					
+	3 -1 roll sub	
+	3 1 roll exch 	
+	sub				
+	2 copy
+	dup mul exch dup mul add sqrt	
+	dup
+	scale  
+	atan	
+	
+	rotate		
+	
+	/Function load setupFunEval	
+	
+	
+	clippath {pathbbox}stopped {0 0 0 0}if newpath 	
+	/ymax xs
+	/xmax xs
+	/ymin xs
+	/xmin xs
+	currentdict/Extend known
+	{
+		/Extend load 0 get
+		{	
+			0/Function load FunEval sc	
+			xmin ymin xmin abs ymax ymin sub rectfill
+		}if
+	}if
+	
+	/Nsteps/Function load/Size get 0 get 1 sub store
+	/dx 1 Nsteps div store
+	gsave
+		/di ymax ymin sub store
+		/Function load
+		
+		0 1 Nsteps
+		{
+			1 index FunEval sc
+			0 ymin dx di rectfill
+			dx 0 translate
+		}for
+		pop	
+	grestore	
+	currentdict/Extend known
+	{
+		/Extend load 1 get
+		{	
+			Nsteps/Function load FunEval sc	
+			1 ymin xmax 1 sub abs ymax ymin sub rectfill
+		}if
+	}if
+}bd
+/shp	
+{	
+	4 copy
+	
+	dup 0 gt{
+		0 exch a1 a0 arc
+	}{
+		pop 0 moveto
+	}ifelse
+	dup 0 gt{
+		0 exch a0 a1 arcn
+	}{
+		pop 0 lineto
+	}ifelse
+	
+	fill
+	
+	dup 0 gt{
+		0 exch a0 a1 arc
+	}{
+		pop 0 moveto
+	}ifelse
+	dup 0 gt{
+		0 exch a1 a0 arcn
+	}{
+		pop 0 lineto
+	}ifelse
+	
+	fill
+}bd
+/calcmaxs
+{	
+	
+	xmin dup mul ymin dup mul add sqrt		
+	xmax dup mul ymin dup mul add sqrt		
+	xmin dup mul ymax dup mul add sqrt		
+	xmax dup mul ymax dup mul add sqrt		
+	max max max								
+}bd
+/sh3
+{	
+	/Coords load aload pop 	
+	5 index 5 index translate	
+	3 -1 roll 6 -1 roll sub		
+	3 -1 roll 5 -1 roll sub		
+	2 copy dup mul exch dup mul add sqrt
+	/dx xs						
+	2 copy 0 ne exch 0 ne or
+	{
+		
+		exch atan rotate	
+	}{
+		pop pop
+	}ifelse
+	
+	/r2 xs
+	/r1 xs
+	/Function load 
+	dup/Size get 0 get 1 sub	
+	/Nsteps xs		
+	setupFunEval		
+	
+	
+	
+	
+	
+	dx r2 add r1 lt{
+		
+		0 
+	}{
+		dx r1 add r2 le
+		{ 
+			1
+		}{ 
+			r1 r2 eq
+			{	
+				2
+			}{ 
+				3
+			}ifelse		
+		}ifelse
+	}ifelse
+	/sh3tp xs		
+	clippath {pathbbox}stopped {0 0 0 0}if 
+	newpath 	
+	/ymax xs
+	/xmax xs
+	/ymin xs
+	/xmin xs
+	
+	dx dup mul r2 r1 sub dup mul sub dup 0 gt
+	{
+		sqrt r2 r1 sub atan
+		/a0 exch 180 exch sub store 
+		/a1 a0 neg store 
+	}{
+		pop
+		/a0 0 store
+		/a1 360 store		
+	}ifelse		
+	currentdict/Extend known
+	{
+		/Extend load 0 get r1 0 gt and	
+		{	
+			0/Function load FunEval sc	
+			
+			
+			
+			
+			{ 
+				{	
+					dx 0 r1 360 0 arcn
+					xmin ymin moveto
+					xmax ymin lineto
+					xmax ymax lineto
+					xmin ymax lineto
+					xmin ymin lineto
+					eofill		
+				}
+				{	
+					r1 0 gt{0 0 r1 0 360 arc fill}if
+				}
+				{	
+					
+					
+				
+					
+					0 r1 xmin abs r1 add neg r1 shp
+				}
+				{	
+					
+				
+					r2 r1 gt{	
+						
+						0 r1
+						r1 neg r2 r1 sub div dx mul	
+						0	
+						shp	
+					}{	
+						
+						
+						
+						0 r1 calcmaxs	
+						dup
+						
+						r2 add dx mul dx r1 r2 sub sub div
+						neg				
+						exch 1 index	
+						abs exch sub
+						shp
+					}ifelse
+				} 
+			}sh3tp get exec	
+		}if
+	}if
+	
+	/d0 0 store
+	/r0 r1 store
+	/di dx Nsteps div store
+	/ri r2 r1 sub Nsteps div store 
+	/Function load 
+	0 1 Nsteps
+	{	
+		1 index FunEval sc
+		d0 di add r0 ri add d0 r0 shp
+		{
+		
+		d0 0 r0 a1 a0 arc
+		d0 di add 0 r0 ri add a0 a1 arcn
+		fill
+		
+		
+		d0 0 r0 a0 a1 arc
+		d0 di add 0 r0 ri add a1 a0 arcn
+		fill
+		}pop
+		
+		
+		/d0 d0 di add store
+		/r0 r0 ri add store
+	}for
+	pop	
+	
+	currentdict/Extend known
+	{
+		/Extend load 1 get r2 0 gt and	
+		{	
+			Nsteps/Function load FunEval sc	
+			
+			
+			
+			
+			{ 
+				{
+					dx 0 r2 0 360 arc fill
+				} 
+				{
+					dx 0 r2 360 0 arcn
+					xmin ymin moveto
+					xmax ymin lineto
+					xmax ymax lineto
+					xmin ymax lineto
+					xmin ymin lineto
+					eofill		
+				} 
+				{	
+					
+					
+					xmax abs r1 add r1 dx r1 shp
+				}	
+				{	
+			
+					r2 r1 gt{
+						
+						
+						
+						calcmaxs dup	
+						
+						r1 add dx mul dx r2 r1 sub sub div	
+						exch 1 index	
+						exch sub
+						dx r2
+						shp
+					}{	
+						
+						r1 neg r2 r1 sub div dx mul	
+						0		
+						dx 		
+						r2		
+						shp
+					}ifelse
+				}
+			}			
+			sh3tp get exec	
+		}if
+	}if
+}bd
+/sh		
+{	
+	begin
+		/ShadingType load dup dup 2 eq exch 3 eq or
+		{	
+			gsave
+				newpath
+				/ColorSpace load scs
+				currentdict/BBox known
+				{
+					/BBox load aload pop	
+					2 index sub				
+					3 index					
+					3 -1 roll exch sub 
+					exch rectclip
+				}if
+				2 eq
+				{sh2}{sh3}ifelse
+			grestore
+		}{
+			
+			pop 
+			(DEBUG: shading type unimplemented\n)print flush
+		}ifelse
+	end
+}bd
+{restore}if not dup{save exch}if
+	L3?{	
+		/sh/shfill ld
+		/csq/clipsave ld
+		/csQ/cliprestore ld
+	}if
+{restore}if
+end
+setpacking
+%%EndFile
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%PageBoundingBox: 0 0 396 256
+%%BeginPageSetup
+cg_md begin
+bp
+sdmtx
+%RBIBeginFontSubset: Helvetica
+%!FontType1-1.0: Helvetica 1.0000.0.0000
+
14 dict begin/FontName /Helvetica def
+
/PaintType 0 def
+
/Encoding 256 array 0 1 255{1 index exch/.notdef put}for
+
dup 33 /D put
+
dup 34 /a put
+
dup 35 /t put
+
dup 36 /S put
+
dup 37 /e put
+
dup 38 /g put
+
dup 39 /m put
+
dup 40 /n put
+
dup 41 /C put
+
dup 42 /o put
+
dup 43 /d put
+
dup 44 /I put
+
dup 45 /p put
+
dup 46 /u put
+
dup 47 /O put
+
readonly def
+
42/FontType resourcestatus{pop pop false}{true}ifelse
+
%APLsfntBegin
+
{currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if
+
/FontType 42 def
+
/FontMatrix matrix def
+
/FontBBox[2048 -1947 1 index div -985 2 index div 2961 3 index div 2297 5 -1 roll div]cvx def
+
/sfnts [<
+
74727565000900000000000063767420000000000000009C0000036C6670676D000000000000040800000A1D676C79660000000000000E2800000F38686561640000000000001D6000000036686865610000000000001D9800000024686D74780000000000001DBC000000406C6F63610000000000001DFC000000226D6178700000000000001E2000000020707265700000000000001E40000003CF05C0001005BD00280580001A042F001F0000FFD90000FFDA0000FFD9FE55FFE605C70010FE6DFFF1033B000000B9000000B902FE3F3C00C0008D009B00AF000600A800C00028005E009800C9016A00B9015C00B400D6011E002E0080000400B8004C00CC01FFFFD1006600A400AF007400C2009500B1000C0028006D0015004C008E0125FF7A000C0040004C00620084FFA200240038008600BD0039005E008E00EDFFA9FFB300400052005500AA00AB00C200CB012302B10413FFAEFFE4000800510074008400AA00D1FF4CFFAF0012002C004200500051008400BE012503DAFF680018003B0098009C009F00A100C100EC018201B4FF68FF76FFD0FFE100020018001C00530053007D01B401E103AF0486FF9CFFEAFFFE001F0028002A00520060009300A300AA00AF00AF00C001000145016B0174019301950240028202B404850517FEFD00060029004700470048006F008800B400B900C400F200F901EF02180310037403C5FF35FFF3000B004B004C0052005500650076007600870087008E00AB00BB0106013001430150017D0194019501D3022A025502580277027802E6034E035C037903D3047304B2058C0598060BFEF5FFBBFFC7FFD50017001D005B0072007E009C00C200D000F400FA01030106011C0125013B0142015E015E0180019B02B901A101B9025001C001D002AA01DF01E301EF01FB0205020C0215022B0274029302AB02C202CE03690395039903DF03F5043E050205A105E5062507DBFE62FE89FECEFF3BFFE1FFF800030008002100390042004E005F0061006F00700034007F008E00AD00AD00AF00BD00C400C500C900C900C900E3011C00ED00F800F901000112011A0132014D014D014E014F01660169019E01BA01BA01BE01E301EF01F602000200020902110217021C02530262026D028002D50280031B032A034A035A03AF03AF03C803D603FB03FB04050413041504470449008C046D049A049A04A604A804B204CF0539053E054E055605800589058C036305D105D6067E068E06B206EF06F00728074C076F078C00B400C900C000C10000000000000000000000000004012400AF0032006E0063014401620096014301A10161008A00740064018801EF01700028FF5D037E0347023000AA00BE007B0062009A007D0089035C00A1FFD803AA00D70093006C0000008000A70442001D0597001D00820030002A
+
002A002A002A002A40292A292827262524232221201F1E1D1C1B1A191817161514131211100D0C0B0A090807060504030201002C4523466020B02660B004262348482D2C452346236120B02661B004262348482D2C45234660B0206120B04660B004262348482D2C4523462361B0206020B02661B02061B004262348482D2C45234660B0406120B06660B004262348482D2C4523462361B0406020B02661B04061B004262348482D2C0110203C003C2D2C20452320B0CD442320B8015A51582320B08D44235920B0ED51582320B04D44235920B09051582320B00D44235921212D2C20204518684420B001602045B04676688A4560442D2C01B9400000000A2D2C00B9000040000B2D2C2045B00043617D6818B0004360442D2C45B01A234445B01923442D2C2045B00325456164B050515845441B2121592D2C20B0032552582359212D2C69B04061B0008B0C6423648BB8400062600C642364615C58B0036159B002602D2C45B0112BB0172344B0177AE5182D2C45B0112BB01723442D2C45B0112BB017458CB0172344B0177AE5182D2CB002254661658A46B040608B482D2CB0022546608A46B040618C482D2C4B53205C58B002855958B00185592D2C20B0032545B019236A4445B01A23444565234520B00325606A20B009234223688A6A606120B0005258B21A401A4523614459B0005058B219401945236144592D2CB9187E3B210B2D2CB92D412D410B2D2CB93B21187E0B2D2CB93B21E7830B2D2CB92D41D2C00B2D2CB9187EC4E00B2D2C4B525845441B2121592D2C0120B003252349B04060B0206320B000525823B002253823B002256538008A63381B212121212159012D2C456920B00943B0022660B00325B005254961B0805358B21940194523616844B21A401A4523606A44B209191A45652345604259B00943608A103A2D2C01B005251023208AF500B0016023EDEC2D2C01B005251023208AF500B0016123EDEC2D2C01B0062510F500EDEC2D2C20B001600110203C003C2D2C20B001610110203C003C2D2C764520B003254523616818236860442D2C7645B00325452361682318456860442D2C7645B0032545616823452361442D2C4569B014B0324B505821B0205961442DB8002B2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8002C2C2020456944B001602DB8002D2CB8002C2A212DB8002E2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8002F2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800302C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800312C2020456944B0016020
+
20457D691844B001602DB800322CB800312A2DB800332C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800342C4B535845441B2121592DB800352C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800362C2020456944B001602DB800372CB800362A212DB800382C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800392C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8003A2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8003B2C2020456944B001602020457D691844B001602DB8003C2CB8003B2A2DB8003D2C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8003E2C4B535845441B2121592DB8003F2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800402C2020456944B001602DB800412CB800402A212DB800422C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800432C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800442C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800452C2020456944B001602020457D691844B001602DB800462CB800452A2DB800472C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800482C4B535845441B2121592DB800492C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8004A2C2020456944B001602DB8004B2CB8004A2A212DB8004C2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8004D2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8004E2C4B20B0032650585158
+
B080441BB04044591B21212045B0C05058B0C0441B2159592DB8004F2C2020456944B001602020457D691844B001602DB800502CB8004F2A2DB800512C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800522C4B535845441B2121592DB800532C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800542C2020456944B001602DB800552CB800542A212DB800562C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800572C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800582C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800592C2020456944B001602020457D691844B001602DB8005A2CB800592A2DB8005B2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8005C2C4B535845441B2121592D00000000020042000004D005BD00030007003FB800532BB800082FB800092FB8000810B80000D0B800002FB8000910B80003DCB80004DCB8000010B80007DC00BA0007000000562BBA0002000500562B3031331121112711211142048EB8FCE205BDFA43B8044DFBB300000002005AFFDA057105E5001D001E00B1403B1B0597019605031F011F0482018705891305530803861D111115063A1D030C3A15091E021E1E190331023B1031111A20093119191F20A1216A66182B2B4EF44DED4E10F64DEDF4ED12392F003F3FED3FED12392F10ED31304379403A001C172513260E251B260B160932000D1410320112110F10071C0932000500033201010204030A180C32000F120C3200081A06320104010632012B2B2B2B01103C103C2B2B103C103C2B2B2B2B2B2B815D015D080117232E0123220011101233323736373306070621202726111037362123041E013411C221C5B2D9FEF5F1EFDC733D1EC21A92AFFED7FF00AEE5ACBA01472805E5FEDABB8EA6FECFFEC5FEFEFEBFA95991E89DBD9BCD01AC0145D0E20000000200A50000056305BD000D00180067401F871196120232080B1E0F02001E17080831131A1A0D250E19191AD6217689182B2B4EF44DFD4E10F64DED003FFD3FFD313043794026011611251526060705
+
0704070307020705060A10083201011608320109120B320107140032002B2B012B2B2A2B2B815D2532373637363736351002232111032120171611140702290102D06541744A3B1A0FD9F1FE9FC80253012FA795589BFE86FDAFAA15276F598B53470111012EFB980513D7C2FED1EABDFEB20000000100C90000019205BD00030017B8002B2BBA00010000002E2B00B800002FB800022F303113331123C9C9C905BDFA4300030050FFD505E805E5000F001B001C008A402C8705C700C701C302C808C90A064308153A0F031B3A07091C021C1C0B1231031A1E18310B191D1ED8216A66182B2B4EF44DED4E10F64DED12392F003F3FED3FED313043794032001A0D26012509250526160E18320014001232011A081832001006123201170C1532011302153201190A1B320011041B32002B2B2B2B012B2B2B2B2B2B2B2B81005D0017161110070221202726111037122100123510002322001114122103049BBB92A7C4FE95FEADC2AD94BE0174011BEBFEF1EBE4FEE0F701150E05E5FAC3FED0FEB7DAFF00E0D8014A012AD40110FAA20179F50103013CFEC7FECFF4FEB1055E00020060FFD504F605E5002F003000FE405E290F27232626360E3521472662267A0E7724096B08180E172502590E680EAA22030A0E3A2224220A03041C1886142F2F2B1C3A1403043A2B0930020A0E081124221F28303011182517490825281A321F25114900252F193132A0216A89182B2B4EF44DEDF4ED4E10F64DEDF4ED12392F1211393912113939003F3FED3FED12392F10ED111217392EFD335D7131304379404D282E111F0008022602262D2506251A26032C002B002D2E032C002B00052A082B011D131F2B001B15182B011918012D042B0009270B2B01250B012E042B000729042B001E121C2B0119161C2B01002B2B2B2B10102B2B01103C2B2B2B2B103C2B2B2B2B2B2B818181005D0116171633323736353427262F012627263534243332041523262726232206151417161F01161716151404232027263701011E073463FA705CB24B4CA2C7C3518C0112FBE70143BB0F315BDAB09A5A3BD0CE95518CFE9DEBFEEE9B9B03024D01DA7D4E92203EA0783332252D2C355CB7C6FEDFF5763F7394626C3220302F223B67C4F4D28C8BEE040B0000030052FFDC04470449000F003B003C00DD40382A30010A100B1B0C1C2733481069096A10073908120C09031B320724091D100C1D3B2B022E293BB73B023B322A2512100705081C2722171CB8018A4023171D1F07271D2E0B021D350B3C073C3C1C1407292AA8241A3E1B291C4A0F2738193D3EBC0197002100B9019600182B2B4EF44DEDF4ED4E10F64DE4FDC412392F003F3FED3FED3FEDED1239111217395D1112392EED2EED01111239111739313043794028363715220001192501360F2100181E1B210016
+
20142101212200370221001A1D1721011521172101002B2B2B01103C2B2B2B2B818181005D015D2416333237363D010E010F0106070615013637363534262322070607233E01333217161511141633323637150E0123222726270E012322263534363713010E724E5F59962168326D62315301B43E150C837A8D3B210AA805F7A3BD767517250C1E112A2C265D2A160937CE7C95BDBA978ACF5A2C49A691151C060E0D1C2F67016C082C182D5C534C2A53C69B484898FD971C220303850C06422340486AB58895A41301E40000020038FFDA03ED05C2000B001D00774032370E470E570EA704A91B05250814020F1D1000081D1D07130A021D170B052E132E102911121A1F0B271A191E1F87217242182B2B4EF44DED4E10F63C4DFDE4E4003FED3F3FED3F1139113931304379401A181C090A000101180B2600091C0B260000190226000A1B0826012B2B012B2B818181005D1216333236353426232206150017161711331123350E0123220035341233F692A17DA1A67A88A9018A53303DADA23FAC6FB3FEFAEFDE015FE8D7C9CBC3D0CA0237341E4B021DFA3E956358012DFAEA015700030048FFDA041A0449001C00240025010C40799708991AA71F03050E020F0514150E120F1514400C401408291A014B0BB603C701C603C71BD808D909D61FD823E817E8230BC711C712025C080521240F9A161D243906070716211D1C070A1D160B2507971CA71CB71CD71C0425160F251C05190A0C07110E270F1D27051A27242E072719192627D421A65D182B2B4EF44DFDE44E10F64DEDD4FD391239391112393912392F5D003F3FED3FED12392F3CFD3C10ED1112393130437940460023040503050205010504061F26111012101310141004060C25221B24260020001D26011E1D09170726000B150E26010D0E231A2126011E0521260108180A26000D100A2600002B2B2B2B01103C2B2B103C2B2B2B2A2B2A8101715D00715D5D00161716171615211E013332373637330E01070607062322001110003301262726232206070102B4D638361210FCEF0590978D543014B1074F3152794152C8FEEA0118E2011F0B284AAD7CA805012304476B55516C4AA2A3C55D36473B912E501C100123010601020142FE26754682B38A01DC0000000003003DFE3B03E80449001F002D002E00B7404D36144908490958085909880CA91BA81DA927A62BB91B0B4008031622290EC40A221D1F070406291D190A121D0A0F2E072E2E051C032E162E2D29051A300C0E270D3E26271C192F3087217242182B2B4EF44DEDF4ED394E10F64DFDE4F51112392F003F3FED3FED3F3FED10ED1112393931304379402C23281A1E0B1124251026231E262600281A262600110B0E21000F0E0C0D251D222601271B2926000F0C122100002B2B2B01103C103C2B2B2B2B2B81818100
+
5D00171617353311140706212226273316171633323736270E0123222411100033002623220706151416333237363501027C5E3335A63C70FEC9ADEC0EB70D273D83CF40260336987DAEFEFB0107BA0144A47FBE4625937CC24F2CFED104423E234387FC32CC76DA9BA548273C9256DD5250F7011D010D012EFEA1C0B25F9AB5BDAF6384022D00000001008400000625044700260085403B0708070E060F1708170E170F2708270E270F4819560B670B0C23250A1A1D23190A02041725211D171D0D060700061B1C2503130A2817171A112914B80101B21A291DB80101400A00012E25292600192728B8010DB3216242182B2B4EF43C4DFDE410F4EDF4FD4E456544E6003F173C3F3F3C4DEDED111217390111123912393130005D13331536373633321716173E01333217161511231134262322061511231134272623220615112384B240345971804E2C243CA265D84E2ABB6B4D6A99B71A297066A7B4042F984F243D3F244656539C548EFD3702E86B508EA6FD9102BB6D324B9ECFFDC80000020084000003ED04490019001A005E4031B706C706020406140627147606740705140C021418101D05070006180B0A1A071A1A000C29091A1C012E18291900191B1CB80106B3216242182B2B4EF43C4DFDE44E10F64DED12392F003F3F3C3F3FED1139390112393130005D015D1333153E01333217161511231134272623220706070E011511230184AB4CAA68E4502CB71D307E40294A382D1BB401A7042F985E529F57A2FD5102A3623C640D1642357169FDCF0449000003003BFFD90421044E000C0018001900904033980896109916A504A808A610A916B808C808D704E50EE9140C3A08061D18070C1D120B190719191502270F1A1B092715191A1BB80109B321725D182B2B4EF44DED4E10F64DED12392F003F3FED3FED31304379402C001704260B1309260000110226010717092600050D0226010A140C260001100C26000816062601030E0626012B2B2B2B012B2B2B2B2B81005D241235342726232206151416331200111002212200351000330702E085304CBAA59696A3D6011EFCFEF7DDFEFC0112E70674010FA6965E94FCB2ABE403DAFEECFEF4FEFDFEAE012BFC010E01400500020076FE5504250449000E00220074402CA908A717022808201C110E061D15070F060E1D1C0B220E0227181A240A2E102E2129220F1923248721BD5D182B2B4EF43C4DFDE4E44E10F64DED003F3FED3F3FED1139123931304379401C161B00051A260426001B022601051602260101190E260003170626012B2B012B2B2B2B8181005D243635342726232207061514171633013315363736333212111007062322272627112302C6A72546BABB45252546BAFE2EAF36405B7BB6FEB7749A7952303BB479D3D2805CB1BB649A7C57A603B18E49283CFEE9
+
FEFDFEA2965F351E49FDDD0000010017FFEF0209055A00180052B50D2E0AC00E01B8013F40250416391703060E0A111A17171A0301062900150E150F031F030203FC1619191AFC21677D182B2B4EF44DFD5D39C42F3CFD3C104E456544E6002F3F3F3C4DFD3CED10FDE431301333113315231114171633323637150E012322263511233533A8B6ABAB2615310D1E141F43277E5A9191055AFED593FD4538130B01028E0908816702C593000000020080FFE303DE044900170018005E403AB814C81402091308141913191428067703D707070800050E0A00060D0A051D120B180718180B160D2E0A290C0B1A1A01291619191AD2216242182B2B4EF44DED4E10F63C4DFDE41112392F003F3FED3F3F3C391112393130005D015D0111141716333237363511331123370607062322272635112501381A3083BC4425B4AA0223346793E5532D01AF042FFD39523460A85A9D020EFBD19E3D2A5499528902D81A000001000000000000642C0B935F0F3CF500110800000000005F4D8F0000000000C621BCD6F865FC270B9108F9000000090001000000000000000100000629FE2900000C01F865FCED0B910001000000000000000000000000000000100512004205C7005A05C700A5023900C906390050055600600473005204730038047300480473003D06AA0084047300840473003B0473007602390017047300800000003400C40126013E01BC0288035203BE0488053005AC0608068006F20742079C0000000100000010006F0009006B0007000200100010005D000007E80A1D00040001B800532BB800492BB8003F2BB800352BB8002B2B4118008001A6009001A600A001A600030069018B0079018B0089018B0099018B00040089018B0099018B00A9018B00B9018BB2040840BA0179001A014A400B041F5414191F180A0B1FD2B80106B49E1FD918E3BB0119000D00E10119B20D0009410A01A0019F0064001F01A50025017A00480028019AB3296C1F60410A01A9007001A9008001A90003008001A9000101A9B21E321FBE012C00250401001F0126001E0401B61FE7312D1FE531B80201B21FC227B80401B21FC11EB80201400F1FC01D9E1FBF1D671FBE1D671FAB27B80401B21FAA29B80401B61FA91D6C1F931EB8019AB21F921DB80101B21F911DB80101B21F751DB80201B61F6D29961F6431B8019AB21F4C96B802ABB21F391DB80156400B1F3638211F351DE41F2F27B80801400B1F2D1D4C1F2A31CD1F241DB802ABB21F201EB8012540111F1C1D931F3A1D4C1F1E1D45273A1D4527BB01AA019B002A019BB2254A1FBA019B0025017AB349293896B8017BB348283125B8017A403648289629482725294C1F252946272729482756C80784075B07410732072B072807260721071B071408120810080E080C080A08080807B801ACB23F
+
1F06BB01AB003F001F01ABB308060805B801AEB23F1F04BB01AD003F001F01ADB70804080208000814B8FFE0B40000010014B801ABB41000000100B801ABB606100000010006B801ADB300000100B801AD401F04000001000410000001001002000001000200000001000002010802004A00B0018DB806008516763F183F123E113946443E113946443E113946443E113946443E113946443E11394660443E11394660443E11394660442B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B18011DB0964B5358B0AA1D59B0324B5358B0FF1D592B2B2B2B2B2B2B2B182B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B74752B2B2B65422B2B4B5279B376706A66456523456023456560234560B08B766818B080622020B16A704565234520B003266062636820B003266165B070236544B06A234420B176664565234520B003266062636820B003266165B066236544B0762344B10066455458B166406544B27640764523614459B36242725D456523456023456560234560B089766818B080622020B172424565234520B003266062636820B003266165B042236544B072234420B1625D4565234520B003266062636820B003266165B05D236544B0622344B1005D455458B15D406544B262406245236144592B2B2B2B456953427374B8019A2045694B20B02853B049515A58B020615944B801A6204569447500
+
00>] def
+
/CharStrings 16 dict dup begin
+
/.notdef 0 def
+/C 1 def
+/D 2 def
+/I 3 def
+/O 4 def
+/S 5 def
+/a 6 def
+/d 7 def
+/e 8 def
+/g 9 def
+/m 10 def
+/n 11 def
+/o 12 def
+/p 13 def
+/t 14 def
+/u 15 def
+ end readonly def
+
currentdict dup/FontName get exch definefont pop end
+
%APLsfntEnd
+
42/FontType resourcestatus{pop pop true}{false}ifelse
+
{currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if
+
/FontType 1 def
+
/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def
+
/FontBBox{-1947 -985 2961 2297}def
+
/UniqueID 4265107 def
+
currentdict currentfile eexec
+
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B2145C684A74C06611B00C1FA345EA5AA002A80B57843F114AFEA926699F2E8022F1D1331DFE6254733147DDB94E77EAC1EAD51170D66C31355D7FFC56C96F93071D2CDD5F60123EB639124E6FA384D09402728516BADCC77378B2688BF1C9870ACE1E5E8BB085E36D511F2D395BB6F21B583146EFCC620FB6BC40772111492067CBBAAE7DE681276AD135BFDFDB389930018CB0E9DE29D67612CFF971CC7D65CADC082347D4CD34CC93BE5C26F0ED053332002A904B173ABB5568E1E3FB6992F4E98E5AC7ADF34BC8013007AFAF3E738126EBEA8FB4F8E2D5262B85A651A405A186B226BC18C4E7517ED707D0CA4FCAC02B7A1F4D27B795FE578FD57F03C10DCEA2D253FF37704DD0799CDE40320FB2FAB253BAD0184AEB17038842BB043906742D17C0C01F1A0B6CDAB08ADD0B99B54F8E4A1EC750B5B729EB4E23B938BD3EBC0750B99B019B50F92300380A8F4FA5D59964BD0721BCBA421141878DF633FCEE7DF38B7713A9D1BD4CD03A1A23BC46D8E8DEC46D25F74FDADF64FE9BAAB5CD7FF7A703F7450514D762F0FF06F236EEBB5F76D9F4495513E20EAE8CA4A30014C7607F701FAFE84E0BC79F6593F340287C0AC2383F01DD808E3691D66407CE11312B4A39984F8C0CD28AC9F22D2612535C771F19B5F26372CB42D75566A72CC4B23D7063FB33AA97841B82D452F63D34BB6C9D8030157947738B7A4124928E1E9458B492AD1ACDB0FEE637117E2A6295569EC0462BBFCD7A739E4F5959348BED
+
5179A4B4A30E59CB09D399F92B0136E2C6C33FCA222A864BA04C4CBAEBFAE24C9CAFF09455093B0806EC7126BAC2A6D220CE4E621EC5BA2E030A098F0586F9DB6DAC82CC2D6CA610257FC8AA173D59B1ADCE27F51AD1D6C1994A3E1C06232BB06D662D2D4E0F9A7BF4A53A31544E16E2C9CCA946AB76EE57E401372D9BEB426146B321DCBC76AD41A17E4B4949373A8C0510DBD4065AD6DBB1DEF824077A995ECE83E908215569CD4EEF5D8B2E0456A927F59E0B639C2A779F12D0DFBB715505BF597480D26AC02B696473B51EB65DAA7A58F1B8F8EDFF6E4D916B99F0A6EA4BD30274EBBD85CF004247C2E8457F027A2170CA8EFC320AB840F65306BA235EBAF6FF80D15D36268FF71802C6B5729026BCBE56743BC198648E89B6A39C297FE01456F041DDFBED844BFF3C00597CE76F407A2EBEC336FC6B02DA0A8B0B77D670ABDC5AE1FDC28F2EFB498A119193EE82B670402A5D5C0D5D0F333A3CE7F869029EA9E148CBC420DD5BF3E04122929D865A520A4AFD969D3EF6E85DE9FE945EF43A513FD43796C7CF86D64869B0AB41407ECC0B46586774F95A573A0532C3CAFD6251482107777EA27A53FAE27B40750A1C551DE2F93B5B3575C00ED5A8B1A7B49BA1EFDBAD69491D960F27721E2FDBD3545E246621DE1F44B55F41F8D53C9A104624BFF8EEB9411176A6A5943522B4621ACF616FF515AEFCF6D9265205D2A3C021C58FE8014F7FC93EFD885F75D1C6E4D756BA5ED9F6CFE96C2EAB58E55F49DF40BFBE406B2424C838EE851EACBF611C4D59D80ACC414F380D123CA219AB173E34C76ED07A59009978C0E051EDE83CD64EE4B5E9B2FC566DC34D4E2E45D8D994E8D0DFCE0BC2A5531EE7113F7E1CA0523D7F6F070CF89227CE4D7E61D813B1C34E9D65682F9D2282BEDA89ECCA6C446C24E8B274CC9A243E22781EBD31C57BC9343158D6B2162577E9523490B8E3BA29F709CCC88D015235942B3886BF684918D35A73F4999B4A22DE2A9DF1EE6F82D3AF13AA3180B3E95153AE41C2F6F113774948B64E026624AC057D47C2DB3A379EE3827AE7057A3B246CF1AFAAF41C0D0B9AEE6C749BD4D77E7920051181D0C00D03ADCF0667492492EC9E1627F48B71F438DF1F957ACAC280CF51FAD614735FDFF9A0961B9298121D970C0A3D931486C60784A574654A3FD0FC4664F03418A6B2B61F59C44318A35884E7161C54ED1FF7B23E037FCD8461B2A904FA0A4A396C1DC08CD7A4D26975832DB5D055331748FBB8E6459D4C3D1394BB3C48B63E211C95370B9E6605210B48F81BB0708241C09429C0066590A78043FB78E5D23125DF42EBBC2BB83ECD90A3C1E2A9E590454B08F20432D563F68F60754037DB8DB32BCF752AD2F8267939169C79C61216BE3B16B8352B8D9D5C7D68761E081455240F8651C87D2117046CB8EA2077B92FCD583F
+
646DF7652DC3035D782A12859B94253C431F3FD5BAD864DFD956C83C95B510D75754CAB2B1C9450773158947DC08C3751D51113D4C30FAD513AEFFCD50513D25980933BD6C780CE53A1B976A0DAAD888CF602B7464A4AFD538C12451644A02B846293CC408562A8E7B71DF4304DC3D2C1251DAA648E48C75798B78CAA37ECCDB741FCD418B5BC489A0E1A8E79DD9606D284FDC885F6695527425856624D9B482FD90FF7ACDBDDB3AA101090234AE1C206DAFA985E1087A5BA311E6DE315ACE333FA719D21A4B19F134DB5A83115B9D9B3B68DAC81C160247052B76D2036D07021BD74AE48ADE7D4BA958FE5828AEB575BED452C98B754F1D9A028EF3C943556A6B9BF13AC1FD142D0A2C169468BB48B216D731AD0EDA0118EFE14A93E3176D8F1C1EF8A8EDD2195BF09D6AC2DC0DA39EFE47B7130A6D10DACA7BEF897CD618C735D80C6B95E3D5D60C6B4FC3BAF1738BAD9CD20875C565AB4AE9662C2D08889590F1A9176EE0AB2FD6DF0FB165BDE01494C0997DC1F71B8BB42131BABCEA8C1F95F867C29E7B1759C19DE841E723A52DEAC710B47DDDEBAB0FFA296AD5991089FEC54BD11167901E9FBB055F80C798E6DF80AF090BE4C319894B6E2CB053B4FF29D4279DC1347E0FE05104BC728506E2D84A72890AD0311045300396FB6238C96E5C293E636B627C4CC996890EA0BE5C656CAAC4C98811DBCE37CFDC260F7E6CF91AD06E93A7E5133237D24086B87BF13E6D3AEE0D9A3AF87752CA70D3D686EF19D9830170AD7B50A18F39C356E45AE5C9F03EE50741E305CB015FD80F0A9AD5AE71F33BE7A32B029B3735F595CA56AFAB2217D583F159AD401FC5FA364104D8690CC2E935B44786C8A892E8DAE30C438ED4819051B5962B6B6C4B45D2874F038068730AF19F8E1BF692C91F96120AE95D28DF73084DCE9055226388AC74249864E892CF971101FD438C98DA5DF62E81C48CB7B6A01AF20F6892A319786F5F3E9184B92D6DD7D44B091E52271E0A6F171C6B81B7DD3787342F0145A84BB11074230B07F92E2D07C84E0AEB0B9D364B648F609F3ED5A144210081817DDFEEDCD70A346E2CA56E906018157CFD388856B177CA448DE26FECF12106C1B8D018CCEDCFDC6E403A0A29D425199311618B1B37E2D84B485C72480F1B2D00B4C569A607D1A12F0815DDD1D9EEE4AFC500646E80065394E8C06AEF2749CC3D7B013CF6EEF3671261B5261D4C9F4E5BBCD5FB2B010DF7F483767E8A350EF164BF662B712D2B416660AA9D387B4CEA0E2B2B2AE931140CB5986AC5CB84A4E89E4837E51EFFAFEAE9BFF964C1101EBDE067C77D6370523D141F1E8B505BB474D4BE2B4B6960612FBD27EEF5D9BF97A959ADB15762127EF89444472798193E27D2B0A35291A5517C81D97DE48972EC048F7CB8C4562EC3FAA6F3762EE7DA307E31430CFD3CD4
+
77BEC29A977D49B6156338C3186577444F367C15E1ADC52B54D735463C6681A3185E18733A8B881530A916B0A65A27EBB887574F321F5EFE249E48DD54EA3D55D81CA301FD36E660EC76EDFE61482E0BE59EE3D487238D39876DC2FC27D1A040B009D4737672F7EB85724B8A90F4C279369D1DEAB0DA7BFD77E542AB9170A61569A861D2E59D12C139A9243F302487A62C64EB1B3DE7DC1798D6700ED7524DCDB8715C53FF86AB58AD9375CADC4D49B3C6321CE3
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
0000000000000000000000000000000000000000000000000000000000000000
+
cleartomark end
+
%APLT1End
+
%RBIEndFontSubset
+/Helvetica cguidfix
+/F1.1/Helvetica renmfont
+[ /CIEBasedABC 4 dict dup begin 
+/WhitePoint [ 0.9505 1.0000 1.0891 ] def 
+/DecodeABC [ { 1.8008  exp } bind { 1.8008  exp } bind { 1.8008  exp } bind ] def 
+/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def 
+/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def 
+end ] /Cs1 exch/ColorSpace dr pop
+[ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def 
+/DecodeA { { 1.8008  exp } bind  exec} bind 
+def 
+/MatrixA [ 0.9642 1.0000 0.8249 ] def 
+/RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def 
+/DecodeLMN [ { 0.9857  mul} bind { 1.0000  mul} bind { 1.3202  mul} bind ] def 
+end ] /Cs2 exch/ColorSpace dr pop
+%%EndPageSetup
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+q
+0 0 396 256 rc
+265.5 206 m
+384.5 206 l
+384.5 48 l
+265.5 48 l
+h
+265.5 206 m
+f
+1 J
+1 j
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+282.5 139 m
+401.5 139 l
+401.5 297 l
+282.5 297 l
+h
+282.5 139 m
+S
+1 1 1 sc
+CM
+11 245 m
+130 245 l
+130 11 l
+11 11 l
+h
+11 245 m
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+28 100 m
+147 100 l
+147 334 l
+28 334 l
+h
+28 100 m
+S
+1 1 1 sc
+CM
+353.99133 170.17764 m
+370.00293 160.41455 370.00293 144.58545 353.99133 134.82236 c
+337.97986 125.0592 312.02014 125.0592 296.00867 134.82236 c
+279.99707 144.58545 279.99707 160.41455 296.00867 170.17764 c
+312.02014 179.9408 337.97986 179.9408 353.99133 170.17764 c
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+370.99133 174.82236 m
+387.00293 184.58545 387.00293 200.41455 370.99133 210.17764 c
+354.97986 219.9408 329.02014 219.9408 313.00867 210.17764 c
+296.99707 200.41455 296.99707 184.58545 313.00867 174.82236 c
+329.02014 165.0592 354.97986 165.0592 370.99133 174.82236 c
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 325 152.5 cm
+/F1.1[ 12 0 0 -12 0 0]sf
+-12.673828 -3 m
+(!"#")[ 8.666016 6.673828 3.333984 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+353.99133 101.17764 m
+370.00293 91.414551 370.00293 75.585449 353.99133 65.822357 c
+337.97986 56.059204 312.02014 56.059204 296.00867 65.822357 c
+279.99707 75.585449 279.99707 91.414551 296.00867 101.17764 c
+312.02014 110.9408 337.97986 110.9408 353.99133 101.17764 c
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+370.99133 243.82236 m
+387.00293 253.58545 387.00293 269.41455 370.99133 279.17764 c
+354.97986 288.9408 329.02014 288.9408 313.00867 279.17764 c
+296.99707 269.41455 296.99707 253.58545 313.00867 243.82236 c
+329.02014 234.0592 354.97986 234.0592 370.99133 243.82236 c
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 325 83.5 cm
+-12.673828 -3 m
+(!"#")[ 8.666016 6.673828 3.333984 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+156.75 143 m
+238.75 143 l
+238.75 93 l
+156.75 93 l
+h
+156.75 143 m
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+173.75 202 m
+255.75 202 l
+255.75 252 l
+173.75 252 l
+h
+173.75 202 m
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 197.75 118 cm
+-14.34375 -3 m
+(\)*+%)[ 8.666016 6.673828 6.673828 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+98.991348 204.67764 m
+115.00291 194.91455 115.00291 179.08545 98.991348 169.32236 c
+82.979858 159.5592 57.020142 159.5592 41.008652 169.32236 c
+24.997086 179.08545 24.997086 194.91455 41.008652 204.67764 c
+57.020142 214.4408 82.979858 214.4408 98.991348 204.67764 c
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+115.99135 140.32236 m
+132.00291 150.08545 132.00291 165.91455 115.99135 175.67764 c
+99.979858 185.4408 74.020142 185.4408 58.008652 175.67764 c
+41.997086 165.91455 41.997086 150.08545 58.008652 140.32236 c
+74.020142 130.5592 99.979858 130.5592 115.99135 140.32236 c
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 70 187 cm
+-12.673828 -3 m
+(!"#")[ 8.666016 6.673828 3.333984 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+98.991348 135.67764 m
+115.00291 125.91455 115.00291 110.08545 98.991348 100.32236 c
+82.979858 90.559204 57.020142 90.559204 41.008652 100.32236 c
+24.997086 110.08545 24.997086 125.91455 41.008652 135.67764 c
+57.020142 145.4408 82.979858 145.4408 98.991348 135.67764 c
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+115.99135 209.32236 m
+132.00291 219.08545 132.00291 234.91455 115.99135 244.67764 c
+99.979858 254.4408 74.020142 254.4408 58.008652 244.67764 c
+41.997086 234.91455 41.997086 219.08545 58.008652 209.32236 c
+74.020142 199.5592 99.979858 199.5592 115.99135 209.32236 c
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 70 118 cm
+-12.673828 -3 m
+(!"#")[ 8.666016 6.673828 3.333984 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+98.991348 66.677643 m
+115.00291 56.914551 115.00291 41.085449 98.991348 31.322357 c
+82.979858 21.559204 57.020142 21.559204 41.008652 31.322357 c
+24.997086 41.085449 24.997086 56.914551 41.008652 66.677643 c
+57.020142 76.440796 82.979858 76.440796 98.991348 66.677643 c
+f
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+115.99135 278.32236 m
+132.00291 288.08545 132.00291 303.91455 115.99135 313.67764 c
+99.979858 323.4408 74.020142 323.4408 58.008652 313.67764 c
+41.997086 303.91455 41.997086 288.08545 58.008652 278.32236 c
+74.020142 268.5592 99.979858 268.5592 115.99135 278.32236 c
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 70 49 cm
+-12.673828 -3 m
+(!"#")[ 8.666016 6.673828 3.333984 0.000000 ] xS
+-24.014648 11 m
+($%&'%\(#)[ 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+0 0 0 sc
+1 0 0 -1 -17 345 cm
+118.14089 174.80849 m
+164.59827 199.88412 l
+S
+CM
+154.63821 141.31601 m
+149.02321 147.75586 l
+146.17331 142.47589 l
+h
+154.63821 141.31601 m
+f
+0 J
+0 j
+1 0 0 -1 -17 345 cm
+171.63821 203.68399 m
+166.02321 197.24414 l
+163.17331 202.52411 l
+h
+171.63821 203.68399 m
+S
+1 J
+1 j
+128.50003 227 m
+163.35001 227 l
+S
+CM
+154.35001 118 m
+146.35001 121 l
+146.35001 115 l
+h
+154.35001 118 m
+f
+0 J
+0 j
+1 0 0 -1 -17 345 cm
+171.35001 227 m
+163.35001 224 l
+163.35001 230 l
+h
+171.35001 227 m
+S
+1 J
+1 j
+118.14089 279.1915 m
+164.59827 254.11586 l
+S
+CM
+154.63821 94.684006 m
+146.17331 93.524124 l
+149.02321 88.244141 l
+h
+154.63821 94.684006 m
+f
+0 J
+0 j
+1 0 0 -1 -17 345 cm
+171.63821 250.31599 m
+163.17331 251.47588 l
+166.02321 256.75586 l
+h
+171.63821 250.31599 m
+S
+1 J
+1 j
+256.2326 215.75853 m
+294.49524 205.38963 l
+S
+CM
+285.21674 141.70284 m
+276.71057 142.50594 l
+278.27991 136.7148 l
+h
+285.21674 141.70284 m
+f
+0 J
+0 j
+1 0 0 -1 -17 345 cm
+302.21674 203.29716 m
+293.71057 202.49406 l
+295.27991 208.2852 l
+h
+302.21674 203.29716 m
+S
+1 J
+1 j
+256.2326 238.24147 m
+294.49524 248.61037 l
+S
+CM
+285.21674 94.297165 m
+278.27991 99.285202 l
+276.71057 93.494064 l
+h
+285.21674 94.297165 m
+f
+0 J
+0 j
+1 0 0 -1 -17 345 cm
+302.21674 250.70284 m
+295.27991 245.7148 l
+293.71057 251.50594 l
+h
+302.21674 250.70284 m
+S
+/Cs2 SC
+0 sc
+0 i
+1 0 0 -1 69 232 cm
+-50.033203 4 m
+(,\(-.#!"#"$%&'%\(#)[ 3.333984 6.673828 6.673828 6.673828 3.333984 8.666016 6.673828 3.333984 6.673828 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+1 0 0 -1 325 194 cm
+-54.700195 4 m
+(/.#-.#!"#"$%&'%\(#)[ 9.333984 6.673828 3.333984 6.673828 6.673828 3.333984 8.666016 6.673828 3.333984 6.673828 8.003906 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+ep
+end
+%%Trailer
+%%EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/dsandcs.graffle	Mon Feb 06 04:56:25 2012 +0900
@@ -0,0 +1,968 @@
+<?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>138.17.0.133677</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {559, 783}}</string>
+		<key>Class</key>
+		<string>SolidGraphic</string>
+		<key>ID</key>
+		<integer>2</integer>
+		<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>
+	</dict>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2011-08-11 17:46:55 +0900</string>
+	<key>Creator</key>
+	<string>Kazuki AKAMINE</string>
+	<key>DisplayScale</key>
+	<string>1 0/72 in = 1.0000 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>6</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Bounds</key>
+			<string>{{287, 144}, {110, 14}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>ID</key>
+			<integer>26</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>Pad</key>
+				<integer>0</integer>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 OutputDataSegment}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{35.5, 106}, {101, 14}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>ID</key>
+			<integer>25</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>Pad</key>
+				<integer>0</integer>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 InputDataSegment}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>12</integer>
+			</dict>
+			<key>ID</key>
+			<integer>24</integer>
+			<key>Points</key>
+			<array>
+				<string>{256.233, 238.241}</string>
+				<string>{304.051, 251.2}</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>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>15</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>10</integer>
+			</dict>
+			<key>ID</key>
+			<integer>23</integer>
+			<key>Points</key>
+			<array>
+				<string>{256.233, 215.759}</string>
+				<string>{304.051, 202.8}</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>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>15</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>15</integer>
+			</dict>
+			<key>ID</key>
+			<integer>22</integer>
+			<key>Points</key>
+			<array>
+				<string>{118.141, 279.191}</string>
+				<string>{173.31, 249.414}</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>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>18</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>15</integer>
+			</dict>
+			<key>ID</key>
+			<integer>21</integer>
+			<key>Points</key>
+			<array>
+				<string>{128.5, 227}</string>
+				<string>{173.25, 227}</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>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>17</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>15</integer>
+			</dict>
+			<key>ID</key>
+			<integer>20</integer>
+			<key>Points</key>
+			<array>
+				<string>{118.141, 174.808}</string>
+				<string>{173.31, 204.586}</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>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>16</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{46, 271}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>18</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Data\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{46, 202}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>17</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Data\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{46, 133}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>16</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Data\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{173.75, 202}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>15</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Code\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{301, 236.5}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>12</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Data\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{301, 167.5}, {82, 50}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>10</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\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 Data\
+Segment}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{28, 100}, {119, 234}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>27</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{282.5, 139}, {119, 158}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>28</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</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>1</integer>
+	<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>Animate</key>
+		<string>NO</string>
+		<key>circoMinDist</key>
+		<real>18</real>
+		<key>circoSeparation</key>
+		<real>0.0</real>
+		<key>layoutEngine</key>
+		<string>dot</string>
+		<key>neatoSeparation</key>
+		<real>0.0</real>
+		<key>twopiSeparation</key>
+		<real>0.0</real>
+	</dict>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array/>
+	<key>ModificationDate</key>
+	<string>2012-02-06 04:49:59 +0900</string>
+	<key>Modifier</key>
+	<string>Kazuki AKAMINE</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>41</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+	</dict>
+	<key>PrintOnePage</key>
+	<false/>
+	<key>QuickLookPreview</key>
+	<data>
+	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
+	ArEvBdIalWK1CeTN3wpSre8KZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjE2NzMKZW5k
+	b2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCA0IDAgUiAvUmVzb3VyY2Vz
+	IDcgMCBSIC9Db250ZW50cyA1IDAgUiAvTWVkaWFCb3ggWzAgMCA1NTkgNzgzXQo+Pgpl
+	bmRvYmoKNyAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFj
+	ZSA8PCAvQ3MyIDkgMCBSIC9DczEgOCAwIFIgPj4gL0ZvbnQgPDwKL0YxLjAgMTAgMCBS
+	ID4+ID4+CmVuZG9iagoxMSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUiAvTiAxIC9BbHRl
+	cm5hdGUgL0RldmljZUdyYXkgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB
+	hVJPSBRRHP7NNhKEiEGFeIh3CgmVKaysoNp2dVmVbVuV0qIYZ9+6o7Mz05vZNcWTBF2i
+	PHUPomN07NChm5eiwKxL1yCpIAg8dej7zezqKIRveTvf+/39ft97RG2dpu87KUFUc0OV
+	K6Wnbk5Ni4MfKUUd1E5YphX46WJxjLHruZK/u9fWZ9LYst7HtXb79j21lWVgIeottrcQ
+	+iGRZgAfmZ8oZYCzwB2Wr9g+ATxYDqwa8COiAw+auTDT0Zx0pbItkVPmoigqr2I7Sa77
+	+bnGvou1iYP+XI9m1o69s+qq0UzUtPdEobwPrkQZz19U9mw1FKcN45xIQxop8q7V3ytM
+	xxGRKxBKBlI1ZLmfak6ddeB1GLtdupPj+PYQpT7JYKiJtemymR2FfQB2KsvsEPAF6PGy
+	Yg/ngXth/1tRw5PAJ2E/ZId51q0f9heuU+B7hD014M4UrsXx2oofXi0BQ/dUI2iMc03E
+	09c5c6SI7zHUGZj3RjmmCzF3lqoTN4A7YR9ZqmYKsV37ruol7nsCd9PjO9GbOQtcoBxJ
+	crEV2RTQPAlYFH2LsEkOPD7OHlXgd6iYwBy5idzNKPce1REbZ6NSgVZ6jVfGT+O58cX4
+	ZWwYz4B+rHbXe3z/6eMVdde2Pjz5jXrcOa69nRtVYVZxZQvd/8cyhI/ZJzmmwdOhWVhr
+	2HbkD5rMTLAMKMR/BT6X+pITVdzV7u24RRLMUD4sbCW6S1RuKdTqPYNKrBwr2AB2cJLE
+	LFocuFNrujl4d9giem35TVey64b++vZ6+9ryHm3KqCkoE82zRGaUsVuj5N142/1mkRGf
+	ODq+572KWsn+SUUQP4U5WiryFFX0VlDWxG9nDn4btn5cP6Xn9UH9PAk9rZ/Rr+ijEb4M
+	dEnPwnNRH6NJ8LBpIeISoIqDM9ROVGONA+Ip8fK0W2SR/Q9AGf1mCmVuZHN0cmVhbQpl
+	bmRvYmoKMTIgMCBvYmoKNzA0CmVuZG9iago5IDAgb2JqClsgL0lDQ0Jhc2VkIDExIDAg
+	UiBdCmVuZG9iagoxMyAwIG9iago8PCAvTGVuZ3RoIDE0IDAgUiAvTiAzIC9BbHRlcm5h
+	dGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVM9r
+	E0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0Sre
+	Re2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQN
+	x1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A
+	4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXT
+	QINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmt
+	P0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQ
+	OMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUE
+	YZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4q
+	r8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xX
+	lzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn
+	/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6
+	JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODI
+	mbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05
+	Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS
+	+fmsUtl+ThrWgZf6b8C8/UUKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago3MzcKZW5k
+	b2JqCjggMCBvYmoKWyAvSUNDQmFzZWQgMTMgMCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwg
+	L1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRz
+	IFsgMyAwIFIgXSA+PgplbmRvYmoKMTUgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL091
+	dGxpbmVzIDIgMCBSIC9QYWdlcyA0IDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvTGFz
+	dCAxNiAwIFIgL0ZpcnN0IDE3IDAgUiA+PgplbmRvYmoKMTcgMCBvYmoKPDwgL1BhcmVu
+	dCAxOCAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAgNzgzIDAgXSAvVGl0
+	bGUgKP7/MK0w4zDzMNAwuVwwMDAgXDAwMDEpCj4+CmVuZG9iagoxOCAwIG9iago8PCA+
+	PgplbmRvYmoKMTYgMCBvYmoKPDwgL1BhcmVudCAxOCAwIFIgL0NvdW50IDAgL0Rlc3Qg
+	WyAzIDAgUiAvWFlaIDAgNzgzIDAgXSAvVGl0bGUgKP7/MK0w4zDzMNAwuVwwMDAgXDAw
+	MDEpCj4+CmVuZG9iagoxOSAwIG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvTGVuZ3RoMSA5
+	MzQwIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab1aeXxTdbY/v7tnabYm
+	zd4kTZM03ZsutLTQUNLSsllaxBYptIVCQRgRaxVHmKqgUpAnIgXBUUFlFQmFkQDCMIgC
+	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
+	SGVpZ2h0IDczNyAvRGVzY2VudCAtMjMwIC9GbGFncyAzMgovRm9udEJCb3ggWy05NTEg
+	LTQ4MSAxNDQ1IDExMjJdIC9Gb250TmFtZSAvVFZQREdLK0hlbHZldGljYSAvSXRhbGlj
+	QW5nbGUgMAovU3RlbVYgMCAvTWF4V2lkdGggMTUwMCAvWEhlaWdodCA2MzcgL0ZvbnRG
+	aWxlMiAxOSAwIFIgPj4KZW5kb2JqCjIyIDAgb2JqClsgNzIyIDcyMiAwIDAgMCAwIDI3
+	OCAwIDAgMCAwIDAgNzc4IDAgMCAwIDY2NyAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
+	IDU1NgowIDAgNTU2IDU1NiAwIDU1NiAwIDAgMCAwIDAgODMzIDU1NiA1NTYgNTU2IDAg
+	MCAwIDI3OCA1NTYgXQplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5
+	cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvVFZQREdLK0hlbHZldGljYSAvRm9udERlc2Ny
+	aXB0b3IKMjEgMCBSIC9XaWR0aHMgMjIgMCBSIC9GaXJzdENoYXIgNjcgL0xhc3RDaGFy
+	IDExNyAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjIzIDAgb2Jq
+	CihNYWMgT1MgWCAxMC42LjggUXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoyNCAwIG9i
+	agooRDoyMDEyMDIwNTE5NTAwNVowMCcwMCcpCmVuZG9iagoxIDAgb2JqCjw8IC9Qcm9k
+	dWNlciAyMyAwIFIgL0NyZWF0aW9uRGF0ZSAyNCAwIFIgL01vZERhdGUgMjQgMCBSID4+
+	CmVuZG9iagp4cmVmCjAgMjUKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDExMDAwIDAw
+	MDAwIG4gCjAwMDAwMDM5MTIgMDAwMDAgbiAKMDAwMDAwMTc4OSAwMDAwMCBuIAowMDAw
+	MDAzNzYzIDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMTc2OSAwMDAw
+	MCBuIAowMDAwMDAxODkzIDAwMDAwIG4gCjAwMDAwMDM3MjcgMDAwMDAgbiAKMDAwMDAw
+	MjgzMSAwMDAwMCBuIAowMDAwMDEwNzMxIDAwMDAwIG4gCjAwMDAwMDIwMDMgMDAwMDAg
+	biAKMDAwMDAwMjgxMSAwMDAwMCBuIAowMDAwMDAyODY3IDAwMDAwIG4gCjAwMDAwMDM3
+	MDcgMDAwMDAgbiAKMDAwMDAwMzg0NiAwMDAwMCBuIAowMDAwMDA0MDg5IDAwMDAwIG4g
+	CjAwMDAwMDM5NjAgMDAwMDAgbiAKMDAwMDAwNDA2NyAwMDAwMCBuIAowMDAwMDA0MTk2
+	IDAwMDAwIG4gCjAwMDAwMTAzMzMgMDAwMDAgbiAKMDAwMDAxMDM1NCAwMDAwMCBuIAow
+	MDAwMDEwNTc5IDAwMDAwIG4gCjAwMDAwMTA5MDYgMDAwMDAgbiAKMDAwMDAxMDk1OCAw
+	MDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI1IC9Sb290IDE1IDAgUiAvSW5mbyAxIDAg
+	UiAvSUQgWyA8N2YzOTBkNzJiMGQyMjhlNGM3ODU5ODBlYWNmNmRiNjI+Cjw3ZjM5MGQ3
+	MmIwZDIyOGU0Yzc4NTk4MGVhY2Y2ZGI2Mj4gXSA+PgpzdGFydHhyZWYKMTEwNzUKJSVF
+	T0YKMSAwIG9iago8PC9BdXRob3IgKEthenVraSBBS0FNSU5FKS9DcmVhdGlvbkRhdGUg
+	KEQ6MjAxMTA4MTEwODQ2MDBaKS9DcmVhdG9yIChPbW5pR3JhZmZsZSA1LjIuMykvTW9k
+	RGF0ZSAoRDoyMDEyMDIwNTE5NDkwMFopL1Byb2R1Y2VyIDIzIDAgUiAvVGl0bGUgKGRz
+	YW5kY3MuZ3JhZmZsZSk+PgplbmRvYmoKeHJlZgoxIDEKMDAwMDAxMTczMyAwMDAwMCBu
+	IAp0cmFpbGVyCjw8L0lEIFs8N2YzOTBkNzJiMGQyMjhlNGM3ODU5ODBlYWNmNmRiNjI+
+	IDw3ZjM5MGQ3MmIwZDIyOGU0Yzc4NTk4MGVhY2Y2ZGI2Mj5dIC9JbmZvIDEgMCBSIC9Q
+	cmV2IDExMDc1IC9Sb290IDE1IDAgUiAvU2l6ZSAyNT4+CnN0YXJ0eHJlZgoxMTkwNwol
+	JUVPRgo=
+	</data>
+	<key>QuickLookThumbnail</key>
+	<data>
+	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
+	3AAAwGw=
+	</data>
+	<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>
+	<false/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>ExpandedCanvases</key>
+		<array/>
+		<key>Frame</key>
+		<string>{{653, 201}, {693, 937}}</string>
+		<key>ListView</key>
+		<true/>
+		<key>OutlineWidth</key>
+		<integer>142</integer>
+		<key>RightSidebar</key>
+		<false/>
+		<key>ShowRuler</key>
+		<true/>
+		<key>Sidebar</key>
+		<true/>
+		<key>SidebarWidth</key>
+		<integer>120</integer>
+		<key>VisibleRegion</key>
+		<string>{{0, 0}, {558, 783}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+		<key>ZoomValues</key>
+		<array>
+			<array>
+				<string>キャンバス 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+	<key>saveQuickLookFiles</key>
+	<string>YES</string>
+</dict>
+</plist>
Binary file paper/images/dsandcs.pdf has changed
--- a/paper/master_paper.tex	Mon Feb 06 03:19:53 2012 +0900
+++ b/paper/master_paper.tex	Mon Feb 06 04:56:25 2012 +0900
@@ -7,7 +7,7 @@
 \input{dummy.tex} %% font
 
 \jtitle{分散ネットワークフレームワーク Alice の提案と実装}
-\etitle{}
+\etitle{Design and Implementation Distributed network framework Alice}
 \year{平成23年度}
 \affiliation{\center%
   \includegraphics[clip,keepaspectratio,width=.15\textwidth]