changeset 2:4c5a29c7bb47

modify nobu-prosym.tex
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Fri, 18 Nov 2011 06:33:48 +0900
parents 878e70793abe
children 5dfa978ee319
files Paper/figure/codesegment.eps Paper/figure/codesegment.graffle Paper/figure/factorial.eps Paper/figure/factorial.graffle Paper/figure/fastcall.eps Paper/figure/fastcall.graffle Paper/nobu-prosym.aux Paper/nobu-prosym.dvi Paper/nobu-prosym.log Paper/nobu-prosym.pdf Paper/nobu-prosym.tex Paper/nobu-prosym.tex~
diffstat 12 files changed, 631 insertions(+), 484 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/figure/codesegment.eps	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/codesegment.eps	Fri Nov 18 06:33:48 2011 +0900
@@ -1,5 +1,5 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%HiResBoundingBox: 0.000000 0.000000 385.000000 201.000000
+%%HiResBoundingBox: 0.000000 0.000000 393.000000 201.000000
 %APL_DSC_Encoding: UTF8
 %APLProducer: (Version 10.7.2 (Build 11C74) Quartz PS Context)
 %%Title: (Unknown)
@@ -9,7 +9,7 @@
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 2
 %%Pages: 1
-%%BoundingBox: 0 0 385 201
+%%BoundingBox: 0 0 590 302
 %%EndComments
 %%BeginProlog
 %%BeginFile: cg-pdf.ps
@@ -641,7 +641,7 @@
 %%BeginSetup
 %%EndSetup
 %%Page: 1 1
-%%PageBoundingBox: 0 0 385 201
+%%PageBoundingBox: 0 0 590 302
 %%BeginPageSetup
 cg_md begin
 bp
@@ -651,15 +651,15 @@
 
14 dict begin/FontName /Helvetica def
 
/PaintType 0 def
 
/Encoding 256 array 0 1 255{1 index exch/.notdef put}for
-
dup 33 /c put
+
dup 33 /g put
 
dup 34 /o put
-
dup 35 /d put
-
dup 36 /e put
-
dup 37 /s put
-
dup 38 /g put
-
dup 39 /m put
-
dup 40 /n put
-
dup 41 /t put
+
dup 35 /t put
+
dup 36 /c put
+
dup 37 /d put
+
dup 38 /e put
+
dup 39 /s put
+
dup 40 /m put
+
dup 41 /n put
 
readonly def
 
42/FontType resourcestatus{pop pop false}{true}ifelse
 
%APLsfntBegin
@@ -732,157 +732,167 @@
 /Cs1 SC
 1 1 1 sc
 q
-0 0 385 201 rc
--87.5 244.5 m
-471.5 244.5 l
-471.5 -538.5 l
--87.5 -538.5 l
+0 0 589.5 301.5 rc
+-121.50047 366.49722 m
+716.99951 366.49722 l
+716.99951 -808.00281 l
+-121.50047 -808.00281 l
 h
--87.5 244.5 m
+-121.50047 366.49722 m
 f
-217.95581 182.09186 m
-232.01477 171.54771 232.01477 154.45229 217.95581 143.90814 c
-203.89694 133.36394 181.10306 133.36394 167.04419 143.90814 c
-152.98524 154.45229 152.98524 171.54771 167.04419 182.09186 c
-181.10306 192.63606 203.89694 192.63606 217.95581 182.09186 c
+/Cs2 SC
+0 sc
+0 i
+1.5 0 0 -1.5 209.2998 204.28125 cm
+/F1.1[ 12 0 0 -12 0 0]sf
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
+0.60000002 i
+/Cs1 SC
+1 1 1 sc
+CM
+335.93372 273.13779 m
+357.02216 257.32156 357.02216 231.67844 335.93372 215.86221 c
+314.8454 200.0459 280.6546 200.0459 259.56628 215.86221 c
+238.47787 231.67844 238.47787 257.32156 259.56628 273.13779 c
+280.6546 288.9541 314.8454 288.9541 335.93372 273.13779 c
 f
 1 J
 1 j
 0 0 0 sc
-1 0 0 -1 -87 244 cm
-304.95581 61.908142 m
-319.01477 72.452286 319.01477 89.547714 304.95581 100.09186 c
-290.89694 110.63606 268.10306 110.63606 254.04419 100.09186 c
-239.98524 89.547714 239.98524 72.452286 254.04419 61.908142 c
-268.10306 51.363937 290.89694 51.363937 304.95581 61.908142 c
+1.5 0 0 -1.5 -121.5 366 cm
+304.95581 61.908138 m
+319.01477 72.452286 319.01477 89.547707 304.95581 100.09185 c
+290.89694 110.63606 268.10309 110.63606 254.04419 100.09185 c
+239.98526 89.547707 239.98526 72.452286 254.04419 61.908138 c
+268.10309 51.363926 290.89694 51.363926 304.95581 61.908138 c
 S
 /Cs2 SC
 0 sc
 0 i
-1 0 0 -1 192.5 163 cm
-/F1.1[ 12 0 0 -12 0 0]sf
+1.5 0 0 -1.5 297.75 244.5 cm
 -13.010742 -3 m
