# HG changeset patch # User sugi # Date 1422754234 -32400 # Node ID fd43827452ad33db4b3ab99dfbd67217122a4a95 # Parent 7d0c4907c2df761bbaf069dc2f963ae52d97a86e modify chapter1 diff -r 7d0c4907c2df -r fd43827452ad paper/abstract.tex --- a/paper/abstract.tex Thu Jan 29 17:13:44 2015 +0900 +++ b/paper/abstract.tex Sun Feb 01 10:30:34 2015 +0900 @@ -1,3 +1,7 @@ \begin{abstract} - +スマートフォンやタブレット端末の普及率が年々増加している。それに伴いインターネット利用者数も増加しており、ネットワーク上のサービスの利用者の増加は必至である。従って、サービスには、信頼性とスケーラビリティーが要求される。 +ここでいう信頼性は定められた環境下で安定して期待しされた動作を行うことをさす。スケーラビリティーはサービスの利用者が増大した場合、メモリ等のリソースを追加するだけでサービスを維持できる性能をさす。また、CPUが発熱の問題からマルチコアが主流になっているため、プログラムには並列性も求められる。 +しかし、これら全てをもつ分散プログラムをユーザーが一から記述することは容易ではない。 +そこで本研究室ではデータをData Segment、タスクをCode Segmentという単位で分割して記述する並列分散フレームワークAliceの開発を行っている。 +本研究ではAliceにAliceのComputationの制御を行うMeta Computationを追加した。そして実用的なアプリケーションをAlice上で実装することでAliceの有効性を確認した。 \end{abstract} diff -r 7d0c4907c2df -r fd43827452ad paper/chapter1.tex --- a/paper/chapter1.tex Thu Jan 29 17:13:44 2015 +0900 +++ b/paper/chapter1.tex Sun Feb 01 10:30:34 2015 +0900 @@ -1,5 +1,5 @@ \chapter{分散フレームワーク Alice の概要} \label{chapter:chapter1} - +この章では、Aliceの計算モデルを説明した後、実際にどのように実装されているかを説明する。 \section{Data SegmentとCode Segment}\label{subsection:computation} AliceはデータをData Segment、タスクをCode Segmentという単位に分割してプログラミングを行なう。 Code SegmentはInput Data SegmentとOutput Data Segmentを持つ(図 \ref{fig:dsandcs})。Input Data SegmentはそのCode Segmentを実行するために必要なデータ群であり、Output Data SegmentはCode Segmentが計算を行った結果を格納するデータ群である。 @@ -43,8 +43,7 @@ \section{Aliceの実装} -ここではAliceがどのように実装されているかを説明する。 -\section{Data Segment} +\subsection{Data Segment} Data Segmentは数値や文字列などのデータを構造的に保持する。AliceはData Segmentをデータベースとして扱っている。Data Segmentには必ず対になるKeyが存在する。つまりKey Value Storeとして考える事ができる。 Aliceのデータベースは通常のKVSとは異なっている点がある。通常のKVSはプログラミング言語の連想配列やMapと同様に 「Key(キー)」と「Value(値)」がペアとなっている。そのため1つのKeyに対して値は1つである。しかし、Aliceの場合は「Key」と「Queue」がペアとなっているため、Keyに対して複数回putできる。従って取得できるValueも複数存在する。 @@ -77,7 +76,7 @@ Remoteに対してputできるデータは、@MessageをもつクラスオブジェクトかMessage Packで扱える型に限られる。 \subsubsection{Data Segment API} -\section{Code Segment} +\subsection{Code Segment} Code SegmentとはAlice上で実行されるタスクの単位である。ユーザーはCode Segmentを組み合わせることでプログラミングを行う。Code Segmentをユーザーが記述する際に、内部で使用するData Segmentの作成を記述する。 Input Data Segment と Output Data SegmentはCode Segmentに用意されているAPIを用いて作成する。 @@ -125,11 +124,31 @@ \item \verb+void update(String managerKey, String key, Object val)+ \end{itemize} -% \subsection{Meta Data Segment} -% +Meta Data SegmentはData Segmentの一種である。Data Segmentは、アプリケーションに管理されているデータのことである。アプリケーションを構成するCode Segmentによってその値は変更される。 +それに対してMeta Data Segmentは、分散フレームワークAliceが管理しているデータである。Aliceを構成するCode Segmentによってのみ、その値は変更される。一部のMeta Data Segmentはアプリケーションに利用することができる。 + +例えば、"start"というkeyでは、ノードがStart Code Segmentを実行可能かどうかの状態を表す。他にも"\_CLIST"というkeyでは、利用可能なRemote Data Segmentの一覧が管理されている。ユーザーはこの一覧にある名前を指定することで、動的にData Segmentの伝搬などを行うことができる。 + +また、Input Data Segmentに付随しているものもある。Input Data SegmentはCode Segment内部でReceiverという入れ物に格納される。ユーザーは、Receiverに対して操作することでData Segmentを入手できる。 +このReceiverには、fromというフィールドがあり、このData Segmentを誰がputしたという情報が入っている。この情報をデータの伝搬する際に利用することで、Data Segmentをputしたノードに送り返すことを防ぐことができる。 + +Meta Data SegmentはData Segment同様にData Segment APIを用いて取得できる。 + \subsection{Meta Code Segment} +Meta Code SegmentはCode Segmentの一種である。Code Segmentはアプリケーションを動作させるために必要なタスクであり、ユーザーによって定義される。 +それに対してMeta Code SegmentはAliceを構成するタスクである。つまりMeta Code Segmentの群はAliceのComputationと言い換えることができる。一部のみユーザーが定義をすることができ、Aliceの挙動を変更することができる。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=140mm]{images/metacsandds.pdf} +\end{center} +\caption{Meta Code SegmentとCode Segmentは無関係ではない} +\label{fig:metacsandds} +\end{figure} +Meta Code SegmentとCode Segmentは完全に独立して動作しているわけではない。図\ref{fig:metacsandds}のように +Code SegmentとCode Segmentの間にMeta Code Segmentが実行されている場合も存在する。しかし、間にMeta Code Segmentが入った場合でもCode Segmentの実行順序には影響を与えることはない。 \subsection{Topology Manager} Aliceは複数のノードで構成され、相互に接続される。通信するノードはURLにより直接指定するのではなくTopology Managerで管理する。 Topology Managerはトポロジーファイルを読み込み、参加を表明したクライアント(以下、Topology Node)に接続するべきTopology NodeのIPアドレス、ポート番号、接続名を送りトポロジーファイルに記述されたとおりにトポロジーを作成する。(図\ref{fig:topologymanager}) @@ -163,5 +182,5 @@ \section{Aliceによるプログラミング手法} -AliceはCode SegmentとData Segmentによってプログラミングを行う。Code Segmentから別にCode SegmentへData Segmentを引き渡す際、コンストラクタは使わない。Code SegmentがLocal / Remote Data Segmentに対してputを行い、別のCode SegmentがLocal / Remote Data Segmentに対してpeekを行うことで引き渡される。つまり、Code Segmentは実行前後にデータベースへ通信が行われるのである。この通信の順序がCode Segmentの実行順序を決定している。 -すなわち、Aliceによるプログラミングとは通信の管理を行うことであり、プロトコルを設計することと捉える事ができる。 +計算モデルで説明したように、AliceはCode SegmentとData Segmentによってプログラミングを行う。Code Segmentから別のCode SegmentへData Segmentを引き渡す際、コンストラクタは使わない。Code Segmentがデータベースに対してputを行い、別のCode Segmentがデータベースに対してpeekを行うことで引き渡される。つまり、Code Segmentは実行前後にデータベースへ通信が行われるのである。この通信の順序がCode Segmentの実行順序を決定している。 +すなわち、Aliceによるプログラミングとはデータベースへの通信管理を行うことであり、プロトコルを設計することと捉える事ができる。 diff -r 7d0c4907c2df -r fd43827452ad paper/chapter2.tex --- a/paper/chapter2.tex Thu Jan 29 17:13:44 2015 +0900 +++ b/paper/chapter2.tex Sun Feb 01 10:30:34 2015 +0900 @@ -1,5 +1,93 @@ \chapter{Aliceを使った例題} \label{chapter:chapter2} この章ではAliceを用いて作成されたアプリケーションを紹介する。これらのアプリケーションでAliceの性能テスト、必要な機能の洗い出しを行っている。 +\section{水族館ゲーム} +Aliceで作成された始めての分散アプリケーションである。Aliceに分散アプリケーションを記述する能力があることを確かめるために作成された。 +過去にFederated Lindaでも作成されている。UIとしてJava7から組み込まれたJavaFxが使用されている。 + +アプリケーションを起動すると参加したノード1台ごとに1つウインドウが表示される。表示されたウインドウの中にユーザが操作可能な魚が1匹表示されている。魚は画面端まで移動すると自分の画面上からは消え、隣のプレイヤーの画面端に表示される。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=160mm]{images/aquarium.pdf} +\end{center} +\caption{JavaFx 水族館ゲーム} +\label{fig:aquarium} +\end{figure} + +\subsection{処理の流れ} +図\ref{fig:NodeToClient}はデータの伝搬の様子をコラボレーションダイアグラムで示したものである。 +\begin{enumerate} +\item ユーザーが魚を操作することで魚の座標のData SegmentであるfishDataが更新される。 +\item \label{point:replyData} fishDataが魚のオブジェクトに座標をセットするためのCode Segment であるSetLocationにreplyされる。 +\item SetLocationが実行され魚が移動する。 +\item 他のノードに更新されたfishDataを送信するためのCode SegmentであるSendDataにfishDataがreplyされる。 +\item SendDataに自分と接続されているノード一覧のData Segmentであるlistがreplyされる。 + +\item \label{point:sendData} SendDataはlistを参照してfishDataを送信する。 + +\item 各clientで\ref{point:replyData} から\ref{point:sendData} が実行され、fishPositionが全体で共有される。 +\end{enumerate} +\ref{point:sendData}ではlistを参照して、利用可能なRemote Data SegmentにData Segmentをputしているが、この利用可能なRemote Data Segmentの中にはData Segmentを送信してきたものが含まれている。全てのRemote Data Segmentに送信してしまうと同じData Segmentを永遠にやりとりすることになる。しかし、Data Segmentは送信元のメタ情報が付加されており、このメタ情報を利用して送信元のRemote Data Segmentに対してfishDataを送り返すことを防いでいる。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=110mm]{images/NodeToClient.pdf} +\end{center} +\caption{データの伝搬の様子} +\label{fig:NodeToClient} +\end{figure} + +\section{bitonic sort} +bitnic sortは並列ソートであり、Aliceがマルチコアに対応していることを確認するため実装した。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics{images/sortflow.pdf} +\end{center} +\caption[width=100mm]{sort flow} +\label{fig:sortflow} +\end{figure} + +\subsection{処理の流れ} +指定された数の乱数を生成し、Sortを行う例題である。 +また、図\ref{fig:bitonicSort}はSortされるまでの流れをコラボレーションダイアグラムで示したものである。 +\begin{enumerate} +\item SetTask (Code Segment)が乱数列を分割してarray1とarray2にputする。 +\item \label {fig:start}replyされたData SegmentをSort (Code Segment)で昇順に整列させる。 +\item \label {fig:end}整列された配列を分割する。上半分をarray1-F、下半分をarray1-Bにputする。 +\item 分割した各数列(array2)に対しても同様に \ref{fig:start}と\ref{fig:end}を行う。 +\item \label {fig:start2}replyされた2つのData Segment(array1-B、array2-F)を合体させ、整列させる。 +\item 整列された配列の上半分をarray1-B、下半分をarray2-Fにputする。 +\item \label {fig:start1}replyされた2つのData Segment(array1-F、array1-B)を合体させ、整列させる。 +\item \label {fig:end1}整列された配列の上半分をarray1-F、下半分をarray1-Bにputする。 +\item \label {fig:end2}array2に対しても操作 \ref {fig:start1} と\ref {fig:end1} を行う。 +\item \ref {fig:start2} - \ref {fig:end2} を繰り返し行うことで全体がSortされる。 +\end{enumerate} + +\begin{figure}[htbp] +\begin{center} +\includegraphics{images/bitonicsort.pdf} +\end{center} +\caption{Aliceにおけるbitonic sortの動き} +\label{fig:bitonicSort} +\end{figure} + +\section{分散データベースJungle} +JungleはスケーラビリティのあるCMSの開発を目指して当研究室で開発されている非破壊的木構造データベースである。 +非破壊的にデータを編集を行なうため\ref{fig:non_destructive}、過去の全てのデータを参照することができる。また、編集の際にロックが不要であるため、破壊的木構造に比べスケールアウトがし易い。 +Jungleはデータの編集の際にlogが残すため、障害が発生してもlogを読み込ませることにより前回の状態を再現することができる。このlogをハードディスクに書き出すことにより永続性を持たせることも可能である。 + +この木構造データベースを複数接続することにより、可用性と分断耐性をもつ分散データベースJungleとなる。 +Aliceはトポロジーの形成とデータアクセスへの機構を提供している。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=140mm]{images/non_destructive_edit4.pdf} +\end{center} +\caption{非破壊的なデータの編集} +\label{fig:non_destructive} +\end{figure} + \section{AliceVNC} \label{section:AliceVNC} AliceVNCは、当研究室で開発を行っているTreeVNCをAliceを用いて実装された、授業向け画面共有システムである。 @@ -58,86 +146,3 @@ \end{tabular} \end{center} \end{table} - - -\section{水族館ゲーム} -Aliceで作成された始めての分散アプリケーションである。Aliceに分散アプリケーションを記述する能力があることを確かめるために作成された。 -過去にFederated Lindaでも作成されている。UIとしてJava7から組み込まれたJavaFxが使用されている。 - - -アプリケーションを起動すると参加したノード1台ごとに1つウインドウが表示される。表示されたウインドウの中にユーザが操作可能な魚が1匹表示されている。魚は画面端まで移動すると自分の画面上からは消え、隣のプレイヤーの画面端に表示される。 - -\begin{figure}[htbp] -\begin{center} -\includegraphics[width=160mm]{images/aquarium-after.pdf} -\end{center} -\caption{JavaFx 水族館ゲーム} -\label{fig:aquarium} -\end{figure} - -\subsection{処理の流れ} -図\ref{fig:NodeToClient}はデータの伝搬の様子をコラボレーションダイアグラムで示したものである。 -\begin{enumerate} -\item ユーザーが魚を操作することで魚の座標のData SegmentであるfishDataが更新される。 -\item \label{point:replyData} fishDataが魚のオブジェクトに座標をセットするためのCode Segment であるSetLocationにreplyされる。 -\item SetLocationが実行され魚が移動する。 -\item 他のノードに更新されたfishDataを送信するためのCode SegmentであるSendDataにfishDataがreplyされる。 -\item SendDataに自分と接続されているノード一覧のData Segmentであるlistがreplyされる。 - -\item \label{point:sendData} SendDataはlistを参照してfishDataを送信する。 - -\item 各clientで\ref{point:replyData} から\ref{point:sendData} が実行され、fishPositionが全体で共有される。 -\end{enumerate} -\ref{point:sendData}ではlistを参照して、利用可能なRemote Data SegmentにData Segmentをputしているが、この利用可能なRemote Data Segmentの中にはData Segmentを送信してきたものが含まれている。全てのRemote Data Segmentに送信してしまうと同じData Segmentを永遠にやりとりすることになる。しかし、Data Segmentは送信元のメタ情報が付加されており、このメタ情報を利用して送信元のRemote Data Segmentに対してfishDataを送り返すことを防いでいる。 - -\begin{figure}[htbp] -\begin{center} -\includegraphics[width=110mm]{images/NodeToClient.pdf} -\end{center} -\caption{データの伝搬の様子} -\label{fig:NodeToClient} -\end{figure} - - -\section{分散データベースJungle} -JungleはスケーラビリティのあるCMSの開発を目指して当研究室で開発されている非破壊的木構造データベースである。 -非破壊的にデータを編集を行なうため、過去の全てのデータを参照することができる。また、編集の際にロックが不要であるため、破壊的木構造に比べスケールアウトがし易い。 -Jungleはデータの編集の際にlogが残すため、障害が発生してもlogを読み込ませることにより前回の状態を再現することができる。このlogをハードディスクに書き出すことにより永続性を持たせることも可能である。 - -この木構造データベースを複数接続することにより、可用性と分断耐性をもつ分散データベースJungleとなる。 -Aliceはトポロジーの形成とデータアクセスへの機構を提供している。 - -\section{bitonic sort} -bitnic sortは並列ソートであり、Aliceがマルチコアに対応していることを確認するため実装した。 - -\begin{figure}[htbp] -\begin{center} -\includegraphics{images/sortflow.pdf} -\end{center} -\caption[width=100mm]{sort flow} -\label{fig:sortflow} -\end{figure} - -\subsection{処理の流れ} -指定された数の乱数を生成し、Sortを行う例題である。 -また、図\ref{fig:bitonicSort}はSortされるまでの流れをコラボレーションダイアグラムで示したものである。 -\begin{enumerate} -\item SetTask (Code Segment)が乱数列を分割してarray1とarray2にputする。 -\item \label {fig:start}replyされたData SegmentをSort (Code Segment)で昇順に整列させる。 -\item \label {fig:end}整列された配列を分割する。上半分をarray1-F、下半分をarray1-Bにputする。 -\item 分割した各数列(array2)に対しても同様に \ref{fig:start}と\ref{fig:end}を行う。 -\item \label {fig:start2}replyされた2つのData Segment(array1-B、array2-F)を合体させ、整列させる。 -\item 整列された配列の上半分をarray1-B、下半分をarray2-Fにputする。 -\item \label {fig:start1}replyされた2つのData Segment(array1-F、array1-B)を合体させ、整列させる。 -\item \label {fig:end1}整列された配列の上半分をarray1-F、下半分をarray1-Bにputする。 -\item \label {fig:end2}array2に対しても操作 \ref {fig:start1} と\ref {fig:end1} を行う。 -\item \ref {fig:start2} - \ref {fig:end2} を繰り返し行うことで全体がSortされる。 -\end{enumerate} - -\begin{figure}[htbp] -\begin{center} -\includegraphics{images/bitonicsort.pdf} -\end{center} -\caption{Aliceにおけるbitonic sortの動き} -\label{fig:bitonicSort} -\end{figure} diff -r 7d0c4907c2df -r fd43827452ad paper/chapter3.tex --- a/paper/chapter3.tex Thu Jan 29 17:13:44 2015 +0900 +++ b/paper/chapter3.tex Sun Feb 01 10:30:34 2015 +0900 @@ -16,7 +16,7 @@ 現在は、TreeVNCのTopologyである木構造のみ指定可能である。引数Childの後に子供の数を指定することで2分木だけではなく3分木などのTopologyを作ることができる。デフォルトでは2分木になっている。 -\subsection{Dynamic Topology Managerの参加表明処理} +\subsubsection{Dynamic Topology Managerの参加表明処理} トポロジーファイルを指定して起動した場合は、図 \ref{fig:topologymanagerandnode}で示したように、アプリケーションが起動する前に全ての接続すべきTopology Nodeの情報がTopology Nodeにputされ、接続処理が行われる。 Dynamic Topologyの場合は、新しくTopology Nodeがアプリケーションに参加するたびにTopology ManagerからTopology Nodeに対して、接続すべきTopology Nodeの情報がputされ、接続処理が行われる。(図 \ref{fig:DynamicTopology})。 diff -r 7d0c4907c2df -r fd43827452ad paper/chapter4.tex --- a/paper/chapter4.tex Thu Jan 29 17:13:44 2015 +0900 +++ b/paper/chapter4.tex Sun Feb 01 10:30:34 2015 +0900 @@ -1,5 +1,5 @@ \chapter{改善点} \label{chapter:chapter4} -%この章では、分散フレームワークAliceに対して行った改善点を示す。 +この章では、分散フレームワークAliceに対して行った改善点を示す。 \section{並列環境における改善} \label{section:conçurrent} 分散フレームワークAliceは、並列環境にも対応したフレームワークである。しかし、並列環境に対応していることを確認するためにbitonic sortを作成、計測したところ、Data Segmentの更新のオーバーヘッドにより、期待した効果を得ることができなかった。その際に、行った改善点を示す。 diff -r 7d0c4907c2df -r fd43827452ad paper/images/aquarium.pdf Binary file paper/images/aquarium.pdf has changed diff -r 7d0c4907c2df -r fd43827452ad paper/images/metacsandds.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/metacsandds.graffle Sun Feb 01 10:30:34 2015 +0900 @@ -0,0 +1,842 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle6 + 156.11.0.206384 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1117.9999465942383, 783}} + Class + SolidGraphic + ID + 2 + Style + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2012-02-05 20:00:27 +0000 + Creator + Kazuki AKAMINE + DisplayScale + 1 in = 1 in + GraphDocumentVersion + 11 + GraphicsList + + + Bounds + {{34.875, 160.375}, {121, 34}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 16 + + ID + 54 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs32 \cf0 \'83\'74\'83\'8c\'81\'5b\'83\'80\'83\'8f\'81\'5b\'83\'4e} + + Wrap + NO + + + Bounds + {{26.375, 66.625}, {138, 34}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 16 + + ID + 53 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs32 \cf0 \'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93} + + Wrap + NO + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 52 + Points + + {157.5, 126} + {733.5, 126} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Legacy + + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 49 + + ID + 51 + Points + + {364.50002049999819, 75.624990744407668} + {614.875, 75.624990744407668} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + Pattern + 2 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 23 + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 49 + + ID + 50 + Points + + {568.13435968948113, 156.2399059626963} + {628.64099106791866, 100.96224272807423} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 47 + + + + Bounds + {{615.375, 50.625}, {82, 50}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Code\ +Segment} + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 47 + + ID + 48 + Points + + {475.5, 177.37498772506814} + {503.49997950000648, 177.37498772506814} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 30 + + + + Bounds + {{504, 152.375}, {82, 50}} + Class + ShapedGraphic + ID + 47 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Meta\ +Data\ +Segment} + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 30 + + ID + 46 + Points + + {364.50002049998864, 177.37501686673951} + {392.50000000000006, 177.37501686673951} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 44 + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 30 + + ID + 45 + Points + + {346.08071437244229, 96.782321508072101} + {406.3586956571724, 152.03713768574133} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 23 + + + + Bounds + {{282, 152.375}, {82, 50}} + Class + ShapedGraphic + ID + 44 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Meta\ +Data\ +Segment} + + + + Bounds + {{393, 152.375}, {82, 50}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Meta\ +Code\ +Segment} + + + + AllowLabelDrop + + Class + LineGraphic + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + Head + + ID + 23 + + ID + 27 + Points + + {253.5, 75.624985505266594} + {281.49997950000869, 75.624985505266594} + + Style + + stroke + + HeadArrow + FilledArrow + HeadScale + 1.4285709857940674 + Legacy + + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 15 + + + + Bounds + {{282, 50.625}, {82, 50}} + Class + ShapedGraphic + ID + 23 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Data\ +Segment} + + + + Bounds + {{171, 50.625}, {82, 50}} + Class + ShapedGraphic + ID + 15 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Code\ +Segment} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoLineLength + 0.20000000298023224 + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2015-02-01 01:03:58 +0000 + Modifier + YuSugimoto + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {594.99997329711914, 842} + + NSPrintReverseOrientation + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + BottomSlabHeight + 434 + CurrentSheet + 0 + Expanded_Canvases + + Frame + {{4, -0}, {1210, 778}} + ShowInfo + + ShowRuler + + Sidebar + + SidebarWidth + 230 + VisibleRegion + {{0, 0}, {663, 636}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + + + diff -r 7d0c4907c2df -r fd43827452ad paper/images/metacsandds.pdf Binary file paper/images/metacsandds.pdf has changed diff -r 7d0c4907c2df -r fd43827452ad paper/images/non_destructive_edit4.pdf Binary file paper/images/non_destructive_edit4.pdf has changed diff -r 7d0c4907c2df -r fd43827452ad paper/images/poll_based.graffle --- a/paper/images/poll_based.graffle Thu Jan 29 17:13:44 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1938 +0,0 @@ - - - - - ActiveLayerIndex - 0 - ApplicationVersion - - com.omnigroup.OmniGraffle - 138.17.0.133677 - - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - CreationDate - 2012-02-03 02:33:36 +0900 - Creator - Kazuki AKAMINE - DisplayScale - 1 0/72 in = 1 0/72 in - GraphDocumentVersion - 6 - GraphicsList - - - Bounds - {{72.5, 148.5}, {60, 18}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 77 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\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\fs24 \cf0 \'96\'b3\'91\'ca\'82\'c8\'8f\'88\'97\'9d} - VerticalPad - 0 - - Wrap - NO - - - Bounds - {{69.5, 347}, {66, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 75 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 data -\f1 \'82\'f0\'8f\'88\'97\'9d} - VerticalPad - 0 - - - - Bounds - {{135.5, 347}, {17, 15}} - Class - ShapedGraphic - HFlip - YES - ID - 74 - Magnets - - {1, 0.5} - {1, -0.5} - {-1, 0.5} - {-1, -0.5} - {0.5, 1} - {-0.5, 1} - {0.5, -1} - {-0.5, -1} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Align - 0 - VerticalPad - 0 - - - - Bounds - {{216, 266}, {87, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 73 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 out(10, data)} - VerticalPad - 0 - - - - AllowLabelDrop - - Class - LineGraphic - ID - 72 - Points - - {298, 280} - {221, 291} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{84, 327}, {51.5, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 71 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 isReady()} - VerticalPad - 0 - - - - Bounds - {{135.5, 327}, {17, 15}} - Class - ShapedGraphic - HFlip - YES - ID - 70 - Magnets - - {1, 0.5} - {1, -0.5} - {-1, 0.5} - {-1, -0.5} - {0.5, 1} - {-0.5, 1} - {0.5, -1} - {-0.5, -1} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Align - 0 - VerticalPad - 0 - - - - Bounds - {{167, 307}, {31, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 69 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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} - VerticalPad - 0 - - - - AllowLabelDrop - - Class - LineGraphic - ID - 68 - Points - - {221, 316} - {144, 327} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{166, 277}, {33, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 67 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 sync()} - VerticalPad - 0 - - Wrap - NO - - - AllowLabelDrop - - Class - LineGraphic - ID - 66 - Points - - {144, 286} - {221, 301} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{84, 271}, {51.5, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 65 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 isReady()} - VerticalPad - 0 - - - - Bounds - {{135.5, 271}, {17, 15}} - Class - ShapedGraphic - HFlip - YES - ID - 64 - Magnets - - {1, 0.5} - {1, -0.5} - {-1, 0.5} - {-1, -0.5} - {0.5, 1} - {-0.5, 1} - {0.5, -1} - {-0.5, -1} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Align - 0 - VerticalPad - 0 - - - - Bounds - {{167, 251}, {31, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 63 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 none} - VerticalPad - 0 - - - - AllowLabelDrop - - Class - LineGraphic - ID - 62 - Points - - {221, 260} - {144, 271} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{166, 221}, {33, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 61 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 sync()} - VerticalPad - 0 - - Wrap - NO - - - AllowLabelDrop - - Class - LineGraphic - ID - 60 - Points - - {144, 230} - {221, 245} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{84, 215}, {51.5, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 53 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 isReady()} - VerticalPad - 0 - - - - Bounds - {{135.5, 215}, {17, 15}} - Class - ShapedGraphic - HFlip - YES - ID - 25 - Magnets - - {1, 0.5} - {1, -0.5} - {-1, 0.5} - {-1, -0.5} - {0.5, 1} - {-0.5, 1} - {0.5, -1} - {-0.5, -1} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Align - 0 - VerticalPad - 0 - - - - Bounds - {{167, 195}, {31, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 51 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 none} - VerticalPad - 0 - - - - AllowLabelDrop - - Class - LineGraphic - ID - 50 - Points - - {221, 204} - {144, 215} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{166, 165}, {33, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 49 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 sync()} - VerticalPad - 0 - - Wrap - NO - - - AllowLabelDrop - - Class - LineGraphic - ID - 48 - Points - - {144, 174} - {221, 189} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Bounds - {{167, 135}, {31, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 47 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\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 in(10)} - VerticalPad - 0 - - Wrap - NO - - - AllowLabelDrop - - Class - LineGraphic - ID - 43 - Points - - {144, 144} - {221, 159} - - Style - - stroke - - HeadArrow - FilledArrow - HeadScale - 1.4285709857940674 - TailArrow - 0 - TailScale - 0.5 - - - - - Class - Group - Graphics - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Font - HiraKakuProN-W3 - Size - 12 - - ID - 38 - Points - - {298, 112} - {298, 381} - - Style - - stroke - - HeadArrow - 0 - HeadScale - 1.4285709857940674 - Pattern - 1 - TailArrow - 0 - TailScale - 0.5 - - - Tail - - ID - 39 - - - - Bounds - {{265, 94}, {66, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - FontInfo - - Color - - w - 0 - - Font - HiraKakuProN-W6 - Size - 12 - - ID - 39 - Magnets - - {1, 1} - {1, -1} - {-1, -1} - {-1, 1} - {0, 1} - {0, -1} - {1, 0} - {-1, 0} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\deftab720 -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380\qc - -\f0\b\fs24 \cf0 \expnd0\expndtw0\kerning0 -\ul \ulc0 Client2} - VerticalPad - 0 - - - - ID - 37 - - - Class - Group - Graphics - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Font - HiraKakuProN-W3 - Size - 12 - - ID - 35 - Points - - {221, 112} - {221, 381} - - Style - - stroke - - HeadArrow - 0 - HeadScale - 1.4285709857940674 - Pattern - 1 - TailArrow - 0 - TailScale - 0.5 - - - Tail - - ID - 36 - - - - Bounds - {{188, 94}, {66, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - FontInfo - - Color - - w - 0 - - Font - HiraKakuProN-W6 - Size - 12 - - ID - 36 - Magnets - - {1, 1} - {1, -1} - {-1, -1} - {-1, 1} - {0, 1} - {0, -1} - {1, 0} - {-1, 0} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\deftab720 -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380\qc - -\f0\b\fs24 \cf0 \expnd0\expndtw0\kerning0 -\ul \ulc0 Server} - VerticalPad - 0 - - - - ID - 34 - - - Class - Group - Graphics - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Font - HiraKakuProN-W3 - Size - 12 - - ID - 23 - Points - - {144, 112.5} - {144, 381} - - Style - - stroke - - HeadArrow - 0 - HeadScale - 1.4285709857940674 - Pattern - 1 - TailArrow - 0 - TailScale - 0.5 - - - Tail - - ID - 24 - - - - Bounds - {{111, 94}, {66, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - FontInfo - - Color - - w - 0 - - Font - HiraKakuProN-W6 - Size - 12 - - ID - 24 - Magnets - - {1, 1} - {1, -1} - {-1, -1} - {-1, 1} - {0, 1} - {0, -1} - {1, 0} - {-1, 0} - - Shape - Rectangle - Style - - shadow - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\deftab720 -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380\qc - -\f0\b\fs24 \cf0 \expnd0\expndtw0\kerning0 -\ul \ulc0 Client1} - VerticalPad - 0 - - - - ID - 22 - - - Bounds - {{78, 166.5}, {176, 119.5}} - Class - ShapedGraphic - ID - 76 - Shape - FlattenedRectangle - Style - - shadow - - Draws - NO - - stroke - - Pattern - 3 - - - - - GridInfo - - GuidesLocked - NO - GuidesVisible - YES - HPages - 1 - ImageCounter - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2012-02-03 02:47:25 +0900 - Modifier - Kazuki AKAMINE - NotesVisible - NO - Orientation - 2 - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {595, 842} - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - PrintOnePage - - QuickLookPreview - - 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 - IC9Db250ZW50cyA1IDAgUiAvTWVkaWFCb3ggWzAgMCA1NTkgNzgzXQo+PgplbmRvYmoK - NyAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAv - Q3MxIDggMCBSIC9DczIgOSAwIFIgPj4gL0ZvbnQgPDwKL0YzLjEgMTMgMCBSIC9GMS4x - IDEwIDAgUiAvRjIuMCAxMiAwIFIgPj4gPj4KZW5kb2JqCjE1IDAgb2JqCjw8IC9MZW5n - dGggMTYgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRl - RGVjb2RlID4+CnN0cmVhbQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJr - DNsftkWQZDNJ1m426+4mtaWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2 - perAzn7z3jfvfW923wANctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5 - e+fYeg+BW1bDe/t3snetmtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85 - Tnl4wbUPKz3EWSJ8QDUtzn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM - 7qtioZxO9g6QvZ30fk6z3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4 - NcIUXxBNJ6JUcdkuDfGYrv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmP - E2fe1N3vRdoCrzAOHQwaDJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSx - QXs23D23UaTdPP4oInGUQ7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfT - yONzTV58ldR2k1dHlqx5erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVa - MTffn2x/Oz3iLs8utdZzrYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuch - iZfFLvGS2EurC+JgbccInZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8Iq - ZDSduQ5v+o/bx/wX5PeK558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARY - PKsWrVI1nyC8ARx2h3oe6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul2 - 2JnTHW4coTlC98SnSmWT+q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0K - ZW5kb2JqCjE2IDAgb2JqCjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxNSAw - IFIgXQplbmRvYmoKMTcgMCBvYmoKPDwgL0xlbmd0aCAxOCAwIFIgL04gMSAvQWx0ZXJu - YXRlIC9EZXZpY2VHcmF5IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVS - T0gUURz+zTYShIhBhXiIdwoJlSmsrKDadnVZlW1bldKiGGffuqOzM9Ob2TXFkwRdojx1 - D6JjdOzQoZuXosCsS9cgqSAIPHXo+83s6iiEb3k73/v9/X7fe0RtnabvOylBVHNDlSul - p25OTYuDHylFHdROWKYV+OlicYyx67mSv7vX1mfS2LLex7V2+/Y9tZVlYCHqLba3EPoh - kWYAH5mfKGWAs8Adlq/YPgE8WA6sGvAjogMPmrkw09GcdKWyLZFT5qIoKq9iO0mu+/m5 - xr6LtYmD/lyPZtaOvbPqqtFM1LT3RKG8D65EGc9fVPZsNRSnDeOcSEMaKfKu1d8rTMcR - kSsQSgZSNWS5n2pOnXXgdRi7XbqT4/j2EKU+yWCoibXpspkdhX0AdirL7BDwBejxsmIP - 54F7Yf9bUcOTwCdhP2SHedatH/YXrlPge4Q9NeDOFK7F8dqKH14tAUP3VCNojHNNxNPX - OXOkiO8x1BmY90Y5pgsxd5aqEzeAO2EfWapmCrFd+67qJe57AnfT4zvRmzkLXKAcSXKx - FdkU0DwJWBR9i7BJDjw+zh5V4HeomMAcuYnczSj3HtURG2ejUoFWeo1Xxk/jufHF+GVs - GM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHToVlYa9h2 - 5A+azEywDCjEfwU+l/qSE1Xc1e7tuEUSzFA+LGwluktUbinU6j2DSqwcK9gAdnCSxCxa - HLhTa7o5eHfYInpt+U1XsuuG/vr2evva8h5tyqgpKBPNs0RmlLFbo+TdeNv9ZpERnzg6 - vue9ilrJ/klFED+FOVoq8hRV9FZQ1sRvZw5+G7Z+XD+l5/VB/TwJPa2f0a/ooxG+DHRJ - z8JzUR+jSfCwaSHiEqCKgzPUTlRjjQPiKfHytFtkkf0PQBn9ZgplbmRzdHJlYW0KZW5k - b2JqCjE4IDAgb2JqCjcwNAplbmRvYmoKOSAwIG9iagpbIC9JQ0NCYXNlZCAxNyAwIFIg - XQplbmRvYmoKNCAwIG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEy - IDc5Ml0gL0NvdW50IDEgL0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxOSAwIG9iago8 - PCAvVHlwZSAvQ2F0YWxvZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVu - ZG9iagoyIDAgb2JqCjw8IC9MYXN0IDIwIDAgUiAvRmlyc3QgMjEgMCBSID4+CmVuZG9i - agoyMSAwIG9iago8PCAvUGFyZW50IDIyIDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBS - IC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4K - ZW5kb2JqCjIyIDAgb2JqCjw8ID4+CmVuZG9iagoyMCAwIG9iago8PCAvUGFyZW50IDIy - IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo - /v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9MZW5n - dGggMjYgMCBSIC9TdWJ0eXBlIC9DSURGb250VHlwZTBDIC9GaWx0ZXIgL0ZsYXRlRGVj - b2RlID4+CnN0cmVhbQp4AYWWe1QTVx7HEzEzI0R8MRoYzERti22t22rV2lZXRATqq7wE - RbRpCBAeSUh4yaPIIyaZmWRCEoEYBIlAAKsGg66ISAFBpUXsblutx9N121Nbd7uHbbfb - G3qxZ4fu/rFHd8/OOXPnO5+5d875fb8zv3P5vNmzeHw+f8m28KjEndtejFZopDuk2QVv - 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 - f+H5HAZJ0/V42qc5vXETyWrRtUj3Qc9GDGqceOF3Rzyq8cRSkTvCmtu4EoOvW/Gj92uu - HL4TXyVyRNuima0YNBjx0Q87er3fJHaKstblHtoZiwVmDIOwYYAOeQb7PwCi4dShhSD6 - BlhzHawfBZtuBP3lQVAQb9E/HoDoKRkOK5LQ3DKGLSB3oGxLI9NOfABPI9s12ZXp1c2R - ovpai8llByuuNdn+2qcfEyXnlVTvL8SA1Yu2NlEGFznGfZtllJKQgYoryGkOtZHj6FFt - ESUn4CokrZCxaMlolG2vZ7yEr3J6AQ5RKEL3FTKshoxB2bYWpo8AIhgG05AUDubNQLeL - g754pM9FcSGNcyHlUykE3A3CwEqkl/sB3L/CAmo/AVcCFCDItXbKcI40tFGej0JAKjrK - nDe7xYtefKBX5VKRBHQiUTkMm0uac0xZO0OgAqX2co00j2unlcYSsdn9PjNGfO8jcLgc - rgfLUZC3GGzi9Cbk7b04XMaxZf9myzgWyPPj9l0vRfhI4XP03P/YUV0InTOy0Cd5mk4u - 9C17ivoHL4RmOlSwnUbE/gLDctlvhHO8/t4Ar1DoFc5lhAs46qhPbBYu/Lks6KmZo/7j - AaNC4fj/nznofyNgUCi88dTMfwKQkp//CmVuZHN0cmVhbQplbmRvYmoKMjYgMCBvYmoK - MjM1NgplbmRvYmoKMjQgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2Nl - bnQgMTI2NiAvQ2FwSGVpZ2h0IDExMjUgL0Rlc2NlbnQgLTM3MyAvRmxhZ3MKMzIgL0Zv - bnRCQm94IFstNDE4IC00MDUgMTI2NCAxMjk4XSAvRm9udE5hbWUgL0RBR1VMRCtIaXJh - S2FrdVByb04tVzMgL0l0YWxpY0FuZ2xlCjAgL1N0ZW1WIDQwIC9BdmdXaWR0aCAxMDAw - IC9NYXhXaWR0aCAxNjE4IC9TdGVtSCA0MCAvWEhlaWdodCA4NDQgL0ZvbnRGaWxlMwoy - NSAwIFIgPj4KZW5kb2JqCjI3IDAgb2JqClsgXQplbmRvYmoKMjMgMCBvYmoKPDwgL1R5 - cGUgL0ZvbnQgL1N1YnR5cGUgL0NJREZvbnRUeXBlMCAvQmFzZUZvbnQgL0RBR1VMRCtI - aXJhS2FrdVByb04tVzMgL0NJRFN5c3RlbUluZm8KPDwgL1JlZ2lzdHJ5IChBZG9iZSkg - L09yZGVyaW5nIChKYXBhbjEpIC9TdXBwbGVtZW50IDYgPj4gL0ZvbnREZXNjcmlwdG9y - IDI0IDAgUgovVyAyNyAwIFIgL0RXIDEwMDAgPj4KZW5kb2JqCjEzIDAgb2JqCjw8IC9U - eXBlIC9Gb250IC9TdWJ0eXBlIC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Jh - c2VGb250IC9EQUdVTEQrSGlyYUtha3VQcm9OLVczCi9EZXNjZW5kYW50Rm9udHMgWyAy - MyAwIFIgXSA+PgplbmRvYmoKMzAgMCBvYmoKPDwgL0xlbmd0aCAzMSAwIFIgL1N1YnR5 - cGUgL0NJREZvbnRUeXBlMEMgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB - dVV9UFNXFn+PkPce6YPWPJ+keeG9t1rKtltAttvudEe3Vlt1FQgFWsRSIEiIkZiE8I3W - +EGCIRASpMsKkigGAQ2SgHwJCssIW7v1i850t7uzY+v6R7ftqNOxe196YWcfzOxux5k9 - M/fOveeej9859zdzUCQyAkFRNDZHnbYt8zc/2663aHZqSiszLKb0xJxXl5/SBUZQeUhW - iEMFNsJJSpxk5GL8YpZKmqySotK4OAS5ERfXde7hyhZzguTikHsfL5Hr/k6uVWHbyOdU - aMkqFZpLxqvQzU8jGIpipLMjOP9GsalIu0Nj1hhTtpjMtRa9bm8Fn/fTPXkv8CmvvfZy - 4s/Xr/8l/6ZGb9SbzSYjn7XHotUa+bQSXRK/xZT0Ep9aUZzEv2Ew8JnLnuV8prZca6nS - Fict16DTG028vpzX8BUWTbF2v8ZSyptK/k+4J4re+W6WOlP9ZCtWtBlPahFR5AiFPIf8 - AtmK7EDSEDWShbyD5CDLrfuPIKTYZPGtHY1HuyO2RkxKCMmvJIORUZH7I+cSpsPfTqMP - p8Op05KH4Uf0v7LDl37Ixl/NoeHNxVh4S4iVhl9cuibehFggLunSC0uztHhaA24srpEu - vThEh7twcGvxWWlMOK+tKrwR4J5qOZgDDHVbyLbStkuOwRml4ML/0DzhmWcbdAcbdzHJ - GLU+r7LJbeAghVO3W4J9zUFmcnESy3EU24pZMZKrygNkwp8ALhcawVoqQ2iy0pT7j8OO - hsscUOCU2b4v93gqAwNYR6jd13/Bf+7KyNh5sOb+hyd6e4ipiTOTN5QgDiJ34ZaEDYa3 - c9mSwtqiD14H6+oUrROtZ06dJYb8Y7455osZzbZdpn3JqVzC9v0Vew07MvJ3mjcf0tXv - tWUSLRc7mz5nYsIDJhHLfSBDxwEvER6DNvrY+8eq6ixEXqna/BYD+ZcBBnaC1C+BBKy9 - fqWqaIDzVbTVnCwA3AWFNVTfZT1tGdMF83uJQHZGx0YmIUWfruY2bdJAAiqUcPUQlN7Z - zKZ+dG8fQBlAfjN05xrXP9Q15P2UiAkXmECU8DXA0QXAgpvgJ5JxUEZ7ilpq2iq8u/u0 - w2aidPKv1X9j/vkX/9UZ7tKlM3MLys/KZjNHWJ3/Pe+GU1DiP9Zc2Ua876vsG1F+Mj92 - b3asztDDnqpurfPowbpTCuuMtd8SIG7sfuUixBi4CUamQG57T/bVPdygafjAZ3WALfU0 - 9h8gztd59UXKTer8hB05p0NGtrbb5msYFzGuMjwGGx4A1Xeo8C2w045up6tZefxW/WDN - JPFwT/IcjGLg61ACo2EaVINIKANv3b3Tc3Wa8/t/5+2ehLKQ4oi5/rD1A6LUqKndzezK - 9w0auYq+o732WcL1gL7bcW36c+bywCHzOc5vaTe3FhAx4GxblbBQDXBAya+DBMiBWOrR - 9bCfhhRIABQOE6CFpr7yFDXrs5XwJk49ynXsteWz4HmM+so+4hiYVYJP8I+aA+4guxIs - HKxGb4NYyXIMt7a5VK1cDOBvO4z2QhbEY/YxR0Dk8QWRxxfcQyJFXxHTV353pFp+B6wG - fWAN9WdQJNJ91BGaUoJ8/MHY/JVPmVD/wbJOrr3GbdYooQXf5dDbRQTxmC3oCIn56/Gb - R4bLA+yULtP/ayblXdPGdK7Z73R1KKnxGajC/ws+y2GwFbIxwmExaTGIPlwtXwA0tV6o - FOZpKuNEfrmrnElJ07+p46jgP1Ycm0zpy1XniPh3s2AdZr/s6Pu9EqThnskPu/19BJUR - 6A11XmF6TjdYR7gYYWvZYyH6exSoAC0BdLiQbtG5CgqVhhJcU9PkNnJQhrsD3qYgE4L3 - sbUTRQCf7nd3jrK13xvqDtjLnM++V9s1xYGPx/EJb6M9wAEZbi+tbMxjNOexcddoy0Wx - ZejKj6GC3Eq39rnafFdBkvCMwjvV3nuyl4AvYQ0me+2BvHg4qqivPmapr7SdPtpv64wH - o4pDwaMDx88QMBHzaTpLflsGEhefUfhyW6weMxGDRIgjJFHgyOed0T+aDSMqrFYu8E9o - x1TYWTl0OVXSrU6MlUkRiTSZjBqWDT81TJLDZHQTuUrUnmx/x0fKfzi42uAVFrygwPc/ - UxAlA/RTIIokAU1G/9j236ht8Y8KZW5kc3RyZWFtCmVuZG9iagozMSAwIG9iagoxNjAz - CmVuZG9iagoyOSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2VudCAx - MjgxIC9DYXBIZWlnaHQgMTEzOCAvRGVzY2VudCAtNDQ3IC9GbGFncwozMiAvRm9udEJC - b3ggWy00MzMgLTQ3OSAxMzU5IDEzMTNdIC9Gb250TmFtZSAvV09NR1JJK0hpcmFLYWt1 - UHJvTi1XNiAvSXRhbGljQW5nbGUKMCAvU3RlbVYgNDAgL0F2Z1dpZHRoIDEwMDAgL01h - eFdpZHRoIDE3MjggL1N0ZW1IIDQwIC9YSGVpZ2h0IDg1NCAvRm9udEZpbGUzCjMwIDAg - UiA+PgplbmRvYmoKMzIgMCBvYmoKWyAxOCAxOSA3MTIgMzYgMzYgNzkzIDUyIDUyIDcx - NSA3MCA3MCA2MzcgNzQgNzQgMjcxIDc3IDc3IDI3MSA3OSA3OSA2NzMgODMKODMgNDky - IDg1IDg1IDQzNCA4NyA4NyA2MjEgXQplbmRvYmoKMjggMCBvYmoKPDwgL1R5cGUgL0Zv - bnQgL1N1YnR5cGUgL0NJREZvbnRUeXBlMCAvQmFzZUZvbnQgL1dPTUdSSStIaXJhS2Fr - dVByb04tVzYgL0NJRFN5c3RlbUluZm8KPDwgL1JlZ2lzdHJ5IChBZG9iZSkgL09yZGVy - aW5nIChKYXBhbjEpIC9TdXBwbGVtZW50IDYgPj4gL0ZvbnREZXNjcmlwdG9yIDI5IDAg - UgovVyAzMiAwIFIgL0RXIDEwMDAgPj4KZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9G - b250IC9TdWJ0eXBlIC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Jhc2VGb250 - IC9XT01HUkkrSGlyYUtha3VQcm9OLVc2Ci9EZXNjZW5kYW50Rm9udHMgWyAyOCAwIFIg - XSA+PgplbmRvYmoKMzMgMCBvYmoKPDwgL0xlbmd0aCAzNCAwIFIgL0xlbmd0aDEgOTU0 - MCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9Wgl4VPW1P/+7zL2zZDL7 - Ppm5TGYm+0qWIYEMIRurIUFIkGASEkiQKGAIYgsvKlSJiCBbRKuiLQQoMgSqA6ilFkVb - W9GyuFcrqM/PPHzv4VIlM+/cO0mEfK0f3/f8eu+c/76c/+9/zvkvdzqXr2iFOOgGGqrn - Ni1dCNLjOQlAuhd0NC2NxfWi99qCrk53LM4mAdBLFi5d1BGL81sBFM5FS1YN1ddfBohv - aWttaonlwxX089swIRYnY9FPbOvovCMW1x1Bf9qS2xYM5etfw3hSR9MdQ/3Dexh339rU - 0Ror73kC/cSlt93eORSvQ79q6fLWofIE4/TrQDBVD7eBHG4BDijQ4NsAwH2mcAKDuWI+ - Pi1pyi03xxd/BVpeit88/UHJf1l47ty3rVf8ys38PzBBPlxe9GXJkWQAFcH8AeXmkRyp - Hjr6MNSmhmEyUglSHlJq6kQLdJPdsAnpCSQa2sn9sAppPdLDSMxIaC/GjpL7+xk+eIys - AhuZElQyrlkGq8uiULreDBPZkcdcb1s+Pk6sOHsfEWt/HMgnKsgT5HFoARf5NXjJnVAF - SWTn4eQlrkbM2gtLkbqRaMklZG9/Qo7rBZIGXoZgHR8kMOQZ16fZ6a6L2WGK9Lte9IcZ - 9H6fgLFgvOuE8zHX75yLXC8g7Y9l7UvGEs+49jqXuLYkhMnOftdDzjDBOptj3gonVn3G - 1ZG83dWSLeVP2x6m9ve7Apg/O6h05RcKrjznBVemP8wTjKc7p7lSsv/sSsSKWMyNjXqD - WpfDucU1DrMSnOX+cUjHyT7yCKSQR/q9U1zHMIjDPTw5uXB7mPzscFVStjdM7gzmVyVt - T67ye5OnubzJFX4/hme/wq3lbuImcjlcKpfE+TiBs3MGXsdreDWv4hU8z3Nh8pv+Epfs - ONkPJQjL/sO8jGfD5GlMZI6TA1LigWd5hqd44A3h6IcovAQMYbL/iEYMYeAZmRSShcmB - w7GkA0EXI4YYKUNDiWF00AWK8BRMgRB5ICyDdaauEkuJboI2UFH2r5xGKWfYTf3Xj4U4 - Q9un1taF9jnrQzliIOqsHy5uGQ78S79zBWa1lqamTq1Zdbhr6eKF5a2e8kZPeStSY+j+ - rjZLqLvZ7T60eKmY4Q7RvsbmBW2i39QaWuppLQst9pS5D3VJ9UZlLxSzuzxlh2Bh+ay6 - QwuDrWX9XcGuck9TWf3h5tLlDdf0tX6kr+Wl/6SvUrGx5WJfzVK9UX01iNnNYl8NYl8N - Yl/NwWapL3Hw5e21pbd3onS6y9unukNJtaHJM+fWhdxN9WVhshsTy1YAewI07POQxHaD - jckEF0D0baR3RD9yY/QT9hRoIh3R/6aLcFKPikRFSorhBDwAj8BBkEEfhpNgPvTCq2Qx - 6vY8OALnSAJkoO1lIAzT4DUSjb4BC+FXWL4TXoRtcAhUWKcDjJi7kXijd2I8iOFmWBt9 - EhKhEH4Bz0MAW90IA9G90cOYWwM3wj7Yj/X/RDzUIUYffTp6AXiYiW2uxZw3otOiB0EH - aVAK1Zi6Fl4gXvqdaBtYoAi5exQeh13we/iC3E2ORNuiXdHT0Y9QVC3ggFp8V5Mj5CP6 - IPOL6KPRz6MRRCIJUrDXRtgCT2H7B/E9gaa1nNxCOskWso0KUndTR5h1rDkyiDgkQyW+ - VWiV70MEjsJJ+B/4B7lEWWgN3Um/FM2L/i8oYSqOUhxJK3They++G3FMx4mMZJFJpJqs - JlvJNvJXKoW6kaqjVlJ3UJ/QM+h59Cr6r8ztTD+7ge2VKSNfRY9HT0XPghmccBMshzU4 - uhfhNFyG7wiNbTmIlxSRUjIf327yCHWU7CJHqWpygpym9pG/kY/JJfI9xVIqykilUp3U - Fmo/9SL1F7qd3kY/TP+N/oqZwFLsLvaizMu9G2mOrI/8JVoU/Sj6LZpYHgScmVKYATdD - E452KYyF/8BRHMD3IM7aSXgJXpXej4kDBuBbRAGIjthIDpmO7wxyA1lI2slj5Bi+L0i8 - fE3hRFBySkuZKQdVSzVTHVQ3dZbqpu10Cj2FnksfxPcV+hz9Pf09wzJ6xshUMpNhA9PB - 7MR3N9PH9DOvswF2AjuDnc12s+vZDfQC9g32nGyNbKOsX3ZJ9iWaxWncbdwGnJ1XUWZ/ - j7L8w8OQROQ+B26FBaSMNMN2nI1dpAl6ULpayH2I11JIijbQa+hKKgul4QX4GUrrTlgN - 6+l5sCv6Fr0PzqOkLMEmu2EPUwpOdgfOzt2QhVI09AaTU5KT/D5vomeM4EaT77DbrBaz - yWjQ67SaOJVSIec5GcvQFIG0ck9FozvkawwxPk9VVboY9zRhQtNVCY2oyu5QxbVlQm6x - XhNmXVMyiCUXjioZjJUMjpQkGncxFKenucs97tCfyzzuMJk7sw7DD5R56t2hASk8XQpv - ksJxGBYErOAut7SVuUOk0V0equhq6ylvLEtPI0eDCIciPU00HEFQig2HYFLTajSwMEks - UR6yecrKQ1YPhjGP9pY3tYSqZ9aVl9kFoR7TMKmmDvtIT2sPIZ9wv6rF03J/OAjNjWKo - aV5diG6qD1GNYlva1JDZUxYy33nR8kN0OFS+4arMEOWtaGrtqQgFG+9HcMVooxhr2oCx - qbVubJZaV18XIuuGmBB5XIyciuzG1gRv42J3SO4p9bT1LG5EcKGmrt8WtEnGNwTVdf3W - oFWKpKcdtawpEnD0R9Mnpk8U/SLBsibmf3pPLP3NE6JvWXPyQ/Sn1owAQEQEPJORz5B7 - gdSJB5ktFJ3WQuhZUIg44VNPcJjtyM+kEIUyQ3tDrHdyU6i7dpiNtrIYc42Ly/rlVpu0 - CJXWY/nGHs04nCksr/G4e77C1brRM/DFtSlNQykyr+YrEDPFiR6RlRBpGg53iYulF0fd - ZvG0ifPbJc0pxj2W8qsSMC5CI/IcMuACXl0nhNz1mIC7ybSpYZBX1x0iZGN9mETXhaHM - eRT3qPTN8zE7TRS19jLsHyPpaZiQImAoI81dgT1XiLLi7nH3TG7pcVe421CYGK/kY0Zr - T30mIlhbhzjBLOwxWG8fCbbW14/DdjLFdrAKFu+pxxYWD7WAvpSUOYiFstJwMaV91XUz - 60LdZfZQsKweZwHF90R1XegESm59PZbKHuEUOV7dbhniOQd5zk7B/NxYK7h36cYm6nt6 - xDZr6zxC6ERPj71H1LdYPExgdEJwKCEMYhER8jDprsa66HkEuzQHgkdAtupFTMeiSA9L - FO7Zfxzh/BG+sWYBcpsvIVz4EyEcuB6Ex10XwkUjnF6DcDHyXCQiPP7fh/CEaxAu+XGE - gyN8I5MTkdughHDpT4TwpOtBuOy6EC4f4fQahCuQ53IR4cp/H8JV1yA8+ccRnjLCNzI5 - FbmdIiE87SdCePr1IDzjuhC+YYTTaxCuRp5vEBGe+e9DuOYahGt/HOFZI3wjkzcit7Mk - hGf/RAjPuR6E664L4foRTq9BeC7yXC8ifNMIwkF7CK62w92jzC785IZ53lWQ406J1UEp - FcCD8z7YiFSG4X3M7RBEOonnsCPo1+Bhuwj9QqQqcgrWoi9SEaaLdc0Y7sawEZsbvgdS - 4enkBYy7Ya54LL/moXBHLz5YRXpYLPv/fbgfbUC8ipKDAs9CsUc1UjoO1EPheLzP0g6F - dZI/Fk8ZP8dRfIknmrWUmnoLzwQvM5uYF1gb+5BsuexFzsH14yGiFIdyGs+zNN6LlcTu - qvhM3FAg8ZowwGkkMY5h+r0wMEiAYe49OIY1AGanHsNWWPSzsnO1gtaPVMpsDF/5O/v8 - d5PCzPTv8d4DUdwYmU81sWfBABOCcoNWrjeZzTb5cfIono8M5NGgOojTME1jNZq+EZbU - WMJczrrU1BmXpw/Y3rcNnBmYUd5a9gmUlGRnEYqTaTVmk96TQfw+vy9PU5Cvp+b/MrNy - Zs6WVQ9VJBealA1Fx9mzkdc3vRv5KPLBl1sjn19Ys2Rr35wbSNKnW4hX4qcM+TEjP3rI - D6p4LeiNyA8zLV4vsoSAI0ty3mowfiOU/AwvSEROzgy8fxUfel1Bvlbj99G5CcScQIwa - TkZXPp5RIXKxc6IvK3l+0bHIfJK/8TwRiPDlVmL6+vbW1ZeXRd76bFvkA4mHfZHTpBve - wVlMD5rAo1a08AoNssGNVbQAb41f0GpJnaG5PL14cLhfkYnsLHN+QX7eWJ/fk5drNMi4 - feWOeEJ1nGvsekN1Y3oKp+Te+ePKI6JA48wEo28zDrYX4vHUvixovpclFbwxL5515HFx - ukL6NkuhMqHSqek6aTkzMDgAJQMl2MGkVcGxYI/zEa/NJ/eyPpPakoQzp0sidh5DGhmG - zCpjEtFT6FgVjiTQMuiIdyhEdKTnLrxiNZu0Go4S3H6fdmyBTtDla8dSnjGU1mA25dLB - nzfOWRP5eySypr2ki+T17L7jwONbMqueZnsvHoq8Fnnvd5H/+vA4Kbp8kFR8d/FbUnOZ - FEXORt5/d92fxLERPDkDdZZ9CCXIc4gnYZIbVDEMp2K47SwoKuXioE6eHQyg2Fz+c3aW - Pm8CKcjVerQn/7DTt/EE/XWPvn73d7fSX0s44dUdewfqgRz8sDWo4+Imkyq2ntSx7WyL - 4Q6WNx3HCwcr2IkjWOoR3L5G3TLdCgOtS3AZHEZaSDAZGJ8u0ZsAcrmdS1BSPoedd3uN - Lq+Jzo5vt9uSeZ/Xr7AmJZ8Tti2UBKp4+mDxDM3X0y/jnJ5B5IuLSwZ1gcziweKA1hwg - Wl0ggL8G9FNR6htIDs653+cRtLSQI56BZVwCcRGT2WQ2oipkEtQFzPTQlRueWj5+YcR2 - iurr63i9o3n2HJajlbqMywoVo+JaAndGik7RjqUP/TKQEFFQu7LnD67ty/Us735pVnKF - QdAXz/5qU7Z9sActQk30PenWIB7vg4rh/WBhShZRaJR2lcOfW6Vply/WcAFep5LT9hwu - Ue7UqJxFqVRGctGzRVRRTopXp+FY3uEfY3aESU/QY3a6OL8zQ0k585TFXHGxw8Alp/Ql - 2ibYkx1T4v2F1vETniM78LLkKNkOQyp3eUBE6MLgSQQGpxGFs2RgQBfQ6swSMBkDGQMi - UIiXJLRJ+QXGMUCsXpIfL4AlwS6AyW1A9RsDBZQANqdZIEYBHVFSiaZYFNO77kI5JQ2J - ptycgvzxRE3iiYyTGUlMxzxjOBnnmUByRci1BiyEXaiJZwyaHtHz5Y3NL9AT9fIZN9dv - F9pyOpqza8mRCUbVPXc+UCQo+thvnnq+a4XZq0rQpqT5GlJM8oK//Hzb88d29Lw+N23y - 7s1Gh0wd58hcRJbwaZb0ebXTUmpffqSqqndwh2MMTa9TyUo9warFv71v26/05IKoz3ir - RJ9mZoAN7LAnmLnHSnotffw+Cz2F1z5ioGmDzGnj4pwGpZ2z280av47Qfkprcyr8ZqsD - r9q5w8Ly1UPoIrbF0wcCAUR0CF0MaIb138p7VUaFD9R6jY/otPEazooxFmiBEIqhlaY4 - H8Tr0JFbZD7CEJkgqT7CKgIbc1MlbMFkRgkVoTTGEMwVoaPyNJDLUec+Nh/ULF/zmylZ - 9z209B7rwYQvj7/5HdGdcTAzQucX3NPX8cSu99avPPsSyf0Er8TGsYhBYfQdeoB9EVdE - J6wM5hSoK9Vz1HuYvXbWyxuoeKcGeKeT0ysop1nJZugzNMlanc2l9NusCa57heWlVw9/ - 8MIF0ejhTxvQxqTIZnHIFUCIRYljc6ADVsoHCjvvwwHiT5IYnSgKaIQ9Y2RGtHJmLVqW - PHFYkDdWl/v1Q7tW79p95317SU9t1vgDT5b85rbDke8ufUBu/uz8q3/6w+k/UgVjE6ZS - zu8mbFtQR9K/+5zMQX2rir7D2PCWzoE3ul6iCq7awT9s2+OiWTUVzxqMal280RBUBQ18 - so1MVT5DnyIv06fsb/Fvy8+53vJ8Zv7MozylPaWj5vGskBi/0+RMDMg4ziQ4HZzCaVJ6 - uR2OPY5nHecdjNcU73WwVoWK06r98U4/a/MnZnB+q9XnPyPsbogBNHhBVL6BM4OiHYqZ - o8yGmBbG7JRmAFMlxasAD8PSeAVKWEbm8mk1Oo1eY9AwMpV3jD3Rhzspp48kOOVmzgdK - o9pH4tQem4BJLDq8BeUqToNObAGJiQ+qZkpqyl1kWQMsa2hAEcLXKCSgJhbkF6AAoV7K - EG0tCpFk+sbIOEIdOVeYr9NcucRu2vHArCzDIe6G7JpVE2teiXxOLH8nLmXSlAM/72OJ - h6m85caZS6Y8+dRLDfmVRZszqh0a4sF7YIqURnwrKu4+3EPED40oa2txoSka2h/lBx3c - RQYXHhmtkOM6jeWTORqsvHyf0ByTquLpJweLTw7vVopLpqM26cVFJ9foWfssPkzK9+fY - 58WvmlLb9ADOtxW1eX4w+1nZKRnFyAwyv6FL1smxBhVlsGicLAcyi1Jh42w2UCXLbQ6S - YUm2gtWOZlV2+IeOh6YrpsvFKNHaQICI8yOaN32ucdiIebTiMiLaNTUxaj1k7f5p+9ou - VKc968xaE0yeUphuP0L2MJm982sen/Pk4EzqqebiljhTad6y9sHXkVmU0yLcUwhog1T4 - LcAKm4K5vfx2zcOmXzN9/G7NXlOYf4U/z1xU/6dBNY6XOS2cyqlTWjmr1Uj54212ud9o - tdnDRI6WaEjSJCv/gxWSRCoNt+Y+pV6OUqGlfIQzY4iNw5DCoPIB0aDDm9Dw0Gp0REMu - OaLBSdRJCyUqJlobHUoIJaBWSsbmw3VZ0479evv2p/CDy5XIN+9HrhDdp7JOEr97+/yt - V/r3X6DfiXwRuRwZjDxNUq/gYhAU7U1p9Dz9DDMVv9Bkkozgg4XyXna77mFDr7E3RZaU - 6PXnCxVCZWKlf3biHP/CxEW+VapVcavUXZ7OxE5vp293Ql+ankaxZ9OZDD3YjHazw2JM - N2QkxSvbcVeQ76W8Y+IUTKre8rLDqecYZ8bOVGUmJ1drKA4yhUyby2Ky+M0TknycP8mW - rXb5NRPAn2HNyu4f0dWBy4MBUVsHAxoMicoayBQXxoC4+xkQV01xzVwmITuNpFM+I27t - BLVLADl++iR0Gq67bAqGnDpMsxssAnHHjxFAGKOO4/0Kgfi8cgVJZwT83o1OgtYhEKsJ - HUllJWMvObFJEKcDJ0KUO9RayVD6fdIOBZdLcSnlPOJuRZwhs0naw+B2BhdTP7nEe8v6 - WnrH+29/cP3EzneP/s8tk6h9rG/Cwwvby5NmrHyxtP3tDy6d4sizpHpu1pw5N5UnopUb - kzL5rt7nNs5tG59TOSNYkWLVOzPTyrc+ePrtJ6h/oLqao5coOTsXpbXmt3EZihNq3CuW - BL2MKWCmZWqF1oa6jF+BksGoNsbTLpqir5isVtsVYdHQSjnYEDgpbsw0McXOLCkRN28D - msELknajbksb2uG9gS8P14Lcvmf27/cZs+MSDK5J/jVzN29m50bObhksL9QrCbVRzt+1 - iHppi2QHuqMf0x+gapmRw/nBcWHDKwZKrucNVr3VkCRbSZ/nOB5YtQJkcQoWdcnCWSy4 - /GYoklVKm40ki8y+OWwIpovKhOxdwOmPreoluKEctgMkxiieH8QFq0CyoXiG0npJoS3r - nufKvEf2UZ6xi7ZcrE0nB5nMwUDN2Ma+ub+k1N+/8dj4lFkP16yn3rKJtssYmUx/hjyL - FuCPwVt7jPdZ9lhoTmaWFeqqdHW6RdxKeiW3wdALO9he4w7TDnMf9Jk0VTDVWGl+1ciU - sS+z1L3sbthN9rB9ZjYxibUYzSa0rUaVMt7Jq0WDYbLjzLBADpqNloOqB01oN84Ii9bg - 8mTFA9kFy2AggD+rNCuW2HBRA3KsmRbcTRejEhD8YB3UGY1gMnXozGYLS0gHno8t92ak - alaflDwefdKAmrGMNKClzJXRFEdJwpgnLjb5BXhqILmEpoVTvnuaSx/tftSXnJCZosnJ - 1LAT1JHO13ATzmQuimyOfPF0ZOERGf+rOJlg4bcmMjOu9NJ3i1hJT7QVv2H+s0f8Sw2a - B7Sm8XgaNUAelEGF9GV0Gn6VrYHZMAfqYB6WIvi1NnYfIcPzPkyumFIxc2pqVeuSrtbO - 9gVNUonhHmZhoBFpKVI30iakJ5BCSCeQTiN9iPSl2CySBsmNlIUURKpGakRaGh16AJ+R - MAH3qDj+D+iafPxPzDXxtFFx7Oea/OxR8ZpRcXF0V/e/YFS8ZVRcwvoqfttH5d86Kn7b - qPjto+LS/4uuam/FqPxVYvz/AD8tuzIKZW5kc3RyZWFtCmVuZG9iagozNCAwIG9iago2 - MTYxCmVuZG9iagozNSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2Vu - dCA3NzAgL0NhcEhlaWdodCA3MTcgL0Rlc2NlbnQgLTIzMCAvRmxhZ3MgMzIKL0ZvbnRC - Qm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUgL0lGSkZRSytIZWx2ZXRp - Y2EgL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRoIDE1MDAgL1hIZWlnaHQg - NjM3IC9Gb250RmlsZTIgMzMgMCBSID4+CmVuZG9iagozNiAwIG9iagpbIDI3OCAwIDAg - MCAwIDAgMCAwIDMzMyAzMzMgMCAwIDI3OCAwIDAgMCA1NTYgNTU2IDAgMCAwIDAgMCAw - IDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg - MCA3MjIgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NgowIDUwMCA1NTYgNTU2 - IDAgMCAwIDIyMiAwIDAgMCAwIDU1NiA1NTYgMCAwIDAgNTAwIDI3OCA1NTYgMCAwIDAg - NTAwIF0KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVl - VHlwZSAvQmFzZUZvbnQgL0lGSkZRSytIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjM1 - IDAgUiAvV2lkdGhzIDM2IDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL0Vu - Y29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagozNyAwIG9iagooTWFjIE9T - IFggMTAuNi44IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMzggMCBvYmoKKEQ6MjAx - MjAyMDIxNzQ4NDRaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgMzcg - MCBSIC9DcmVhdGlvbkRhdGUgMzggMCBSIC9Nb2REYXRlIDM4IDAgUiA+PgplbmRvYmoK - eHJlZgowIDM5CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxNjY1MyAwMDAwMCBuIAow - MDAwMDAzODMwIDAwMDAwIG4gCjAwMDAwMDE2ODEgMDAwMDAgbiAKMDAwMDAwMzY4MSAw - MDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDE2NjEgMDAwMDAgbiAKMDAw - MDAwMTc4NSAwMDAwMCBuIAowMDAwMDAyNzgxIDAwMDAwIG4gCjAwMDAwMDM2NDUgMDAw - MDAgbiAKMDAwMDAwOTUxNyAwMDAwMCBuIAowMDAwMDAwMDAwIDAwMDAwIG4gCjAwMDAw - MTYzODQgMDAwMDAgbiAKMDAwMDAwNzA3NSAwMDAwMCBuIAowMDAwMDAwMDAwIDAwMDAw - IG4gCjAwMDAwMDE5MjEgMDAwMDAgbiAKMDAwMDAwMjc2MSAwMDAwMCBuIAowMDAwMDAy - ODE3IDAwMDAwIG4gCjAwMDAwMDM2MjUgMDAwMDAgbiAKMDAwMDAwMzc2NCAwMDAwMCBu - IAowMDAwMDA0MDA3IDAwMDAwIG4gCjAwMDAwMDM4NzggMDAwMDAgbiAKMDAwMDAwMzk4 - NSAwMDAwMCBuIAowMDAwMDA2ODcwIDAwMDAwIG4gCjAwMDAwMDY1OTEgMDAwMDAgbiAK - MDAwMDAwNDExNCAwMDAwMCBuIAowMDAwMDA2NTcwIDAwMDAwIG4gCjAwMDAwMDY4NTAg - MDAwMDAgbiAKMDAwMDAwOTMxMiAwMDAwMCBuIAowMDAwMDA4OTMzIDAwMDAwIG4gCjAw - MDAwMDcyMDkgMDAwMDAgbiAKMDAwMDAwODkxMiAwMDAwMCBuIAowMDAwMDA5MTkyIDAw - MDAwIG4gCjAwMDAwMDk2NTEgMDAwMDAgbiAKMDAwMDAxNTkwMiAwMDAwMCBuIAowMDAw - MDE1OTIzIDAwMDAwIG4gCjAwMDAwMTYxNDggMDAwMDAgbiAKMDAwMDAxNjU1OSAwMDAw - MCBuIAowMDAwMDE2NjExIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMzkgL1Jvb3Qg - MTkgMCBSIC9JbmZvIDEgMCBSIC9JRCBbIDw2ZTYxYWZiMDhhOTcwMTViZjNiYjEyYzY1 - ZTUwMmVhNz4KPDZlNjFhZmIwOGE5NzAxNWJmM2JiMTJjNjVlNTAyZWE3PiBdID4+CnN0 - YXJ0eHJlZgoxNjcyOAolJUVPRgoxIDAgb2JqCjw8L0F1dGhvciAoS2F6dWtpIEFLQU1J - TkUpL0NyZWF0aW9uRGF0ZSAoRDoyMDEyMDIwMjE3MzMwMFopL0NyZWF0b3IgKE9tbmlH - cmFmZmxlIDUuMi4zKS9Nb2REYXRlIChEOjIwMTIwMjAyMTc0NzAwWikvUHJvZHVjZXIg - MzcgMCBSID4+CmVuZG9iagp4cmVmCjEgMQowMDAwMDE3NjY2IDAwMDAwIG4gCnRyYWls - ZXIKPDwvSUQgWzw2ZTYxYWZiMDhhOTcwMTViZjNiYjEyYzY1ZTUwMmVhNz4gPDZlNjFh - ZmIwOGE5NzAxNWJmM2JiMTJjNjVlNTAyZWE3Pl0gL0luZm8gMSAwIFIgL1ByZXYgMTY3 - MjggL1Jvb3QgMTkgMCBSIC9TaXplIDM5Pj4Kc3RhcnR4cmVmCjE3ODE2CiUlRU9GCg== - - QuickLookThumbnail - - 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 - - ReadOnly - NO - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UniqueID - 1 - UseEntirePage - - VPages - 1 - WindowInfo - - CurrentSheet - 0 - ExpandedCanvases - - Frame - {{633, 221}, {693, 937}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{0, 0}, {558, 783}} - Zoom - 1 - ZoomValues - - - キャンバス 1 - 1 - 1 - - - - saveQuickLookFiles - YES - - diff -r 7d0c4907c2df -r fd43827452ad paper/images/poll_based.pdf Binary file paper/images/poll_based.pdf has changed diff -r 7d0c4907c2df -r fd43827452ad paper/master_paper.pdf Binary file paper/master_paper.pdf has changed