feat: integrate mxGraph editor

pull/47/head
fantasticit 2022-05-20 22:56:43 +08:00
parent d823775e3e
commit c50ae4d875
96 changed files with 141277 additions and 113 deletions

View File

@ -1,7 +0,0 @@
node_modules
**/.next/**
**/_next/**
**/dist/**
.eslintrc.js
./packages/client/src/tiptap/wrappers/mind/mind-elixir/iconfont/iconfont.js
./packages/client/public/viewer.min.js

View File

@ -2,3 +2,5 @@ node_modules
.next .next
dist dist
lib lib
./packages/client/public/diagram.js
./packages/client/public/diagram.min.js

View File

@ -3,5 +3,7 @@ node_modules
**/_next/** **/_next/**
**/dist/** **/dist/**
.eslintrc.js .eslintrc.js
./packages/client/src/tiptap/wrappers/mind/mind-elixir/iconfont/iconfont.js
./packages/client/public/viewer.min.js ./src/tiptap/core/wrappers/mind/mind-elixir/iconfont/iconfont.js
./public/diagram.js
./public/diagram.min.js

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

View File

@ -0,0 +1,5 @@
askZoom=Enter zoom (%)
properties=Properties
outline=Outline
tasks=Tasks
help=Help

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,849 @@
<shapes name="mxGraph.arrows">
<shape name="Arrow Down" h="97.5" w="70" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="20" y="0"/>
<line x="20" y="59"/>
<line x="0" y="59"/>
<line x="35" y="97.5"/>
<line x="70" y="59"/>
<line x="50" y="59"/>
<line x="50" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Arrow Left" h="70" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="97.5" y="20"/>
<line x="38.5" y="20"/>
<line x="38.5" y="0"/>
<line x="0" y="35"/>
<line x="38.5" y="70"/>
<line x="38.5" y="50"/>
<line x="97.5" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Arrow Right" h="70" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="20"/>
<line x="59" y="20"/>
<line x="59" y="0"/>
<line x="97.5" y="35"/>
<line x="59" y="70"/>
<line x="59" y="50"/>
<line x="0" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Arrow Up" h="97.5" w="70" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="20" y="97.5"/>
<line x="20" y="38.5"/>
<line x="0" y="38.5"/>
<line x="35" y="0"/>
<line x="70" y="38.5"/>
<line x="50" y="38.5"/>
<line x="50" y="97.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Bent Left Arrow" h="97" w="97.01" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.85" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.29" perimeter="0" name="W"/>
</connections>
<background>
<path>
<move x="68" y="97"/>
<line x="68" y="48"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="63" y="43"/>
<line x="38" y="43"/>
<line x="38" y="56"/>
<line x="0" y="28"/>
<line x="38" y="0"/>
<line x="38" y="13"/>
<line x="63" y="13"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="97" y="48"/>
<line x="97" y="97"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Bent Right Arrow" h="97" w="97.01" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.15" y="1" perimeter="0" name="S"/>
<constraint x="1" y="0.29" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="29.01" y="97"/>
<line x="29.01" y="48"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="34.01" y="43"/>
<line x="59.01" y="43"/>
<line x="59.01" y="56"/>
<line x="97.01" y="28"/>
<line x="59.01" y="0"/>
<line x="59.01" y="13"/>
<line x="34.01" y="13"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0.01" y="48"/>
<line x="0.01" y="97"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Bent Up Arrow" h="83.5" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.71" y="0" perimeter="0" name="N"/>
<constraint x="0" y="0.82" perimeter="0" name="W"/>
</connections>
<background>
<path>
<move x="0" y="53.5"/>
<line x="54" y="53.5"/>
<line x="54" y="23.5"/>
<line x="42" y="23.5"/>
<line x="69" y="0"/>
<line x="97" y="23.5"/>
<line x="84" y="23.5"/>
<line x="84" y="83.5"/>
<line x="0" y="83.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Callout Double Arrow" h="97.5" w="50" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="15" y="24"/>
<line x="15" y="19"/>
<line x="6" y="19"/>
<line x="25" y="0"/>
<line x="44" y="19"/>
<line x="35" y="19"/>
<line x="35" y="24"/>
<line x="50" y="24"/>
<line x="50" y="74"/>
<line x="35" y="74"/>
<line x="35" y="79"/>
<line x="44" y="79"/>
<line x="25" y="97.5"/>
<line x="6" y="79"/>
<line x="15" y="79"/>
<line x="15" y="74"/>
<line x="0" y="74"/>
<line x="0" y="24"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Callout Quad Arrow" h="97" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="38.5" y="23.5"/>
<line x="38.5" y="18.5"/>
<line x="29.5" y="18.5"/>
<line x="48.5" y="0"/>
<line x="67.5" y="18.5"/>
<line x="58.5" y="18.5"/>
<line x="58.5" y="23.5"/>
<line x="73.5" y="23.5"/>
<line x="73.5" y="38.5"/>
<line x="78.5" y="38.5"/>
<line x="78.5" y="29.5"/>
<line x="97" y="48.5"/>
<line x="78.5" y="67.5"/>
<line x="78.5" y="58.5"/>
<line x="73.5" y="58.5"/>
<line x="73.5" y="73.5"/>
<line x="58.5" y="73.5"/>
<line x="58.5" y="78.5"/>
<line x="67.5" y="78.5"/>
<line x="48.5" y="97"/>
<line x="29.5" y="78.5"/>
<line x="38.5" y="78.5"/>
<line x="38.5" y="73.5"/>
<line x="23.5" y="73.5"/>
<line x="23.5" y="58.5"/>
<line x="18.5" y="58.5"/>
<line x="18.5" y="67.5"/>
<line x="0" y="48.5"/>
<line x="18.5" y="29.5"/>
<line x="18.5" y="38.5"/>
<line x="23.5" y="38.5"/>
<line x="23.5" y="23.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Callout Up Arrow" h="98" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
</connections>
<background>
<path>
<move x="20" y="39"/>
<line x="20" y="19"/>
<line x="11" y="19"/>
<line x="30" y="0"/>
<line x="49" y="19"/>
<line x="40" y="19"/>
<line x="40" y="39"/>
<line x="60" y="39"/>
<line x="60" y="98"/>
<line x="0" y="98"/>
<line x="0" y="39"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Chevron Arrow" h="60" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.31" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="30" y="30"/>
<line x="0" y="0"/>
<line x="66" y="0"/>
<line x="96" y="30"/>
<line x="66" y="60"/>
<line x="0" y="60"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Circular Arrow" h="69.5" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.12" y="0.64" perimeter="0" name="SW"/>
<constraint x="0.794" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="44.5"/>
<arc rx="44.5" ry="44.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="89" y="44.5"/>
<line x="97" y="44.5"/>
<line x="77" y="69.5"/>
<line x="57" y="44.5"/>
<line x="65" y="44.5"/>
<arc rx="20.5" ry="20.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="24" y="44.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Jump-in Arrow 1" h="99.41" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.024" perimeter="0" name="NW"/>
<constraint x="0.657" y="1" perimeter="0" name="S"/>
</connections>
<background>
<linejoin join="round"/>
<path>
<move x="30" y="60.41"/>
<line x="48" y="60.41"/>
<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0" y="2.41"/>
<arc rx="75" ry="75" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="78" y="60.41"/>
<line x="96" y="60.41"/>
<line x="63" y="99.41"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Jump-in Arrow 2" h="99.41" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="1" y="0.024" perimeter="0" name="NE"/>
<constraint x="0.343" y="1" perimeter="0" name="S"/>
</connections>
<background>
<linejoin join="round"/>
<path>
<move x="66" y="60.41"/>
<line x="48" y="60.41"/>
<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="96" y="2.41"/>
<arc rx="75" ry="75" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="18" y="60.41"/>
<line x="0" y="60.41"/>
<line x="33" y="99.41"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Left and Up Arrow" h="96.5" w="96.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.71" perimeter="0" name="W"/>
<constraint x="0.71" y="0" perimeter="0" name="N"/>
</connections>
<background>
<path>
<move x="23.5" y="53.5"/>
<line x="53.5" y="53.5"/>
<line x="53.5" y="23.5"/>
<line x="41.5" y="23.5"/>
<line x="68.5" y="0"/>
<line x="96.5" y="23.5"/>
<line x="83.5" y="23.5"/>
<line x="83.5" y="83.5"/>
<line x="23.5" y="83.5"/>
<line x="23.5" y="96.5"/>
<line x="0" y="68.5"/>
<line x="23.5" y="41.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Left Sharp Edged Head Arrow" h="60" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="97.5" y="20"/>
<line x="18.5" y="20"/>
<line x="30.5" y="0"/>
<line x="18.5" y="0"/>
<line x="0" y="30"/>
<line x="18.5" y="60"/>
<line x="30.5" y="60"/>
<line x="18.5" y="40"/>
<line x="97.5" y="40"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Notched Signal-in Arrow" h="30" w="96.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.13" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="0"/>
<line x="83" y="0"/>
<line x="96.5" y="15"/>
<line x="83" y="30"/>
<line x="0" y="30"/>
<line x="13" y="15"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Quad Arrow" h="97.5" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="39" y="39"/>
<line x="39" y="19"/>
<line x="30" y="19"/>
<line x="49" y="0"/>
<line x="68" y="19"/>
<line x="59" y="19"/>
<line x="59" y="39"/>
<line x="79" y="39"/>
<line x="79" y="30"/>
<line x="97.5" y="49"/>
<line x="79" y="68"/>
<line x="79" y="59"/>
<line x="59" y="59"/>
<line x="59" y="79"/>
<line x="68" y="79"/>
<line x="49" y="97.5"/>
<line x="30" y="79"/>
<line x="39" y="79"/>
<line x="39" y="59"/>
<line x="19" y="59"/>
<line x="19" y="68"/>
<line x="0" y="49"/>
<line x="19" y="30"/>
<line x="19" y="39"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Right Notched Arrow" h="70" w="96.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.13" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="20"/>
<line x="58" y="20"/>
<line x="58" y="0"/>
<line x="96.5" y="35"/>
<line x="58" y="70"/>
<line x="58" y="50"/>
<line x="0" y="50"/>
<line x="13" y="35"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Sharp Edged Arrow" h="60" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="97.5" y="20"/>
<line x="18.5" y="20"/>
<line x="27.5" y="5"/>
<line x="18.5" y="0"/>
<line x="0" y="30"/>
<line x="18.5" y="60"/>
<line x="27.5" y="55"/>
<line x="18.5" y="40"/>
<line x="97.5" y="40"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Signal-in Arrow" h="30" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="0"/>
<line x="84" y="0"/>
<line x="97.5" y="15"/>
<line x="84" y="30"/>
<line x="0" y="30"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Slender Left Arrow" h="60" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="97.5" y="20"/>
<line x="18.5" y="20"/>
<line x="18.5" y="0"/>
<line x="0" y="30"/>
<line x="18.5" y="60"/>
<line x="18.5" y="40"/>
<line x="97.5" y="40"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Slender Two Way Arrow" h="60" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="78.5" y="20"/>
<line x="18.5" y="20"/>
<line x="18.5" y="0"/>
<line x="0" y="30"/>
<line x="18.5" y="60"/>
<line x="18.5" y="40"/>
<line x="78.5" y="40"/>
<line x="78.5" y="60"/>
<line x="97.5" y="30"/>
<line x="78.5" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Slender Wide Tailed Arrow" h="60" w="96.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="0.8" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="58.5" y="20"/>
<line x="18.5" y="20"/>
<line x="18.5" y="0"/>
<line x="0" y="30"/>
<line x="18.5" y="60"/>
<line x="18.5" y="40"/>
<line x="58.5" y="40"/>
<line x="73.5" y="60"/>
<line x="96.5" y="60"/>
<line x="76.5" y="30"/>
<line x="96.5" y="0"/>
<line x="73.5" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Striped Arrow" h="70" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="24" y="20"/>
<line x="59" y="20"/>
<line x="59" y="0"/>
<line x="97.5" y="35"/>
<line x="59" y="70"/>
<line x="59" y="50"/>
<line x="24" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<rect x="8" y="20" w="12" h="30"/>
<fillstroke/>
<rect x="0" y="20" w="4" h="30"/>
<fillstroke/>
</foreground>
</shape>
<shape name="Stylised Notched Arrow" h="60" w="96.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.13" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<miterlimit limit="8"/>
<path>
<move x="0" y="5"/>
<line x="68" y="20"/>
<line x="58" y="0"/>
<line x="96.5" y="30"/>
<line x="58" y="60"/>
<line x="68" y="45"/>
<line x="0" y="55"/>
<line x="13" y="30"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Triad Arrow" h="68" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.72" perimeter="0" name="W"/>
<constraint x="1" y="0.72" perimeter="0" name="E"/>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
</connections>
<background>
<path>
<move x="39" y="39"/>
<line x="39" y="19"/>
<line x="30" y="19"/>
<line x="49" y="0"/>
<line x="68" y="19"/>
<line x="59" y="19"/>
<line x="59" y="39"/>
<line x="79" y="39"/>
<line x="79" y="30"/>
<line x="97.5" y="49"/>
<line x="79" y="68"/>
<line x="79" y="59"/>
<line x="39" y="59"/>
<line x="19" y="59"/>
<line x="19" y="68"/>
<line x="0" y="49"/>
<line x="19" y="30"/>
<line x="19" y="39"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Two Way Arrow Horizontal" h="60" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="63" y="15"/>
<line x="63" y="0"/>
<line x="96" y="30"/>
<line x="63" y="60"/>
<line x="63" y="45"/>
<line x="33" y="45"/>
<line x="33" y="60"/>
<line x="0" y="30"/>
<line x="33" y="0"/>
<line x="33" y="15"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Two Way Arrow Vertical" h="96" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="15" y="63"/>
<line x="0" y="63"/>
<line x="30" y="96"/>
<line x="60" y="63"/>
<line x="45" y="63"/>
<line x="45" y="33"/>
<line x="60" y="33"/>
<line x="30" y="0"/>
<line x="0" y="33"/>
<line x="15" y="33"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="U Turn Arrow" h="98" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.12" y="1" perimeter="0" name="SW"/>
<constraint x="0.792" y="0.71" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="44.5"/>
<arc rx="44.5" ry="44.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="89" y="44.5"/>
<line x="97" y="44.5"/>
<line x="77" y="69.5"/>
<line x="57" y="44.5"/>
<line x="65" y="44.5"/>
<arc rx="20.5" ry="20.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="24" y="44.83"/>
<line x="24" y="98"/>
<line x="0" y="98"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="U Turn Down Arrow" h="62" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.91" y="1" perimeter="0" name="SE"/>
<constraint x="0.237" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<path>
<move x="97" y="62"/>
<line x="97" y="32"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="33" y="32"/>
<line x="46" y="32"/>
<line x="23" y="62"/>
<line x="0" y="32"/>
<line x="13" y="32"/>
<arc rx="32" ry="32" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="45" y="0"/>
<line x="65" y="0"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="53" y="3"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="78" y="32"/>
<line x="78" y="62"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="U Turn Left Arrow" h="97.07" w="62.23" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.76" perimeter="0" name="SW"/>
<constraint x="0" y="0.1" perimeter="0" name="NW"/>
</connections>
<background>
<path>
<move x="0" y="0.19"/>
<line x="30" y="0.07"/>
<arc rx="30" ry="30" x-axis-rotation="-90.22" large-arc-flag="0" sweep-flag="1" x="30.25" y="64.07"/>
<line x="30.2" y="51.07"/>
<line x="0.29" y="74.19"/>
<line x="30.37" y="97.07"/>
<line x="30.32" y="84.07"/>
<arc rx="32" ry="32" x-axis-rotation="-90.22" large-arc-flag="0" sweep-flag="0" x="62.2" y="51.95"/>
<line x="62.13" y="31.95"/>
<arc rx="30" ry="30" x-axis-rotation="-90.22" large-arc-flag="0" sweep-flag="1" x="59.17" y="43.96"/>
<arc rx="30" ry="30" x-axis-rotation="-90.22" large-arc-flag="0" sweep-flag="0" x="30.08" y="19.07"/>
<line x="0.08" y="19.19"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="U Turn Right Arrow" h="97.07" w="62.23" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="1" y="0.76" perimeter="0" name="SW"/>
<constraint x="1" y="0.1" perimeter="0" name="NW"/>
</connections>
<background>
<path>
<move x="62.23" y="0.19"/>
<line x="32.23" y="0.07"/>
<arc rx="30" ry="30" x-axis-rotation="-89.78" large-arc-flag="0" sweep-flag="0" x="31.99" y="64.07"/>
<line x="32.03" y="51.07"/>
<line x="61.95" y="74.19"/>
<line x="31.86" y="97.07"/>
<line x="31.91" y="84.07"/>
<arc rx="32" ry="32" x-axis-rotation="-89.78" large-arc-flag="0" sweep-flag="1" x="0.03" y="51.95"/>
<line x="0.11" y="31.95"/>
<arc rx="30" ry="30" x-axis-rotation="-89.78" large-arc-flag="0" sweep-flag="0" x="3.06" y="43.96"/>
<arc rx="30" ry="30" x-axis-rotation="-89.78" large-arc-flag="0" sweep-flag="1" x="32.16" y="19.07"/>
<line x="62.16" y="19.19"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="U Turn Up Arrow" h="62" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.91" y="0" perimeter="0" name="NE"/>
<constraint x="0.237" y="0" perimeter="0" name="NW"/>
</connections>
<background>
<path>
<move x="97" y="0"/>
<line x="97" y="30"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33" y="30"/>
<line x="46" y="30"/>
<line x="23" y="0"/>
<line x="0" y="30"/>
<line x="13" y="30"/>
<arc rx="32" ry="32" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="45" y="62"/>
<line x="65" y="62"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="53" y="59"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="78" y="30"/>
<line x="78" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
</shapes>

View File

@ -0,0 +1,895 @@
<shapes name="mxgraph.basic">
<shape name="4 Point Star" h="92" w="92" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="46" y="0"/>
<line x="56" y="36"/>
<line x="92" y="46"/>
<line x="56" y="56"/>
<line x="46" y="92"/>
<line x="36" y="56"/>
<line x="0" y="46"/>
<line x="36" y="36"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="6 Point Star" h="84.5" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.24" y="0" perimeter="0" name="N1"/>
<constraint x="0.24" y="1" perimeter="0" name="S1"/>
<constraint x="0.76" y="0" perimeter="0" name="N2"/>
<constraint x="0.76" y="1" perimeter="0" name="S2"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="23" y="28.9"/>
<line x="23" y="0"/>
<line x="48" y="14.4"/>
<line x="73" y="0"/>
<line x="73" y="28.9"/>
<line x="96" y="42.2"/>
<line x="73" y="55.6"/>
<line x="73" y="84.5"/>
<line x="48" y="70"/>
<line x="23" y="84.5"/>
<line x="23" y="55.6"/>
<line x="0" y="42.2"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="8 Point Star" h="96" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.29" y="0" perimeter="0" name="N1"/>
<constraint x="0.29" y="1" perimeter="0" name="S1"/>
<constraint x="0.71" y="0" perimeter="0" name="N2"/>
<constraint x="0.71" y="1" perimeter="0" name="S2"/>
<constraint x="0" y="0.29" perimeter="0" name="W1"/>
<constraint x="0" y="0.71" perimeter="0" name="W2"/>
<constraint x="1" y="0.29" perimeter="0" name="E1"/>
<constraint x="1" y="0.71" perimeter="0" name="E2"/>
</connections>
<background>
<path>
<move x="28" y="28"/>
<line x="28" y="0"/>
<line x="48" y="20"/>
<line x="68" y="0"/>
<line x="68" y="28"/>
<line x="96" y="28"/>
<line x="76" y="48"/>
<line x="96" y="68"/>
<line x="68" y="68"/>
<line x="68" y="96"/>
<line x="48" y="76"/>
<line x="28" y="96"/>
<line x="28" y="68"/>
<line x="0" y="68"/>
<line x="20" y="48"/>
<line x="0" y="28"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Banner" h="50" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.8" perimeter="0" name="S"/>
<constraint x="0.13" y="0.6" perimeter="0" name="W"/>
<constraint x="0.87" y="0.6" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="50"/>
<line x="38" y="50"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="40.5" y="47.5"/>
<line x="40.5" y="40"/>
<line x="55.5" y="40"/>
<line x="55.5" y="47.5"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="58" y="50"/>
<line x="96" y="50"/>
<line x="83" y="30"/>
<line x="96" y="10"/>
<line x="70.5" y="10"/>
<line x="70.5" y="2.5"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="68" y="0"/>
<line x="28" y="0"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="25.5" y="2.5"/>
<line x="25.5" y="10"/>
<line x="0" y="10"/>
<line x="13" y="30"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="40.5" y="47.5"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="38" y="45"/>
<line x="28" y="45"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="28" y="40"/>
<line x="68" y="40"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="68" y="45"/>
<line x="58" y="45"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="55.5" y="47.5"/>
<move x="25.5" y="42.5"/>
<line x="25.5" y="10"/>
<move x="70.5" y="42.5"/>
<line x="70.5" y="10"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Cloud Callout" h="61.4" w="90.41" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.74" perimeter="0" name="S"/>
<constraint x="0.015" y="0.4" perimeter="0" name="W"/>
<constraint x="0.993" y="0.4" perimeter="0" name="E"/>
<constraint x="0.01" y="0.995" perimeter="0" name="SW"/>
</connections>
<background>
<save/>
<linejoin join="round"/>
<path>
<move x="12.1" y="31.8"/>
<arc rx="8" ry="8" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="12.1" y="16.8"/>
<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33.1" y="8.8"/>
<arc rx="14" ry="14" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="59.1" y="8.8"/>
<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79.1" y="16.8"/>
<arc rx="8" ry="8" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="79.1" y="31.8"/>
<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="58.1" y="38.8"/>
<arc rx="14" ry="14" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="34.1" y="38.8"/>
<arc rx="10" ry="8" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="12.1" y="31.8"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<restore/>
<linejoin join="miter"/>
<ellipse x="9.1" y="46.1" w="12" h="5.4"/>
<fillstroke/>
<ellipse x="4.3" y="53.5" w="7.6" h="3.6"/>
<fillstroke/>
<ellipse x="0" y="58.8" w="4.8" h="2.6"/>
<fillstroke/>
</foreground>
</shape>
<shape name="Cone" h="96.91" w="99" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="49.5" y="0"/>
<line x="99" y="88"/>
<arc rx="25" ry="4.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="0" y="88"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="0" y="88"/>
<arc rx="25" ry="4.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="99" y="88"/>
</path>
<fillstroke/>
</foreground>
</shape>
<shape name="Cross" h="98" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="34"/>
<line x="34" y="34"/>
<line x="34" y="0"/>
<line x="64" y="0"/>
<line x="64" y="34"/>
<line x="98" y="34"/>
<line x="98" y="64"/>
<line x="64" y="64"/>
<line x="64" y="98"/>
<line x="34" y="98"/>
<line x="34" y="64"/>
<line x="0" y="64"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Document" h="98" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="98" y="14"/>
<line x="98" y="98"/>
<line x="0" y="98"/>
<line x="0" y="0"/>
<line x="84" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="84" y="0"/>
<arc rx="18" ry="10" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79" y="9"/>
<line x="98" y="14"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Flash" h="95.5" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.565" y="0" perimeter="0" name="N"/>
<constraint x="0" y="0.995" perimeter="0" name="SW"/>
</connections>
<background>
<miterlimit limit="6"/>
<path>
<move x="0" y="95.5"/>
<line x="20" y="75.5"/>
<line x="3" y="61.5"/>
<line x="20" y="49.5"/>
<line x="3" y="31.5"/>
<line x="34" y="0"/>
<line x="60" y="25.5"/>
<line x="36" y="39.5"/>
<line x="50" y="53.5"/>
<line x="29" y="65.5"/>
<line x="42" y="76.5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Half Circle" h="49" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
</connections>
<background>
<path>
<move x="0" y="0"/>
<arc rx="44.5" ry="44.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="98" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Heart" h="94.74" w="103.89" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.115" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.07" y="0.5" perimeter="0" name="W"/>
<constraint x="0.93" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="51.94" y="94.74"/>
<curve x1="55.79" y1="90.78" x2="77.8" y2="68.16" x3="91.56" y3="54.03"/>
<curve x1="103.89" y1="41.37" x2="103.62" y2="22.91" x3="92.42" y3="11.46"/>
<curve x1="81.21" y1="0" x2="63.09" y2="0.05" x3="51.94" y3="11.56"/>
<curve x1="40.79" y1="0.05" x2="22.67" y2="0" x3="11.47" y3="11.45"/>
<curve x1="0.26" y1="22.9" x2="0" y2="41.36" x3="12.32" y3="54.03"/>
<curve x1="26.08" y1="68.16" x2="48.09" y2="90.78" x3="51.94" y3="94.74"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Loud Callout" h="59.9" w="93.3" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.49" y="0" perimeter="0" name="N"/>
<constraint x="0.52" y="0.91" perimeter="0" name="S"/>
<constraint x="0" y="0.51" perimeter="0" name="W"/>
<constraint x="0.99" y="0.503" perimeter="0" name="E"/>
<constraint x="0.04" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<miterlimit limit="10"/>
<path>
<move x="14.9" y="43.9"/>
<line x="9.3" y="46.7"/>
<line x="11.1" y="40.9"/>
<line x="6.6" y="43.9"/>
<line x="8.3" y="39.2"/>
<line x="2.8" y="40.8"/>
<line x="6.6" y="36.4"/>
<line x="0.9" y="36.2"/>
<line x="5.8" y="32.7"/>
<line x="0" y="30.8"/>
<line x="5.3" y="28.2"/>
<line x="0.3" y="25.6"/>
<line x="5.9" y="24.19"/>
<line x="0.8" y="19.9"/>
<line x="6.5" y="19.8"/>
<line x="2.8" y="15.1"/>
<line x="8.2" y="16.1"/>
<line x="5.9" y="11.3"/>
<line x="11.5" y="13.2"/>
<line x="10.2" y="8.7"/>
<line x="15.7" y="10.6"/>
<line x="14.9" y="6.15"/>
<line x="19.2" y="9.3"/>
<line x="19.8" y="4.3"/>
<line x="23.4" y="8"/>
<line x="23.8" y="3.4"/>
<line x="28.5" y="6.9"/>
<line x="30.3" y="1.3"/>
<line x="33.3" y="6.2"/>
<line x="34.7" y="0.6"/>
<line x="38.2" y="6"/>
<line x="40.6" y="0"/>
<line x="42.8" y="5.8"/>
<line x="45.6" y="0"/>
<line x="47.1" y="6"/>
<line x="51.3" y="1"/>
<line x="50.8" y="6.3"/>
<line x="55.4" y="0.6"/>
<line x="55.1" y="6.6"/>
<line x="60.5" y="1.4"/>
<line x="61.1" y="7.1"/>
<line x="66.1" y="2.7"/>
<line x="66.2" y="8.7"/>
<line x="71.9" y="4.4"/>
<line x="70.5" y="10"/>
<line x="77.6" y="6.2"/>
<line x="74.9" y="11.8"/>
<line x="83.9" y="7.8"/>
<line x="80.1" y="13.6"/>
<line x="88.1" y="11.9"/>
<line x="85.2" y="17"/>
<line x="91.2" y="16.9"/>
<line x="87" y="20.1"/>
<line x="93.3" y="21.2"/>
<line x="87.9" y="24"/>
<line x="93.2" y="25.8"/>
<line x="86.8" y="26.8"/>
<line x="92.4" y="30.3"/>
<line x="86.6" y="30.8"/>
<line x="90.9" y="34.8"/>
<line x="84.2" y="33.5"/>
<line x="87.8" y="38.8"/>
<line x="82" y="36.6"/>
<line x="84.7" y="41.7"/>
<line x="79.2" y="40.7"/>
<line x="79.8" y="46"/>
<line x="76.3" y="42.9"/>
<line x="75.6" y="48.6"/>
<line x="72" y="44.7"/>
<line x="71.7" y="51.2"/>
<line x="68" y="46"/>
<line x="66.2" y="52.1"/>
<line x="63.7" y="46.6"/>
<line x="61.2" y="53.7"/>
<line x="59.7" y="47.6"/>
<line x="56.9" y="53.8"/>
<line x="55" y="48.1"/>
<line x="52.8" y="53.9"/>
<line x="50.9" y="48.1"/>
<line x="48.4" y="54.5"/>
<line x="47" y="48.1"/>
<line x="44.4" y="53.7"/>
<line x="43.2" y="47.4"/>
<line x="40.1" y="54.2"/>
<line x="38.8" y="47.4"/>
<line x="36.3" y="54.7"/>
<line x="35.6" y="47.8"/>
<line x="32.4" y="55.1"/>
<line x="30.9" y="46.6"/>
<line x="28.6" y="53.3"/>
<line x="26.8" y="47.8"/>
<line x="3.8" y="59.9"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Moon" h="103.05" w="77.05" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.48" y="0" perimeter="0" name="N"/>
<constraint x="1" y="0.89" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="37.05" y="0"/>
<arc rx="48" ry="48" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="77.05" y="92"/>
<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="37.05" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="No Symbol" h="100" w="100" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="50"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="100" y="50"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="50"/>
<close/>
<move x="78.95" y="69.7"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="30.3" y="21.05"/>
<close/>
<move x="21.15" y="30.3"/>
<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="69.7" y="79"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Octagon" h="98" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="29"/>
<line x="29" y="0"/>
<line x="69" y="0"/>
<line x="98" y="29"/>
<line x="98" y="69"/>
<line x="69" y="98"/>
<line x="29" y="98"/>
<line x="0" y="69"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Orthogonal Triangle" h="97" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
<constraint x="0.5" y="0.5" perimeter="0" name="center"/>
</connections>
<background>
<path>
<move x="0" y="97"/>
<line x="0" y="0"/>
<line x="97" y="97"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Oval Callout" h="63.15" w="109.43" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.045" perimeter="0" name="N"/>
<constraint x="0.5" y="0.84" perimeter="0" name="S"/>
<constraint x="0.045" y="0.45" perimeter="0" name="W"/>
<constraint x="0.945" y="0.45" perimeter="0" name="E"/>
<constraint x="0.08" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<miterlimit limit="15"/>
<path>
<move x="20.53" y="46.15"/>
<arc rx="49" ry="25" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="31.53" y="50.15"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="9.03" y="63.15"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="20.53" y="46.15"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Parallelepiped" h="60" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.12" y="0.5" perimeter="0" name="W"/>
<constraint x="0.88" y="0.5" perimeter="0" name="E"/>
<constraint x="0.24" y="0" perimeter="0" name="NW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="0.76" y="1" perimeter="0" name="SE"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<path>
<move x="0" y="60"/>
<line x="23.5" y="0"/>
<line x="97" y="0"/>
<line x="73.5" y="60"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Pentagon" h="90" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0" y="0.365" perimeter="0" name="W"/>
<constraint x="1" y="0.365" perimeter="0" name="E"/>
<constraint x="0.81" y="1" perimeter="0" name="SE"/>
<constraint x="0.19" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<path>
<move x="18.5" y="90"/>
<line x="0" y="33"/>
<line x="48.5" y="0"/>
<line x="97" y="33"/>
<line x="78.5" y="90"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Rectangular Callout" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.715" perimeter="0" name="S"/>
<constraint x="0" y="0.355" perimeter="0" name="W"/>
<constraint x="1" y="0.355" perimeter="0" name="E"/>
<constraint x="0.04" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<miterlimit limit="10"/>
<path>
<move x="15" y="43"/>
<line x="0" y="43"/>
<line x="0" y="0"/>
<line x="98" y="0"/>
<line x="98" y="43"/>
<line x="29" y="43"/>
<line x="4" y="60"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Rounded Rectangular Callout" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.715" perimeter="0" name="S"/>
<constraint x="0" y="0.355" perimeter="0" name="W"/>
<constraint x="1" y="0.355" perimeter="0" name="E"/>
<constraint x="0.04" y="1" perimeter="0" name="SW"/>
</connections>
<background>
<miterlimit limit="15"/>
<path>
<move x="15.5" y="43"/>
<line x="5" y="43"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="38"/>
<line x="0" y="5"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="0"/>
<line x="93" y="0"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5"/>
<line x="98" y="38"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="93" y="43"/>
<line x="29" y="43"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="4" y="60"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="15.5" y="43"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Smiley" h="98" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="98" h="98"/>
</background>
<foreground>
<fillstroke/>
<save/>
<path>
<move x="11" y="54"/>
<arc rx="38" ry="27" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="87" y="54"/>
</path>
<stroke/>
<restore/>
<strokewidth width="1"/>
<path>
<move x="16" y="51"/>
<line x="6" y="57"/>
</path>
<stroke/>
<path>
<move x="82" y="51"/>
<line x="92" y="57"/>
</path>
<stroke/>
<strokewidth width="6"/>
<ellipse x="24" y="27" w="6" h="16"/>
<fillstroke/>
<ellipse x="68" y="27" w="6" h="16"/>
<fillstroke/>
</foreground>
</shape>
<shape name="Star" h="90" w="95" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.76" perimeter="0" name="S"/>
<constraint x="0" y="0.367" perimeter="0" name="W"/>
<constraint x="1" y="0.367" perimeter="0" name="E"/>
<constraint x="0.185" y="1" perimeter="0" name="SW"/>
<constraint x="0.815" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="33"/>
<line x="36.4" y="33"/>
<line x="47.5" y="0"/>
<line x="58.6" y="33"/>
<line x="95" y="33"/>
<line x="66" y="55.1"/>
<line x="77.5" y="90"/>
<line x="47.5" y="68.4"/>
<line x="17.5" y="90"/>
<line x="29" y="55.1"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Sun" h="95" w="95" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="17.5" y="17.5" w="60" h="60"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="42.5" y="14.5"/>
<line x="47.5" y="0"/>
<line x="52.5" y="14.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="42.5" y="80.5"/>
<line x="47.5" y="95"/>
<line x="52.5" y="80.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="14.5" y="42.5"/>
<line x="0" y="47.5"/>
<line x="14.5" y="52.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="80.5" y="42.5"/>
<line x="95" y="47.5"/>
<line x="80.5" y="52.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="67.5" y="20.5"/>
<line x="81.2" y="13.9"/>
<line x="74.5" y="27.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="67.5" y="74.5"/>
<line x="81.2" y="81.1"/>
<line x="74.5" y="67.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="27.5" y="20.5"/>
<line x="13.8" y="13.9"/>
<line x="20.5" y="27.5"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="27.5" y="74.5"/>
<line x="13.8" y="81.1"/>
<line x="20.5" y="67.5"/>
<close/>
</path>
<fillstroke/>
</foreground>
</shape>
<shape name="Tick" h="97.54" w="84.4" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.9" y="0.01" perimeter="0" name="N"/>
<constraint x="0.32" y="0.992" perimeter="0" name="S"/>
<constraint x="0" y="0.7" perimeter="0" name="W"/>
<constraint x="1" y="0.06" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0.36" y="66.69"/>
<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="16.36" y="58.69"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="26.36" y="69.69"/>
<arc rx="200" ry="200" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="63.36" y="5.69"/>
<arc rx="18" ry="18" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="80.36" y="1.69"/>
<arc rx="4.5" ry="4.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="83.36" y="8.69"/>
<arc rx="230" ry="230" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="35.36" y="94.69"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="17.36" y="94.69"/>
<arc rx="100" ry="100" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0.36" y="68.69"/>
<arc rx="2" ry="2" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0.36" y="66.69"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Trapezoid" h="98" w="97" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.12" y="0.5" perimeter="0" name="W"/>
<constraint x="0.88" y="0.5" perimeter="0" name="E"/>
<constraint x="0.24" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="0.76" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="98"/>
<line x="23.5" y="0"/>
<line x="73.5" y="0"/>
<line x="97" y="98"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Wave" h="56.7" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.295" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="8.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33" y="8.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="65" y="8.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="8.7"/>
<line x="98" y="48.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="65" y="48.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33" y="48.7"/>
<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0" y="48.7"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="X" h="98" w="96" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.29" perimeter="0" name="N"/>
<constraint x="0.5" y="0.71" perimeter="0" name="S"/>
<constraint x="0.33" y="0.5" perimeter="0" name="W"/>
<constraint x="0.65" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="0"/>
<line x="28" y="0"/>
<line x="48" y="29"/>
<line x="68" y="0"/>
<line x="96" y="0"/>
<line x="62" y="49"/>
<line x="96" y="98"/>
<line x="68" y="98"/>
<line x="48" y="69"/>
<line x="28" y="98"/>
<line x="0" y="98"/>
<line x="32" y="49"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
</shapes>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,920 @@
<shapes name="mxGraph.flowchart">
<shape name="Annotation 1" h="98" w="50" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="50" y="0"/>
<line x="0" y="0"/>
<line x="0" y="98"/>
<line x="50" y="98"/>
</path>
</background>
<foreground>
<stroke/>
</foreground>
</shape>
<shape name="Annotation 2" h="98" w="100" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="100" y="0"/>
<line x="50" y="0"/>
<line x="50" y="98"/>
<line x="100" y="98"/>
</path>
</background>
<foreground>
<stroke/>
<path>
<move x="0" y="49"/>
<line x="50" y="49"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Card" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.1" y="0.16" perimeter="0" name="NW"/>
<constraint x="0.015" y="0.98" perimeter="0" name="SW"/>
<constraint x="0.985" y="0.02" perimeter="0" name="NE"/>
<constraint x="0.985" y="0.98" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="19" y="0"/>
<line x="93" y="0"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5"/>
<line x="98" y="55"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="93" y="60"/>
<line x="5" y="60"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<line x="0" y="20"/>
<line x="19" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Collate" h="98" w="96.82" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.02" perimeter="0" name="NW"/>
<constraint x="0" y="0.98" perimeter="0" name="SW"/>
<constraint x="1" y="0.02" perimeter="0" name="NE"/>
<constraint x="1" y="0.98" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="92.41" y="0"/>
<arc rx="6" ry="3.5" x-axis-rotation="-15" large-arc-flag="0" sweep-flag="1" x="95.41" y="5"/>
<line x="1.41" y="93"/>
<arc rx="6" ry="3.5" x-axis-rotation="-15" large-arc-flag="0" sweep-flag="0" x="4.41" y="98"/>
<line x="92.41" y="98"/>
<arc rx="6" ry="3.5" x-axis-rotation="15" large-arc-flag="0" sweep-flag="0" x="95.41" y="93"/>
<line x="1.41" y="5"/>
<arc rx="6" ry="3.5" x-axis-rotation="15" large-arc-flag="0" sweep-flag="1" x="4.41" y="0"/>
<line x="92.41" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Data" h="60.24" w="98.77" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.095" y="0.5" perimeter="0" name="W"/>
<constraint x="0.905" y="0.5" perimeter="0" name="E"/>
<constraint x="0.23" y="0.02" perimeter="0" name="NW"/>
<constraint x="0.015" y="0.98" perimeter="0" name="SW"/>
<constraint x="0.985" y="0.02" perimeter="0" name="NE"/>
<constraint x="0.77" y="0.98" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="19.37" y="5.12"/>
<arc rx="6" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="24.37" y="0.12"/>
<line x="93.37" y="0.12"/>
<arc rx="5" ry="4" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98.37" y="5.12"/>
<line x="79.37" y="55.12"/>
<arc rx="6" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="74.37" y="60.12"/>
<line x="4.37" y="60.12"/>
<arc rx="5" ry="4" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0.37" y="55.12"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Database" h="60" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0.15" perimeter="0" name="NW"/>
<constraint x="0" y="0.85" perimeter="0" name="SW"/>
<constraint x="1" y="0.15" perimeter="0" name="NE"/>
<constraint x="1" y="0.85" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="50"/>
<line x="0" y="10"/>
<arc rx="30" ry="10" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="60" y="10"/>
<line x="60" y="50"/>
<arc rx="30" ry="10" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="0" y="10"/>
<arc rx="30" ry="10" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="60" y="10"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Decision" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="50" y="0"/>
<line x="100" y="50"/>
<line x="50" y="100"/>
<line x="0" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Delay" h="60" w="98.25" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.015" perimeter="0" name="NW"/>
<constraint x="0.02" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.81" y="0" perimeter="0" name="NE"/>
<constraint x="0.81" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="5"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="0"/>
<line x="79" y="0"/>
<arc rx="33" ry="33" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79" y="60"/>
<line x="5" y="60"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<line x="0" y="5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Direct Data" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.08" y="0" perimeter="0" name="NW"/>
<constraint x="0.08" y="1" perimeter="0" name="SW"/>
<constraint x="0.91" y="0" perimeter="0" name="NE"/>
<constraint x="0.91" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="9" y="0"/>
<line x="89" y="0"/>
<arc rx="9" ry="30" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="89" y="60"/>
<line x="9" y="60"/>
<arc rx="9" ry="30" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="9" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="89" y="0"/>
<arc rx="9" ry="30" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="89" y="60"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Display" h="60" w="98.25" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.2" y="0.14" perimeter="0" name="NW"/>
<constraint x="0.2" y="0.86" perimeter="0" name="SW"/>
<constraint x="0.92" y="0.14" perimeter="0" name="NE"/>
<constraint x="0.92" y="0.86" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="30"/>
<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="39" y="0"/>
<line x="79" y="0"/>
<arc rx="33" ry="33" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79" y="60"/>
<line x="39" y="60"/>
<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="30"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Document" h="60.9" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.9" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.015" perimeter="0" name="NW"/>
<constraint x="0" y="0.9" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.015" perimeter="0" name="NE"/>
<constraint x="1" y="0.9" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="5"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="0"/>
<line x="93" y="0"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5"/>
<line x="98" y="55"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="49" y="55"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Extract or Measurement" h="61.03" w="95.34" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.22" y="0.5" perimeter="0" name="W"/>
<constraint x="0.78" y="0.5" perimeter="0" name="E"/>
<constraint x="0.01" y="0.97" perimeter="0" name="SW"/>
<constraint x="0.99" y="0.97" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="3.64" y="61.02"/>
<line x="91.64" y="61.02"/>
<arc rx="6" ry="4" x-axis-rotation="30" large-arc-flag="0" sweep-flag="0" x="94.64" y="56.02"/>
<line x="49.64" y="1.02"/>
<arc rx="3" ry="3" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="45.64" y="1.02"/>
<line x="0.64" y="56.02"/>
<arc rx="6" ry="4" x-axis-rotation="-35" large-arc-flag="0" sweep-flag="0" x="3.64" y="61.02"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Internal Storage" h="70" w="70" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.015" perimeter="0" name="NW"/>
<constraint x="0.02" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.015" perimeter="0" name="NE"/>
<constraint x="0.98" y="0.985" perimeter="0" name="SE"/>
</connections>
<background>
<roundrect x="0" y="0" w="70" h="70" arcsize="7.142857142857142"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="0" y="15"/>
<line x="70" y="15"/>
</path>
<stroke/>
<path>
<move x="15" y="0"/>
<line x="15" y="70"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Loop Limit" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.1" y="0.15" perimeter="0" name="NW"/>
<constraint x="0.02" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.9" y="0.15" perimeter="0" name="NE"/>
<constraint x="0.98" y="0.985" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="19" y="0"/>
<line x="79" y="0"/>
<line x="98" y="20"/>
<line x="98" y="55"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="93" y="60"/>
<line x="5" y="60"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<line x="0" y="20"/>
<line x="19" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Manual Input" h="60" w="98.05" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.195" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.015" perimeter="0" name="NE"/>
<constraint x="0.98" y="0.985" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="25"/>
<line x="93" y="0"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5"/>
<line x="98" y="55"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="94" y="60"/>
<line x="5" y="60"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<line x="0" y="25"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Manual Operation" h="60.04" w="98.79" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0.1" y="0.5" perimeter="0" name="W"/>
<constraint x="0.9" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.015" perimeter="0" name="NW"/>
<constraint x="0.22" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.015" perimeter="0" name="NE"/>
<constraint x="0.78" y="0.985" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0.39" y="5.04"/>
<arc rx="5" ry="4" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5.39" y="0.04"/>
<line x="93.39" y="0.04"/>
<arc rx="5" ry="4" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98.39" y="5.04"/>
<line x="79.39" y="55.04"/>
<arc rx="6.5" ry="6.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="74.39" y="60.04"/>
<line x="24.39" y="60.04"/>
<arc rx="6.5" ry="6.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="19.39" y="55.04"/>
<line x="0.39" y="5.04"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Merge or Storage" h="61.03" w="95.34" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="3.64" y="0.01"/>
<line x="91.64" y="0.01"/>
<arc rx="6" ry="4" x-axis-rotation="-30" large-arc-flag="0" sweep-flag="1" x="94.64" y="5.01"/>
<line x="49.64" y="60.01"/>
<arc rx="3" ry="3" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="45.64" y="60.01"/>
<line x="0.64" y="5.01"/>
<arc rx="6" ry="4" x-axis-rotation="35" large-arc-flag="0" sweep-flag="1" x="3.64" y="0.01"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Multi-Document" h="60.28" w="88" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="0.88" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.08" y="0.1" perimeter="0" name="NW"/>
<constraint x="0" y="0.91" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.02" perimeter="0" name="NE"/>
<constraint x="0.885" y="0.91" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="10" y="5"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="15" y="0"/>
<line x="83" y="0"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="88" y="5"/>
<line x="88" y="45"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="49" y="45"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="10" y="45"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="5" y="10"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="10" y="5"/>
<line x="78" y="5"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="83" y="10"/>
<line x="83" y="50"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="44" y="50"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="50"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="0" y="15"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="10"/>
<line x="73" y="10"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="78" y="15"/>
<line x="78" y="55"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="39" y="55"/>
<arc rx="50" ry="50" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55"/>
<close/>
</path>
<fillstroke/>
</foreground>
</shape>
<shape name="Off-page Reference" h="60" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
</connections>
<background>
<path>
<move x="0" y="0"/>
<line x="60" y="0"/>
<line x="60" y="30"/>
<line x="30" y="60"/>
<line x="0" y="30"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="On-page Reference" h="60" w="60" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="60" h="60"/>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Or" h="70" w="70" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="70" h="70"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="10" y="60"/>
<line x="60" y="10"/>
</path>
<stroke/>
<path>
<move x="10" y="10"/>
<line x="60" y="60"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Paper Tape" h="61.81" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0.09" perimeter="0" name="N"/>
<constraint x="0.5" y="0.91" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0.09" perimeter="0" name="NW"/>
<constraint x="0" y="0.91" perimeter="0" name="SW"/>
<constraint x="1" y="0.09" perimeter="0" name="NE"/>
<constraint x="1" y="0.91" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="0" y="5.9"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="49" y="5.9"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5.9"/>
<line x="98" y="55.9"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="49" y="55.9"/>
<arc rx="70" ry="70" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="55.9"/>
<line x="0" y="5.9"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Parallel Mode" h="40" w="94" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0" y="0" perimeter="0" name="NW"/>
<constraint x="0" y="1" perimeter="0" name="SW"/>
<constraint x="1" y="0" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<save/>
<fillcolor color="#ffff00"/>
<path>
<move x="47" y="15"/>
<line x="52" y="20"/>
<line x="47" y="25"/>
<line x="42" y="20"/>
<line x="47" y="15"/>
<close/>
<move x="27" y="15"/>
<line x="32" y="20"/>
<line x="27" y="25"/>
<line x="22" y="20"/>
<line x="27" y="15"/>
<close/>
<move x="67" y="15"/>
<line x="72" y="20"/>
<line x="67" y="25"/>
<line x="62" y="20"/>
<line x="67" y="15"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<restore/>
<path>
<move x="0" y="0"/>
<line x="94" y="0"/>
</path>
<stroke/>
<path>
<move x="0" y="40"/>
<line x="94" y="40"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Predefined Process" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.02" y="0.015" perimeter="0" name="NW"/>
<constraint x="0.02" y="0.985" perimeter="0" name="SW"/>
<constraint x="0.98" y="0.015" perimeter="0" name="NE"/>
<constraint x="0.98" y="0.985" perimeter="0" name="SE"/>
</connections>
<background>
<roundrect x="0" y="0" w="98" h="60" arcsize="6.717687074829931"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="14" y="0"/>
<line x="14" y="60"/>
</path>
<stroke/>
<path>
<move x="84" y="0"/>
<line x="84" y="60"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Preparation" h="60" w="97.11" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.26" y="0.02" perimeter="0" name="NW"/>
<constraint x="0.26" y="0.98" perimeter="0" name="SW"/>
<constraint x="0.74" y="0.02" perimeter="0" name="NE"/>
<constraint x="0.74" y="0.98" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="20.56" y="5"/>
<arc rx="15" ry="15" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="31.56" y="0"/>
<line x="65.56" y="0"/>
<arc rx="15" ry="15" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="76.56" y="5"/>
<line x="96.56" y="28"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="96.56" y="32"/>
<line x="76.56" y="55"/>
<arc rx="15" ry="15" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="65.56" y="60"/>
<line x="31.56" y="60"/>
<arc rx="15" ry="15" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="20.56" y="55"/>
<line x="0.56" y="32"/>
<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0.56" y="28"/>
<line x="20.56" y="5"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Process" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<roundrect x="0" y="0" w="100" h="100" arcsize="6"/>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Sequential Data" h="99" w="99" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="1" y="1" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="99" h="99"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="49.5" y="99"/>
<line x="99" y="99"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Sort" h="98" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="51" y="1"/>
<line x="97" y="47"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="97" y="51"/>
<line x="51" y="97"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="47" y="97"/>
<line x="1" y="51"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="1" y="47"/>
<line x="47" y="1"/>
<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="51" y="1"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
<path>
<move x="0" y="49"/>
<line x="98" y="49"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Start 1" h="60" w="99" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="99" h="60"/>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Start 2" h="99" w="99" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="99" h="99"/>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Stored Data" h="60" w="96.51" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="0.93" y="0.5" perimeter="0" name="E"/>
<constraint x="0.1" y="0" perimeter="0" name="NW"/>
<constraint x="0.1" y="1" perimeter="0" name="SW"/>
<constraint x="0.995" y="0.01" perimeter="0" name="NE"/>
<constraint x="0.995" y="0.99" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="10" y="0"/>
<line x="96" y="0"/>
<arc rx="1.5" ry="1.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="96" y="2"/>
<arc rx="10" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="96" y="58"/>
<arc rx="1.5" ry="1.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="96" y="60"/>
<line x="10" y="60"/>
<arc rx="10" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="10" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Summing Function" h="70" w="70" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
</connections>
<background>
<ellipse x="0" y="0" w="70" h="70"/>
</background>
<foreground>
<fillstroke/>
<path>
<move x="0" y="35"/>
<line x="70" y="35"/>
</path>
<stroke/>
<path>
<move x="35" y="0"/>
<line x="35" y="70"/>
</path>
<stroke/>
</foreground>
</shape>
<shape name="Terminator" h="60" w="98" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0.5" y="0" perimeter="0" name="N"/>
<constraint x="0.5" y="1" perimeter="0" name="S"/>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
<constraint x="0.11" y="0.11" perimeter="0" name="NW"/>
<constraint x="0.11" y="0.89" perimeter="0" name="SW"/>
<constraint x="0.89" y="0.11" perimeter="0" name="NE"/>
<constraint x="0.89" y="0.89" perimeter="0" name="SE"/>
</connections>
<background>
<path>
<move x="30" y="0"/>
<line x="68" y="0"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="68" y="60"/>
<line x="30" y="60"/>
<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="30" y="0"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
<shape name="Transfer" h="70" w="97.5" aspect="variable" strokewidth="inherit">
<connections>
<constraint x="0" y="0.5" perimeter="0" name="W"/>
<constraint x="1" y="0.5" perimeter="0" name="E"/>
</connections>
<background>
<path>
<move x="0" y="20"/>
<line x="59" y="20"/>
<line x="59" y="0"/>
<line x="97.5" y="35"/>
<line x="59" y="70"/>
<line x="59" y="50"/>
<line x="0" y="50"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
</shapes>

View File

@ -0,0 +1,65 @@
export function createEditor(div) {
if (!div) {
throw new Error('Must pass a container to render editor');
}
const editorUi = new window.EditorUi(new window.Editor(false), div);
const setXml = (xml) => {
const xmlDoc = window.mxUtils.parseXml(xml);
const codec = new window.mxCodec(xmlDoc);
editorUi.editor.graph.model.beginUpdate();
try {
editorUi.editor.graph.model.clear();
editorUi.editor.graph.view.scale = 1;
editorUi.editor.updateGraphComponents();
codec.decode(xmlDoc.documentElement, editorUi.editor.graph.getModel());
} finally {
editorUi.editor.graph.model.endUpdate();
}
editorUi.editor.fireEvent(new window.mxEventObject('resetGraphView'));
};
const getXml = () => {
return window.mxUtils.getXml(editorUi.editor.getGraphXml());
};
editorUi.setXml = setXml;
editorUi.getXml = getXml;
return editorUi;
}
export function renderXml(div, xml) {
const graph = new window.Graph(div);
graph.resizeContainer = true;
graph.setEnabled(false);
const setXml = (xml) => {
const xmlDoc = window.mxUtils.parseXml(xml);
const codec = new window.mxCodec(xmlDoc);
codec.decode(xmlDoc.documentElement, graph.getModel());
};
setXml(xml);
graph.setXml = setXml;
return graph;
}
export function load() {
if (typeof window !== 'undefined' && window.mxClient && window.EditorUi) {
return Promise.resolve();
} else {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.onload = resolve;
script.onerror = reject;
script.src = '/diagram.min.js';
document.head.appendChild(script);
});
}
}

View File

@ -15,8 +15,6 @@ function MyApp({ Component, pageProps }: AppProps) {
<> <>
<Head> <Head>
<meta name="viewport" content="viewport-fit=cover" /> <meta name="viewport" content="viewport-fit=cover" />
{/* <script src="/drawio.embed.js"></script> */}
<script src="/viewer.min.js"></script>
</Head> </Head>
<Component {...pageProps} /> <Component {...pageProps} />
</> </>