-(!"#$)[ 6.000000 6.673828 6.673828 0.000000 ] xS
+($"%&)[ 6.000000 6.673828 6.673828 0.000000 ] xS
 -23.012695 11 m
-(%$&'$\(\))[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+('&!\(&\)#)[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
 0.60000002 i
 /Cs1 SC
 1 1 1 sc
 CM
-121.45581 119.09186 m
-135.51476 108.54771 135.51476 91.452286 121.45581 80.908142 c
-107.39696 70.363937 84.603043 70.363937 70.544189 80.908142 c
-56.485245 91.452286 56.485245 108.54771 70.544189 119.09186 c
-84.603043 129.63606 107.39696 129.63606 121.45581 119.09186 c
+191.18372 178.63779 m
+212.27213 162.82156 212.27213 137.17844 191.18372 121.36221 c
+170.09543 105.54591 135.90457 105.54591 114.81628 121.36221 c
+93.727867 137.17844 93.727867 162.82156 114.81628 178.63779 c
+135.90457 194.4541 170.09543 194.4541 191.18372 178.63779 c
 f
 0 0 0 sc
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 208.45581 124.90814 m
-222.51476 135.45229 222.51476 152.54771 208.45581 163.09186 c
-194.39696 173.63606 171.60304 173.63606 157.54419 163.09186 c
-143.48524 152.54771 143.48524 135.45229 157.54419 124.90814 c
-171.60304 114.36394 194.39696 114.36394 208.45581 124.90814 c
+222.51476 135.45229 222.51476 152.5477 208.45581 163.09186 c
+194.39696 173.63606 171.60306 173.63606 157.54419 163.09186 c
+143.48524 152.5477 143.48524 135.45229 157.54419 124.90814 c
+171.60306 114.36393 194.39696 114.36393 208.45581 124.90814 c
 S
 /Cs2 SC
 0 sc
 0 i
-1 0 0 -1 96 100 cm
+1.5 0 0 -1.5 153 150 cm
 -13.010742 -3 m
-(!"#$)[ 6.000000 6.673828 6.673828 0.000000 ] xS
+($"%&)[ 6.000000 6.673828 6.673828 0.000000 ] xS
 -23.012695 11 m
-(%$&'$\(\))[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+('&!\(&\)#)[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
 0.60000002 i
 /Cs1 SC
 1 1 1 sc
 CM
-217.95581 57.091858 m
-232.01477 46.547714 232.01477 29.452286 217.95581 18.908142 c
-203.89694 8.3639374 181.10306 8.3639374 167.04419 18.908142 c
-152.98524 29.452286 152.98524 46.547714 167.04419 57.091858 c
-181.10306 67.636063 203.89694 67.636063 217.95581 57.091858 c
+335.93372 85.637787 m
+357.02216 69.821571 357.02216 44.178429 335.93372 28.362213 c
+314.8454 12.545906 280.6546 12.545906 259.56628 28.362213 c
+238.47787 44.178429 238.47787 69.821571 259.56628 85.637787 c
+280.6546 101.45409 314.8454 101.45409 335.93372 85.637787 c
 f
 0 0 0 sc
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 304.95581 186.90814 m
 319.01477 197.45229 319.01477 214.54771 304.95581 225.09186 c
-290.89694 235.63606 268.10306 235.63606 254.04419 225.09186 c
-239.98524 214.54771 239.98524 197.45229 254.04419 186.90814 c
-268.10306 176.36394 290.89694 176.36394 304.95581 186.90814 c
+290.89694 235.63606 268.10309 235.63606 254.04419 225.09186 c
+239.98526 214.54771 239.98526 197.45229 254.04419 186.90814 c
+268.10309 176.36394 290.89694 176.36394 304.95581 186.90814 c
 S
 /Cs2 SC
 0 sc
 0 i
-1 0 0 -1 192.5 38 cm
+1.5 0 0 -1.5 297.75 57 cm
 -13.010742 -3 m
-(!"#$)[ 6.000000 6.673828 6.673828 0.000000 ] xS
+($"%&)[ 6.000000 6.673828 6.673828 0.000000 ] xS
 -23.012695 11 m
-(%$&'$\(\))[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+('&!\(&\)#)[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
 0.60000002 i
 /Cs1 SC
 1 1 1 sc
 CM
-314.45581 119.09186 m
-328.51477 108.54771 328.51477 91.452286 314.45581 80.908142 c
-300.39694 70.363937 277.60306 70.363937 263.54419 80.908142 c
-249.48523 91.452286 249.48523 108.54771 263.54419 119.09186 c
-277.60306 129.63606 300.39694 129.63606 314.45581 119.09186 c
+480.68372 178.63779 m
+501.77216 162.82156 501.77216 137.17844 480.68372 121.36221 c
+459.5954 105.54591 425.4046 105.54591 404.31628 121.36221 c
+383.22784 137.17844 383.22784 162.82156 404.31628 178.63779 c
+425.4046 194.4541 459.5954 194.4541 480.68372 178.63779 c
 f
 0 0 0 sc
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 401.45581 124.90814 m
-415.51477 135.45229 415.51477 152.54771 401.45581 163.09186 c
-387.39694 173.63606 364.60306 173.63606 350.54419 163.09186 c
-336.48523 152.54771 336.48523 135.45229 350.54419 124.90814 c
-364.60306 114.36394 387.39694 114.36394 401.45581 124.90814 c
+415.51477 135.45229 415.51477 152.5477 401.45581 163.09186 c
+387.39694 173.63606 364.60309 173.63606 350.54419 163.09186 c
+336.48523 152.5477 336.48523 135.45229 350.54419 124.90814 c
+364.60309 114.36393 387.39694 114.36393 401.45581 124.90814 c
 S
 /Cs2 SC
 0 sc
 0 i
-1 0 0 -1 289 100 cm
+1.5 0 0 -1.5 442.5 150 cm
 -13.010742 -3 m
-(!"#$)[ 6.000000 6.673828 6.673828 0.000000 ] xS
+($"%&)[ 6.000000 6.673828 6.673828 0.000000 ] xS
 -23.012695 11 m
-(%$&'$\(\))[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
+('&!\(&\)#)[ 6.000000 6.673828 6.673828 9.996094 6.673828 6.673828 0.000000 ] xS
 0.60000002 i
 /Cs1 SC
 0 0 0 sc
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 263.99042 181.10806 m
-255.66112 167.74005 239.17242 153.59843 239 141 c
-238.86552 131.1747 248.65485 122.2834 256.7583 113.23431 c
+255.66112 167.74005 239.17242 153.59842 239 141 c
+238.86552 131.1747 248.65485 122.2834 256.7583 113.23432 c
 S
 CM
-174.76678 137.00809 m
-167.42043 132.64566 l
-172.10031 128.89084 l
+271.15018 205.51215 m
+260.13065 198.96848 l
+267.15045 193.33626 l
 h
-174.76678 137.00809 m
+271.15018 205.51215 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
-261.76678 106.99191 m
-254.42043 111.35434 l
-259.10031 115.10916 l
+1.5 0 0 -1.5 -121.5 366 cm
+261.76678 106.9919 m
+254.42044 111.35435 l
+259.10031 115.10915 l
 h
-261.76678 106.99191 m
+261.76678 106.9919 m
 S
 1 J
 1 j
-293.55569 106.37833 m
-300.86972 119.58424 315.33691 133.57384 315.5 146 c
-315.62512 155.53319 307.33127 164.15057 300.30731 172.90524 c
+293.55573 106.37833 m
+300.86972 119.58424 315.33691 133.57382 315.5 146 c
+315.62512 155.53317 307.33127 164.15057 300.30731 172.90524 c
 S
 CM
-208.64276 64.600464 m
-215.74634 69.348007 l
-210.87311 72.848221 l
+321.96414 96.900696 m
+332.61951 104.02201 l
+325.30966 109.27233 l
 h
-208.64276 64.600464 m
+321.96414 96.900696 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 295.64276 179.39954 m
 302.74634 174.65199 l
 297.87311 171.15178 l
@@ -892,39 +902,39 @@
 1 J
 1 j
 210.57339 125.99872 m
-243.63681 104.41327 l
+243.63681 104.41328 l
 S
 CM
-163.33562 143.96004 m
-154.99681 142.09877 l
-158.27679 137.07466 l
+254.00342 215.94006 m
+241.49521 213.14816 l
+246.41519 205.612 l
 h
-163.33562 143.96004 m
+254.00342 215.94006 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 250.33562 100.03996 m
-241.99681 101.90123 l
-245.27679 106.92534 l
+241.99681 101.90122 l
+245.27679 106.92533 l
 h
 250.33562 100.03996 m
 S
 1 J
 1 j
-210.76186 161.83664 m
-243.40907 182.81206 l
+210.76187 161.83664 m
+243.40909 182.81206 l
 S
 CM
-163.13963 56.863647 m
-158.03069 63.711899 l
-154.78746 58.663986 l
+253.70944 85.295471 m
+246.04602 95.567848 l
+241.18118 87.995979 l
 h
-163.13963 56.863647 m
+253.70944 85.295471 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 250.13963 187.13635 m
 245.03069 180.2881 l
 241.78746 185.33601 l
@@ -934,18 +944,18 @@
 1 J
 1 j
 307.26184 188.16338 m
-339.90909 167.18794 l
+339.90912 167.18794 l
 S
 CM
-259.63965 81.136353 m
-251.28748 79.336014 l
-254.5307 74.288101 l
+398.45947 121.70453 m
+385.93121 119.00402 l
+390.79605 111.43215 l
 h
-259.63965 81.136353 m
+398.45947 121.70453 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
+1.5 0 0 -1.5 -121.5 366 cm
 346.63965 162.86365 m
 338.28748 164.66399 l
 341.5307 169.7119 l
@@ -954,67 +964,95 @@
 S
 1 J
 1 j
-307.07343 99.001297 m
-340.13684 120.58673 l
+307.13544 98.947426 m
+340.27963 120.47243 l
 S
 CM
-259.83563 119.03996 m
-254.77682 125.92533 l
-251.49683 120.90122 l
+398.9834 178.75549 m
+391.37042 189.06532 l
+386.46854 181.51738 l
 h
-259.83563 119.03996 m
+398.9834 178.75549 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
-346.83563 124.96004 m
-341.77682 118.07467 l
-338.49683 123.09878 l
+1.5 0 0 -1.5 -121.5 366 cm
+346.98895 124.82967 m
+341.91364 117.95645 l
+338.64569 122.98841 l
 h
-346.83563 124.96004 m
+346.98895 124.82967 m
 S
 1 J
 1 j
-412.50003 144 m
-447.67145 144 l
+97 144.03549 m
+133.17142 144.02058 l
 S
 CM
-372.10001 100 m
-360.67145 104.28572 l
-360.67145 95.714294 l
+95.399986 149.97623 m
+78.254471 156.39771 l
+78.259781 143.54056 l
 h
-372.10001 100 m
+95.399986 149.97623 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
-459.10001 144 m
-447.67145 139.71428 l
-447.67145 148.28571 l
+1.5 0 0 -1.5 -121.5 366 cm
+144.59999 144.01584 m
+133.16965 139.73486 l
+133.17319 148.30629 l
 h
-459.10001 144 m
+144.59999 144.01584 m
 S
+/Cs2 SC
+0 sc
+0 i
+1.5 0 0 -1.5 290.9502 150.75 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
+1.5 0 0 -1.5 54 163.5 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
 1 J
 1 j
-98.500031 144.5 m
-133.17278 144.29485 l
+0.60000002 i
+/Cs1 SC
+0 0 0 sc
+1.5 0 0 -1.5 -121.5 366 cm
+412.93359 143.02042 m
+449.10507 143.00551 l
 S
 CM
-57.601151 99.772781 m
-46.147415 103.99078 l
-46.198151 95.41951 l
+569.30042 151.49884 m
+552.15491 157.92032 l
+552.16022 145.06317 l
 h
-57.601151 99.772781 m
+569.30042 151.49884 m
 f
 0 J
 0 j
-1 0 0 -1 -87 244 cm
-144.60115 144.22722 m
-133.14742 140.00922 l
-133.19815 148.58049 l
+1.5 0 0 -1.5 -121.5 366 cm
+460.53363 143.00076 m
+449.10327 138.71979 l
+449.10681 147.29121 l
 h
-144.60115 144.22722 m
+460.53363 143.00076 m
 S
+/Cs2 SC
+0 sc
+0 i
+1.5 0 0 -1.5 527.90039 165 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
+1.5 0 0 -1.5 198.25488 101.71875 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
+1.5 0 0 -1.5 386.2002 95.71875 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
+1.5 0 0 -1.5 386.2002 217.78125 cm
+-11.677734 4 m
+(!"#")[ 6.673828 6.673828 3.333984 0.000000 ] xS
 ep
 end
 %%Trailer
--- a/Paper/figure/codesegment.graffle	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/codesegment.graffle	Fri Nov 18 06:33:48 2011 +0900
@@ -1026,115 +1026,115 @@
 	YW52YXMgMSkKPj4KZW5kb2JqCjE4IDAgb2JqCjw8ID4+CmVuZG9iagoxNiAwIG9iago8
 	PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMg
 	bnVsbCBdIC9UaXRsZSAoQ2FudmFzIDEpCj4+CmVuZG9iagoxMCAwIG9iago8PCAvVHlw
-	ZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9IS1NZR0ErSGVsdmV0
+	ZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9LR1JUWkkrSGVsdmV0
 	aWNhIC9Gb250RGVzY3JpcHRvcgoxOSAwIFIgL0VuY29kaW5nIC9NYWNSb21hbkVuY29k
 	aW5nIC9GaXJzdENoYXIgOTkgL0xhc3RDaGFyIDExNiAvV2lkdGhzIFsgNTAwCjU1NiA1
 	NTYgMCA1NTYgMCAwIDAgMCAwIDgzMyA1NTYgNTU2IDAgMCAwIDUwMCAyNzggXSA+Pgpl
 	bmRvYmoKMTkgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAv
-	SEtTWUdBK0hlbHZldGljYSAvRmxhZ3MgMzIgL0ZvbnRCQm94IFstOTUxIC00ODEgMTQ0
+	S0dSVFpJK0hlbHZldGljYSAvRmxhZ3MgMzIgL0ZvbnRCQm94IFstOTUxIC00ODEgMTQ0
 	NSAxMTIyXQovSXRhbGljQW5nbGUgMCAvQXNjZW50IDc3MCAvRGVzY2VudCAtMjMwIC9D
 	YXBIZWlnaHQgNzE3IC9TdGVtViAwIC9YSGVpZ2h0CjYzNyAvTWF4V2lkdGggMTUwMCAv
 	Rm9udEZpbGUyIDIwIDAgUiA+PgplbmRvYmoKMjAgMCBvYmoKPDwgL0xlbmd0aCAyMSAw
 	IFIgL0xlbmd0aDEgNzgwOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9
-	WXt4U1W2X/s8ck6TNk3StHmeJmmapOn7QUtLCw0laUsLpbQIDVLog0LLQyrUKo4wRWGU
-	giiiyMNPRUeeIqEwEGBkkIuD3HFGdBSEcWZ0ROX62Y+5c0EdpMld56RUyjf68YefZ2fv
-	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
+	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
+	64Z4ZXwsbaEp+kaCwWC8YZs3+FU00FB0Kkvc3CJuI0t0GgMl/aqBSznZcXnqvHi7Gici
+	fsXEi+7TmY/7ft6uQ3v3OuNzYhK1lnGuFTM2bGBnhD7YOOArjFMQan0Uv3Ie9eZG6ftN
+	3FUg3Ip32P/pkWNhuXQTXindw9fCNJguVSTSN6pIyvD/SqgaXzt1xoS0itaFXa2d7S1N
+	WE6kemKSjbEE40SMMzGK96oPYVyH8TmMr2L8bXjwQRqGaILfwsP5Obfxkt631J93m1z6
+	7/cW+T23yRffxi+9jZf+u/1/P24KkwplbmRzdHJlYW0KZW5kb2JqCjIxIDAgb2JqCjQ5
 	MjEKZW5kb2JqCjIyIDAgb2JqCihNYWMgT1MgWCAxMC43LjIgUXVhcnR6IFBERkNvbnRl
-	eHQpCmVuZG9iagoyMyAwIG9iagooRDoyMDExMTExNTIyMjcyMFowMCcwMCcpCmVuZG9i
+	eHQpCmVuZG9iagoyMyAwIG9iagooRDoyMDExMTExNTIyMjc1OFowMCcwMCcpCmVuZG9i
 	agoxIDAgb2JqCjw8IC9Qcm9kdWNlciAyMiAwIFIgL0NyZWF0aW9uRGF0ZSAyMyAwIFIg
 	L01vZERhdGUgMjMgMCBSID4+CmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUz
 	NSBmIAowMDAwMDEwMTUxIDAwMDAwIG4gCjAwMDAwMDQzMTIgMDAwMDAgbiAKMDAwMDAw
@@ -1147,14 +1147,14 @@
 	MDAwMCBuIAowMDAwMDA0ODAwIDAwMDAwIG4gCjAwMDAwMDUwMjUgMDAwMDAgbiAKMDAw
 	MDAxMDAzNiAwMDAwMCBuIAowMDAwMDEwMDU3IDAwMDAwIG4gCjAwMDAwMTAxMDkgMDAw
 	MDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNCAvUm9vdCAxNSAwIFIgL0luZm8gMSAwIFIg
-	L0lEIFsgPDA5MDk4NDBmMTQ4NDJiYjNiZGUzZjc4MTViODlhZjY1Pgo8MDkwOTg0MGYx
-	NDg0MmJiM2JkZTNmNzgxNWI4OWFmNjU+IF0gPj4Kc3RhcnR4cmVmCjEwMjI2CiUlRU9G
+	L0lEIFsgPGQyNjYyNzQ4YTAxMGU0NDg4ZDkwODEzODQ1ZTIzYWIyPgo8ZDI2NjI3NDhh
+	MDEwZTQ0ODhkOTA4MTM4NDVlMjNhYjI+IF0gPj4Kc3RhcnR4cmVmCjEwMjI2CiUlRU9G
 	CjEgMCBvYmoKPDwvQXV0aG9yIChOb2J1eWFzdSBPc2hpcm8pL0NyZWF0aW9uRGF0ZSAo
 	RDoyMDExMTExMjExMDMwMFopL0NyZWF0b3IgKE9tbmlHcmFmZmxlIDUuMi4yKS9Nb2RE
 	YXRlIChEOjIwMTExMTE1MjIyNzAwWikvUHJvZHVjZXIgMjIgMCBSIC9UaXRsZSAoY29k
 	ZXNlZ21lbnQpPj4KZW5kb2JqCnhyZWYKMSAxCjAwMDAwMTA4NjQgMDAwMDAgbiAKdHJh
-	aWxlcgo8PC9JRCBbPDA5MDk4NDBmMTQ4NDJiYjNiZGUzZjc4MTViODlhZjY1PiA8MDkw
-	OTg0MGYxNDg0MmJiM2JkZTNmNzgxNWI4OWFmNjU+XSAvSW5mbyAxIDAgUiAvUHJldiAx
+	aWxlcgo8PC9JRCBbPGQyNjYyNzQ4YTAxMGU0NDg4ZDkwODEzODQ1ZTIzYWIyPiA8ZDI2
+	NjI3NDhhMDEwZTQ0ODhkOTA4MTM4NDVlMjNhYjI+XSAvSW5mbyAxIDAgUiAvUHJldiAx
 	MDIyNiAvUm9vdCAxNSAwIFIgL1NpemUgMjQ+PgpzdGFydHhyZWYKMTEwMzUKJSVFT0YK
 	</data>
 	<key>QuickLookThumbnail</key>
--- a/Paper/figure/factorial.eps	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/factorial.eps	Fri Nov 18 06:33:48 2011 +0900
@@ -1,5 +1,5 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%HiResBoundingBox: 0.000000 0.000000 265.000000 298.000000
+%%HiResBoundingBox: 0.000000 0.000000 259.000000 290.000000
 %APL_DSC_Encoding: UTF8
 %APLProducer: (Version 10.7.2 (Build 11C74) Quartz PS Context)
 %%Title: (Unknown)
@@ -9,7 +9,7 @@
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 2
 %%Pages: 1
-%%BoundingBox: 0 0 265 298
+%%BoundingBox: 0 0 389 435
 %%EndComments
 %%BeginProlog
 %%BeginFile: cg-pdf.ps
@@ -641,7 +641,7 @@
 %%BeginSetup
 %%EndSetup
 %%Page: 1 1
-%%PageBoundingBox: 0 0 265 298
+%%PageBoundingBox: 0 0 389 435
 %%BeginPageSetup
 cg_md begin
 bp
@@ -783,98 +783,98 @@
 /Cs1 SC
 1 1 1 sc
 q
-0 0 265 298 rc
--44.5 352.5 m
-514.5 352.5 l
-514.5 -430.5 l
--44.5 -430.5 l
+0 0 388.5 435 rc
+-68.49987 517.50787 m
+770.00012 517.50787 l
+770.00012 -656.99213 l
+-68.49987 -656.99213 l
 h
--44.5 352.5 m
+-68.49987 517.50787 m
 f
-21 286 m
-244 286 l
-248.97055 286 253 281.97058 253 277 c
-253 21 l
-253 16.029449 248.97055 12 244 12 c
-21 12 l
-16.029438 12 12 16.029449 12 21 c
-12 21 12 21 12 21 c
-11.999985 277 l
-11.999985 281.97058 16.029423 286 20.999985 286 c
+31.5 417 m
+357 417 l
+364.45581 417 370.5 410.95584 370.5 403.5 c
+370.5 31.5 l
+370.5 24.044174 364.45581 18 357 18 c
+31.5 18 l
+24.044157 18 18 24.044174 18 31.5 c
+18 31.5 18 31.5 18 31.5 c
+17.999989 403.5 l
+17.999989 410.95584 24.044146 417 31.499989 417 c
 h
-21 286 m
+31.5 417 m
 f
 4 w
 1 J
 1 j
 0 0 0 sc
-1 0 0 -1 -44 352 cm
-65 66 m
-288 66 l
-292.97055 66 297 70.029419 297 75 c
-297 331 l
-297 335.97055 292.97055 340 288 340 c
-65 340 l
-60.029438 340 56 335.97055 56 331 c
-56 331 56 331 56 331 c
-55.999985 75 l
-55.999985 70.029419 60.029423 66 64.999985 66 c
+1.5 0 0 -1.5 -67.5 517.5 cm
+66 66.999992 m
+283 66.999992 l
+287.97055 66.999992 292 71.029434 292 75.999992 c
+292 324 l
+292 328.97055 287.97055 333 283 333 c
+66 333 l
+61.029438 333 57 328.97055 57 324 c
+57 324 57 324 57 324 c
+56.999992 75.999992 l
+56.999992 71.029434 61.02943 66.999992 65.999992 66.999992 c
 h
-65 66 m
+66 66.999992 m
 S
 2 w
 1 1 1 sc
-65 66 m
-288 66 l
-292.97055 66 297 70.029419 297 75 c
-297 331 l
-297 335.97055 292.97055 340 288 340 c
-65 340 l
-60.029438 340 56 335.97055 56 331 c
-56 331 56 331 56 331 c
-55.999985 75 l
-55.999985 70.029419 60.029423 66 64.999985 66 c
+66 66.999992 m
+283 66.999992 l
+287.97055 66.999992 292 71.029434 292 75.999992 c
+292 324 l
+292 328.97055 287.97055 333 283 333 c
+66 333 l
+61.029438 333 57 328.97055 57 324 c
+57 324 57 324 57 324 c
+56.999992 75.999992 l
+56.999992 71.029434 61.02943 66.999992 65.999992 66.999992 c
 h
-65 66 m
+66 66.999992 m
 S
 /Cs2 SC
 0 sc
 0 i
-1 0 0 -1 132.5 149 cm
+1.5 0 0 -1.5 194.25 217.5 cm
 /F1.1[ 12 0 0 -12 0 0]sf
--115.5 -112 m
+-112.5 -108 m
 (!!"#$%&'\(\)*+!,-"+#\(\)-./\)*+&'\(#$0)[ 6.673828 6.673828 6.000000 6.673828 6.673828 6.673828 3.333984 6.673828 3.996094 2.666016 6.673828 3.333984 6.673828 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 3.996094 2.666016 6.673828 3.333984 3.333984 6.673828 3.996094 6.673828 6.673828 0.000000 ] xS
--115.5 -98 m
+-112.5 -94 m
 (1)s
--115.5 -84 m
+-112.5 -80 m
 (&&'\(\)*+,/2,-"+#\(\)-.&3&4$5*26'\(#$07)[ 3.333984 3.333984 6.673828 3.996094 2.666016 6.673828 3.333984 3.333984 3.996094 4.259766 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 3.333984 7.007812 3.333984 10.669922 6.673828 3.333984 6.673828 4.259766 3.333984 6.673828 3.996094 6.673828 6.673828 3.996094 0.000000 ] xS
--115.5 -70 m
+-112.5 -66 m
 (&&%8\)+/907)[ 3.333984 3.333984 6.673828 6.000000 2.666016 3.333984 3.996094 6.673828 3.996094 0.000000 ] xS
--115.5 -56 m
+-112.5 -52 m
 (:)s
--115.5 -42 m
+-112.5 -38 m
 (!!"#$%&,-"+#\(\)-.9/\)*+&'\(#$6&\)*+&80)[ 6.673828 6.673828 6.000000 6.673828 6.673828 6.673828 3.333984 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 6.673828 3.996094 2.666016 6.673828 3.333984 3.333984 6.673828 3.996094 6.673828 6.673828 3.333984 3.333984 2.666016 6.673828 3.333984 3.333984 6.000000 0.000000 ] xS
--115.5 -28 m
+-112.5 -24 m
 (1)s
--115.5 -14 m
+-112.5 -10 m
 (&&\),&/&8&;3&<0&1)[ 3.333984 3.333984 2.666016 3.333984 3.333984 3.996094 3.333984 6.000000 3.333984 7.007812 7.007812 3.333984 6.673828 3.996094 3.333984 0.000000 ] xS
--115.5 0 m
+-112.5 4 m
 (&&&&=#+#&,-"+#\(\)-.9/'\(#$>86&8?<07)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 6.673828 3.333984 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 6.673828 3.996094 6.673828 3.996094 6.673828 6.673828 4.669922 6.000000 3.333984 3.333984 6.000000 3.996094 6.673828 3.996094 0.000000 ] xS
--115.5 14 m
+-112.5 18 m
 (&&:%.@%1)[ 3.333984 3.333984 4.007812 6.673828 2.666016 6.000000 6.673828 0.000000 ] xS
--115.5 28 m
+-112.5 32 m
 (&&&&=#+#&'\(\)*+!,-"+#\(\)-./'\(#$07)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 6.673828 3.333984 6.673828 3.996094 2.666016 6.673828 3.333984 6.673828 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 3.996094 6.673828 3.996094 6.673828 6.673828 3.996094 0.000000 ] xS
--115.5 42 m
+-112.5 46 m
 (&&:)[ 3.333984 3.333984 0.000000 ] xS
--115.5 56 m
+-112.5 60 m
 (:)s
--115.5 84 m
+-112.5 74 m
 (!!"#$%&,-"+#\(\)-./\)*+&80)[ 6.673828 6.673828 6.000000 6.673828 6.673828 6.673828 3.333984 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 3.996094 2.666016 6.673828 3.333984 3.333984 6.000000 0.000000 ] xS
--115.5 98 m
+-112.5 88 m
 (1)s
--115.5 112 m
+-112.5 102 m
 (&&=#+#&,-"+#\(\)-.9/<6&807)[ 3.333984 3.333984 6.673828 6.673828 3.333984 6.673828 3.333984 3.333984 6.673828 6.000000 3.333984 6.673828 3.996094 2.666016 6.673828 2.666016 6.673828 3.996094 6.673828 3.333984 3.333984 6.000000 3.996094 0.000000 ] xS
--115.5 126 m
+-112.5 116 m
 (:)s
 ep
 end
--- a/Paper/figure/factorial.graffle	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/factorial.graffle	Fri Nov 18 06:33:48 2011 +0900
@@ -6,7 +6,7 @@
 	<integer>0</integer>
 	<key>ApplicationVersion</key>
 	<array>
-		<string>com.omnigroup.OmniGrafflePro</string>
+		<string>com.omnigroup.OmniGraffle</string>
 		<string>138.33.0.157554</string>
 	</array>
 	<key>AutoAdjust</key>
@@ -44,14 +44,14 @@
 	<key>Creator</key>
 	<string>Nobuyasu Oshiro</string>
 	<key>DisplayScale</key>
-	<string>1 0/72 in = 1 0/72 in</string>
+	<string>1 0/72 in = 1.0000 in</string>
 	<key>GraphDocumentVersion</key>
 	<integer>8</integer>
 	<key>GraphicsList</key>
 	<array>
 		<dict>
 			<key>Bounds</key>
-			<string>{{56, 66}, {241, 274}}</string>
+			<string>{{57, 67}, {235, 266}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>ID</key>
@@ -118,11 +118,11 @@
     goto print_factorial(prod);\
   \}\
 \}\
-\
 __code factorial(int x)\
 \{\
   goto factorial0(1, x);\
-\}}</string>
+\}\
+}</string>
 				<key>VerticalPad</key>
 				<integer>0</integer>
 			</dict>
@@ -177,7 +177,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2011-11-13 18:42:03 +0000</string>
+	<string>2011-11-17 18:41:21 +0000</string>
 	<key>Modifier</key>
 	<string>Nobuyasu Oshiro</string>
 	<key>NotesVisible</key>
--- a/Paper/figure/fastcall.eps	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/fastcall.eps	Fri Nov 18 06:33:48 2011 +0900
@@ -1,5 +1,5 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%HiResBoundingBox: 0.000000 0.000000 393.000000 111.000000
+%%HiResBoundingBox: 0.000000 0.000000 437.000000 306.000000
 %APL_DSC_Encoding: UTF8
 %APLProducer: (Version 10.7.2 (Build 11C74) Quartz PS Context)
 %%Title: (Unknown)
@@ -9,7 +9,7 @@
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 2
 %%Pages: 1
-%%BoundingBox: 0 0 590 167
+%%BoundingBox: 0 0 656 459
 %%EndComments
 %%BeginProlog
 %%BeginFile: cg-pdf.ps
@@ -641,7 +641,7 @@
 %%BeginSetup
 %%EndSetup
 %%Page: 1 1
-%%PageBoundingBox: 0 0 590 167
+%%PageBoundingBox: 0 0 656 459
 %%BeginPageSetup
 cg_md begin
 bp
@@ -652,44 +652,67 @@
 
/PaintType 0 def
 
/Encoding 256 array 0 1 255{1 index exch/.notdef put}for
 
dup 33 /space put
-
dup 34 /i put
-
dup 35 /f put
-
dup 36 /parenleft put
-
dup 37 /exclam put
-
dup 38 /T put
-
dup 39 /A put
+
dup 34 /one put
+
dup 35 /bar put
+
dup 36 /c put
+
dup 37 /a put
+
dup 38 /s put
+
dup 39 /e put
 
dup 40 /R put
-
dup 41 /G put
-
dup 42 /E put
+
dup 41 /I put
+
dup 42 /D put
 
dup 43 /underscore put
-
dup 44 /six put
-
dup 45 /four put
-
dup 46 /B put
-
dup 47 /I put
-
dup 48 /parenright put
-
dup 49 /braceleft put
-
dup 50 /a put
-
dup 51 /t put
-
dup 52 /r put
-
dup 53 /s put
-
dup 54 /equal put
-
dup 55 /b put
-
dup 56 /u put
-
dup 57 /l put
-
dup 58 /d put
-
dup 59 /e put
-
dup 60 /g put
-
dup 61 /n put
-
dup 62 /fi put
-
dup 63 /quotedbl put
-
dup 64 /c put
-
dup 65 /comma put
-
dup 66 /N put
-
dup 67 /U put
-
dup 68 /L put
-
dup 69 /semicolon put
-
dup 70 /p put
-
dup 71 /braceright put
+
dup 44 /C put
+
dup 45 /b put
+
dup 46 /O put
+
dup 47 /E put
+
dup 48 /colon put
+
dup 49 /two put
+
dup 50 /i put
+
dup 51 /f put
+
dup 52 /parenleft put
+
dup 53 /exclam put
+
dup 54 /t put
+
dup 55 /y put
+
dup 56 /p put
+
dup 57 /o put
+
dup 58 /k put
+
dup 59 /parenright put
+
dup 60 /three put
+
dup 61 /g put
+
dup 62 /u put
+
dup 63 /semicolon put
+
dup 64 /four put
+
dup 65 /r put
+
dup 66 /equal put
+
dup 67 /five put
+
dup 68 /n put
+
dup 69 /six put
+
dup 70 /d put
+
dup 71 /l put
+
dup 72 /j put
+
dup 73 /seven put
+
dup 74 /hyphen put
+
dup 75 /greater put
+
dup 76 /w put
+
dup 77 /fi put
+
dup 78 /eight put
+
dup 79 /period put
+
dup 80 /nine put
+
dup 81 /v put
+
dup 82 /zero put
+
dup 83 /comma put
+
dup 84 /T put
+
dup 85 /A put
+
dup 86 /G put
+
dup 87 /B put
+
dup 88 /braceleft put
+
dup 89 /quotedbl put
+
dup 90 /N put
+
dup 91 /U put
+
dup 92 /L put
+
dup 93 /braceright put
+
dup 94 /m put
 
readonly def
 
42/FontType resourcestatus{pop pop false}{true}ifelse
 
%APLsfntBegin
@@ -698,21 +721,25 @@
 
/FontMatrix matrix def
 
/FontBBox[2048 -1947 1 index div -985 2 index div 2961 3 index div 2297 5 -1 roll div]cvx def
 
/sfnts [<
-
74727565000900000000000063767420000000000000009C0000036C6670676D000000000000040800000A1D676C79660000000000000E2800001CAC686561640000000000002AD400000036686865610000000000002B0C00000024686D74780000000000002B30000000A06C6F63610000000000002BD0000000526D6178700000000000002C2400000020707265700000000000002C44000003CF05C0001005BD00280580001A042F001F0000FFD90000FFDA0000FFD9FE55FFE605C70010FE6DFFF1033B000000B9000000B902FE3F3C00C0008D009B00AF000600A800C00028005E009800C9016A00B9015C00B400D6011E002E0080000400B8004C00CC01FFFFD1006600A400AF007400C2009500B1000C0028006D0015004C008E0125FF7A000C0040004C00620084FFA200240038008600BD0039005E008E00EDFFA9FFB300400052005500AA00AB00C200CB012302B10413FFAEFFE4000800510074008400AA00D1FF4CFFAF0012002C004200500051008400BE012503DAFF680018003B0098009C009F00A100C100EC018201B4FF68FF76FFD0FFE100020018001C00530053007D01B401E103AF0486FF9CFFEAFFFE001F0028002A00520060009300A300AA00AF00AF00C001000145016B0174019301950240028202B404850517FEFD00060029004700470048006F008800B400B900C400F200F901EF02180310037403C5FF35FFF3000B004B004C0052005500650076007600870087008E00AB00BB0106013001430150017D0194019501D3022A025502580277027802E6034E035C037903D3047304B2058C0598060BFEF5FFBBFFC7FFD50017001D005B0072007E009C00C200D000F400FA01030106011C0125013B0142015E015E0180019B02B901A101B9025001C001D002AA01DF01E301EF01FB0205020C0215022B0274029302AB02C202CE03690395039903DF03F5043E050205A105E5062507DBFE62FE89FECEFF3BFFE1FFF800030008002100390042004E005F0061006F00700034007F008E00AD00AD00AF00BD00C400C500C900C900C900E3011C00ED00F800F901000112011A0132014D014D014E014F01660169019E01BA01BA01BE01E301EF01F602000200020902110217021C02530262026D028002D50280031B032A034A035A03AF03AF03C803D603FB03FB04050413041504470449008C046D049A049A04A604A804B204CF0539053E054E055605800589058C036305D105D6067E068E06B206EF06F00728074C076F078C00B400C900C000C10000000000000000000000000004012400AF0032006E0063014401620096014301A10161008A00740064018801EF01700028FF5D037E0347023000AA00BE007B0062009A007D0089035C00A1FFD803AA00D70093006C0000008000A70442001D0597001D00820030002A
+
74727565000900000000000063767420000000000000009C0000036C6670676D000000000000040800000A1D676C79660000000000000E2800003010686561640000000000003E3800000036686865610000000000003E7000000024686D74780000000000003E94000000FC6C6F63610000000000003F90000000806D617870000000000000401000000020707265700000000000004030000003CF05C0001005BD00280580001A042F001F0000FFD90000FFDA0000FFD9FE55FFE605C70010FE6DFFF1033B000000B9000000B902FE3F3C00C0008D009B00AF000600A800C00028005E009800C9016A00B9015C00B400D6011E002E0080000400B8004C00CC01FFFFD1006600A400AF007400C2009500B1000C0028006D0015004C008E0125FF7A000C0040004C00620084FFA200240038008600BD0039005E008E00EDFFA9FFB300400052005500AA00AB00C200CB012302B10413FFAEFFE4000800510074008400AA00D1FF4CFFAF0012002C004200500051008400BE012503DAFF680018003B0098009C009F00A100C100EC018201B4FF68FF76FFD0FFE100020018001C00530053007D01B401E103AF0486FF9CFFEAFFFE001F0028002A00520060009300A300AA00AF00AF00C001000145016B0174019301950240028202B404850517FEFD00060029004700470048006F008800B400B900C400F200F901EF02180310037403C5FF35FFF3000B004B004C0052005500650076007600870087008E00AB00BB0106013001430150017D0194019501D3022A025502580277027802E6034E035C037903D3047304B2058C0598060BFEF5FFBBFFC7FFD50017001D005B0072007E009C00C200D000F400FA01030106011C0125013B0142015E015E0180019B02B901A101B9025001C001D002AA01DF01E301EF01FB0205020C0215022B0274029302AB02C202CE03690395039903DF03F5043E050205A105E5062507DBFE62FE89FECEFF3BFFE1FFF800030008002100390042004E005F0061006F00700034007F008E00AD00AD00AF00BD00C400C500C900C900C900E3011C00ED00F800F901000112011A0132014D014D014E014F01660169019E01BA01BA01BE01E301EF01F602000200020902110217021C02530262026D028002D50280031B032A034A035A03AF03AF03C803D603FB03FB04050413041504470449008C046D049A049A04A604A804B204CF0539053E054E055605800589058C036305D105D6067E068E06B206EF06F00728074C076F078C00B400C900C000C10000000000000000000000000004012400AF0032006E0063014401620096014301A10161008A00740064018801EF01700028FF5D037E0347023000AA00BE007B0062009A007D0089035C00A1FFD803AA00D70093006C0000008000A70442001D0597001D00820030002A
 
002A002A002A002A40292A292827262524232221201F1E1D1C1B1A191817161514131211100D0C0B0A090807060504030201002C4523466020B02660B004262348482D2C452346236120B02661B004262348482D2C45234660B0206120B04660B004262348482D2C4523462361B0206020B02661B02061B004262348482D2C45234660B0406120B06660B004262348482D2C4523462361B0406020B02661B04061B004262348482D2C0110203C003C2D2C20452320B0CD442320B8015A51582320B08D44235920B0ED51582320B04D44235920B09051582320B00D44235921212D2C20204518684420B001602045B04676688A4560442D2C01B9400000000A2D2C00B9000040000B2D2C2045B00043617D6818B0004360442D2C45B01A234445B01923442D2C2045B00325456164B050515845441B2121592D2C20B0032552582359212D2C69B04061B0008B0C6423648BB8400062600C642364615C58B0036159B002602D2C45B0112BB0172344B0177AE5182D2C45B0112BB01723442D2C45B0112BB017458CB0172344B0177AE5182D2CB002254661658A46B040608B482D2CB0022546608A46B040618C482D2C4B53205C58B002855958B00185592D2C20B0032545B019236A4445B01A23444565234520B00325606A20B009234223688A6A606120B0005258B21A401A4523614459B0005058B219401945236144592D2CB9187E3B210B2D2CB92D412D410B2D2CB93B21187E0B2D2CB93B21E7830B2D2CB92D41D2C00B2D2CB9187EC4E00B2D2C4B525845441B2121592D2C0120B003252349B04060B0206320B000525823B002253823B002256538008A63381B212121212159012D2C456920B00943B0022660B00325B005254961B0805358B21940194523616844B21A401A4523606A44B209191A45652345604259B00943608A103A2D2C01B005251023208AF500B0016023EDEC2D2C01B005251023208AF500B0016123EDEC2D2C01B0062510F500EDEC2D2C20B001600110203C003C2D2C20B001610110203C003C2D2C764520B003254523616818236860442D2C7645B00325452361682318456860442D2C7645B0032545616823452361442D2C4569B014B0324B505821B0205961442DB8002B2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8002C2C2020456944B001602DB8002D2CB8002C2A212DB8002E2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8002F2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800302C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800312C2020456944B0016020
 
20457D691844B001602DB800322CB800312A2DB800332C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800342C4B535845441B2121592DB800352C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800362C2020456944B001602DB800372CB800362A212DB800382C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800392C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8003A2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8003B2C2020456944B001602020457D691844B001602DB8003C2CB8003B2A2DB8003D2C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8003E2C4B535845441B2121592DB8003F2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800402C2020456944B001602DB800412CB800402A212DB800422C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800432C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800442C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800452C2020456944B001602020457D691844B001602DB800462CB800452A2DB800472C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800482C4B535845441B2121592DB800492C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8004A2C2020456944B001602DB8004B2CB8004A2A212DB8004C2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8004D2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8004E2C4B20B0032650585158
 
B080441BB04044591B21212045B0C05058B0C0441B2159592DB8004F2C2020456944B001602020457D691844B001602DB800502CB8004F2A2DB800512C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800522C4B535845441B2121592DB800532C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800542C2020456944B001602DB800552CB800542A212DB800562C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800572C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800582C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800592C2020456944B001602020457D691844B001602DB8005A2CB800592A2DB8005B2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8005C2C4B535845441B2121592D00000000020042000004D005BD00030007003FB800532BB800082FB800092FB8000810B80000D0B800002FB8000910B80003DCB80004DCB8000010B80007DC00BA0007000000562BBA0002000500562B3031331121112711211142048EB8FCE205BDFA43B8044DFBB30000000200ED000001B805BD000500090034401B0000044F072A090A0B17171A07040301250600190A0B6421787C182B2B4EF44DC4FD3939C44E456544E6004D3FFDE63F313013331103230311331523EDCB316634C7C705BDFE1DFD84027CFCF6D0000200520371025E05BD000300070025401402069D040300002903042907190809FE21BB48182B2B4EF44DEDD6FD003F3CFD3C31300103230323032303025E1E791FA11D791F05BDFDB4024CFDB4024C0001008EFE5E026105D50014003E4009141109131617171A09BB019C00080014019C400E400080044C10191516F7216C5218B80732852B2B4EF44DED1ADD1AEDD4ED4E456544E6003F3F3130010207061110171613232E01272627263510373613025E9D2F475132937992462938160B5D3BBB05D5FECF90DBFEE1FEDEF094FEEAE47E6C94A8574F0128E7930125000000010044FE5E021705D500130036400C081100131517171A044C0F13BB019C00000009019C400908191415F7213F7B18
-
2B2B4EF44DEDD4EDDDED4E456544E6003F3F3130131237361110272603331E01171E011510070603479F2E46513293799A412630295E3BBAFE5E01368ED701210121F0940116F673657DF471FED8E895FEDE0000000100AAFED0018000DA000E002D401600230E0A64080A1017171A07340A640008190F6365182B4E10F44D3CFDED4E456544E6003F4DEDD4ED3130173637363534262723353315140607AA451C0F01026DD66076D10C552D2A070B07DACA77B415000000000200340000042F059C0002000D005C402209020A080D010202BE12060607020601050708030106070A02750B05EF030C070403B80117B501960D08AC0AB80158B3050F470E1076C418D4F5F43CFDE4003F3FF43CFD3C1139390111123911123939872E2B047D10C50F3130011109011121350133113315231102A5FE3501CEFD8C029098D3D301FB0289FD77FE05015EB0038EFC5F9DFEA20000000002004DFFDB0423059E001B002700A94039771A0117082508271958198600870188090747080A212721350E0E1403C707351B052735140D032902811E38116F170A023C0A2431172947281076C418D4FD397C4B52787A2F1810F5EDF4ED003FED3FEDED12392FED11123931304379403425261C200F1600060526200F1E280126152428001C131E2801060003280104031F1021280125162728001D1227280004010728012B2B2B2B01103C2B2B2B2B2B81818181015D005D001615232627262322020336373633320415140223220011103712211236353426232206151416330347BDB21023418497B20A3E5E566AB4010CFEEBC9FEDC417D014C818D7EA674AF9F8D059EF98455305AFEE9FEFC5B2D28E6E4C3FED301310169010BBA0164FADDBF826EC79A9B88B90000000200E3FED001B80421000F00130039401D00230F0A6408132A1006080A1517171A0734120A641000081914787C182B4E10F44D3C3CFD3CED4E456544E6003F3F4DED10EDD4ED31301736373635342627233533151407060711331523E3461B0E01016DD51F3482D5D5D10D502A3205070CDACA6B4876170551DA000002005C00DE046F03360003000700274015012000CD07200604001A0907021908095C213F52182B2B4EF43C10F63C002F4DEDFDFD31300115213501152135046FFBED0413FBED0336A8A8FE53ABAB000003001E0000053D05BD0002000A000B00DA40504801580168010388039704980AA90AB809B80A06280A010007060601020809090102080A000705018C01030420140A0A251209090114050525120606010B0B0503090A040605010B02010300021E0708B80159400904030206090A030508B801A840120D0D17171A059E019E0A190C0DA1218C5E182B2B194EF4184DFDFD194E456544E6464418003F173C3F3C4DFD3CFD3C11393F011112393912393911392F
-
872E2B7D104B5158B004C01BB004C459872E182B7D104B5158B003C01BB003C4592B1112393912393987103C3C07103C3C3130015D5D005D010B01133301230321032301038EDFED85E10215DA95FDBB9FCC0290025A0289FD770363FA4301B8FE4805BD000300970000050405BD000A00150028008240385A0D5A116A026A0D6A117A02772107490D4811021D081F0F041F131E000027081E17020B1E270804311B690F31231A2A091525281619292AB8015FB3217666182B2B4EF43C4DFD3C4E10F64DEDF4ED003FFD3FED12392FFD3901111239313043794012181A0508192506260718042B01051A082B01002B012B2B2B8181015D5D013237363534272623211101323736353427262321110321201716151407060716171615140706290102C47E466E754282FE9D01ADB74E318F4C7DFE75C3027701026D404F294D7138635985FEDEFD93035023378F90321CFE39FD5A6A435FA03A1FFDFB05139A5B778B592F272B3660A98E73AC000200AF000004ED05BD000B000C004E4024071E04040B031E01000209081E0A0B080C020C0C02000669023B091A0E03082500190D0EB8010BB3219589182B2B4EF44DFD3C4E10F64DF4E41112392F003F3F3CFD3C3F3CED12392FFD313013211521112115211121152101AF042FFC93032BFCD5037CFBC2021F05BDB4FE42AAFE0EAF05BD00000000020063FFD905A105E50022002300D1403E1B0686018502031D011F058601891CB6200540080F04151603106D167E16020F16110D04862210111E13121215073A220315080D3A1A0923022323031E12B8014B4010030431033B1025131A250A311E192425B80167B3216A70182B2B4EF44DED4E10F64DEDF4FD10ED1112392F003F3FED3F3FED12392F3CFD3C10ED111239395D0111123939123931304379402C1B21000C1C25202601250C1B0A320008210A32000600043201020305040B1D0D3200091F0732010502073201002B2B2B01103C103C2B2B2B2B2B2B81815D015D00171613232E01232200111012213224132135211123270607062320272611103736212703E697DB31C524E2ACCCFEE9E60104C7010503FE3402858030654E83CAFEFBBCCDC8BE012E2105E35073FEE0A193FECEFED1FEFAFEB7E70102A5FCEEBD6F2B4AA9D401720171DAD0020000000100C90000019205BD00030017B8002B2BBA00010000002E2B00B800002FB800022F303113331123C9C9C905BDFA430001009C0000044B05BD000500314013000203021E040508031A070102250500190607B80153B321765E182B2B4EF43C4DFD3C4E10E6003F3C4DFD3C3F31301333112115219CC702E8FC5105BDFAF2AF0002009C0000052A05BD0009000A007640143701380602070117012701470158020507010202B8019B4017120606070207080301020806080A030A0A
-
010608020302B8019BB505041A0C0708B8019B400A0900190B0CA0217670182B2B4EF43C4DFD3C4E10F63C4DFD3C11123939392F003F3F3C3F3C12393904872E2B877DC53130005D015D13330111331123011123019CEB02E6BDDFFD0FBE023A05BDFB5A04A6FA4304A5FB5B05BD0000000200B40000057805BD0009002700944012070D49014805590158056905641478050816BB01300119001B011C40422321202660127112751403121E1F141C1503211E161404261224251E0009091B071E0B02261C1B082025151F251603310F691B1A29082625270A192829D6219566182B2B4EF43C4DFD3C4E10F64DF4EDD4EDD4ED003F3C3C3FFD12392F3CFD3C3911173901111239391239395D1112392B3130015D013236353427262321110321321716151406071E011F011617161715232E012F012627262321112303478CA3723D66FE1AC702A8A86DCF6D6256570507030B122EF40A0C040C0764397AFE3BC7031C70929D391EFE0A02A1315EFD84A833237280C55429461421133C56F590311BFD8A00010021000004C905BD00070034401A01061E00070204080917171A00FB0203250504FB0619088C5E182B4E10F44DF43CFD3CF44E456544E6003F3F3C4DFD3C3130011521112311213504C9FE11CAFE1105BDAFFAF2050EAF000000000200AAFFD9052F05BD00150016003C4023170527053810030A0002053A1009160316161409250C1A18012514191718A0219570182B2B4EF44DED4E10F64DED12392F003F3FED3F3C5D3130011114171633323736351133111007022120032619012101743C59D3FD5B31CA4986FE8CFE8C8549024305BDFC74A06AA0AD5E9F038CFCC7FEF192FEF6010A92010F033900010000FF000473FF650003000FB50146000205003C103C002FED3130113521150473FF0065650000030052FFDC04470449000F003B003C00DD40382A30010A100B1B0C1C2733481069096A10073908120C09031B320724091D100C1D3B2B022E293BB73B023B322A2512100705081C2722171CB8018A4023171D1F07271D2E0B021D350B3C073C3C1C1407292AA8241A3E1B291C4A0F2738193D3EBC0197002100B9019600182B2B4EF44DEDF4ED4E10F64DE4FDC412392F003F3FED3FED3FEDED1239111217395D1112392EED2EED01111239111739313043794028363715220001192501360F2100181E1B21001620142101212200370221001A1D1721011521172101002B2B2B01103C2B2B2B2B818181005D015D2416333237363D010E010F0106070615013637363534262322070607233E01333217161511141633323637150E0123222726270E012322263534363713010E724E5F59962168326D62315301B43E150C837A8D3B210AA805F7A3BD767517250C1E112A2C265D2A160937CE7C95BDBA978ACF5A2C49A691151C
-
060E0D1C2F67016C082C182D5C534C2A53C69B484898FD971C220303850C06422340486AB58895A41301E40000020076FFDE042505C20011001E0070402EA607A71CD71C0322080F1E02050000171D0507110A1E1D0B0B1427081A201A2E102E01290011191F208721BD5D182B2B4EF43C4DFDE4E44E10F64DED003FED3F3FED3F113911393130437940181216060A1606142601120A142601150717260113091E26002B2B012B2B8181005D1333113E01333212111402232227262715232436353426232206151417163376AF3BA460C8F9F6DA7A543239A6026691918D7BB92647C205C2FDEB4D51FEEDFEF4FEFEB03B234D897DE8BEA9DEB6D1975EB100000002003BFFE103D0044E001A001B00A7402FA719019818A808AA18034A08119B14030314061D1A070D1D140B1B071B1B1710271201032702111A1D0A2717191C1DB80107B321727D182B2B4EF44DED4E10F63C4DED3939ED12392F003F3FED3FED12392F10ED313043794034001908250C150A26000E1310260112110F1007190A26000500032101010204030B160D26000F120D2600091806260104010621012B2B2B2B01103C103C2B2B103C103C2B2B2B81005D015D001617232E012322070615141633323637330E01232202351000330702D6E317AF10727EAC4A308892708319AF1EF0BBD2FA0112D41C044EB0D76383A86DA0A1DC8977D5C50133E6011A013A0500020038FFDA03ED05C2000B001D00774032370E470E570EA704A91B05250814020F1D1000081D1D07130A021D170B052E132E102911121A1F0B271A191E1F87217242182B2B4EF44DED4E10F63C4DFDE4E4003FED3F3FED3F1139113931304379401A181C090A000101180B2600091C0B260000190226000A1B0826012B2B012B2B818181005D1216333236353426232206150017161711331123350E0123220035341233F692A17DA1A67A88A9018A53303DADA23FAC6FB3FEFAEFDE015FE8D7C9CBC3D0CA0237341E4B021DFA3E956358012DFAEA015700030048FFDA041A0449001C00240025010C40799708991AA71F03050E020F0514150E120F1514400C401408291A014B0BB603C701C603C71BD808D909D61FD823E817E8230BC711C712025C080521240F9A161D243906070716211D1C070A1D160B2507971CA71CB71CD71C0425160F251C05190A0C07110E270F1D27051A27242E072719192627D421A65D182B2B4EF44DFDE44E10F64DEDD4FD391239391112393912392F5D003F3FED3FED12392F3CFD3C10ED1112393130437940460023040503050205010504061F26111012101310141004060C25221B24260020001D26011E1D09170726000B150E26010D0E231A2126011E0521260108180A26000D100A2600002B2B2B2B01103C2B2B103C2B2B2B2A2B2A8101715D00715D5D001617161716
-
15211E013332373637330E01070607062322001110003301262726232206070102B4D638361210FCEF0590978D543014B1074F3152794152C8FEEA0118E2011F0B284AAD7CA805012304476B55516C4AA2A3C55D36473B912E501C100123010601020142FE26754682B38A01DC0000000001001C0000021705D20017004D402B071D060A1D03010F1439160D06120A1917171A0E0D1129171207120F0E1F0E020EFC14191819FC21677E182B2B4EF44DFD5D39C42F3CFD3C104E456544E6003F3F3C4DFD3C3FEDD4ED313012373633321617152E012322061533152311231123353335B5233FB41124171C190B5220B2B4B295950542345C0202A4020155AE8EFC64039C8EA800000003003DFE3B03E80449001F002D002E00B7404D36144908490958085909880CA91BA81DA927A62BB91B0B4008031622290EC40A221D1F070406291D190A121D0A0F2E072E2E051C032E162E2D29051A300C0E270D3E26271C192F3087217242182B2B4EF44DEDF4ED394E10F64DFDE4F51112392F003F3FED3FED3F3FED10ED1112393931304379402C23281A1E0B1124251026231E262600281A262600110B0E21000F0E0C0D251D222601271B2926000F0C122100002B2B2B01103C103C2B2B2B2B2B818181005D00171617353311140706212226273316171633323736270E0123222411100033002623220706151416333237363501027C5E3335A63C70FEC9ADEC0EB70D273D83CF40260336987DAEFEFB0107BA0144A47FBE4625937CC24F2CFED104423E234387FC32CC76DA9BA548273C9256DD5250F7011D010D012EFEA1C0B25F9AB5BDAF6384022D0000000200840000013B05BD000300070036401C07E50400010006030A0917171A06010229070300190809AA216242182B2B4EF43C4DC4FD3CC44E456544E6003F3F3C3F4DED3130133311231133152384B7B7B7B7042AFBD605BDCC0000000100890000013D05BD0003002940150000030A0517171A0102290003190405AA216242182B2B4EF43C4DFD3C4E456544E6003F3F31301333112389B4B405BDFA43000000020084000003ED04490019001A005E4031B706C706020406140627147606740705140C021418101D05070006180B0A1A071A1A000C29091A1C012E18291900191B1CB80106B3216242182B2B4EF43C4DFDE44E10F64DED12392F003F3F3C3F3FED1139390112393130005D015D1333153E01333217161511231134272623220706070E011511230184AB4CAA68E4502CB71D307E40294A382D1BB401A7042F985E529F57A2FD5102A3623C640D1642357169FDCF04490000020076FE5504250449000E00220074402CA908A717022808201C110E061D15070F060E1D1C0B220E0227181A240A2E102E2129220F1923248721BD5D182B2B4EF43C4DFDE4E44E10F64DED003F3FED
-
3F3FED1139123931304379401C161B00051A260426001B022601051602260101190E260003170626012B2B012B2B2B2B8181005D243635342726232207061514171633013315363736333212111007062322272627112302C6A72546BABB45252546BAFE2EAF36405B7BB6FEB7749A7952303BB479D3D2805CB1BB649A7C57A603B18E49283CFEE9FEFDFEA2965F351E49FDDD00000100890000029204470011004F40262703260D37034704040E0810020E0911090C270805070006110A081A13012E10291100191213B80145B321627E182B2B4EF43C4DFDE44E10E6003F3F4D3FC4FDC411123939011112393130005D1333153E0133321617152E0123220615112389AB15A46B05181D101B108892B4042FB9369B0203BE0302AF72FD980000020042FFD703B6044B002E002F012E408F38099805961299149815982A062824252736214621472447275624572766246726790C790D790E7623742474257426A61EA82C1303000B15052D042E13001A151B171C18152D142E280F0B6908262536250225220D0A042B1318C61C1D1307041D2E9A2B0B2F07090E100207002F212F1A1F18161827173E28260727281A310E1F27103E00272E193031B221A65D182B2B4EF44DEDF4FD394E10F64DFD3910F4FD3911123939392F111239113939003F3FEDED3FEDED111217397131304379404C012D022615251A26210E1F21000926072101032C002100052A0721011D121F21001B14182101200F22210021220E0D08270A21012625090A012D04210006290421001E111C210119161C2101002B2B2B2B103C103C2B103C103C2B012B2B2B2B2B2B2B2B2B81005D5D015D13161716333236353427262F01262726353436333217160723262726232206151417161F011617161514062322262701EF082544A864983D27738F894174DBB9F26B4302AA05263E99666945284E77C24269D9DEEFC70701B701505A3057575B4524161D24222A498198BC8E5A683D32474E40462A19131D2F2C45948FD0D9A002F900010017FFEF0209055A00180052B50D2E0AC00E01B8013F40250416391703060E0A111A17171A0301062900150E150F031F030203FC1619191AFC21677D182B2B4EF44DFD5D39C42F3CFD3C104E456544E6002F3F3F3C4DFD3CED10FDE431301333113315231114171633323637150E012322263511233533A8B6ABAB2615310D1E141F43277E5A9191055AFED593FD4538130B01028E0908816702C593000000020080FFE303DE044900170018005E403AB814C81402091308141913191428067703D707070800050E0A00060D0A051D120B180718180B160D2E0A290C0B1A1A01291619191AD2216242182B2B4EF44DED4E10F63C4DFDE41112392F003F3FED3F3F3C391112393130005D015D011114171633323736351133112337060706
-
2322272635112501381A3083BC4425B4AA0223346793E5532D01AF042FFD39523460A85A9D020EFBD19E3D2A5499528902D81A000001FFD5FE5E028005D700230072403E98069813A906A914A72105071317132713380A381F9614061F120C400D4D0C4D201F1F03162D15032D041315002517171A0316AE1A23910812C30C192425B80103B321DD33182B2B4EF44DF43CFD3CF43C4E456544E6003F3F4DFD10FD1239192F1AEDED181A011112393130005D015D05141617152E013D0134272627353637363D01343637150607061D01140706071617161501879C5DB2E9223EB0B13D22A3F8A1391F2543C1C04425059A830B7512ADC6CE6D3F731372156E3D72A3BCDC15720E80467C70965091121197538F000001002AFE5E02D505D70024008A404E960A960B9619A70AA60BA619A822073924011E05040302052024160F0E0D05121806020C0F041208211E191604131C40134D124D2024241C082D091C2D1B13090012C30E18910420AE1C08192526B80103B3213CA4182B2B4EF43C4DF43CFD3CF44E003F3F4DFD10FD1239192F1AEDED181A111217391112173901111217391217393130005D015D0027263D0134272627350417161D0114171617150607061D01140607353E013D0134373637018B43251F38A201025C3C223EB1B03F22E9B16B8E2544BF022E9050977084447A0E72158B59B4A3703E7113721275406BCECAA813750E8F8B9790529711000003001C0000037805D20017001B001F006140361BE51900071D060A1D03010F14391D160D061F110A2117171A1B1E29181F0E0D1129171207120F0E1F0E020EFC14192021D2216742182B2B4EF44DFD5D39C42F3CFD3C10D63CFD3C4E456544E6003F3C3F3C3C4DFD3C3FEDD4ED3FED01313012373633321617152E0123220615331523112311233533352535331507331123B5233FB41124171C190B5220B2B4B295950213B4B4B4B40542345C0202A4020155AE8EFC64039C8EA81FCCCCC7FBD6000000010000000000006B8BED625F0F3CF500110800000000005F4D8F0000000000C9C13CF7F865FC270B9108F9000000090001000000000000000100000629FE2900000C01F865FCED0B910001000000000000000000000000000000280512004202390000023900ED02D7005202AA008E02AA0044023900AA047300340473004D023900E304AC005C0556001E05560097055600AF06390063023900C90473009C05C7009C05C700B404E3002105C700AA0473000004730052047300760400003B04730038047300480239001C0473003D01C7008401C70089047300840473007602AA008904000042023900170473008002ACFFD502AC002A0400001C0000003400340064008C00D4011601480196022C026A0292031E03A203E6048E04A604CE052405AE05DC062406380702
-
076C07EE085A092409700A180A460A680AC40B360B7C0C5C0CAC0D060D760DF40E56000000010000002800920009006B0007000200100010005D000007E80A1D00040001B800532BB800492BB8003F2BB800352BB8002B2B4118008001A6009001A600A001A600030069018B0079018B0089018B0099018B00040089018B0099018B00A9018B00B9018BB2040840BA0179001A014A400B041F5414191F180A0B1FD2B80106B49E1FD918E3BB0119000D00E10119B20D0009410A01A0019F0064001F01A50025017A00480028019AB3296C1F60410A01A9007001A9008001A90003008001A9000101A9B21E321FBE012C00250401001F0126001E0401B61FE7312D1FE531B80201B21FC227B80401B21FC11EB80201400F1FC01D9E1FBF1D671FBE1D671FAB27B80401B21FAA29B80401B61FA91D6C1F931EB8019AB21F921DB80101B21F911DB80101B21F751DB80201B61F6D29961F6431B8019AB21F4C96B802ABB21F391DB80156400B1F3638211F351DE41F2F27B80801400B1F2D1D4C1F2A31CD1F241DB802ABB21F201EB8012540111F1C1D931F3A1D4C1F1E1D45273A1D4527BB01AA019B002A019BB2254A1FBA019B0025017AB349293896B8017BB348283125B8017A403648289629482725294C1F252946272729482756C80784075B07410732072B072807260721071B071408120810080E080C080A08080807B801ACB23F1F06BB01AB003F001F01ABB308060805B801AEB23F1F04BB01AD003F001F01ADB70804080208000814B8FFE0B40000010014B801ABB41000000100B801ABB606100000010006B801ADB300000100B801AD401F04000001000410000001001002000001000200000001000002010802004A00B0018DB806008516763F183F123E113946443E113946443E113946443E113946443E113946443E11394660443E11394660443E11394660442B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B18011DB0964B5358B0AA1D59B0324B5358B0FF1D592B2B2B2B2B2B2B2B182B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B74752B2B2B65422B2B4B5279B376706A66456523456023456560234560B08B766818B080622020B16A704565234520B003266062636820B003266165B070236544B06A234420B176664565234520B003266062636820B003266165B066236544B0762344B10066455458B166406544B27640764523614459B36242725D456523456023456560234560B089766818B080622020B172424565234520B003266062636820B003266165B042236544B072234420B1625D4565234520B003266062636820B003266165B05D236544B0622344B1005D455458B15D406544B262406245236144592B2B2B2B456953427374B8019A2045694B20B028
-
53B049515A58B020615944B801A6204569447500
+
2B2B4EF44DEDD4EDDDED4E456544E6003F3F3130131237361110272603331E01171E011510070603479F2E46513293799A412630295E3BBAFE5E01368ED701210121F0940116F673657DF471FED8E895FEDE0000000100AAFED0018000DA000E002D401600230E0A64080A1017171A07340A640008190F6365182B4E10F44D3CFDED4E456544E6003F4DEDD4ED3130173637363534262723353315140607AA451C0F01026DD66076D10C552D2A070B07DACA77B4150000000001005501DE024B029700030020400A002F03011A0500190405B80142B321BA48182B2B4EE410E6002F4DED3130132115215501F6FE0A0297B90000000100AF0000018000DA000300264013012A030A0517171A01640019040564216365182B2B4EF44DFD4E456544E6003F4DED313037331523AFD1D1DADA00000000020040FFD9041C0598000F001C00714017870501460815350F051C35070D1238036F18380B1E471D1076C418D4EDFDED003FED3FED313043794034001B0D2601251A2609250526160E18280014001228011B081828001006122801170C1528011302152801190A1C280011041C28002B2B2B2B012B2B2B2B2B2B2B2B2B81005D001716111007022120272611343712211236113402232202111417163303407C60577EFEE2FEFE7E693F7601358AA678AD9F932F48AE0598E5B1FECCFEDCBFFEEEE0BB013BF4AF0146FAE5F80152F4013BFED5FEDDDB85CB000000000100C4000002D5059200080023B10801B80133400C0404070C04079605000A47091076C418C4D5FD39003F3FF4CD313013353E013733112311C4C39A268EC003F68A1359A6FA6E03F60000000100400000041E059D002200A6404E3604460457056B1D6E1E7A1E84018702082A085A196B197C197C1CB519050022010F041C0E1921071C19040100051F0F0F22130A351305201F7521220C217F0738166F220E270F811F38222447231076C418D4EDF4ED10F5EDE4003F3CFD3C3FED1112392F1217390111123912393911391239005D31304379401C04190C2511260B120E2800091407280119040D100A280108150A2801002B2B1010012B2B2B2B81005D36123F01363736353426232207060723363736213212151407060F01060706072115214A85C1C0813452967DB9472604B70342750128F6E37946B5896238641A030EFC29B90112706F4B35536B7D938C4B85BB76D0FEF6A3AC7A47654C3631576AAA000000010031FFD9041A059A003100C4401F490C532D6529632D7529752D069626014B082B0A182B140D03F93114350D20B8012340141135107F0D0D311B3524050735310D1896274411B8014A400F0A382E6F021F2920810327023347321076C418D4EDF4ED10F5EDEDF4ED003FED3FED12392FF4FDE610ED10ED111239011112393130437940362F3019260009
+
05261D2522260600032800040308300A28011C231F28001A251828010401072800092F0728001E211B280119261B2801002B2B2B2B012B2B2B103C2B2B2B2B818181005D015D0402353316171633323635342623220607351E013332373635342623220706072334373621321615140706071E01151400230116E5BC0C2846B78EACB5A11225131C26166541729865B4452605B2406E0115DBF0472C46717FFEF2F8270117C88B3F719878947601019F03022038906B7478427AA070C8C3B98452331D1FB180CDFEFE000000000200340000042F059C0002000D005C402209020A080D010202BE12060607020601050708030106070A02750B05EF030C070403B80117B501960D08AC0AB80158B3050F470E1076C418D4F5F43CFDE4003F3FF43CFD3C1139390111123911123939872E2B047D10C50F3130011109011121350133113315231102A5FE3501CEFD8C029098D3D301FB0289FD77FE05015EB0038EFC5F9DFEA200000000010042FFDC041C0580002000BB402B4812881F02390C461357136713043A080C0D07000C0A0F0E0E75121313120E0F201213070013170A17350AB80122401A0D7F0E0E1D123A0F04043520C71D0D1107381A6F0038202247211076C418D4EDF5EDC4003FEDED3FFD12392FE4F4ED1112390111123939123939872E2B7D10C5001239011112393931301843794028181F01090226031E00280001001F20051C0728010918072801011F042800061B04280008190A2801002B2B2B012B2B103C103C2B2B8181005D5D131617163332363534262322060727132115210336373633320415140221222427FD127D4054A09AB7805D852F9C6D02E8FD9F3D322D5069C50112FBFEEDAFFEF310016D9A3B1ECC7C96A44840090303AEFE72261321FEC3CBFECAC5CC00000002004DFFDB0423059E001B002700A94039771A0117082508271958198600870188090747080A212721350E0E1403C707351B052735140D032902811E38116F170A023C0A2431172947281076C418D4FD397C4B52787A2F1810F5EDF4ED003FED3FEDED12392FED11123931304379403425261C200F1600060526200F1E280126152428001C131E2801060003280104031F1021280125162728001D1227280004010728012B2B2B2B01103C2B2B2B2B2B81818181015D005D001615232627262322020336373633320415140223220011103712211236353426232206151416330347BDB21023418497B20A3E5E566AB4010CFEEBC9FEDC417D014C818D7EA674AF9F8D059EF98455305AFEE9FEFC5B2D28E6E4C3FED301310169010BBA0164FADDBF826EC79A9B88B900000001004B0000042F0580000F00534036050B1902380B3A0C390D4A0D550256046202B7070A7C0DB40DC50D030209010D0E3A000F04090C020D0800006F0E083809AC0E11
+
47101076C418D4F4ED10E511123939003F3F3CFD3C391239015D31305D01150602070607060723121336372135042F45E558572D1D2EC744E88997FCE805809D43FEB4C0BB9A63DC019A0196EEADB50000030042FFD7041A059C000B0017003200CB4047560157095A0F5913640165096B0F691377250949107B197623722573277C317C32881987208727882E883198190D47083208250E0225320B3511112C05351E0517352C0D023821B80186B70E38296F2F08381BB80186B514382F3447331076C418D4EDF4ED10F5EDF4ED003FED3FED12392FED39390111123912393130437940352A2E1C201216030D162D1428000C2B0E28010A12082800061D082800041F022801152E1728000D2A172800071C0528010320052801002B2B2B2B012B2B2B2B2B81818181015D005D00363534262322061514163312363534262322061514163300272635343633321615140706071617161514022322243534363702A48680838274966688A5AA8581A3959CFEB52A4FE8D5CEEA44265059335FFEE8D1FEDF7C7A0340855C5086865A6572FD3B87868B90938270A302A02B5080A0E6D99186532F2D293564A0BDFEF9E3D87FB9310000020049FFD80411059A001B002700AB402E19052B0528164806580568058919881A981A09460807212727350A0A182135100504351BC7180D07023C071E3114B80155400B0D00291B8124380D2947281076C418D4EDF4ED10F5FD397D4B52787A2F18003FEDED3FED12392FED1112393130437940341F26191A0B13010312250226220F24280020111E28010319002800260B242800230E2128011F13212801011A042800250C2728002B2B2B2B012B2B2B2B2B2B81818181015D01161716333236130E012322023534123320131615100702212226350036353426232206151416330110086B374581B6263CB166CFF1EEE8013977424F83FEC7D2DA0232B19F7B849B8895015A95391ED701495F4D0102CBC30128FEE69BE9FEF9CBFEAEDCA601268DB09E9BB1948CA500000200E3000001B40421000300070032401A052A07032A0006070A0917171A05016404001908096421787C182B2B4EF44D3CFD3C4E456544E6003F3F4DED10ED31301333152311331523E3D1D1D1D10421DAFD93DA000000000200E3FED001B80421000F00130039401D00230F0A6408132A1006080A1517171A0734120A641000081914787C182B4E10F44D3C3CFD3CED4E456544E6003F3F4DED10EDD4ED31301736373635342627233533151407060711331523E3461B0E01016DD51F3482D5D5D10D502A3205070CDACA6B4876170551DA000002005C00DE046F03360003000700274015012000CD07200604001A0907021908095C213F52182B2B4EF43C10F63C002F4DEDFDFD31300115213501152135046FFBED0413FBED0336A8A8FE
+
53ABAB000001001CFFED04AD04280006006C40425800580368038803040020120302030620120303040420120506050220120101000306040200030501050506010A03000106001A08010405030219070888215FB5182B2B4EF4173C10F63C1112393D003F3F111217392F044D8710182B10872B87102B87102B3130015D0901350901350104ADFB6F03BBFC45049101B6FE37B4016A0169B4FE36000003001E0000053D05BD0002000A000B00DA40504801580168010388039704980AA90AB809B80A06280A010007060601020809090102080A000705018C01030420140A0A251209090114050525120606010B0B0503090A040605010B02010300021E0708B80159400904030206090A030508B801A840120D0D17171A059E019E0A190C0DA1218C5E182B2B194EF4184DFDFD194E456544E6464418003F173C3F3C4DFD3CFD3C11393F011112393912393911392F872E2B7D104B5158B004C01BB004C459872E182B7D104B5158B003C01BB003C4592B1112393912393987103C3C07103C3C3130015D5D005D010B01133301230321032301038EDFED85E10215DA95FDBB9FCC0290025A0289FD770363FA4301B8FE4805BD000300970000050405BD000A00150028008240385A0D5A116A026A0D6A117A02772107490D4811021D081F0F041F131E000027081E17020B1E270804311B690F31231A2A091525281619292AB8015FB3217666182B2B4EF43C4DFD3C4E10F64DEDF4ED003FFD3FED12392FFD3901111239313043794012181A0508192506260718042B01051A082B01002B012B2B2B8181015D5D013237363534272623211101323736353427262321110321201716151407060716171615140706290102C47E466E754282FE9D01ADB74E318F4C7DFE75C3027701026D404F294D7138635985FEDEFD93035023378F90321CFE39FD5A6A435FA03A1FFDFB05139A5B778B592F272B3660A98E73AC0002005AFFDA057105E5001D001E00B1403B1B0597019605031F011F0482018705891305530803861D111115063A1D030C3A15091E021E1E190331023B1031111A20093119191F20A1216A66182B2B4EF44DED4E10F64DEDF4ED12392F003F3FED3FED12392F10ED31304379403A001C172513260E251B260B160932000D1410320112110F10071C0932000500033201010204030A180C32000F120C3200081A06320104010632012B2B2B2B01103C103C2B2B103C103C2B2B2B2B2B2B815D015D080117232E0123220011101233323736373306070621202726111037362123041E013411C221C5B2D9FEF5F1EFDC733D1EC21A92AFFED7FF00AEE5ACBA01472805E5FEDABB8EA6FECFFEC5FEFEFEBFA95991E89DBD9BCD01AC0145D0E20000000200A50000056305BD000D00180067401F871196120232080B1E0F02001E1708083113
+
1A1A0D250E19191AD6217689182B2B4EF44DFD4E10F64DED003FFD3FFD3130437940260116112515260607050704070307020705060A10083201011608320109120B320107140032002B2B012B2B2A2B2B815D2532373637363736351002232111032120171611140702290102D06541744A3B1A0FD9F1FE9FC80253012FA795589BFE86FDAFAA15276F598B53470111012EFB980513D7C2FED1EABDFEB20000000200AF000004ED05BD000B000C004E4024071E04040B031E01000209081E0A0B080C020C0C02000669023B091A0E03082500190D0EB8010BB3219589182B2B4EF44DFD3C4E10F64DF4E41112392F003F3F3CFD3C3F3CED12392FFD313013211521112115211121152101AF042FFC93032BFCD5037CFBC2021F05BDB4FE42AAFE0EAF05BD00000000020063FFD905A105E50022002300D1403E1B0686018502031D011F058601891CB6200540080F04151603106D167E16020F16110D04862210111E13121215073A220315080D3A1A0923022323031E12B8014B4010030431033B1025131A250A311E192425B80167B3216A70182B2B4EF44DED4E10F64DEDF4FD10ED1112392F003F3FED3F3FED12392F3CFD3C10ED111239395D0111123939123931304379402C1B21000C1C25202601250C1B0A320008210A32000600043201020305040B1D0D3200091F0732010502073201002B2B2B01103C103C2B2B2B2B2B2B81815D015D00171613232E01232200111012213224132135211123270607062320272611103736212703E697DB31C524E2ACCCFEE9E60104C7010503FE3402858030654E83CAFEFBBCCDC8BE012E2105E35073FEE0A193FECEFED1FEFAFEB7E70102A5FCEEBD6F2B4AA9D401720171DAD0020000000100C90000019205BD00030017B8002B2BBA00010000002E2B00B800002FB800022F303113331123C9C9C905BDFA430001009C0000044B05BD000500314013000203021E040508031A070102250500190607B80153B321765E182B2B4EF43C4DFD3C4E10E6003F3C4DFD3C3F31301333112115219CC702E8FC5105BDFAF2AF0002009C0000052A05BD0009000A007640143701380602070117012701470158020507010202B8019B4017120606070207080301020806080A030A0A010608020302B8019BB505041A0C0708B8019B400A0900190B0CA0217670182B2B4EF43C4DFD3C4E10F63C4DFD3C11123939392F003F3F3C3F3C12393904872E2B877DC53130005D015D13330111331123011123019CEB02E6BDDFFD0FBE023A05BDFB5A04A6FA4304A5FB5B05BD000000030050FFD505E805E5000F001B001C008A402C8705C700C701C302C808C90A064308153A0F031B3A07091C021C1C0B1231031A1E18310B191D1ED8216A66182B2B4EF44DED4E10F64DED12392F003F3FED3FED313043794032001A
+
0D26012509250526160E18320014001232011A081832001006123201170C1532011302153201190A1B320011041B32002B2B2B2B012B2B2B2B2B2B2B2B81005D0017161110070221202726111037122100123510002322001114122103049BBB92A7C4FE95FEADC2AD94BE0174011BEBFEF1EBE4FEE0F701150E05E5FAC3FED0FEB7DAFF00E0D8014A012AD40110FAA20179F50103013CFEC7FECFF4FEB1055E000200B40000057805BD0009002700944012070D49014805590158056905641478050816BB01300119001B011C40422321202660127112751403121E1F141C1503211E161404261224251E0009091B071E0B02261C1B082025151F251603310F691B1A29082625270A192829D6219566182B2B4EF43C4DFD3C4E10F64DF4EDD4EDD4ED003F3C3C3FFD12392F3CFD3C3911173901111239391239395D1112392B3130015D013236353427262321110321321716151406071E011F011617161715232E012F012627262321112303478CA3723D66FE1AC702A8A86DCF6D6256570507030B122EF40A0C040C0764397AFE3BC7031C70929D391EFE0A02A1315EFD84A833237280C55429461421133C56F590311BFD8A00010021000004C905BD00070034401A01061E00070204080917171A00FB0203250504FB0619088C5E182B4E10F44DF43CFD3CF44E456544E6003F3F3C4DFD3C3130011521112311213504C9FE11CAFE1105BDAFFAF2050EAF000000000200AAFFD9052F05BD00150016003C4023170527053810030A0002053A1009160316161409250C1A18012514191718A0219570182B2B4EF44DED4E10F64DED12392F003F3FED3F3C5D3130011114171633323736351133111007022120032619012101743C59D3FD5B31CA4986FE8CFE8C8549024305BDFC74A06AA0AD5E9F038CFCC7FEF192FEF6010A92010F033900010000FF000473FF650003000FB50146000205003C103C002FED3130113521150473FF0065650000030052FFDC04470449000F003B003C00DD40382A30010A100B1B0C1C2733481069096A10073908120C09031B320724091D100C1D3B2B022E293BB73B023B322A2512100705081C2722171CB8018A4023171D1F07271D2E0B021D350B3C073C3C1C1407292AA8241A3E1B291C4A0F2738193D3EBC0197002100B9019600182B2B4EF44DEDF4ED4E10F64DE4FDC412392F003F3FED3FED3FEDED1239111217395D1112392EED2EED01111239111739313043794028363715220001192501360F2100181E1B21001620142101212200370221001A1D1721011521172101002B2B2B01103C2B2B2B2B818181005D015D2416333237363D010E010F0106070615013637363534262322070607233E01333217161511141633323637150E0123222726270E012322263534363713010E724E5F59962168326D62
+
315301B43E150C837A8D3B210AA805F7A3BD767517250C1E112A2C265D2A160937CE7C95BDBA978ACF5A2C49A691151C060E0D1C2F67016C082C182D5C534C2A53C69B484898FD971C220303850C06422340486AB58895A41301E40000020076FFDE042505C20011001E0070402EA607A71CD71C0322080F1E02050000171D0507110A1E1D0B0B1427081A201A2E102E01290011191F208721BD5D182B2B4EF43C4DFDE4E44E10F64DED003FED3F3FED3F113911393130437940181216060A1606142601120A142601150717260113091E26002B2B012B2B8181005D1333113E01333212111402232227262715232436353426232206151417163376AF3BA460C8F9F6DA7A543239A6026691918D7BB92647C205C2FDEB4D51FEEDFEF4FEFEB03B234D897DE8BEA9DEB6D1975EB100000002003BFFE103D0044E001A001B00A7402FA719019818A808AA18034A08119B14030314061D1A070D1D140B1B071B1B1710271201032702111A1D0A2717191C1DB80107B321727D182B2B4EF44DED4E10F63C4DED3939ED12392F003F3FED3FED12392F10ED313043794034001908250C150A26000E1310260112110F1007190A26000500032101010204030B160D26000F120D2600091806260104010621012B2B2B2B01103C103C2B2B103C103C2B2B2B81005D015D001617232E012322070615141633323637330E01232202351000330702D6E317AF10727EAC4A308892708319AF1EF0BBD2FA0112D41C044EB0D76383A86DA0A1DC8977D5C50133E6011A013A0500020038FFDA03ED05C2000B001D00774032370E470E570EA704A91B05250814020F1D1000081D1D07130A021D170B052E132E102911121A1F0B271A191E1F87217242182B2B4EF44DED4E10F63C4DFDE4E4003FED3F3FED3F1139113931304379401A181C090A000101180B2600091C0B260000190226000A1B0826012B2B012B2B818181005D1216333236353426232206150017161711331123350E0123220035341233F692A17DA1A67A88A9018A53303DADA23FAC6FB3FEFAEFDE015FE8D7C9CBC3D0CA0237341E4B021DFA3E956358012DFAEA015700030048FFDA041A0449001C00240025010C40799708991AA71F03050E020F0514150E120F1514400C401408291A014B0BB603C701C603C71BD808D909D61FD823E817E8230BC711C712025C080521240F9A161D243906070716211D1C070A1D160B2507971CA71CB71CD71C0425160F251C05190A0C07110E270F1D27051A27242E072719192627D421A65D182B2B4EF44DFDE44E10F64DEDD4FD391239391112393912392F5D003F3FED3FED12392F3CFD3C10ED1112393130437940460023040503050205010504061F26111012101310141004060C25221B24260020001D26011E1D09170726000B150E26010D0E231A2126
+
011E0521260108180A26000D100A2600002B2B2B2B01103C2B2B103C2B2B2B2A2B2A8101715D00715D5D00161716171615211E013332373637330E01070607062322001110003301262726232206070102B4D638361210FCEF0590978D543014B1074F3152794152C8FEEA0118E2011F0B284AAD7CA805012304476B55516C4AA2A3C55D36473B912E501C100123010601020142FE26754682B38A01DC0000000001001C0000021705D20017004D402B071D060A1D03010F1439160D06120A1917171A0E0D1129171207120F0E1F0E020EFC14191819FC21677E182B2B4EF44DFD5D39C42F3CFD3C104E456544E6003F3F3C4DFD3C3FEDD4ED313012373633321617152E012322061533152311231123353335B5233FB41124171C190B5220B2B4B295950542345C0202A4020155AE8EFC64039C8EA800000003003DFE3B03E80449001F002D002E00B7404D36144908490958085909880CA91BA81DA927A62BB91B0B4008031622290EC40A221D1F070406291D190A121D0A0F2E072E2E051C032E162E2D29051A300C0E270D3E26271C192F3087217242182B2B4EF44DEDF4ED394E10F64DFDE4F51112392F003F3FED3FED3F3FED10ED1112393931304379402C23281A1E0B1124251026231E262600281A262600110B0E21000F0E0C0D251D222601271B2926000F0C122100002B2B2B01103C103C2B2B2B2B2B818181005D00171617353311140706212226273316171633323736270E0123222411100033002623220706151416333237363501027C5E3335A63C70FEC9ADEC0EB70D273D83CF40260336987DAEFEFB0107BA0144A47FBE4625937CC24F2CFED104423E234387FC32CC76DA9BA548273C9256DD5250F7011D010D012EFEA1C0B25F9AB5BDAF6384022D0000000200840000013B05BD000300070036401C07E50400010006030A0917171A06010229070300190809AA216242182B2B4EF43C4DC4FD3CC44E456544E6003F3F3C3F4DED3130133311231133152384B7B7B7B7042AFBD605BDCC00000002FFDAFE50013805BD00030011002FB800532BBA0000000100562BB8000110B80007D0B8000010B80009D000B8000E2FB800112FBA0003000000562B303101233533013E0135113311140706232226270138B4B4FEA27931B4263FB00D1D1F04EDD0F93404235C04B6FB37753A62020300000000010080000003F805BD000B00A740645902013A08011902010706170657056705790678078705B903C903DA030A05050608080709030284029402A4020302391209090405060504066D12070708080705040305060908050204030A00000403060A07060A061A0D09020A29000B190C0DB22162B9011600182B2B4EF43C4DFD3C3C194E10E618003F3C3C3F3C3F1112173901121739874D2E2B087D10C104872E182B5D057D10C0
+
10083C083C3130015D00715D7213331101330901230107112380AD01CEE6FE6601B1E6FEB297AD05BDFCAB01C7FE6FFD62021C8AFE6E0000000100890000013D05BD0003002940150000030A0517171A0102290003190405AA216242182B2B4EF43C4DFD3C4E456544E6003F3F31301333112389B4B405BDFA4300000001008400000625044700260085403B0708070E060F1708170E170F2708270E270F4819560B670B0C23250A1A1D23190A02041725211D171D0D060700061B1C2503130A2817171A112914B80101B21A291DB80101400A00012E25292600192728B8010DB3216242182B2B4EF43C4DFDE410F4EDF4FD4E456544E6003F173C3F3F3C4DEDED111217390111123912393130005D13331536373633321716173E01333217161511231134262322061511231134272623220615112384B240345971804E2C243CA265D84E2ABB6B4D6A99B71A297066A7B4042F984F243D3F244656539C548EFD3702E86B508EA6FD9102BB6D324B9ECFFDC80000020084000003ED04490019001A005E4031B706C706020406140627147606740705140C021418101D05070006180B0A1A071A1A000C29091A1C012E18291900191B1CB80106B3216242182B2B4EF43C4DFDE44E10F64DED12392F003F3F3C3F3FED1139390112393130005D015D1333153E01333217161511231134272623220706070E011511230184AB4CAA68E4502CB71D307E40294A382D1BB401A7042F985E529F57A2FD5102A3623C640D1642357169FDCF0449000003003BFFD90421044E000C0018001900904033980896109916A504A808A610A916B808C808D704E50EE9140C3A08061D18070C1D120B190719191502270F1A1B092715191A1BB80109B321725D182B2B4EF44DED4E10F64DED12392F003F3FED3FED31304379402C001704260B1309260000110226010717092600050D0226010A140C260001100C26000816062601030E0626012B2B2B2B012B2B2B2B2B81005D241235342726232206151416331200111002212200351000330702E085304CBAA59696A3D6011EFCFEF7DDFEFC0112E70674010FA6965E94FCB2ABE403DAFEECFEF4FEFDFEAE012BFC010E01400500020076FE5504250449000E00220074402CA908A717022808201C110E061D15070F060E1D1C0B220E0227181A240A2E102E2129220F1923248721BD5D182B2B4EF43C4DFDE4E44E10F64DED003F3FED3F3FED1139123931304379401C161B00051A260426001B022601051602260101190E260003170626012B2B012B2B2B2B8181005D243635342726232207061514171633013315363736333212111007062322272627112302C6A72546BABB45252546BAFE2EAF36405B7BB6FEB7749A7952303BB479D3D2805CB1BB649A7C57A603B18E49283CFEE9FEFDFEA2965F351E49FDDD00
+
000100890000029204470011004F40262703260D37034704040E0810020E0911090C270805070006110A081A13012E10291100191213B80145B321627E182B2B4EF43C4DFDE44E10E6003F3F4D3FC4FDC411123939011112393130005D1333153E0133321617152E0123220615112389AB15A46B05181D101B108892B4042FB9369B0203BE0302AF72FD980000020042FFD703B6044B002E002F012E408F38099805961299149815982A062824252736214621472447275624572766246726790C790D790E7623742474257426A61EA82C1303000B15052D042E13001A151B171C18152D142E280F0B6908262536250225220D0A042B1318C61C1D1307041D2E9A2B0B2F07090E100207002F212F1A1F18161827173E28260727281A310E1F27103E00272E193031B221A65D182B2B4EF44DEDF4FD394E10F64DFD3910F4FD3911123939392F111239113939003F3FEDED3FEDED111217397131304379404C012D022615251A26210E1F21000926072101032C002100052A0721011D121F21001B14182101200F22210021220E0D08270A21012625090A012D04210006290421001E111C210119161C2101002B2B2B2B103C103C2B103C103C2B012B2B2B2B2B2B2B2B2B81005D5D015D13161716333236353427262F01262726353436333217160723262726232206151417161F011617161514062322262701EF082544A864983D27738F894174DBB9F26B4302AA05263E99666945284E77C24269D9DEEFC70701B701505A3057575B4524161D24222A498198BC8E5A683D32474E40462A19131D2F2C45948FD0D9A002F900010017FFEF0209055A00180052B50D2E0AC00E01B8013F40250416391703060E0A111A17171A0301062900150E150F031F030203FC1619191AFC21677D182B2B4EF44DFD5D39C42F3CFD3C104E456544E6002F3F3F3C4DFD3CED10FDE431301333113315231114171633323637150E012322263511233533A8B6ABAB2615310D1E141F43277E5A9191055AFED593FD4538130B01028E0908816702C593000000020080FFE303DE044900170018005E403AB814C81402091308141913191428067703D707070800050E0A00060D0A051D120B180718180B160D2E0A290C0B1A1A01291619191AD2216242182B2B4EF44DED4E10F63C4DFDE41112392F003F3FED3F3F3C391112393130005D015D0111141716333237363511331123370607062322272635112501381A3083BC4425B4AA0223346793E5532D01AF042FFD39523460A85A9D020EFBD19E3D2A5499528902D81A000001000B000003EA042F00060102402E4201C5010200670068026803670687048805A700A802084700480245044A0586048905C704C80508492873280708B80109B321677E182B2B4B5279B8FF70B40105042004B80183B703036D1202010205
+
B80183401E06066D120000010506040301010502030603000605040A0817171A03AF02BA018400000184B301AF0619194EF4184DFDE0E0FD194E456544E618003F3C3F173C1239011112391239074D2E2B104EE44D072E2B104EE44D2B4B51794025022912030304002912060605010502030603000605040A0817171A020403AF050001AF0619194EF4184DFD3939FD3939194E456544E618003F3C3F173C12390507102B07102B313001715D005D7113090133012301DC011E012BC5FE6CC0FE75042FFC980368FBD1042F00010012000005A1042F000C0120407E4704AA09028E09014607490B87038A08850ACA02C403C607C908C60AC90B0B66076A08650A690B76077908760A790B85078A0B0A4607490B0247037700780503572816282B012B043B013B048F018F0406090401030B020305060C050006080A0B03070A0E17171A0705069B080304C40A0209C40B00019B0C190D677E182B194E10F4184DFD3939FD3939FD3939FD3939194E456544E618003F173C3F173C1217395D4B5179400C0529120607060029120C0C0B0587102B87102B4B5279B4090A09080AB8018B401312010102070604050529120606070908090A08B8018B400E120404030B0C00010029120C0C0B01874D2E2B87107DC41805872E182B087D10C505872E182B877D10C405872E182B087D10C53130015D71717100715D1B02331B013301230B012301D7CED1CAD2DBB4FEC9BBDAD3BBFECB042FFCB4034CFCB90347FBD1033DFCC3042F0000020015FE4903E804490018001900CA406E8A158818A71803070617063812481258126707770377078C1498009705981597169717A800A8161048004B154717C915044405C605028705A600A601A705A8170524280518151716010006150C0B0F1D080E19071919161B17171A050001AF171518AF0C8F16191A1BD421677E182B2B194EF44DE418FD3939FD3939194E456544E61812392F003F3F4DFD3932192F183F3C3C3C123939014B5279401215150016166D121717180501016D12000018872E2B107DC418872E2B10087DC418015D71313071015D005D013306030207020623222627351E01333236373E0137013301030321C7268362429C809C26291E2F2A10322F10053E0EFE74CC011F01042F67FE91FEECAEFE66B40608A40D062118089424044EFC980382000001FFD5FE5E028005D700230072403E98069813A906A914A72105071317132713380A381F9614061F120C400D4D0C4D201F1F03162D15032D041315002517171A0316AE1A23910812C30C192425B80103B321DD33182B2B4EF44DF43CFD3CF43C4E456544E6003F3F4DFD10FD1239192F1AEDED181A011112393130005D015D05141617152E013D0134272627353637363D01343637150607061D01140706071617161501879C5DB2E9223E
+
B0B13D22A3F8A1391F2543C1C04425059A830B7512ADC6CE6D3F731372156E3D72A3BCDC15720E80467C70965091121197538F00000100900000013B05D20003002940150200010A0517171A0300C10201190405C1217765182B2B4EF43C4DFD3C4E456544E6003F3F313021231133013BABAB05D20000000001002AFE5E02D505D70024008A404E960A960B9619A70AA60BA619A822073924011E05040302052024160F0E0D05121806020C0F041208211E191604131C40134D124D2024241C082D091C2D1B13090012C30E18910420AE1C08192526B80103B3213CA4182B2B4EF43C4DF43CFD3CF44E003F3F4DFD10FD1239192F1AEDED181A111217391112173901111217391217393130005D015D0027263D0134272627350417161D0114171617150607061D01140607353E013D0134373637018B43251F38A201025C3C223EB1B03F22E9B16B8E2544BF022E9050977084447A0E72158B59B4A3703E7113721275406BCECAA813750E8F8B9790529711000003001C0000037805D20017001B001F006140361BE51900071D060A1D03010F14391D160D061F110A2117171A1B1E29181F0E0D1129171207120F0E1F0E020EFC14192021D2216742182B2B4EF44DFD5D39C42F3CFD3C10D63CFD3C4E456544E6003F3C3F3C3C4DFD3C3FEDD4ED3FED01313012373633321617152E0123220615331523112311233533352535331507331123B5233FB41124171C190B5220B2B4B295950213B4B4B4B40542345C0202A4020155AE8EFC64039C8EA81FCCCCC7FBD6000000010000000000006B8BED625F0F3CF500110800000000005F4D8F0000000000C9C13CF7F865FC270B9108F9000000090001000000000000000100000629FE2900000C01F865FCED0B9100010000000000000000000000000000003F0512004202390000023900ED02D7005202AA008E02AA0044023900AA02AA0055023900AF04730040047300C4047300400473003104730034047300420473004D0473004B0473004204730049023900E3023900E304AC005C04AC001C0556001E0556009705C7005A05C700A5055600AF06390063023900C90473009C05C7009C0639005005C700B404E3002105C700AA0473000004730052047300760400003B04730038047300480239001C0473003D01C7008401C7FFDA0400008001C7008906AA0084047300840473003B0473007602AA00890400004202390017047300800400000B05C700120400001502ACFFD50214009002AC002A0400001C0000003400340064008C00D4011601480166018601F4021A02A6035203A0043404CA051405C6065C068806C606EE073A07C6084A08DA093C09800A280A400A680ABE0B3C0BC60BF40C3C0C500D1A0D840E060E720F3C0F881030105E10981108112A11A61202127A12EC133214121462
+
14BC1552160016961706172817A6180800010000003F00920009006B0007000200100010005D000007E80A1D00040001B800532BB800492BB8003F2BB800352BB8002B2B4118008001A6009001A600A001A600030069018B0079018B0089018B0099018B00040089018B0099018B00A9018B00B9018BB2040840BA0179001A014A400B041F5414191F180A0B1FD2B80106B49E1FD918E3BB0119000D00E10119B20D0009410A01A0019F0064001F01A50025017A00480028019AB3296C1F60410A01A9007001A9008001A90003008001A9000101A9B21E321FBE012C00250401001F0126001E0401B61FE7312D1FE531B80201B21FC227B80401B21FC11EB80201400F1FC01D9E1FBF1D671FBE1D671FAB27B80401B21FAA29B80401B61FA91D6C1F931EB8019AB21F921DB80101B21F911DB80101B21F751DB80201B61F6D29961F6431B8019AB21F4C96B802ABB21F391DB80156400B1F3638211F351DE41F2F27B80801400B1F2D1D4C1F2A31CD1F241DB802ABB21F201EB8012540111F1C1D931F3A1D4C1F1E1D45273A1D4527BB01AA019B002A019BB2254A1FBA019B0025017AB349293896B8017BB348283125B8017A403648289629482725294C1F252946272729482756C80784075B07410732072B072807260721071B071408120810080E080C080A08080807B801ACB23F1F06BB01AB003F001F01ABB308060805B801AEB23F1F04BB01AD003F001F01ADB70804080208000814B8FFE0B40000010014B801ABB41000000100B801ABB606100000010006B801ADB300000100B801AD401F04000001000410000001001002000001000200000001000002010802004A00B0018DB806008516763F183F123E113946443E113946443E113946443E113946443E113946443E11394660443E11394660443E11394660442B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B18011DB0964B5358B0AA1D59B0324B5358B0FF1D592B2B2B2B2B2B2B2B182B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B74752B2B2B65422B2B4B5279B376706A66456523456023456560234560B08B766818B080622020B16A704565234520B003266062636820B003266165B070236544B06A234420B176664565234520B003266062636820B003266165B066236544B0762344B10066455458B166406544B27640764523614459B36242725D456523456023456560234560B089766818B080622020B172424565234520B003266062636820B003266165B042236544B072234420B1625D4565234520B003266062636820B003266165B05D236544B0622344B1005D455458B15D406544B262406245236144592B2B2B2B456953427374B8019A2045694B20B02853B049515A58B020615944B801A6204569447500
 
00>] def
-
/CharStrings 40 dict dup begin
+
/CharStrings 63 dict dup begin
 
/.notdef 0 def
 /space 1 def
 /exclam 2 def
@@ -720,39 +747,62 @@
 /parenleft 4 def
 /parenright 5 def
 /comma 6 def
-/four 7 def
-/six 8 def
-/semicolon 9 def
-/equal 10 def
-/A 11 def
-/B 12 def
-/E 13 def
-/G 14 def
-/I 15 def
-/L 16 def
-/N 17 def
-/R 18 def
-/T 19 def
-/U 20 def
-/underscore 21 def
-/a 22 def
-/b 23 def
-/c 24 def
-/d 25 def
-/e 26 def
-/f 27 def
-/g 28 def
-/i 29 def
-/l 30 def
-/n 31 def
-/p 32 def
-/r 33 def
-/s 34 def
-/t 35 def
-/u 36 def
-/braceleft 37 def
-/braceright 38 def
-/fi 39 def
+/hyphen 7 def
+/period 8 def
+/zero 9 def
+/one 10 def
+/two 11 def
+/three 12 def
+/four 13 def
+/five 14 def
+/six 15 def
+/seven 16 def
+/eight 17 def
+/nine 18 def
+/colon 19 def
+/semicolon 20 def
+/equal 21 def
+/greater 22 def
+/A 23 def
+/B 24 def
+/C 25 def
+/D 26 def
+/E 27 def
+/G 28 def
+/I 29 def
+/L 30 def
+/N 31 def
+/O 32 def
+/R 33 def
+/T 34 def
+/U 35 def
+/underscore 36 def
+/a 37 def
+/b 38 def
+/c 39 def
+/d 40 def
+/e 41 def
+/f 42 def
+/g 43 def
+/i 44 def
+/j 45 def
+/k 46 def
+/l 47 def
+/m 48 def
+/n 49 def
+/o 50 def
+/p 51 def
+/r 52 def
+/s 53 def
+/t 54 def
+/u 55 def
+/v 56 def
+/w 57 def
+/y 58 def
+/braceleft 59 def
+/bar 60 def
+/braceright 61 def
+/fi 62 def
  end readonly def
 
currentdict dup/FontName get exch definefont pop end
 
%APLsfntEnd
@@ -763,12 +813,15 @@
 
/FontBBox{-1947 -985 2961 2297}def
 
/UniqueID 4257378 def
 
currentdict currentfile eexec
-
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94DF6C6C4CAA4D4724D5FBE8DE875B8787096CC4B940CDD1EB776B48720974CA44D863B501A56E0010915099D9EE0B5A694E8162ADBF9836250BACCB77DB13E16980885486883919330A746641657E0563FFF3F5162B06A9D7D5DB5CE0D50CF57E919C0EA9398C970605E91134D93151321BF9CFB68DE8766809269894A72D90DBFE87FEFC2B45ED50B5D408BD4B15D3FDA52F0167B666CE94E91D604AE8652355F64306877A5D5EE1B91329C0D2DB96B0C6FC3DF64A04E084461F40596B245F36746F2281E028B8A78FE588E1472C14ED42C6E7821FDB6B606E426C51490BE244F6CCEE762D20C2E8AD7EE856FC1AF4F83E8E69168192600B1384271BFEED8AF06A848F8C4424603C32538ADA3F6DEAEA868F70F770CC3FF1A87196DE0E428F217672D4884179319FF149F736D87E5495C86E7ED2E2F72F246A953CB442B8C28E32F333C97F36AD7403333396E8F9BCBE246AFCF5E689C076A487569EEE4AFC14A3F33EE89EBA74C8DFC16430BB7071EC6144E5192FC48C1D175CED20B5EAB73423E80227606F369B7F131B71830DEC6A7216663E985CB8E551897D6A8AEC1D85EE687CEE1E20E50D5221504CC0077EA2D2A0A28B9180D00EFDDD6A4828A587D201E9810C3D8B4484D453A1B5F3A121A1B674CC9DF496A721A200238F1DF91A7F7E4056E7F7486577091CE99C27C84C9AD98A6A3CAC8196F596FAB288D6C186077C748F4402E4D543A647614F4CA446063F6B91BDBDF7F8F4865B2CBE583DD18F
-
319B7CE1823A66185008528D8A483B5BFCCFB8778DB667D5F2843FB90755266DEBB4E1B25D44559AB2875D2E2918FEB1A61F321CA5360B0D4816A3A65B4C24C4950778462EA16B1DF3C3788983AF5E5685B53E9B76182AC10A4073270E3016E844C8BBC7EDF8F2328BDBA779E628008DADD903779DF6972E0B3D66C45E9DB7A8B09463857419117C10CAB638FD6712E90FA2C3F902F610BFFF547806E9E3CE8D920D53FF320251D1D36842CD9C6997E4F13A79C8F35F4C1C6A6DBB274CEA975F7A50EBFE5D940585DA77B851B0AF12A76F408FBD5664FC9647B871EC26ECC5528AD93FFA9C91600DE777EE54D877D4D2E217807CECB8EAC78DBCD1A48F87255022ADFB3D76BCAD5D8D6A7501B78B2821AB30D01D78B0A28C85E3F385CC2F0DBE74980C9B9F697DEBE1DF3988ED2E4222E6F4382B74E60984C8BAEB9C7888B01D9C8A1114E8AE754947BBE33C36C2BC437155C3724887326FA1C7E519C8F3A4F50ED4F025414D82AB201D8B6160E71B865CFFFDCE8A0043B5D135D1EE330A93B2E5BB4C877399728E97BC122480FEA39A3CD471B9601F5F36B8B59F4BDCE7D5A55EE81C8E1AAC55D228B6A23DB25FA9E6D977AD28EB5B46B4C8DB026A5E995916A05F87E0DB5EE19F3FA38963ECFF71538CB5DF192D8390AD92B5C181CB22FBBB5B86078B95316C07F0D8A0E20FA817FB09C6BD85BB7FB381F447B40832B7E8C41431F4E66FC71350CD4AB6CBD060152047F6B7782232F27DE282B5DE1436D25D19DBF1172EFA1D2DB2F383FBC94B25CD5389DBB2B42358A6264C85CFC4066D102A400A05C058CB2112155D4C7D76FD0BFE3AB4C40CA07F6F2DDC2908229A98150D61F8EA69B9A51C15027A1F83E30E424945788F4DEEA06F1BC50EA58083540FD52F582BE81CF0A023206B8BA06544D99C2E8A931E609F10E28F55050D62914538293A6AD3AE5EF9331509DBF3619BD72C4B725AA54D0BCDB826BBA0422DCECC5C5FD1C22B46952DE547DF170504EF9A7CCBA157D646D9D7FC28F635F0B1F0EB4D6B3254AD4B008D3DBB1589760215BB18D555EB4584A32D99F1D26C8C85E25BBAF9390077CB061B8759BEFBB72596A7AABC6E96AD94CE606A9301AB0EF3B88CB15D3FB0AB3AB85AB1490A0FFCC8A2804E042F7777024461AF5EE53B41E0BD29836B1E518B24B6213CEFC495EC0154F6CEC6CCE8C4D9BBCB22F88EBD757902C2DBCA434E46C65FC3BF3710A5C64A442049D2B5756DD0C671084A4C9B1F46F64ECBA7E0FA5D8E99E8FD125FE51DC4F20ED9A8BD014F1B3423A74D7F733F5033CDFBA3EB8162C0DE5E65D84C6F323B5EA9E98D9A54551D49ACBAC37CE65FCE3C70FFA4A710CF82EF0F6C363762E967F0CB77DD58C29970DC86D6A3FC093AB982F4175E525DC9FF96CAE511250068159DF064E738477DF718E640AE141743E29AFF
-
3029BFE1BE6BD58876C7B86B3A7FF07D5EF242681F478DB65D5C1339FBC8165D9CF6184D05351B169E6DD2CCDCBDC6E3D3F833D5FE4A2698BEE2ECBDA131583292BDC9E267ED00C780F8DF5354E724367F3776F11DA3633B5E0CAC28702D7595C762FC9A61F0976876F99645DAFD38FC5EBA939C4DC602E1AF6977B614E1D62BFDB5064F864A30B8322A2986D8C5C0CF67B246F67663C671653E0F7AD47F857902CBDBEC1818D1D7FAB6304069B368F6FFB5831781D91BEC1AC5FC86DE53141B2FFECE5DE4B97FC65224FF9EFDCB0D05E611E50FC0F007FEF064A407C37620560FDFB1A8ED9E44A4440842A7A690711D68E10BC2C8661EE8E9C2F5484E44C8F5D0E0069A52EB444C0341849B9684236D5654A59DD84F959C1988EFFD77AE175ABA17D423CDA2F2556E99BE676F10CEC14E4DD9DADD847297B58C7E079F193C2177FD66A85B9B04CB3156777F98A9074778B6E84720AF0A7892F169183CFA63E383812E452C3C1967FFDA5485CB44D326B2180DD88C5D715EAAE8509A3B3285F4148CBD7B3E1961A21D7422E307D89AD385102B6AB479AD4AFD289BCFB0AF8452D63A5FAB93198ABA4CF8057041472B5B410EB60A09A4BEBC7C8AB3B675BC2654C93912470B17EFF49A119B986FE4388DA57AA4B16FBC55D0D82C510075AFE7CC7CC9693BA757CB1E51232D5BAA1893DD200644D65FC9BCF7920C9F76237663AF49EE816E37BA5C0F4A8B227DF022D7276E2392EE83562C475F88545C3A29A717A620E5EC71A42D77BABC09E8C54CFF4AA77E0C3D4F57252C72FBE08977DF0784881371863874DA9B46C892BF87D6A8A08DED74A25D52B929F48B392735DECB820954B4313BE34112437C803CC0FCE006FDA6298DB550D7201DF03368EDB6B541B97C707147DEBDEAF3D561FA41264C52B6E005F4B7A4EAA726C3039954C858945FB2533BA84F602D1281935AA9AA18012417EA18B584C5C275FDA5058F3C1A30A0480BFE06C6D6DC4EC18368A3BEF016370C3598DDEE36DCEC0FC3E598F7182C23FADB6CEB4B2D204507BA3F79D64F2FD7C15BF56FD6E61B3994034ECF2A594D522D058682C3F08F13E459825A961DDC86FD48B21D2D8AFA007F9407B699128C3FDCB28DF4D506B723F15E187BEB5B733C5F0421E4DEC7BEAC8991EFBE430608CC36C1CFA80AB615F78B82C198F3107A4B812042136CFEE94BE61D85EF67557FD7C2A90B7DE7CD15BE5B222039E0CA88070EC214F384DDE70C0F42B89A420A6ECBFE86B6797C6A1B47F508589FB81268F3C8A74C603A553F7E971C8B6D21D22A152C6EE8E63E2B49508DB9DE6CAA879EA1430CAF23B8055A42205F0A31B2E0B0FC118A0B7FFACBC38905210A3B824B7CD650B2FC8A48745AD5EFC422C6E8A3BAA7FA20927218CF93BD367B244EC4467A6253919202D470B8ED49F88AE0477805
-
581D474559B94F0FC169B8C78E283B31A9B6DA2DE9C04623CDC23A70CCB9C7CF0F6CC8AFC55F1C1B6B563F0A0CFF6EF0B9338C92E887C9CBE3C1F4524AC738FE91CF21D7C629C2ACD11B46C70D9E490FFC41C96D861842D0CDB6E9F4BDB1E9A85F7FD9EDCAC214BB13243D75E571BBDC2B9B1C8C1B0EC214919CA36B68351355E53BF7A83BDA8ACD2B0D5AF970AF92F84AA63D926F15E4DBFDA2FDD2F7FDD333C4E4BB1A38BE4CE018BFB06DD815B1F5C56C566438E488A41C05B2413D9E60285FF56ED78595DF046C0D287A4CF4E56CFF65BE805C321108EEB9220329429AB826D732F6642C8E868359CE4FB8FDEE4590A17541B53A077658C05D1AF8D382946C921374A910DAFEDBFBF351A26FA38E1D51AD521DF919CD621479C9C34908B1EF5D0E59D8085DB272D7BFF761BA49B833B768456F26027263BFAFC44723FAE39B90054C5704F1F14DFB125A2318BC530DFC3F31EC47C77BC3E6F906650A3B0210ED2434010839893D52C7586B6DF2FDE7C0FCE86365E2573EDD24C5DFF8195373D297CA11E8EB998E10B24FE9A8C464F814B77B438C0A63E1228A3DA7B7F3F6473613E87A48554279DAA891064D40166430D8EF39AB8227CFFDFD20CB46AA7666CA96D8353AA19E0566EE6D072473E039B734E332A7016C35A0A63E49B9277EC1ACD242857F075AC715F356E7FDD0B861CB5AB7BB1BF5DAB83C701FCCB4762FCEAE7EC4D16B246EC4150FA7629F5D7AC93FEF59398ED503C4BF4875A623E90F0E87B5A894CB72363FB2633800D5D7A04519F49DBCFA6B05C6748FF181A49750150D834E447ECBFF5CC9AFE822DF3632D356E0EE7D37233CCF5D09E756E718B9D6A13D94B4B3ADC93192A938A4505568433A58E783C929D7CE3A20A104439B282FA75FD82E4DBD3F64098AF4599EE99C691BF4D772B888993B53697060D120575A51D3FEC4018DECA2018A50737325D3A74EA26DD4BA8A6C9259E31043383BAE2E58CF6E607C7441D64FC8F4A1B85788157245E43F11416503FE105B66E440D5D616714D32BF651117817BF46E1B4302F7D31DB5B06311C1FF874BD81D7482128279802280431F6086AFF303C6A02D468F3682D7E68039C03D361E48BA960167174034A3065ADF04A88FECE4D219BDBA757EB15B0E51BF3BF6BAA32E08B3FC29BB6B9FB74C5C543AD5106278BD76608456652ED95AD10A76542C255908981709C57853C6AB71E3DEB985813E025774F07E8C441A52CDDFBC063B13D42BF69128158EA1A59FB3D186172CD08655954E3826D0BC22826E029ABE066935CB2260A34A0C3684ABC32DFB459BA85C542A1624CB0A93A2D62A76D1B2D826BD9EBF5E334D9D37220C594FE3EE45E74607DFA7322EA1B4CD10BE9521070D86F2F3AE5610BCA83A01DC8CD6C1BFA05D27136CB89B6CCE4ACCEA7D606CFA2356E10153905C
-
ADA73C437D1BA20C9FF516C9E9C98FF701E9DD20786E827DDDF800A4BCB0A83411FF84E941BBA88833268484F96B5AF1E22537B4323B2D57D7816CBBC2E70ED0B33528D2E481CA60A799182899B59AB07D36128720721D8D24AF46FC0D15B255BB8592908B1E7E3A168AAA330A11CDC09041EA1F73DBCE37E158BEA3922B44B2768D41437ECDC3560571A17C6FEA46E269C7D068D56FF1D87B4758BAD57DFF68A94FF449D558D0EA99FDFE5DF5A44947D6F0A25663ECD4AAC6143D262E1497B3E46402A4F47775F6ECD4DF1EF34396777AC5721342C8B478C018CD98DE339FB3505470B11B80ADB0DE98F3DB72C2CBE88E3C4664DF54B570E8DF125E6903E5763B91CB71F347A34CC3687A1621BDF46E64C2CEF3B41F14365BE1333AE13AE1C0DDE73E3BFA33DC4D250D8731B5B0200667ED3EC76C40CF34847E3F5A26EB039FBBC6D67B63E5432C0381B63305BB244821210204EB68698697EABC7F82A3E57EFFCF4C02FBFD8DFFD877657A9FB94372D8961D059C1CA3C8AE320AB58005C4039EAC32D6BEDB55F7DE5609FA3AE5F33C3C8ADDD66163F44CCC4106A1036F828B8FF2C7046A965C802BFE9D0D6F1CA02BD5FAC6C4098BB54BEB3F8519CD6D7EF150C5982BDD8C03E1ACB749A2E0D6B487227115317173DF0A39250C70BC4A8AB3BE04CA9F02A1A1CA9C18C60478D3539B101E9C1A4F55052A284A9800E4DC91B3556EC367F23C90B65335A00E19B0294F0D7074F63B215ACA63B2C1C4F3C5BC18BC25EA3AF9A06FC21218AB74CC8934F926179DCCF4847820499D1A388872FED96C396B4A996CB785AB08049B9CC2BE1F68F3EBF9270A00D4A450E56F5237726598464040DE8A130486FC2DFBF95B47D2E75A6E110F79D7185FF11C96421C505E457C7C82F0150905D871D2045CD48F993FB8DFBC3C1A2410F085A1CFB8960D7248AB572C9236D8DBECAE289490467717D5F62CC3295E30EA900FA7BC7038E6F4B660B1D4DF3F262414EC6476F17C48BBC565DD00DCBEB0C518E6C51780D6ED8206E6F376898835D40BA98CD5234C440E84238D85E3498EDF52159D4414807D6CA6A58EBA69D6B85743834B124C1214FBCA7ECB481A7166DA093B35084AE6475AF779A654C9541631F73F21B209EB966735AF8F0619171BE25FDE25B7D9058D84CC50739277532AD0303768494F7922A37A2DEB2A0A73F49E7B735FED86E73DB54ADE0A88022E3BDB37464D0AB99AEEE45411167BF02E4AFBA537F86A630F015CEF4A9D15DF8985BC02A2C2302837F186EF7186D86D54CB509D79C6C6F2B5B8DF7A1C80E99744E38786DEBA328CF4D1B057F6EE4F1A8F9AAF0D8FD974D8D120539983BA1DE958352D37AF9062199375AD2CD847554D9E38FC2E89E6A8B9B971CA23C598735349E6539D4AFBE4DA8B65E32F27793412DD260DB0237DA19CFF42AB
-
2E380FF13E997252F94D1C96CCC7B162EFB2A01D717C3315C5433BCBF65BD8BDE7E89A6BEA9D2D4E68996857560468DD400AE07C6ADD782658F964BE4F8D344A5378CBDF3A73ACB01F2F19960EF4A3C3BF306A8167CDDEB7050CD84A9A0762254AAF75DC3B86ED6646F331A3EFCBA321F4CEA4EADD5389C7F9902E4E441ED60A894DC2B71905659C860E694F0D8705DE54442B4F9B8475424D36ACEACEFEE0D346286B16FF8D34DF4E766606F4B00B065F447A790AF44C8D707355D788747762ACBD708CD79D2CD32D6A8414FD5CF18DDD5517AC9B583C44C367DCB3886D8BFCFA173C1B711150A97C9E87EA760C167F1AEF284D4E2DAAAC2BA4191EDC7D463D35419D7796EBA5A77513E4A4DC7F8C0C47EB99EA322C908BCF8BCD20ABFCF919A81BF2693E847BBD1125CF6CB06A43D046DC80EC06EFE1B1028373AB4D27A5FAC17C4775C3404D77ED1C193E5D1BFDB2F1E044B701E8D4D981A128D1F7975C487C14E23E74C6DC830F99E0ACD8A08ABDF711150A035CB3F645BB126C244A46B510E5C889E90180A79B67EA5D309C45458F1CBD6E14CA2A7A2D0AE70D7AC29386F9A0DEF6B6F231E977C7BD59C7708E69C38DDDC6B9555BDE276BAEA3E9A9
+
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BF93C353B6B058AB9F84F393C87DF61AE2E134E4F1384A2AE4EC7E3AAAEACC704FC2D122BD861853714D1247EA90C80EC7F04A322195DEF346F34B8C9AA8D88E0CA35078F8434C495784461D907750A3E09DCAED5F43E4B213FED61DDCA9919A5749C941D59C92F101E087D38D8597CBE688D0B09163BE0E5AE92DB73D934264A92A1CA2BAF877B4C1CCDCEF4CB165361D92BC613EFC496DDDD21E4637C637AC080801FE02C60B43BCC09FF03A22450688C17645E58A1BBD351F5381A7B35CA5119C4EB9D2528B64B4E1E2985830119E95679711C9F802021B096803693A2C5FD0FC3D83A564C7F22253E29B521BE19DA317058C2A2E962F66291D024AFF23C4AD14461113AE8B6066FB8111F23667935787D2D0950BA91173A7B6CEFB1423B643E16C973FAEF38DF120D40E0E1227C57406F31AB311DEBD665FACA51493975C16C498EB2EB8B1CDBCA70D97620385FBA4D472EA0B3CC75C7D5C33F1A86C47F0DAC6ED6E41FFC591C6F44AB7DC5CB828ED239005064D6DDFCEDF96303B2B58D469FEF71591876D107F67ADE1CF85452FE87649AA91B6AD6E55542F2E8A2095F2126910080100A4E49F22E92276BA94BAF22B58111F0C388FE065380CAF96C144CE84264CFBBA70EB99705EB7657A44A12DB2649BDD4FCB827D0AC98347FA93961B8B02DF641E57A5449E0CFE605D4742CB734779F4F219DC1F2F7ACC971226578655E0F8232FCE1702793B3F28B820EEFA9206DF5F75E940BBD15A060FE82D63
+
5EA7C9480511C02593E7810DB39D4F7BED161B7B5FC503EF7CCE7C0E4E92F3AA4D5782AB15F078375EBEDDC711FB56E1A969BE2D6AB6CDDE4354D15A47CD6A5B4626311F69F2F94FADB06CB96262BD7CA91B95D7EF898E55EF02DD25D307D6F998D0D31E22E8C00BB38EE6747DFA4ED54A216C95B6EF4122B2CF3650A602AFA1115C598E399FE80B2ACD5CB7C21706A33CA3649DAB96584E9E874E06BBF73CD79026B1F6DB503011FE70062E1345E1668E3479DD7BDB4CD1F57244CC83E1F779845AD764A3C59C469AAF6F43FF3F5116A23DDEA39F78057E68663E9A3474F2EE8F451DD9DEEF1556BAB16CF87DAE9C4C770C7613C5E0ABF545710D323A03D367B15FB115684A71EB75C2ECEE8D271696C960454DC2893F7C481C52ADFEE93017526958EF439CEDD49D80B728149D9FE5E5B79A1C8CC942B257FC8B555DCAAB98D7C6DDA4E763782E8D74B1A8FC90350E94CF56AA636B7AA80DB8C6683D6FDF8BB55400E5754AE1DBD194931F764847F73020ACECF3EEE24B10760FAAAF954CDB5FF9A119DD2F249DE8749AF96AA4BC83B7516EEFFE49E43FDA22960DC5B67F9BCC4F881E84675EA083BD576225A214FF9DC64C54863F45CC1E22F55453A4906244C8E04350E733682204732E36604CC7E6AC3A13940A7B064483B55220CB88E9F2389F513855807DF03CCDAC19D32459DD569DA727F21BD5A78AC1A8788F16A99A6529139642B53BE10CE9C6021720F05CCC48D9B643041E05A35B0A96320C7F938549D6B5BF5837BCF07973D5E9C274F69FCC576A1622B11B098374B3C98D507542370D6FE38720E5CFA7123D3B8C0E9FFBEEFBF7E0700052C29A25A00FE5D039F6C6E4AD574408C741C54859DA5E0FF9D5AC7864EE56631E1B78A9A5D0C82DC0AD361342831C50A05E179B4B89009C90FD6EC8FFD8AD815E452B60D48F43BB3BA60C840D82DAAFB7155BCF6F71FC83A7E4CE99DE3593902E0E6710FF0B05154B9FAAD6624DB301496593A72632557B6AB012BD175065FB38784C80B3D9F6FB11D650F0D2EC98B6E080B1AC5BE83DD69FC01B1796E3104A2B102F97B6B9A58A226E55481A0398FF108ABA11273B63C0A24EE6E4F6567C77DC544328F9F4095E939970E0881A819AE30E034B2C6C9AD614D74EBAFA5CD462A0127091FC6746610A3A955BE91866EE2A04BCD93E7DC6992C25D0EF3FA04A3B0A177B2AC8D3E7C8CE55FA8CB77BE5CD4765E7EB4F1F705540F1D8AE701D47B473CA7DF4D5782A6DF891B5A6CB745F17F4C08F829EFAC029B32CA33FE626ACFEF51279D8356435AA9F4278DFBBCEA477921BE0A79CD8BFD08B896260B451DA8AA6286949A4CF81AFF121E7E93950FBA71B139CCCFDDFCDDB4A5647CA55DAF1247E2D416E91DF63A58E252CF13BF85C483BA107246F7B288B1866508AA740C5AB3823D2A392152D58
+
A5197CEFF33B9C90FD2786C7187F99FBD7798E03B628E806A908D6770DE2D88277009CE22DD38F99693D7DBF61678C29A78FFB41E3E1A3A7B7B030C375CFE70D7E378836D482436FEB415635B067B5767815D8B52B6996391F16A08A574DC3A94BAA4D4712C21FDBE50609024D534458E55C73B65626614615C8E2DB384281F12C011B02DAA8EF2CE7790C588340D91E110DCF27C444074635CF20D3ABC0DB7843F6B928445FDD92CD5D6AC815B60349B7A3131248B2E724DDDE3C0B4DA62EEB44A520867EB26D5CC50691E64847218ED12EDD046FCFBDC51CBCE5B536D8042118520DF4E2C8F0F17C7D2C8EB41E00393AD12BD96843A3D1E7DFEBE0C163954540A665ABBAEE248DFA99B3A47202FCD1D4D8C7E38726EF974FCE3783823AFA552431EE44086826313BB01BED5E8D8CD7C0A6F233F43AB56AFBEE013A10F6E7CFB66C2B9594C5F7C2735AEA5D35F6DE9DBF668FFC3CC0B58AB3EBFEEB63C93FB25FD6C176161A25365BD60A960AE001D9CAD903D89D578920102A95857B524AC168A7C992DD24C4A5E80353EC982683977CCD43A8919B831579D12E8A3B716273333EECC657D9C5677FA6C3B7D78C448D7A44E48175180C7E2B394520262400D2A4C8A5B1B3F2D963A34A004BDE65F2CACFA638045A932717747178D531811F349B4FBA857D51B60B89B2A8BA9353FAA17E548E3A460378313C2984DD382F64D53E17F5B2F0827A7F27E854B55484DE419F5B60E4E287DB4CEC9C4EC7D5FF11365CA2A5F997D0AAC683A9E943C22D2931E2A133CF86067FD5557F991A14C3899734FCBD8FA6158222561489D7A7A6F87FFA51BB7F21BDC382F5D0312CB58F9187BECCE40A3AA8D72A62BD60AC020ACAEBF3007B83466C31218CF5FBE1008288FA493F232851FFD9E516611D0DC6713F7D579FE66E40A9A24497C7327DA13D5D867BF9A75922077B721D69F0B302D51A3AF70DB76BBE0F5DFBB4E8744ABFC58ADBB2A37F3FB2EA36ACBFB60443C985B69DCB85E9E511472D8221DD05CB59E3720B421065810FB409E8BC7F9EC8585B1E93A5CCFD3F7E92F378535D46528E27730B2D581F521B638E44FF9681429194FCA44F1FA5415E9A59B5F099292945629D2B8F3E12E7818BA6FB4637AB22945ACE24155750D7D76730BCDF765FF1A3903C5CEA61F213BA9DB1CA31400EA3D758273DCD0C5D102FC176DDBF6E0E1FE6218C1CA4BF276355C22714717C7196512595FB299C3E92E47AD3F560B5D02C16D409B248AC59C6ECF9814A445689C3F4E81A65976503F439AAEFC1CE22FD83553D5CF4279D8B2403A06BD0CD1D5E70D70145177287FDCFE4066F60C845E5BF424D70B15C4D1EE00F7DBE5470922F9C694880F2343B36D1EF140238586AF168F7A3396CD5B922068341F0557C6500C3C6D982CD0A2FFEE606CEE07469AAE67CDA73F73A
+
DE702568F8E091D432614AA862E82DF50FA5253AF83D861D64F3A16D2F401D5C3F02A595025717EA667A9C4EDF48881662A5117AF4954DF1FE71CEFE350C695318A4A45D2115E9D26319691BBCF6D256185C92664C753759B10DA50CDD2E08139A3BCB51428144345A58890DBBC6F7411907FDA53B22E4E2B35C58EC73A0220ED490BBDBC2B2894A1B98CA45CE8B5C20ACED06342418D5DC15D4A28D80AFED9568669F08760C5DD7F14EC8DAF3A2B3BBDD3BB2524848F8A1A91AD9C573404A9BDB317B54ABA773AFAEDA4DC0FB65D78E0F9BAE6F452F28707126FAD79E9411F1B5ACBBB580ABCEBCF6A79436DB79FAA156A43B643377B9FAAABBAADF6769F63C3C7E2AE80DD2C0CD2D446B3C9697A9DC254ABC7187577309AE727F295CC1222C2DE733DA85E224EE0DC9E66545183329105E774B2C74431FD5D848884C1A0C57EBD600A6DE0CF6A12EFE36E010E3FBDD66CBF9FF1388D429E86E61A3521A38FE2EA8315809924B5688899A2CF1EBCA0B64E9E124D7B59C31BBE87D769B74CBF49E6C567E68270801CF1EDF8A75808FB395CFC9EFA374751E2FBDE8854B0D35B857DB6C72CAF0BAC7DBEA3BB7DDC062961F71A7806DAE410A5EEA2037E92D8AB382F2181EA8B529D229D143557ED0E4B115F22B418C45232725B295477B3F3DCCEA8A77D4B9AB463A23A14270A6872E3CD891F1BD81AAB7EDE376647C7D786FB898831CCF6E1E5D8B2F724EE7BB3CE9277439D06B6FCB06C1F7FE9968CDEDFDE594D1341D0BF0C8A44AF6BCA91FEF96FD93993C74A322598F7FD71319C468538E2A31946FF2985E85EE67294E254F88C42E6D69831E3F04E879CE99FCCB4AE4FCB2A4F7376D2F6EDDF91FFEE01D1A0D93C89B047EFD84CC91268C22B777555D81CE61A8B72B6FDB5AE3C9E26AFA77A32C9797384317D013396F3AA1DFA412B09E18CEA91E238BF07572C1F5D8386175EE19E6C065D9E37F5EB5C865BAB0B86757289B3371E9D528699F2EE2572BE7B1F1A17B63F4608324632010F6CE9B14443770342795AF5BD7A7F00A3D056AA90AEBD42494EA78C2B41780DD554D9ADAFCD1AA59D0884ED61C3F8F5C7C0E2FD687452048DB0759C884B20C86772571C2C074735B2C6388AD53CC5CB8F0DE6EB6AB0A300F4628AA47E2FE11AF9E96A3A39A3C368856160689D17812D31A539AF0551A2A972FEB620940BA100084D588CB8220362A6CCC29F9686218B24F130E3E58491EECDD24A87B3906B11EEB5EC6898BB7AE1DCC22B785ABD13BF9A8A687420E82B74724F0BB74E1FBE09C8E21A946D66547F574F44AC52BEC7346C4BBF75292362BBC1D334CC9150DD1CDFBC108C00BDFE3528590C6592C706FFB9E86242CA88CF697303B2C9610F0FA69F5B05D850912CC4296E2D7F61FA62F788FACC2CA44D69269C4C330FC3177E7FF88F864C11831
+
B13BD5EC6C6BA55445975E53C81D5CC511CFD61434ECDB13BEEA020C98BD548BD316E5404DC8CDD693C21955F711EE8FD12ADA006AD20E856DDEE75E3575485AEC7B0BF741A0FDE6042F6FEA9D0547780BD5D8FC51E1AABE721A55CDE89DF2ACD5DDA69CEBE01891E0AC69CF0CCF47D16346B28825C68E73B16EE191816520D7A4C6081B922310D6F46B49EA9F4804FB9B6B9CFA11F50A31AEAE70C4F2232F9A8B39DA129E37073BED761574BFF81049B184F41263FA14592A068437F3B650CF6ACE31D7C1305A1E2C069155D813AA500FD589D5D61B277B022DE874457904964B6572A2508070106B5C0CB169D78BF338598AA8448C6409EEE5CB9991FF5DA944C66FC60D69BEE9EC6847B84AB6A6958AEF3B5BE2534EC62588D9E411998358C59576168E09354B5C957338FF12FEBF4A8D44B13C680FC0F5A6161AB71940FD574C83C62E5B0D309E113E92953EA4696BA62D6530DB62F9BCBF2F454768B14E9F6185396EABDF8900433FAABC856B4329EAC1DC087BB879CE79EB347C35BE3C8332F6D40BE9DA68CC1860DB78BA56D6AB3B40272A4363960ED23601AC1D2922DD39212F7C5EE2E266DEB04FD02C7266A36EBBD479358C3D6B8649C65610007D082BE8090E5F1F7A8CA93E7514752EE64D356C6DC0898037D69654F9588ADF59A7358FCE85FDDC81A6F858CFF0E6AF5634181F8992EC67D2B30029C52B51CDC98EF03E4BA52B0A77BA13FB9AD81AEBB6B99586475E0DBC8218F1923E8FF2366F08B0979640D03ABD44A6325C635B9336B72EE3BA2745F9A2ADF9F103FF7057E321BE50AA44AC92C498C9E0E3BD66F62CF47E19A1A5D49FF99B2115669FF591F26049430400083FE268070A4A9C7F497A9966DDD86F60AEEC7811E1A30E9C14B91C2F72C6BA816AA460C9BB34DFC0BF35C36F003C3E78D35B4AB96B9DDEA9E6EF5D2202E6ECA8E71D9413A08910A87B6D6E469594D0D47272098C61DE5CBE71F6967EB4F0B7343DF2099C4E8433B9993A95A12F6E6C86F5AFEA634B606A1023FB41224B13FFD6ECED416F7F358D1B9957E82BB3A7F2010B9184428960174F3AD58805B490BB8987F75D6E483B29C3024BFF4A1314FC2AA6463F1668CEC568282AF8D98EB622C59FEF8BD3EBF440E48FAE305B05D9E57467D7296778D652B0BE981E76DDC17B7727DFDDB69D796554DAB07ABE9F8CEDC8091572445E3B87A2AAA198811A6E41CD8629F94DA0FCF809C4D9B9323DE00DA14BF6A8DB9CE4AA7774206406D9E090ADCA12476CB46143D85D002960CD549B18673AF4D838DBF91B867E28AAF827127977CD6740B19869C2081213BF7664FF4BC97B9AD6E1E0F3F154FA7324F07622C31E44913AC542C366F9567D9800C92490942366971DDCFAD58F31BA50D9B140354E5E30F8B59709CFEB5EA3F1C941A5AAD17A1D8414B8F389AA13
+
485E35B90FB132F51EC8CC523B34CA5865BEFA2BF31D26347F383F4B6C7540A833236EE30912C7AC4590A5368EDBA6756B3F6B5274B1554DED02F4CCE37488FD3C8BD18737FDAF4661362EB4E3E67C9A00278AFE191C79F2DA45642BADF4BCFDF0A6A91B65A3379088D38D47A4F0330BB5A6C587BF592D1D04BF8E59251EB77C0AED5CF39152AC58BEBE8229704F7C76A14B5225F09B67F18274C86C2E4149A0D96F8C6792F615E9C0C3E17ED64AB211C39ED4139670E06A8F3FE45E1D7489CAA7E475FFC09BF164926303F1C5B8CF6691EFB0802FE961AB39FF31B805EBB5D29F0B33FF9D72A24070C254B0EE0521D0569FC9F7DBDC8E1C3B8F1652188F2215E9D5F058D61334C15DDE49989595557CBAE5FC72627BCAFD017C8C234606ABCD3ED4A0F8D088363B23151EC046C764507A2A431D5772BDB3CE829167095E5BF1F41033F89F4B11E7F07DEEE1EAA41E5745BF3591DD02A035850BE899B7640084A204DD3D9A14B282C2A92DF92F46017C9B3D3938EDD0184FB0658811AE8B9E4A460AE0089264FB95A709D4E0B7FE778754F263FE77E50CF927D8244C9B83B3494DFEA85B116E06DA36DC1D9315D1512A6C09A573FB90E80AB75AA601F7649A1C291105694574F7581784161258E60AD320866546F174E5AAF6D8CAB2FBE624D09B196034B56822307A42723BA07ADDCA0B7534C8420AD7AECD32157D2E4ABA85926DF892E9135E101C5DAE877F01433ED0DDBCA95636ADDDF4760D69B7BADDC445F969E7E564A9EE516863D55E98BCD4A39DE7D86D48977B3FEE80D4836D6FA2E3D7B9C2340E86BF4FF75C11BB93FAA4D9F80BB1F91C9183C75F4A2B93F8250A49914375F8E76DB4C7DF94ECE71E9413B5154F65F1EDB27D7EB46B3A66D2A294CD4E2F23FCC30142C870A92DBD15D54615876AD445282DB18DD57E2EFAE58FC5F67E5D3B7B0C2DA355494B26150B69145CEBED0EF44FB96348883533BEAD09A53F8E9F801437BB8709D14A080E10F12925FDC355BE1773D36001695A62ABA1EAD903724B6D4C107650439834122A57B1C94EA204D8F157925AA0378A3DA3E27EA9227088BB57E8422BA143376482BA523A7C6D6CBE3849606C30AF6422E7193DAB04905E70E48FF3995B969B04BAA5A0754B645C8F3C71B8F768BEB0FB55BFB7097C404812D83B4DF3820070830F977DD3AE8C8431AD51F76ACA551ABF4CF274749D2F07209D49CA090A093CB4C44BD48C71E012ECBC0F91D52E1DC3A687B9DE3DDAE2ED837BD26FD8226FC463637270E0D4FFA64FA79C8C2C59E1AAEC02DFE337470018E069133C1945EFA5B5D530A802F7C38FF284D349C322215C42A943AFD3CD2AD780A6C0577326CF32BD69FA48D2D09D0401A45C706F01DBCADB0851A6ACBB6BFA2B3D982D40DD630F7A8E7E40AC1C8C554AEE693CC8FA707326FE9CA0
+
55AC5EF60941F8B1291894654F4AB79139577A1AA86ADF6DCD094B0780EE391596BFAAE325CB324454DEAB3635EE706B938E4317EB986FD1E3C77E34318DCB6835B3A0E1A456331B14A2FBE5F6145819B2DA8F64723841DAE83C6C7F23AF10E8C28895C6BC3713C17833025E94561B5CC7595FE513E25C8C397A34C4448F57EE48A9DCEFFE32B5B9BFD2509B9FA026BBDFE3A9BFB39DAB3AE4315C6E1101E28E5105D9C98D509B3220D70A72AA2397ACFBE479953A1F2D17A134766EA34E053249641A6529F73EB977887DE3BF08B2DB9C67FA203F20CCD330582D452DBB921B92CA22BDD8DAA995B224661EE189FA8DD50DA111CA8BDCDFF41F520CB915E39C230495322973BE9E772B4D9B96F3576F4A1861FDA49B9F49B4DE152A7D3121FBA86444A08DF31FCF23CB6793691CC57679428FE99CB29F10D2A58661FC9F521C8B659CAED2BD26F6FBF06EB9616E5E8EB6A1B57979190D1E4090B3BB7F5B0BFD20517FD1B54E5723059397B6282DC17F7A17FF2FB7798E4BB6835742024940647DB440727396997B00FA32F2DBD20705DFB18410556E8C5A47073559A70425DFE6027C17996291407BE47F27C5725DC5FB34242F31F3E04DAA3C69635B5F4068DE0EC23AC3BDCB72D6713A5BB9E5047937EA5E9094E7E4291F69D235E5C2481793AC5BDDF16EF68A056A606F5990CAFFD9D64B1A289C4E76B13FEFE1FF5921D801486EAC45C4EEBE0413B4460DACB1AF30C9F608732D03EEE3341AFC827CA02ABAE76EB0B618344B9104926FC87BAC5E218FF3B1C9913111D6DA4013E2FB6B9A58E63AE1AEA9AE82D31DCBBF41A7E711F0F13E6A206121E0E7E64102A40087A963C0715C35399B22FED8B575B83BE188A490E1A75A7727B5FEEFF12C25E2CB4A8ECC6DAF2AD9D538D485F1A36F2AB8730F9895F1E79A01FC4156649C0C7F8BF817EC4A6CE339C778190C9E825EAAC909694225EDD27E236C60E1DEE1BCB77DC853B5FB4929850B8F3B431354B1218DB406B16618AAF2D1DA8844A6A3C04E9B537B34E336B06F180717A740B7CCD2E33A6A0F8FF0C104781D322231F636AFA7282926D5C004A5340C0ADA95723DCF4D93417F6F6EBEB29418EC182A5F93833CA3EC55BB6A868A3D3B4070AF773D3D39E02F9772AFA3948B40CA2E3EC0BAF7313561C4E6BD165C86CEBB27E8CA9BF2540B4D1406F5514FF908872D3F299CEDC0152C63B23AEAF562DE5B45F3D227538F4F33D425B43D813C6B1A67CFF2F2CCE69F01623A8CB7380121E22C3AC4B2BC3FB217656057FE7A2FB29FFD267A27A56C38C9BB539BDFA52D18D4AE7FC0DC54802F4CCA62D10BC4BDD1D89E8D795E5894DAA53A9315B9F94A03B6A0FEC9BA3A368ADE8C89C14F4BB878FCA82DD90E6916690EACC414A7045A4942C6F0D8FB192F1A2EB9D89F5E1D195C5CE7FE1267F841D2
+
74038F3525C8BB4364C537A459830479682709C08E1C546B86490D4F3A142A757849092FCFDE6BF6122D6D9A33237EB63AFBF5D22072E4ED5FDDDD42148EE6FA7CE3C51427DA2BEE4B0C81728FEE4A43DC8E005C01A96E6543972E83BCA461E2F856B00D83B2C706DC4145685951D7220BFF33F20B91746F66FB6F2DAE6ACFCE14C6E063522450AB4405C6DEA9902B60E1345E8ABCDE92C2AFA9E8EE98129B5DD448916E753FC6AEADBBBA48E0B3562017517DB76B61A8AADC961BA2074535B92C0BF42B124683770FAA5C6AFB4C276C86C3D13045C360CB4DCBC4B1A27B278E1DD61CB946D023D56D127180EE8E6FCF661CB98052977FBFB5329C938A613AA7F68C05A8D2D93F7D6B906C28D1BE89693848167F395BCF75266A207139C5908355ED644E4AB4A2DC61BC7F7716E2E07EF383E9AB1EBD73054974ED7C2E51354C3832ABE8630FAC59B479BFAAC92A1028C15B08566167F5F7B74AC24023BF1F4ADBFDC76EACDA4507C559133DC058EDCD16C845DDA0C4AEA0458B8D6D7E6E960A912F17BA3FF4C2A568561ECB430374A8B5CAF21580EB35A23FCA043BF10D94F0FE6FC7C79F8FBCD8FC4AAF4CC42A758EA3EB2FB729039EF89383A89524AD1B8713475920F68086CED64D18981CA5325F71E77A3AD3D6EDA607A050DBEBACDB6054E372479AC3F76BABE748044C517CDA4AC34A62F53AEF7876CE92FDA06915163F8EF7B821B1451190359FBC70400406B80C1F2B6C12746B1C6D4E32A1BC074E944808642051174DC918D878A43B75CEBEA23CEA4E936497E009342E37643A28F3FB76EBE83FD37C49AFCB60C135E900D4F2A2B3E79607FA4816AA283EF893C0CAB5168A7863E43F0350CD28A1487D9315A6E85D59D9D91C8EF7026BC6264BE917F5A3714564F6C8539DF4A072B011855C8CEDF6B5E9C8CEC216FD616E1F925437F0B8A87D029AE17697A88D16EC5A0C83CB76C10E76DDFF3617C7107DE9DD5FDB97F6379F0B25028EB76A7DFCBD291252682C37D24901EC79F80209D13A5A5CBE382304CFCFE3EDF93090170355C8261FDCE45E4B757C720F5DBC0BB60F4D203D37F0BFE2B990913E018C7DAC21A382CAD8E8533F92DCA028ADCD02D75BB57ACCC228A492688FDF6ECC77EE664E5356A3AA06FB4AC7B1FA0BFFDCC98402B4475BB1D028528F09B4A5F0700E696A84B9F7A373CDB415AC193B333C31B4947BCB15C7AF00B0B9B27936975FA6CE4D0A9B9553700F0C073621CD07E37313626D4A26555B691E47B571C8747B66C55AA70CC06FDBFA959836D87C8E2B17286C7A859E2F0D0BDE7ADD4D018BA3E8F78CD59F461CDB1DADF980788DB14CD571715CAD6B36632008DA334018A50270ADE276C38E60ECBB4FEDD65DB195C911CCF043B176231E66C9AB2032017CB2D334E62C1E5605304A12B6BE19B8D2B40206E4252D
+
CF67B9E8ED8DE0CC6E62AC14FBB40BD429E1B394CD253CD0E23EE307B7ED07D41B89F0D3D72E35DC73C5C7A8188D8943EC8BEA96D3EC9997FDE378A9BC948A7403161890F1EA3856921EFBC5A6BE7E10DD24999E4AA9C2AEED45F4F00F7E04ED99978D07812AE5C665C86680E3CB44D2897AF05EB99A910547CA6C5019980F04938C9F63F75FE35358C3C4EF5035A60FA6518A2315B1C1DE9224813CD2D987A1D6CF6621205D51780C2FCB3FF657306406714AF658F546E693BDA898996B85EB2B33E12960ECBAE8210EC98B384137A38D4229352D1C99B37FB5AB86B9C480373D9EB91034809BD1E235107690E861598C9400E70B85D0132D3C592CFA97C9B04142297337AAD7D151457D9515799A1D219030EF7B154A56536B2CA6B8F65C88D52DAFEF0C516C51A7E2B0137A21EEA50D177066CD146C7254443007B032C644EE145711B66B4285D44D8F9FE4614B0A59E495105232268F16650D23B98A1BEB2C9F757A2C842C5B8572DAD81CD27FEA4E1D3CE2DD83443E9363162A6AB55719DDEEC05331C16E07F0617991E02DB3D64B9320450187B22D371503AAAD5502887395343DDDC687A64484EB0B41DB50077C0BB41390752F28FE175474204CA1C491BC11DE81BD44CC
 
0000000000000000000000000000000000000000000000000000000000000000
 
0000000000000000000000000000000000000000000000000000000000000000
 
0000000000000000000000000000000000000000000000000000000000000000
@@ -800,73 +853,104 @@
 /Cs1 SC
 1 1 1 sc
 q
-0 0 589.5 166.5 rc
--93.499825 403.50616 m
-745.00018 403.50616 l
-745.00018 -770.99384 l
--93.499825 -770.99384 l
+0 0 655.5 459 rc
+-62.499886 579.50885 m
+776.00012 579.50885 l
+776.00012 -594.99115 l
+-62.499886 -594.99115 l
 h
--93.499825 403.50616 m
+-62.499886 579.50885 m
 f
-31.5 148.5 m
-558 148.5 l
-565.45581 148.5 571.5 142.45584 571.5 135 c
-571.5 31.5 l
-571.5 24.044151 565.45581 18 558 18 c
+31.5 441 m
+624 441 l
+631.45581 441 637.5 434.95584 637.5 427.5 c
+637.5 31.5 l
+637.5 24.044174 631.45581 18 624 18 c
 31.5 18 l
-24.044151 18 18 24.044151 18 31.5 c
+24.044157 18 18 24.044174 18 31.5 c
 18 31.5 18 31.5 18 31.5 c
-18 135 l
-18 142.45584 24.044151 148.5 31.5 148.5 c
+17.999983 427.5 l
+17.999983 434.95584 24.04414 441 31.499983 441 c
+31.499983 441 31.499983 441 31.499983 441 c
 h
-31.5 148.5 m
+31.5 441 m
 f
 4 w
 1 J
 1 j
 0 0 0 sc
-1.5 0 0 -1.5 -93 403.5 cm
-83 170 m
-434 170 l
-438.97055 170 443 174.02943 443 179 c
-443 248 l
-443 252.97057 438.97055 257 434 257 c
-83 257 l
-78.029434 257 74 252.97057 74 248 c
-74 248 74 248 74 248 c
-74 179 l
-74 174.02943 78.029434 170 83 170 c
+1.5 0 0 -1.5 -61.5 579 cm
+62 91.999992 m
+457 91.999992 l
+461.97055 91.999992 466 96.029434 466 100.99999 c
+466 365 l
+466 369.97055 461.97055 374 457 374 c
+62 374 l
+57.029438 374 53 369.97055 53 365 c
+53 365 53 365 53 365 c
+52.999989 100.99999 l
+52.999989 96.029434 57.029427 91.999992 61.999989 91.999992 c
+61.999989 91.999992 61.999989 91.999992 61.999989 91.999992 c
 h
-83 170 m
+62 91.999992 m
 S
 2 w
 1 1 1 sc
-83 170 m
-434 170 l
-438.97055 170 443 174.02943 443 179 c
-443 248 l
-443 252.97057 438.97055 257 434 257 c
-83 257 l
-78.029434 257 74 252.97057 74 248 c
-74 248 74 248 74 248 c
-74 179 l
-74 174.02943 78.029434 170 83 170 c
+62 91.999992 m
+457 91.999992 l
+461.97055 91.999992 466 96.029434 466 100.99999 c
+466 365 l
+466 369.97055 461.97055 374 457 374 c
+62 374 l
+57.029438 374 53 369.97055 53 365 c
+53 365 53 365 53 365 c
+52.999989 100.99999 l
+52.999989 96.029434 57.029427 91.999992 61.999989 91.999992 c
+61.999989 91.999992 61.999989 91.999992 61.999989 91.999992 c
 h
-83 170 m
+62 91.999992 m
 S
 /Cs2 SC
 0 sc
 0 i
-1.5 0 0 -1.5 294.75 83.25 cm
+1.5 0 0 -1.5 327.75 229.5 cm
 /F1.1[ 12 0 0 -12 0 0]sf
--179.5 -18.5 m
-(!!!!!!"#$%&'\(\)*&+,-./&0!1)[ 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.666016 3.333984 3.996094 3.333984 6.445312 8.003906 8.666016 9.333984 8.003906 7.330078 6.673828 6.673828 6.673828 8.003906 3.333984 7.330078 3.996094 3.333984 0.000000 ] xS
--179.5 -4.5 m
-(!!!!!!!!23345!6!78"9:+34;;+9"53!$<;3+":;=3">;4$?#253@299?0A!BCDD+&\(**0E)[ 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.333984 3.996094 6.000000 3.333984 7.007812 3.333984 6.673828 6.673828 2.666016 2.666016 6.673828 6.673828 3.333984 3.996094 6.673828 6.673828 6.673828 2.666016 2.666016 6.000000 3.333984 3.333984 3.996094 6.673828 6.673828 3.333984 6.673828 2.666016 6.673828 6.673828 6.673828 3.333984 2.666016 6.000000 6.673828 3.996094 3.996094 4.259766 3.333984 6.673828 6.000000 3.333984 6.000000 6.673828 2.666016 2.666016 4.259766 3.996094 3.333984 3.333984 8.666016 8.666016 6.673828 6.673828 6.673828 7.330078 8.666016 8.003906 8.003906 3.996094 0.000000 ] xS
--179.5 9.5 m
-(!!!!!!!!:;@95F;@5+2::+23345$5F;@5A!233450E)[ 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 6.000000 2.666016 6.000000 6.673828 6.673828 6.000000 6.000000 6.673828 6.673828 6.673828 6.673828 6.673828 6.673828 3.333984 3.333984 3.996094 6.000000 3.996094 6.000000 6.673828 6.673828 6.000000 6.000000 3.333984 3.333984 6.673828 3.333984 3.333984 3.996094 6.000000 3.996094 0.000000 ] xS
--179.5 23.5 m
-(!!!!!!G)[ 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.000000 ] xS
+-201.5 -116 m
+(!!!!!"!#!!!!$%&'!\(\)*+,-,+,.*/0)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 6.000000 6.673828 6.000000 6.673828 3.333984 8.666016 3.333984 8.666016 6.673828 8.666016 6.673828 8.666016 6.673828 8.666016 9.333984 8.666016 8.003906 0.000000 ] xS
+-201.5 -102 m
+(!!!!!1!#!!!!!!23!45678'&8'$+9:;)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.666016 3.333984 3.333984 3.996094 3.333984 3.333984 6.000000 6.673828 6.673828 6.000000 6.673828 6.673828 6.000000 6.673828 6.673828 6.000000 0.000000 ] xS
+-201.5 -88 m
+(!!!!!<!#!!!!!!!!=969!9>6?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 6.673828 3.333984 6.673828 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.103500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 -74 m
+(!!!!!@!#!!!!!!%66A&+9:!B!6A>'?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.333984 3.996094 6.000000 6.673828 6.673828 6.000000 3.333984 7.007812 3.333984 3.333984 3.996094 6.673828 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.775375 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 -60 m
+(!!!!!C!#!!!!!!&''D+678'!B!6A>'?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.000000 6.673828 6.673828 6.673828 6.673828 3.333984 6.000000 6.673828 6.673828 3.333984 7.007812 3.333984 3.333984 3.996094 6.673828 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.085922 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 -46 m
+(!!!!!E!#!!!!!!23!4$+F2%G'$6+9-H$!4;;)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.666016 3.333984 3.333984 3.996094 6.000000 6.673828 6.673828 2.666016 6.673828 2.666016 6.673828 6.000000 3.333984 6.673828 6.673828 6.673828 2.666016 6.000000 3.333984 3.996094 3.996094 0.000000 ] xS
+-201.5 -32 m
+(!!!!!I!#!!!!!!!!8%A&'AJK9-H$+D''F+A%L+2F'D62M'A!B!6A>'?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.996094 6.000000 6.673828 3.996094 3.996094 7.007812 6.673828 6.673828 2.666016 6.000000 6.673828 6.673828 6.673828 6.673828 6.673828 6.673828 3.996094 6.673828 8.666016 6.673828 2.666016 6.673828 6.673828 6.673828 3.333984 2.666016 6.000000 6.673828 3.996094 3.333984 7.007812 3.333984 3.333984 3.996094 6.673828 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.378891 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 -18 m
+(!!!!!N!#!!!!!!6O:2DF!B!$6&:+A'&L9AF?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.000000 2.666016 6.673828 6.673828 3.333984 7.007812 3.333984 6.000000 3.333984 6.000000 6.000000 6.673828 3.996094 6.673828 6.000000 8.666016 6.673828 3.996094 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.109360 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 -4 m
+(!!!!!P!#!!!!!!6O&8'$!B!$+8%A&'A+8'':+69:'D!48%A&'A;JKQ%G>'?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.000000 6.673828 6.673828 6.000000 3.333984 7.007812 3.333984 6.000000 6.673828 6.673828 6.673828 3.996094 6.000000 6.673828 3.996094 6.673828 6.673828 6.673828 6.673828 6.000000 6.673828 3.333984 6.673828 6.000000 6.673828 6.673828 3.333984 3.996094 6.673828 6.673828 3.996094 6.000000 6.673828 3.996094 3.996094 3.996094 7.007812 6.000000 6.673828 2.666016 6.673828 6.673828 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.378891 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 10 m
+(!!!!"R!#!!!!!!F'$G&8'$&+%FF+678'!4G9$S!&8'$&S!6;?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 6.000000 2.666016 6.000000 6.673828 6.673828 6.000000 6.000000 6.673828 6.673828 6.673828 6.673828 6.673828 3.333984 6.000000 6.673828 6.673828 3.333984 3.996094 2.666016 6.673828 6.000000 3.333984 3.333984 6.000000 6.673828 6.673828 6.000000 6.000000 3.333984 3.333984 3.333984 3.996094 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.400375 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 24 m
+(!!!!""!#)[ 3.333984 3.333984 3.333984 3.333984 5.789062 6.673828 3.333984 0.000000 ] xS
+-201.5 38 m
+(!!!!"1!#!!!!!!2345TU\(V/T+E@W\)T;!X)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.666016 3.333984 3.996094 3.333984 6.445312 8.003906 8.666016 9.333984 8.003906 7.330078 6.673828 6.673828 6.673828 8.003906 3.333984 7.330078 3.996094 3.333984 0.000000 ] xS
+-201.5 52 m
+(!!!!"<!#!!!!!!!!%66A&!B!->2GF+6A''+G2&6!4='6+2F'D62M'A4Y3%&6$%GGY;S!Z[\\\\+T\(//;?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.333984 3.333984 3.996094 6.000000 3.333984 7.007812 3.333984 6.673828 6.673828 2.666016 2.666016 6.673828 6.673828 3.333984 3.996094 6.673828 6.673828 6.673828 2.666016 2.666016 6.000000 3.333984 3.333984 3.996094 6.673828 6.673828 3.333984 6.673828 2.666016 6.673828 6.673828 6.673828 3.333984 2.666016 6.000000 6.673828 3.996094 3.996094 4.259766 3.333984 6.673828 6.000000 3.333984 6.000000 6.673828 2.666016 2.666016 4.259766 3.996094 3.333984 3.333984 8.666016 8.666016 6.673828 6.673828 6.673828 7.330078 8.666016 8.003906 8.003906 3.996094 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 2.207016 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 66 m
+(!!!!"@!#F'$G&8'$&+%FF+%66A&4&8'$&S!%66A&;?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 25.982422 6.673828 6.673828 6.000000 2.666016 6.000000 6.673828 6.673828 6.000000 6.000000 6.673828 6.673828 6.673828 6.673828 6.673832 6.673828 3.333984 3.333984 3.996094 6.000000 3.996094 6.000000 6.673828 6.673828 6.000011 6.000000 3.333984 3.333984 6.673828 3.333984 3.333984 3.996094 6.000000 3.996094 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.886734 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 80 m
+(!!!!"C!#!!!!!!])[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.000000 ] xS
+-201.5 94 m
+(!!!!"E!#)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 0.000000 ] xS
+-201.5 108 m
+(!!!!"I!#!!!!!!$+8%A&'A+$9D&>^'+69:'D!48%A&'A;?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.000000 6.673828 6.673828 6.673828 3.996094 6.000000 6.673828 3.996094 6.673828 6.000000 6.673828 6.673828 6.000000 6.673828 9.996094 6.673828 6.673828 3.333984 6.673828 6.000000 6.673828 6.673828 3.333984 3.996094 6.673828 6.673828 3.996094 6.000000 6.673828 3.996094 3.996094 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.074203 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ] xS
+-201.5 122 m
+(!!!!"N!#!!!!!!-A'%:?!!!!!!!!!!!!!!)[ 3.333984 3.333984 3.333984 3.333984 6.673828 6.673828 3.333984 3.117188 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 6.673828 3.996094 6.673828 6.673828 6.000000 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 3.333984 0.000000 ] xS
 ep
 end
 %%Trailer
--- a/Paper/figure/fastcall.graffle	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/figure/fastcall.graffle	Fri Nov 18 06:33:48 2011 +0900
@@ -40,18 +40,18 @@
 	<key>ColumnSpacing</key>
 	<real>36</real>
 	<key>CreationDate</key>
-	<string>2011-11-16 23:22:53 +0000</string>
+	<string>2011-11-17 01:52:01 +0000</string>
 	<key>Creator</key>
 	<string>Nobuyasu Oshiro</string>
 	<key>DisplayScale</key>
-	<string>1 0/72 in = 1 0/72 in</string>
+	<string>1 0/72 in = 1.0000 in</string>
 	<key>GraphDocumentVersion</key>
 	<integer>8</integer>
 	<key>GraphicsList</key>
 	<array>
 		<dict>
 			<key>Bounds</key>
-			<string>{{74, 170}, {369, 87}}</string>
+			<string>{{53, 92}, {413, 282}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>ID</key>
@@ -105,10 +105,24 @@
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
 
 \f0\fs24 \cf0 \
-      if(!TARGET_64BIT) \{\
-        attrs = build_tree_list (get_identifier("fastcall"), NULL_TREE);\
-        declspecs_add_attrs(specs, attrs);\
-      \}}</string>
+     1 |    case RID_CbC_CODE:\
+     2 |      if (!typespec_ok)\
+     3 |        goto out;                                                                                                       \
+     4 |      attrs_ok = true;                                                                                                  \
+     5 |      seen_type = true;                                                                                                 \
+     6 |      if (c_dialect_objc ())\
+     7 |        parser-&gt;objc_need_raw_identifier = true;                                                                        \
+     8 |      t.kind = ctsk_resword;                                                                                            \
+     9 |      t.spec = c_parser_peek_token (parser)-&gt;value;                                                                     \
+    10 |      declspecs_add_type (loc, specs, t);                                                                               \
+    11 |\
+    12 |      if(!TARGET_64BIT) \{\
+    13 |        attrs = build_tree_list (get_identifier("fastcall"), NULL_TREE);                                                \
+    14 |	declspecs_add_attrs(specs, attrs);                                                                              \
+    15 |      \}\
+    16 |\
+    17 |      c_parser_consume_token (parser);                                                                                  \
+    18 |      break;              }</string>
 				<key>VerticalPad</key>
 				<integer>0</integer>
 			</dict>
@@ -163,7 +177,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2011-11-16 23:24:01 +0000</string>
+	<string>2011-11-17 02:02:00 +0000</string>
 	<key>Modifier</key>
 	<string>Nobuyasu Oshiro</string>
 	<key>NotesVisible</key>
@@ -244,7 +258,7 @@
 			</dict>
 		</array>
 		<key>Frame</key>
-		<string>{{610, 90}, {693, 938}}</string>
+		<string>{{553, 30}, {693, 938}}</string>
 		<key>ListView</key>
 		<true/>
 		<key>OutlineWidth</key>
--- a/Paper/nobu-prosym.aux	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/nobu-prosym.aux	Fri Nov 18 06:33:48 2011 +0900
@@ -1,12 +1,13 @@
 \relax 
 \newlabel{fig:cs}{{1}{1}}
+\newlabel{fig:factorial}{{2}{2}}
+\newlabel{fig:ir}{{3}{2}}
+\newlabel{fig:continue}{{4}{2}}
 \bibcite{1}{1}
 \bibcite{2}{2}
-\newlabel{fig:factorial}{{2}{2}}
-\newlabel{fig:continue}{{3}{2}}
-\newlabel{fig:fastcall}{{4}{2}}
 \bibcite{3}{3}
 \bibcite{4}{4}
 \bibcite{5}{5}
 \bibcite{6}{6}
 \bibcite{7}{7}
+\newlabel{fig:fastcall}{{5}{3}}
Binary file Paper/nobu-prosym.dvi has changed
--- a/Paper/nobu-prosym.log	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/nobu-prosym.log	Fri Nov 18 06:33:48 2011 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.1415926-p3.2-110415-2.3 (utf8.euc) (TeX Live 2011) (format=platex 2011.11.10)  17 NOV 2011 09:16
+This is e-pTeX, Version 3.1415926-p3.2-110415-2.3 (utf8.euc) (TeX Live 2011) (format=platex 2011.11.10)  18 NOV 2011 05:31
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -158,31 +158,41 @@
 (Font)              <7> on input line 93.
 File: figure/codesegment.eps Graphic file (type eps)
 <figure/codesegment.eps>
+Overfull \hbox (2.42252pt too wide) in paragraph at lines 121--122
+ [] 
+ []
+
 LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <7> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 124.
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 123.
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <7> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 124.
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 123.
 LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <9> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 129.
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 128.
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <9> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 129.
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 128.
 File: figure/factorial.eps Graphic file (type eps)
- <figure/factorial.eps> [1
+<figure/factorial.eps> [1
 
 
 ]
-
-LaTeX Warning: Reference `continue' on page 2 undefined on input line 189.
-
-File: figure/continuation.eps Graphic file (type eps)
-<figure/continuation.eps>
-File: figure/fastcall.eps Graphic file (type eps)
- <figure/fastcall.eps>
-Overfull \hbox (2.42252pt too wide) in paragraph at lines 220--221
+File: figure/ir.eps Graphic file (type eps)
+ <figure/ir.eps>
+Overfull \hbox (19.2858pt too wide) in paragraph at lines 171--172
  [] 
  []
 
-[2] [3
+
+LaTeX Warning: Reference `continue' on page 2 undefined on input line 210.
+
+File: figure/continuation.eps Graphic file (type eps)
+<figure/continuation.eps> [2]
+File: figure/fastcall.eps Graphic file (type eps)
+ <figure/fastcall.eps>
+Overfull \hbox (25.60954pt too wide) in paragraph at lines 241--242
+ [] 
+ []
+
+[3
 
 ] (./nobu-prosym.aux)
 
@@ -193,12 +203,12 @@
 
  ) 
 Here is how much of TeX's memory you used:
- 1175 strings out of 494163
- 14001 string characters out of 3160585
+ 1178 strings out of 494163
+ 14028 string characters out of 3160585
  70551 words of memory out of 3000000
- 4597 multiletter control sequences out of 15000+200000
+ 4599 multiletter control sequences out of 15000+200000
  17620 words of font info for 68 fonts, out of 3000000 for 9000
  745 hyphenation exceptions out of 8191
  30i,10n,22p,207b,303s stack positions out of 5000i,500n,10000p,200000b,50000s
 
-Output written on nobu-prosym.dvi (3 pages, 12952 bytes).
+Output written on nobu-prosym.dvi (3 pages, 13808 bytes).
Binary file Paper/nobu-prosym.pdf has changed
--- a/Paper/nobu-prosym.tex	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/nobu-prosym.tex	Fri Nov 18 06:33:48 2011 +0900
@@ -1,1 +1,1 @@
-\documentclass[private]{ipsjpapers}
%\documentstyle{ipsjpapers}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}

% 巻数,号数などの設定
%\setcounter{巻数}{41}
%\setcounter{号数}{6}
%\setcounter{volpageoffset}{1234}
%\受付{12}{2}{4}
%\採録{12}{5}{11}

\pagestyle{empty}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)}
\def\>{\(\rangle\)}
\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用

\begin{document}%{
% 和文表題
\title[Continuation based C の GCC 4.6 上の実装について]%
	{Continuation based C の GCC 4.6 上の実装について}
% 英文表題
\etitle{The implementation of Continuation based C Compiler on GCC 4.6}

% 所属ラベルの定義
\affilabel{URYUKYU}{琉球大学\\University of the Ryukyu}

% 和文著者名
\author{大城 信康\affiref{URYUKYU}\nomember\and
	河野 真治\affiref{URYUKYU}\member{19841765}}
	

% 英文著者名
\eauthor{Nobuyasu Oshiro\affiref{URYUKYU}\and
	Shinji Kono\affiref{URYUKYU}}

% 連絡先(投稿時に必要.製版用では無視される.)
\contact{大城 信康\\
	〒903-0213 沖縄県中頭郡西原町字千原1番地\\
	琉球大学 情報工学科\\
        TEL: (098)895-8723\qquad FAX: (098)895-8727\\
	email: dimolto@cr.ie.u-ryukyu.ac.jp}

% 和文概要
\begin{abstract}
GCC-4.6 をベースとした CbC コンパイラの実装を行った.
CbC のコンパイラは GCC-4.2 ベースのコンパイラが2008年に開発されており,
以来 GCC のアップデートにあわせて CbC のコンパイラもアップデートが行われてきた.
今回は GCC-4.6 への実装を行った.
本論文では GCC-4.6 への CbC の具体的な実装について述べる。


%当研究室では継続を基本としたプログラミング言語 Continuation basede C (以下CbC) を開発している.
%また,CbC 自体の開発と共に CbC のコンパイラの開発も行っている.
%お陰で GCC の最適化やデバッグの機能を CbC のプログラミングで扱うことができるようになった.


\end{abstract}


% 英文概要
\begin{eabstract}
We implemented Continuation based C Compiler on GCC-4.6.
CbC Compiler on GCC-4.2 was developed on 2008.
Since then we kept to update it.
In this paper, we introduce implemented Continuation based C Compiler on GCC-4.6.

%Continuation based C is programming language. It is developing our laboratory.

\end{eabstract}

% 表題などの出力
\maketitle
\thispagestyle{empty} 

%}{

% 本文はここから始まる
\section{歴史的経緯}
当研究室では,継続により処理を行うプログラミング言語 Continuation based C (以下CbC) を開発している.
CbC の構文は C と同じであるが,継続によりループ制御や関数コールを取り除かれる.

2008年の研究において GCC-4.2 ベースの CbC コンパイラが開発された.
以来,GCC のアップデートに合わせて GCC ベースの CbC コンパイラのアップデートを行って来ている.
お陰で,GCC の最適化やデバッガの機能を使うことができより実用的な CbC プログラミングが行えるようになった.

しかし,未だに GCC ベースのコンパイラには幾つかのバグがある.
今回,GCC-4.6 への実装も兼ねながら問題の部分の改善を行った.
本論文では, CbC,GCC の簡単な説明と,GCC-4.6 への実装を具体的に述べる.


%}{

\section{Continuation based C (CbC)}
Continuation based C (以下CbC) は当研究室で開発しているプログラミング言語である.
構文は C と同じであるが,ループ制御や関数コールを取り除き継続(goto)を用いている.
また,コードセグメント単位で処理を記述するという特徴がある.
図\ref{fig:cs}は CbC におけるプログラムの処理の流れを表している.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/codesegment.eps}}
  \end{center}
  \caption{コードセグメント間の継続(goto)}
  \label{fig:cs}
\end{figure}


\subsection{継続(goto)}
コードセグメントへと移った処理は C の関数と違って呼び出し元の関数に戻ることはない.
コードセグメントは自身の処理が終われば goto により次のコードセグメントでの処理に移る.
goto によるコードセグメント間の移動を継続と言う.


\subsection{コードセグメント(code segment)}
CbC におけるプログラムの基本単位としてコードセグメントという概念がある.
コードセグメントの記述の仕方は C の関数と同じだが, 型に“\_\_code”を使って宣言を行うところだけが違う.
関数と同じように引数を持たせて継続させることもできる.
しかし,関数とは違ってリターンを行わない為返り値を取得することはできない.
図\ref{fig:factorial}は CbC で書いたプログラムの例である.
与えられた数 x の階上を計算して出力するプログラムとなっている.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/factorial.eps}}
  \end{center}
  \caption{CbC のプログラム例}
  \label{fig:factorial}
\end{figure}


%コードセグメントは関数よりも小さな単位で記述される為,最適化がされやすくなる.
%コードセグメントの記述の仕方は C の関数と同じで,引数を持たせて継続を行うことができる.



\section{Gnu Compiler Collection}
GCC-4.6 への実装の前に,GCC によるコンパイルの一連の流れについて触れておく.

\subsection{3つの中間言語}
GCC は内部で Generic Tree, GIMPLE, RTL の3つの中間言語を扱われる.

\subsubsection{Generic Tree}
まず,GCC で読み込まれたソースコードは Generic Tree 呼ばれる構文木のデータ構造で表される.
図...に Generic Tree で表現された例を示す.

\subsubsection{GIMPLE}
Generic Tree により表現されたデータは次に GIMPLE という構文木へと変換される.
GIMPLE は Generic Tree より制約がかかった状態で作成される.
制約は「1つの枝に4つ以上の子を持たせない」といったもので,
GIMPLE へと変換されたデータは Generic Tree より簡単な命令で表されることになる.


\subsubsection{RTL}



Gneric Tree から GIMPLE, そして RTL へとデータは変換され最後にアセンブリ言語で出力される.



\section{GCC-4.6 への実装}


\subsection{Tail Call Elimination}
CbC の継続の実装には GCC の最適化の1つである Tail Call Elimination (末尾除去) が使われる.
Tail Call Elimination とは関数の最後の処理で別の関数呼び出しを行った際に,
call ではなく jmp を用いて大元の関数へ戻るようにする最適化のことである.
図\ref{continue}は Tail Call Elimination が行われた際のプログラムの処理を表している.


\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/continuation.eps}}
  \end{center}
  \caption{Tail Call Elimination}
  \label{fig:continue}
\end{figure}



\subsubsection{expand\_call}



\subsection{引数渡し}
通常コードセグメントの継続において,引数は C の関数と同じスタックを用いて渡される.
GCC には引数渡しをスタックではなくレジスタを用いて行う機能として fastcall がある.
fastcall を用いてコードセグメントを宣言することで,レジスタを用いた速度の向上を図る.

\subsubsection{fastcall}
コードセグメントの引数渡しを fastcall によりできるだけレジスタを用いて行うようにする.
C において fastcall を用いる場合は関数にキーワード “\_\_attribute\_\_ ((fastcall))” をつけて行う.
だが,コードセグメントを全てこのキーワードをつけて宣言することは実用できではない.
そこで,コードセグメントで宣言された場合,fastcall が自動で付くように実装を行う.
図\ref{fig:fastcall}はコードセグメントに fastcall 属性を付与しているソースである.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/fastcall.eps}}
  \end{center}
  \caption{fastcall属性付与}
  \label{fig:fastcall}
\end{figure}

if 文で条件を決めているのは,64 bit の場合 fastcall が標準で行われ為である.


\begin{thebibliography}{10}

\bibitem{1}{河野真治}:
“継続を基本とした言語 CbC の gcc 上の実装”. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002

\bibitem{2}{河野真治}:
“継続を持つ C の回言語によるシステム記述”. 日本ソフトウェア科学会第 17 回大会論文集, Sep, 2000

\bibitem{3}{与儀健人,河野真治}:
“Continuation based CコンパイラのGCC-4.2による実装”. 琉球大学 情報工学科 学位論文, 2008

\bibitem{4}{与儀健人,河野真治}:
“組み込み向け言語Continuation based C のGCC上の実装”. 琉球大学大学院 理工学研究科 学位論文(修士), 2010

\bibitem{5}{下地篤樹,河野真治}:
“線形時相論理を用いたContinuation based C プログラムの検証”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2008

\bibitem{6}{楊挺,河野真治}:
“Continuation based C の実装”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2002

\bibitem{7}{GNU Compiler Collection (GCC) Internals}:
“http://gcc.gnu.org/onlinedocs/gccint/”


\end{thebibliography}

\end{document}
\ No newline at end of file
+\documentclass[private]{ipsjpapers}
%\documentstyle{ipsjpapers}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}

% 巻数,号数などの設定
%\setcounter{巻数}{41}
%\setcounter{号数}{6}
%\setcounter{volpageoffset}{1234}
%\受付{12}{2}{4}
%\採録{12}{5}{11}

\pagestyle{empty}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)}
\def\>{\(\rangle\)}
\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用

\begin{document}%{
% 和文表題
\title[Continuation based C の GCC 4.6 上の実装について]%
	{Continuation based C の GCC 4.6 上の実装について}
% 英文表題
\etitle{The implementation of Continuation based C Compiler on GCC 4.6}

% 所属ラベルの定義
\affilabel{URYUKYU}{琉球大学\\University of the Ryukyu}

% 和文著者名
\author{大城 信康\affiref{URYUKYU}\nomember\and
	河野 真治\affiref{URYUKYU}\member{19841765}}
	

% 英文著者名
\eauthor{Nobuyasu Oshiro\affiref{URYUKYU}\and
	Shinji Kono\affiref{URYUKYU}}

% 連絡先(投稿時に必要.製版用では無視される.)
\contact{大城 信康\\
	〒903-0213 沖縄県中頭郡西原町字千原1番地\\
	琉球大学 情報工学科\\
        TEL: (098)895-8723\qquad FAX: (098)895-8727\\
	email: dimolto@cr.ie.u-ryukyu.ac.jp}

% 和文概要
\begin{abstract}
GCC-4.6 をベースとした CbC コンパイラの実装を行った.
CbC のコンパイラは GCC-4.2 ベースのコンパイラが2008年に開発されており,
以来 GCC のアップデートにあわせて CbC のコンパイラもアップデートが行われてきた.
今回は GCC-4.6 への実装を行った.
本論文では GCC-4.6 への CbC の具体的な実装について述べる。


%当研究室では継続を基本としたプログラミング言語 Continuation basede C (以下CbC) を開発している.
%また,CbC 自体の開発と共に CbC のコンパイラの開発も行っている.
%お陰で GCC の最適化やデバッグの機能を CbC のプログラミングで扱うことができるようになった.


\end{abstract}


% 英文概要
\begin{eabstract}
We implemented Continuation based C Compiler on GCC-4.6.
CbC Compiler on GCC-4.2 was developed on 2008.
Since then we kept to update it.
In this paper, we introduce implemented Continuation based C Compiler on GCC-4.6.

%Continuation based C is programming language. It is developing our laboratory.

\end{eabstract}

% 表題などの出力
\maketitle
\thispagestyle{empty} 

%}{

% 本文はここから始まる
\section{歴史的経緯}
当研究室では,継続により処理を行うプログラミング言語 Continuation based C (以下CbC) を開発している.
CbC の構文は C と同じであるが,継続によりループ制御や関数コールが取り除かれる.

CbC のコンパイルには元々 Micoro-C 版の独自のコンパイラを用いていたが,
2008年の研究において GCC-4.2 ベースの CbC コンパイラが開発され,
2010年には GCC-4.4 へとアップデートが行われた.
GCC への実装により,GCC の最適化やデバッガの機能を使うことができより実用的な CbC プログラミングが行えるようになった.
%以来,GCC のアップデートに合わせて GCC ベースの CbC コンパイラのアップデートを行って来ている.

今回,CbC コンパイラを GCC-4.6 へとアップデートを行った.
本論文では, CbC,GCC の簡単な説明と,GCC-4.6 への実装を述べる.

%}{

\section{Continuation based C (CbC)}
Continuation based C (以下CbC) は当研究室で開発しているプログラミング言語である.
構文は C と同じであるが,ループ制御や関数コールを取り除き継続(goto)を用いている.
また,コードセグメント単位で処理を記述するという特徴がある.
図\ref{fig:cs}は CbC におけるプログラムの処理の流れを表している.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/codesegment.eps}}
  \end{center}
  \caption{コードセグメント間の継続(goto)}
  \label{fig:cs}
\end{figure}


\subsection{継続(goto)}
コードセグメントへと移った処理は C の関数と違って呼び出し元の関数に戻ることはない.
コードセグメントは自身の処理が終えると goto により次のコードセグメントへと処理に移る.
この goto によるコードセグメント間の移動を継続と言う.

継続の実態は jmp による関数の移動となる.


\subsection{コードセグメント(code segment)}
CbC におけるプログラムの基本単位としてコードセグメントという概念がある.
コードセグメントの記述の仕方は C の関数と同じだが, 型に“\_\_code”を使って宣言を行うところだけが違う.
関数と同じように引数を持たせて継続させることもできる.
しかし,関数とは違ってリターンを行わない為返り値を取得することはできない.
図\ref{fig:factorial}は CbC で書いたプログラムの例である.
与えられた数 x の階上を計算して出力するプログラムとなっている.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.40}{\includegraphics{figure/factorial.eps}}
  \end{center}
  \caption{階上を計算する CbC プログラムの例}
  \label{fig:factorial}
\end{figure}


%コードセグメントは関数よりも小さな単位で記述される為,最適化がされやすくなる.
%コードセグメントの記述の仕方は C の関数と同じで,引数を持たせて継続を行うことができる.


\section{GCCの3つの内部表現}
GCC-4.6 への実装の前に,GCC で扱われる3つの内部表現について触れておく.


\subsection{3つの内部表現}
GCC は内部で Generic Tree, GIMPLE, RTL という3つの内部表現を扱う.
それぞれが
読み込んだソースコードは Generic Tree, GIMPLE, RTL の順に変換されていき,
最後にアセンブラ言語へと出力される.
図\ref{fig:ir}は


\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/ir.eps}}
  \end{center}
  \caption{GCC によるコンパイルの一連の流れ}
  \label{fig:ir}
\end{figure}


\subsubsection{Generic Tree}
ソースコードより読み込んだ関数の情報を木構造で表したものが Generic Tree となる.
関数の返り値,引数,変数の型,条件式とプログラムの処理全てが木構造で表される.
CbC の実装では parse の部分からこの Generic Tree 生成の部分に手が加わっている.


\subsubsection{GIMPLE}
Generic Tree で表現されたデータは GIMPLE というデータ構造に変換される.
GIMPLE も Generic Tree と同じ構文木だが、より制約がかかった状態で作成された構文木となる.
制約は「1つの枝に4つ以上の子を持たせない」等といったもので,
GIMPLE へと変換されたデータは Generic Tree より簡単な命令で表されることになり最適化がかけやすくなる.
CbC の実装では特に修正は加えていない.


\subsubsection{Register Transfer Language (RTL)}
構文木 GIMPLE は解析が行われた後 RTL へと変換される.
RTL での表現は低レベルで,アセンブラとほぼ同じ表現を行うことができる.


CbC における継続は,この RTL で行われる最適化の1つ Tail Call Elimination が重要となってくる.


\section{GCC-4.6 への実装}
前節までで CbC の基本仕様と GCC でのアセンブラ出力までの流れを確認した.
ここからは GCC-4.6 への実装について述べていく.


\subsection{“__code” のパース}



\subsection{Tail Call Elimination}
CbC の継続の実装には GCC の最適化の1つである Tail Call Elimination (末尾除去) が使われる.
Tail Call Elimination とは関数の最後の処理で別の関数呼び出しを行った際に,
call ではなく jmp を用いることができるという最適化である.
図\ref{continue}は Tail Call Elimination が行われた際のプログラムの処理を表している.


\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/continuation.eps}}
  \end{center}
  \caption{Tail Call Elimination}
  \label{fig:continue}
\end{figure}
funcB の処理の最後に呼ばれた funcC は,返り値を funcB ではなく funcA へと返す.


\subsubsection{expand\_call}
ある関数が Tail Call Elimination を行えるかどうかは expand\_call 関数によって判断される.
Tail call Elimination が行える場合 try\_tail_call
expand\_call 関数の中で try_tail_call というフラグ



\subsection{引数渡し}
通常コードセグメントの継続において,引数は C の関数と同じスタックを用いて渡される.
GCC には引数渡しをスタックではなくレジスタを用いて行う機能として fastcall がある.
fastcall を用いてコードセグメントを宣言することで,レジスタを用いた速度の向上を図る.

\subsubsection{fastcall}
コードセグメントの引数渡しを fastcall によりできるだけレジスタを用いて行うようにする.
C において fastcall を用いる場合は関数にキーワード “\_\_attribute\_\_ ((fastcall))” をつけて行う.
だが,コードセグメントを全てこのキーワードをつけて宣言することは実用できではない.
そこで,コードセグメントで宣言された場合,fastcall が自動で付くように実装を行う.
図\ref{fig:fastcall}はコードセグメントに fastcall 属性を付与しているソースである.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/fastcall.eps}}
  \end{center}
  \caption{fastcall属性付与}
  \label{fig:fastcall}
\end{figure}

if 文で条件を決めているのは,64 bit の場合 fastcall が標準で行われ為である.


\begin{thebibliography}{10}

\bibitem{1}{河野真治}:
“継続を基本とした言語 CbC の gcc 上の実装”. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002

\bibitem{2}{河野真治}:
“継続を持つ C の回言語によるシステム記述”. 日本ソフトウェア科学会第 17 回大会論文集, Sep, 2000

\bibitem{3}{与儀健人,河野真治}:
“Continuation based CコンパイラのGCC-4.2による実装”. 琉球大学 情報工学科 学位論文, 2008

\bibitem{4}{与儀健人,河野真治}:
“組み込み向け言語Continuation based C のGCC上の実装”. 琉球大学大学院 理工学研究科 学位論文(修士), 2010

\bibitem{5}{下地篤樹,河野真治}:
“線形時相論理を用いたContinuation based C プログラムの検証”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2008

\bibitem{6}{楊挺,河野真治}:
“Continuation based C の実装”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2002

\bibitem{7}{GNU Compiler Collection (GCC) Internals}:
“http://gcc.gnu.org/onlinedocs/gccint/”


\end{thebibliography}

\end{document}
\ No newline at end of file
--- a/Paper/nobu-prosym.tex~	Thu Nov 17 09:18:31 2011 +0900
+++ b/Paper/nobu-prosym.tex~	Fri Nov 18 06:33:48 2011 +0900
@@ -1,1 +1,1 @@
-\documentclass[private]{ipsjpapers}
%\documentstyle{ipsjpapers}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}

% 巻数,号数などの設定
\setcounter{巻数}{41}
\setcounter{号数}{6}
\setcounter{volpageoffset}{1234}
\受付{12}{2}{4}
\採録{12}{5}{11}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)}
\def\>{\(\rangle\)}
\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用

\begin{document}%{
% 和文表題
\title[Continuation based C の GCC 4.6 上の実装について]%
	{Continuation based C の GCC 4.6 上の実装について}
% 英文表題
\etitle{The implementation of Continuation based C Compiler on GCC 4.6}

% 所属ラベルの定義
\affilabel{URYUKYU}{琉球大学\\University of the Ryukyu}

% 和文著者名
\author{大城 信康\affiref{URYUKYU}\nomember\and
	河野 真治\affiref{URYUKYU}\member{19841765}}
	

% 英文著者名
\eauthor{Nobuyasu Oshiro\affiref{URYUKYU}\and
	Shinji Kono\affiref{URYUKYU}}

% 連絡先(投稿時に必要.製版用では無視される.)
\contact{大城 信康\\
	〒903-0213 沖縄県中頭郡西原町字千原1番地\\
	琉球大学 情報工学科\\
        TEL: (098)895-8723\qquad FAX: (098)895-8727\\
	email: dimolto@cr.ie.u-ryukyu.ac.jp}

% 和文概要
\begin{abstract}
GCC-4.6 をベースとした CbC コンパイラの実装を行った.
CbC のコンパイラは GCC-4.2 ベースのコンパイラが2008年に開発されており,
以来 GCC のアップデートにあわせて CbC のコンパイラもアップデートが行われてきた.
今回は GCC-4.6 への実装を行った.
本論文では GCC-4.6 への CbC の具体的な実装について述べる。


%当研究室では継続を基本としたプログラミング言語 Continuation basede C (以下CbC) を開発している.
%また,CbC 自体の開発と共に CbC のコンパイラの開発も行っている.
%お陰で GCC の最適化やデバッグの機能を CbC のプログラミングで扱うことができるようになった.


\end{abstract}


% 英文概要
\begin{eabstract}
We implemented Continuation based C Compiler on GCC-4.6.
CbC Compiler on GCC-4.2 was developed on 2008.
Since then we kept to update it.
In this paper, we introduce implemented Continuation based C Compiler on GCC-4.6.

%Continuation based C is programming language. It is developing our laboratory.

\end{eabstract}

% 表題などの出力
\maketitle

%}{

% 本文はここから始まる
\section{歴史的経緯}
当研究室では,継続により処理を行うプログラミング言語 Continuation based C (以下CbC) を開発している.
CbC の構文は C と同じであるが,継続によりループ制御や関数コールを取り除かれる.

2008年の研究において GCC-4.2 ベースの CbC コンパイラが開発された.
以来,GCC のアップデートに合わせて GCC ベースの CbC コンパイラのアップデートを行って来ている.
お陰で,GCC の最適化やデバッガの機能を使うことができより実用的な CbC プログラミングが行えるようになった.

しかし,未だに GCC ベースのコンパイラには幾つかのバグがある.
今回,GCC-4.6 への実装も兼ねながら問題の部分の改善を行った.
本論文では, CbC,GCC の簡単な説明と,GCC-4.6 への実装を具体的に述べる.


%}{

\section{Continuation based C (CbC)}
Continuation based C (以下CbC) は当研究室で開発しているプログラミング言語である.
構文は C と同じであるが,ループ制御や関数コールを取り除き継続(goto)を用いている.
また,コードセグメント単位で処理を記述するという特徴がある.
図\ref{fig:cs}は CbC におけるプログラムの処理の流れを表している.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/codesegment.eps}}
  \end{center}
  \caption{コードセグメント間の継続(goto)}
  \label{fig:cs}
\end{figure}


\subsection{継続(goto)}
コードセグメントへと移った処理は C の関数と違って呼び出し元の関数に戻ることはない.
コードセグメントは自身の処理が終われば goto により次のコードセグメントでの処理に移る.
goto によるコードセグメント間の移動を継続と言う.


\subsection{コードセグメント(code segment)}
CbC におけるプログラムの基本単位としてコードセグメントという概念がある.
コードセグメントの記述の仕方は C の関数と同じだが, 型に“\_\_code”を使って宣言を行うところだけが違う.
関数と同じように引数を持たせて継続させることもできる.
しかし,関数とは違ってリターンを行わない為返り値を取得することはできない.
図\ref{fig:factorial}は CbC で書いたプログラムの例である.
与えられた数 x の階上を計算して出力するプログラムとなっている.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/factorial.eps}}
  \end{center}
  \caption{CbC のプログラム例}
  \label{fig:factorial}
\end{figure}


%コードセグメントは関数よりも小さな単位で記述される為,最適化がされやすくなる.
%コードセグメントの記述の仕方は C の関数と同じで,引数を持たせて継続を行うことができる.



\section{Gnu Compiler Collection}
GCC-4.6 への実装の前に,GCC によるコンパイルの一連の流れについて触れておく.

\subsection{3つの中間言語}
GCC は内部で Generic Tree, GIMPLE, RTL の3つの中間言語を扱われる.

\subsubsection{Generic Tree}
まず,GCC で読み込まれたソースコードは Generic Tree 呼ばれる構文木のデータ構造で表される.
図...に Generic Tree で表現された例を示す.

\subsubsection{GIMPLE}
Generic Tree により表現されたデータは次に GIMPLE という構文木へと変換される.
GIMPLE は Generic Tree より制約がかかった状態で作成される.
制約は「1つの枝に4つ以上の子を持たせない」といったもので,
GIMPLE へと変換されたデータは Generic Tree より簡単な命令で表されることになる.


\subsubsection{RTL}



Gneric Tree から GIMPLE, そして RTL へとデータは変換され最後にアセンブリ言語で出力される.



\section{GCC-4.6 への実装}


\subsection{Tail Call Elimination}
CbC の継続の実装には GCC の最適化の1つである Tail Call Elimination (末尾除去) が使われる.
Tail Call Elimination とは関数の最後の処理で別の関数呼び出しを行った際に,
call ではなく jmp を用いて大元の関数へ戻るようにする最適化のことである.
図\ref{continue}は Tail Call Elimination が行われた際のプログラムの処理を表している.


\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/continuation.eps}}
  \end{center}
  \caption{Tail Call Elimination}
  \label{fig:continue}
\end{figure}



\subsubsection{expand\_call}



\subsection{引数渡し}
通常コードセグメントの継続において,引数は C の関数と同じスタックを用いて渡される.
GCC には引数渡しをスタックではなくレジスタを用いて行う機能として fastcall がある.
fastcall を用いてコードセグメントを宣言することで,レジスタを用いた速度の向上を図る.

\subsubsection{fastcall}
コードセグメントの引数渡しを fastcall によりできるだけレジスタを用いて行うようにする.
C において fastcall を用いる場合は関数にキーワード “\_\_attribute\_\_ ((fastcall))” をつけて行う.
だが,コードセグメントを全てこのキーワードをつけて宣言することは実用できではない.
そこで,コードセグメントで宣言された場合,fastcall が自動で付くように実装を行う.
図\ref{fig:fastcall}はコードセグメントに fastcall 属性を付与しているソースである.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/fastcall.eps}}
  \end{center}
  \caption{fastcall属性付与}
  \label{fig:fastcall}
\end{figure}

if 文で条件を決めているのは,64 bit の場合 fastcall が標準で行われ為である.


\begin{thebibliography}{10}

\bibitem{1}{河野真治}:
“継続を基本とした言語 CbC の gcc 上の実装”. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002

\bibitem{2}{河野真治}:
“継続を持つ C の回言語によるシステム記述”. 日本ソフトウェア科学会第 17 回大会論文集, Sep, 2000

\bibitem{3}{与儀健人,河野真治}:
“Continuation based CコンパイラのGCC-4.2による実装”. 琉球大学 情報工学科 学位論文, 2008

\bibitem{4}{与儀健人,河野真治}:
“組み込み向け言語Continuation based C のGCC上の実装”. 琉球大学大学院 理工学研究科 学位論文(修士), 2010

\bibitem{5}{下地篤樹,河野真治}:
“線形時相論理を用いたContinuation based C プログラムの検証”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2008

\bibitem{6}{楊挺,河野真治}:
“Continuation based C の実装”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2002

\bibitem{7}{GNU Compiler Collection (GCC) Internals}:
“http://gcc.gnu.org/onlinedocs/gccint/”


\end{thebibliography}


\begin{biography}
\nomember{大城 信康}
1989年生.
2008年琉球大学工学部情報工学科入学
%
\member{河野 真治}
1959年生.
1989年東京大学大学院情報工学課程修了 (工学博士)
同年Sony Computer Science Laboratory, Inc.   入社.
1996年より琉球大学工学部准教授
工学博士. ACM会員.
\end{biography}
\end{document}
\ No newline at end of file
+\documentclass[private]{ipsjpapers}
%\documentstyle{ipsjpapers}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}

% 巻数,号数などの設定
%\setcounter{巻数}{41}
%\setcounter{号数}{6}
%\setcounter{volpageoffset}{1234}
%\受付{12}{2}{4}
%\採録{12}{5}{11}

\pagestyle{empty}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)}
\def\>{\(\rangle\)}
\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用

\begin{document}%{
% 和文表題
\title[Continuation based C の GCC 4.6 上の実装について]%
	{Continuation based C の GCC 4.6 上の実装について}
% 英文表題
\etitle{The implementation of Continuation based C Compiler on GCC 4.6}

% 所属ラベルの定義
\affilabel{URYUKYU}{琉球大学\\University of the Ryukyu}

% 和文著者名
\author{大城 信康\affiref{URYUKYU}\nomember\and
	河野 真治\affiref{URYUKYU}\member{19841765}}
	

% 英文著者名
\eauthor{Nobuyasu Oshiro\affiref{URYUKYU}\and
	Shinji Kono\affiref{URYUKYU}}

% 連絡先(投稿時に必要.製版用では無視される.)
\contact{大城 信康\\
	〒903-0213 沖縄県中頭郡西原町字千原1番地\\
	琉球大学 情報工学科\\
        TEL: (098)895-8723\qquad FAX: (098)895-8727\\
	email: dimolto@cr.ie.u-ryukyu.ac.jp}

% 和文概要
\begin{abstract}
GCC-4.6 をベースとした CbC コンパイラの実装を行った.
CbC のコンパイラは GCC-4.2 ベースのコンパイラが2008年に開発されており,
以来 GCC のアップデートにあわせて CbC のコンパイラもアップデートが行われてきた.
今回は GCC-4.6 への実装を行った.
本論文では GCC-4.6 への CbC の具体的な実装について述べる。


%当研究室では継続を基本としたプログラミング言語 Continuation basede C (以下CbC) を開発している.
%また,CbC 自体の開発と共に CbC のコンパイラの開発も行っている.
%お陰で GCC の最適化やデバッグの機能を CbC のプログラミングで扱うことができるようになった.


\end{abstract}


% 英文概要
\begin{eabstract}
We implemented Continuation based C Compiler on GCC-4.6.
CbC Compiler on GCC-4.2 was developed on 2008.
Since then we kept to update it.
In this paper, we introduce implemented Continuation based C Compiler on GCC-4.6.

%Continuation based C is programming language. It is developing our laboratory.

\end{eabstract}

% 表題などの出力
\maketitle
\thispagestyle{empty} 

%}{

% 本文はここから始まる
\section{歴史的経緯}
当研究室では,継続により処理を行うプログラミング言語 Continuation based C (以下CbC) を開発している.
CbC の構文は C と同じであるが,継続によりループ制御や関数コールを取り除かれる.

2008年の研究において GCC-4.2 ベースの CbC コンパイラが開発された.
以来,GCC のアップデートに合わせて GCC ベースの CbC コンパイラのアップデートを行って来ている.
お陰で,GCC の最適化やデバッガの機能を使うことができより実用的な CbC プログラミングが行えるようになった.

しかし,未だに GCC ベースのコンパイラには幾つかのバグがある.
今回,GCC-4.6 への実装も兼ねながら問題の部分の改善を行った.
本論文では, CbC,GCC の簡単な説明と,GCC-4.6 への実装を具体的に述べる.


%}{

\section{Continuation based C (CbC)}
Continuation based C (以下CbC) は当研究室で開発しているプログラミング言語である.
構文は C と同じであるが,ループ制御や関数コールを取り除き継続(goto)を用いている.
また,コードセグメント単位で処理を記述するという特徴がある.
図\ref{fig:cs}は CbC におけるプログラムの処理の流れを表している.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/codesegment.eps}}
  \end{center}
  \caption{コードセグメント間の継続(goto)}
  \label{fig:cs}