View File

@ -41,7 +41,7 @@ const RecentDocs = () => {
width={200} width={200}
render={(_, document: IDocument) => { render={(_, document: IDocument) => {
return ( return (
<Link href={'/wiki/[wikiId]/document/[docId]'} as={`/wiki/${document.wikiId}/document/${document.id}`}> <Link href={'/wiki/[wikiId]/document/[documentId]'} as={`/wiki/${document.wikiId}/document/${document.id}`}>
<a style={{ color: 'inherit', textDecoration: 'none' }}>{document.title}</a> <a style={{ color: 'inherit', textDecoration: 'none' }}>{document.title}</a>
</Link> </Link>
); );

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,18 @@
import { Button, Space } from '@douyinfe/semi-ui'; import { Button, Space, Spin, Typography } from '@douyinfe/semi-ui';
import { NodeViewWrapper } from '@tiptap/react'; import { NodeViewWrapper } from '@tiptap/react';
import cls from 'classnames'; import cls from 'classnames';
import { IconMindCenter, IconZoomIn, IconZoomOut } from 'components/icons'; import { IconMindCenter, IconZoomIn, IconZoomOut } from 'components/icons';
import { Resizeable } from 'components/resizeable'; import { Resizeable } from 'components/resizeable';
import { convertColorToRGBA } from 'helpers/color'; import { load, renderXml } from 'diagram';
import { Theme, useTheme } from 'hooks/use-theme'; import { useToggle } from 'hooks/use-toggle';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useCallback, useEffect, useRef, useState } from 'react';
import { Flow } from 'tiptap/core/extensions/flow'; import { Flow } from 'tiptap/core/extensions/flow';
import { getEditorContainerDOMSize } from 'tiptap/prose-utils'; import { getEditorContainerDOMSize } from 'tiptap/prose-utils';
import styles from './index.module.scss'; import styles from './index.module.scss';
const INHERIT_SIZE_STYLE = { width: '100%', height: '100%', maxWidth: '100%', overflow: 'hidden' }; const { Text } = Typography;
const INHERIT_SIZE_STYLE = { width: '100%', height: '100%', maxWidth: '100%' };
const ICON_STYLE = { fontSize: '0.85em' }; const ICON_STYLE = { fontSize: '0.85em' };
export const FlowWrapper = ({ editor, node, updateAttributes }) => { export const FlowWrapper = ({ editor, node, updateAttributes }) => {
@ -19,48 +20,27 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => {
const isActive = editor.isActive(Flow.name); const isActive = editor.isActive(Flow.name);
const { width: maxWidth } = getEditorContainerDOMSize(editor); const { width: maxWidth } = getEditorContainerDOMSize(editor);
const { data, width, height } = node.attrs; const { data, width, height } = node.attrs;
const { theme } = useTheme(); const $graph = useRef(null);
const $viewer = useRef(null);
const $container = useRef<HTMLElement>(); const $container = useRef<HTMLElement>();
const [bgColor, setBgColor] = useState('var(--semi-color-fill-0)'); const [bgColor, setBgColor] = useState('var(--semi-color-fill-0)');
const bgColorOpacity = useMemo(() => { const [loading, toggleLoading] = useToggle(true);
if (!bgColor) return bgColor; const [error, setError] = useState(null);
if (theme === Theme.dark) return convertColorToRGBA(bgColor, 0.85);
return bgColor;
}, [bgColor, theme]);
const graphData = useMemo(() => {
if (!data) return null;
const content = data.replace(/<!--.*?-->/gs, '').trim();
const config = JSON.stringify({
'lightbox': false,
'nav': false,
'resize': true,
'xml': content,
'zoom': 1,
'auto-fit': true,
'allow-zoom-in': true,
'allow-zoom-out': true,
'forceCenter': true,
});
return config;
}, [data]);
const center = useCallback(() => { const center = useCallback(() => {
const graph = $viewer.current && $viewer.current.graph; const graph = $graph.current;
if (!graph) return; if (!graph) return;
graph.fit(); graph.fit();
graph.center(true, false); graph.center();
}, []); }, []);
const zoomOut = useCallback(() => { const zoomOut = useCallback(() => {
const graph = $viewer.current && $viewer.current.graph; const graph = $graph.current;
if (!graph) return; if (!graph) return;
graph.zoomOut(); graph.zoomOut();
}, []); }, []);
const zoomIn = useCallback(() => { const zoomIn = useCallback(() => {
const graph = $viewer.current && $viewer.current.graph; const graph = $graph.current;
if (!graph) return; if (!graph) return;
graph.zoomIn(); graph.zoomIn();
}, []); }, []);
@ -72,19 +52,23 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => {
[updateAttributes] [updateAttributes]
); );
const render = useCallback((div) => { const render = useCallback(
if (!div) return; (div) => {
// @ts-ignore if (!div) return;
const DrawioViewer = window.GraphViewer;
if (DrawioViewer) { // load().then(() => {
div.innerHTML = ''; if (!$graph.current) {
DrawioViewer.createViewerForElement(div, (viewer) => { const graph = renderXml(div, data);
$viewer.current = viewer; $graph.current = graph;
const background = viewer?.graph?.background; } else {
background && setBgColor(background); $graph.current.setXml(data);
}); }
}
}, []); $graph.current.center();
// });
},
[data]
);
const setMxgraph = useCallback( const setMxgraph = useCallback(
(div) => { (div) => {
@ -95,8 +79,8 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => {
); );
useEffect(() => { useEffect(() => {
render($container.current); load().catch(setError).finally(toggleLoading);
}, [graphData, render]); }, [toggleLoading]);
return ( return (
<NodeViewWrapper className={cls(styles.wrap, isActive && styles.isActive)}> <NodeViewWrapper className={cls(styles.wrap, isActive && styles.isActive)}>
@ -110,16 +94,18 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => {
> >
<div <div
className={cls(styles.renderWrap, 'render-wrapper')} className={cls(styles.renderWrap, 'render-wrapper')}
style={{ ...INHERIT_SIZE_STYLE, backgroundColor: bgColorOpacity }} style={{ ...INHERIT_SIZE_STYLE, backgroundColor: bgColor }}
> >
{graphData && ( {loading && (
<div <div>
className="mxgraph" <Spin spinning>
style={{ width: maxWidth, height }} {/* FIXME: semi-design 的问题,不加 div文字会换行! */}
ref={setMxgraph} <div></div>
data-mxgraph={graphData} </Spin>
></div> </div>
)} )}
{error && <Text>{(error && error.message) || '未知错误'}</Text>}
{!loading && !error && <div ref={setMxgraph}></div>}
</div> </div>
<div className={styles.toolbarWrap}> <div className={styles.toolbarWrap}>

View File

@ -1,18 +1,48 @@
import { Modal } from '@douyinfe/semi-ui'; import { Modal, Spin, Typography } from '@douyinfe/semi-ui';
import { Theme, useTheme } from 'hooks/use-theme'; import { createEditor, load } from 'diagram';
import { useToggle } from 'hooks/use-toggle'; import { useToggle } from 'hooks/use-toggle';
import { useEffect, useRef, useState } from 'react'; import { useCallback, useEffect, useRef, useState } from 'react';
import { Editor } from 'tiptap/editor'; import { Editor } from 'tiptap/editor';
import { cancelSubject, OPEN_FLOW_SETTING_MODAL, subject } from '../_event'; import { cancelSubject, OPEN_FLOW_SETTING_MODAL, subject } from '../_event';
type IProps = { editor: Editor }; type IProps = { editor: Editor };
const { Text } = Typography;
export const FlowSettingModal: React.FC<IProps> = ({ editor }) => { export const FlowSettingModal: React.FC<IProps> = ({ editor }) => {
const { theme } = useTheme(); const $editor = useRef(null);
const $iframe = useRef<HTMLIFrameElement>();
const [initialData, setInitialData] = useState(''); const [initialData, setInitialData] = useState('');
const [visible, toggleVisible] = useToggle(false); const [visible, toggleVisible] = useToggle(false);
const [loading, toggleLoading] = useToggle(true);
const [error, setError] = useState(null);
const renderEditor = useCallback(
(div) => {
if (!div) return;
load()
.then(() => {
const editor = createEditor(div);
$editor.current = editor;
editor.setXml(initialData);
})
.catch(setError)
.finally(toggleLoading);
},
[toggleLoading, initialData]
);
const save = useCallback(() => {
if (!$editor.current) {
toggleVisible(false);
return;
}
const data = $editor.current?.getXml();
editor.chain().focus().setFlow({ data }).run();
toggleVisible(false);
}, [editor, toggleVisible]);
useEffect(() => { useEffect(() => {
const handler = (data) => { const handler = (data) => {
@ -27,41 +57,17 @@ export const FlowSettingModal: React.FC<IProps> = ({ editor }) => {
}; };
}, [editor, toggleVisible]); }, [editor, toggleVisible]);
useEffect(() => {
const receiver = (evt) => {
if (!evt.data) {
toggleVisible(false);
return;
}
if (evt.data == 'ready') {
$iframe.current && $iframe.current.contentWindow.postMessage(initialData, '*');
} else {
if (evt.data.length > 0) {
const data = evt.data;
editor.chain().focus().setFlow({ data }).run();
}
}
};
window.addEventListener('message', receiver);
return () => {
window.removeEventListener('message', receiver);
};
}, [editor, toggleVisible, initialData]);
return ( return (
<Modal centered title="流程图" fullScreen visible={visible} header={null} footer={null}> <Modal centered title="流程图" fullScreen visible={visible} onCancel={toggleVisible} onOk={save}>
<div style={{ height: '100%', margin: '0 -24px' }}> <div style={{ height: '100%', margin: '0 -24px', border: '1px solid var(--semi-color-border)' }}>
<iframe {loading && (
ref={$iframe} <Spin spinning>
src={`${process.env.DRAWIO_URL}?embed=1&ui=${ {/* FIXME: semi-design 的问题,不加 div文字会换行! */}
theme === Theme.dark ? 'dark' : 'atlas' <div></div>
}&lang=zh&hide-pages=1&drafts=0&client=1&spin=1&grid=1`} </Spin>
style={{ width: '100%', height: '100%' }} )}
frameBorder={0} {error && <Text>{(error && error.message) || '未知错误'}</Text>}
></iframe> <div className="geEditor" ref={renderEditor}></div>
</div> </div>
</Modal> </Modal>
); );

View File

@ -27,7 +27,8 @@
"constants/*": ["constants/*"], "constants/*": ["constants/*"],
"helpers/*": ["helpers/*"], "helpers/*": ["helpers/*"],
"tiptap/*": ["tiptap/*"], "tiptap/*": ["tiptap/*"],
"event/*": ["event/*"] "event/*": ["event/*"],
"diagram/*": ["diagram/*"]
} }
}, },
"include": ["next-env.d.ts", "global.d.ts", "**/*.ts", "**/*.tsx"], "include": ["next-env.d.ts", "global.d.ts", "**/*.ts", "**/*.tsx"],