\end{figure}


\subsection{継続(goto)}
コードセグメントへと移った処理は C の関数と違って呼び出し元の関数に戻ることはない.
コードセグメントは自身の処理が終われば goto により次のコードセグメントでの処理に移る.
goto によるコードセグメント間の移動を継続と言う.


\subsection{コードセグメント(code segment)}
CbC におけるプログラムの基本単位としてコードセグメントという概念がある.
コードセグメントの記述の仕方は C の関数と同じだが, 型に“\_\_code”を使って宣言を行うところだけが違う.
関数と同じように引数を持たせて継続させることもできる.
しかし,関数とは違ってリターンを行わない為返り値を取得することはできない.
図\ref{fig:factorial}は CbC で書いたプログラムの例である.
与えられた数 x の階上を計算して出力するプログラムとなっている.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/factorial.eps}}
  \end{center}
  \caption{CbC のプログラム例}
  \label{fig:factorial}
\end{figure}


%コードセグメントは関数よりも小さな単位で記述される為,最適化がされやすくなる.
%コードセグメントの記述の仕方は C の関数と同じで,引数を持たせて継続を行うことができる.



\section{Gnu Compiler Collection}
GCC-4.6 への実装の前に,GCC によるコンパイルの一連の流れについて触れておく.

\subsection{3つの中間言語}
GCC は内部で Generic Tree, GIMPLE, RTL の3つの中間言語を扱われる.

\subsubsection{Generic Tree}
まず,GCC で読み込まれたソースコードは Generic Tree 呼ばれる構文木のデータ構造で表される.
図...に Generic Tree で表現された例を示す.

\subsubsection{GIMPLE}
Generic Tree により表現されたデータは次に GIMPLE という構文木へと変換される.
GIMPLE は Generic Tree より制約がかかった状態で作成される.
制約は「1つの枝に4つ以上の子を持たせない」といったもので,
GIMPLE へと変換されたデータは Generic Tree より簡単な命令で表されることになる.


\subsubsection{RTL}



Gneric Tree から GIMPLE, そして RTL へとデータは変換され最後にアセンブリ言語で出力される.



\section{GCC-4.6 への実装}


\subsection{Tail Call Elimination}
CbC の継続の実装には GCC の最適化の1つである Tail Call Elimination (末尾除去) が使われる.
Tail Call Elimination とは関数の最後の処理で別の関数呼び出しを行った際に,
call ではなく jmp を用いて大元の関数へ戻るようにする最適化のことである.
図\ref{continue}は Tail Call Elimination が行われた際のプログラムの処理を表している.


\begin{figure}[htpb]
  \begin{center}
\scalebox{0.50}{\includegraphics{figure/continuation.eps}}
  \end{center}
  \caption{Tail Call Elimination}
  \label{fig:continue}
\end{figure}



\subsubsection{expand\_call}



\subsection{引数渡し}
通常コードセグメントの継続において,引数は C の関数と同じスタックを用いて渡される.
GCC には引数渡しをスタックではなくレジスタを用いて行う機能として fastcall がある.
fastcall を用いてコードセグメントを宣言することで,レジスタを用いた速度の向上を図る.

\subsubsection{fastcall}
コードセグメントの引数渡しを fastcall によりできるだけレジスタを用いて行うようにする.
C において fastcall を用いる場合は関数にキーワード “\_\_attribute\_\_ ((fastcall))” をつけて行う.
だが,コードセグメントを全てこのキーワードをつけて宣言することは実用できではない.
そこで,コードセグメントで宣言された場合,fastcall が自動で付くように実装を行う.
図\ref{fig:fastcall}はコードセグメントに fastcall 属性を付与しているソースである.

\begin{figure}[htpb]
  \begin{center}
\scalebox{0.35}{\includegraphics{figure/fastcall.eps}}
  \end{center}
  \caption{fastcall属性付与}
  \label{fig:fastcall}
\end{figure}

if 文で条件を決めているのは,64 bit の場合 fastcall が標準で行われ為である.


\begin{thebibliography}{10}

\bibitem{1}{河野真治}:
“継続を基本とした言語 CbC の gcc 上の実装”. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002

\bibitem{2}{河野真治}:
“継続を持つ C の回言語によるシステム記述”. 日本ソフトウェア科学会第 17 回大会論文集, Sep, 2000

\bibitem{3}{与儀健人,河野真治}:
“Continuation based CコンパイラのGCC-4.2による実装”. 琉球大学 情報工学科 学位論文, 2008

\bibitem{4}{与儀健人,河野真治}:
“組み込み向け言語Continuation based C のGCC上の実装”. 琉球大学大学院 理工学研究科 学位論文(修士), 2010

\bibitem{5}{下地篤樹,河野真治}:
“線形時相論理を用いたContinuation based C プログラムの検証”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2008

\bibitem{6}{楊挺,河野真治}:
“Continuation based C の実装”. 琉球大学大学院 理工学研究科 情報工学専攻 学位論文(修士), 2002

\bibitem{7}{GNU Compiler Collection (GCC) Internals}:
“http://gcc.gnu.org/onlinedocs/gccint/”


\end{thebibliography}

\end{document}
\ No newline at end of file