home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lang / modula3 / 1153 < prev    next >
Encoding:
Text File  |  1993-01-25  |  23.2 KB  |  459 lines

  1. Newsgroups: comp.lang.modula3
  2. Path: sparky!uunet!newsgate.watson.ibm.com!yktnews2.watson.ibm.com!yktnews!admin!rhoover
  3. From: rhoover@watson.ibm.com (Roger Hoover)
  4. Subject: changes to 2.11 for IBMR2 and SPARC
  5. Sender: news@watson.ibm.com (NNTP News Poster)
  6. Message-ID: <1993Jan25.213038.24641@watson.ibm.com>
  7. Date: Mon, 25 Jan 1993 21:30:38 GMT
  8. Disclaimer: This posting represents the poster's views, not necessarily those of IBM
  9. Nntp-Posting-Host: trek.watson.ibm.com
  10. Organization: IBM T.J. Watson Research Center
  11. Lines: 446
  12.  
  13. The following changes fix a problem with IBMR2 terminal input and
  14. allow SPARC and IBMR2 implementations of 2.11 to compile using shared
  15. libraries.
  16.  
  17. The files changed are:
  18. ./m3make/model-configs/IBMR2              Shared library support.
  19. ./m3make/model-configs/SPARC
  20.  
  21. ./libm3/rw/src/UFileRd.m3                 Terminal input problem fix for
  22. ./libm3/unix/src/aix-3-2/Unix.i3          POSIX machines.
  23. ./libm3/unix/src/ultrix-3-1.SPARC/Unix.i3
  24.  
  25. ./trestle/src/m3makefile                  Library use problem fixed for
  26.                                           shared libraries.
  27.  
  28. Still known problems:
  29.  
  30. tools/pp and tools/gnuemacs fixes for IBMR2 (posted in November 1992) have
  31.     not been installed.
  32.  
  33. formsedit fails on IBMR2:
  34.     % formsedit
  35.     Illegal size(13.5)
  36.  
  37. fisheye fails on SPARC:
  38.     % fisheye
  39.     ***
  40.     *** runtime error:
  41.     ***    Segmentation violation - possible attempt to dereference NIL
  42.     ***    pc = 0x1d3830 = Fisheye.Attach + 0x1add04
  43.     ***
  44.     Quit (core dumped)
  45.   and on IBMR2:
  46.     % fisheye
  47.     ****************** EXCEPTION HANDLER STACK *********************
  48.     0x2ff7f6f4 TRY-FINALLY  proc = 0x201b697c   frame = 0x2ff7f6e4
  49.     ****************************************************************
  50.     ***
  51.     *** runtime error:
  52.     ***    Unhandled exception "FormsVBT.Error"
  53.     ***
  54.     (core dumped)
  55.  
  56.  
  57. Context diffs of changed files follow.  A uuencoded version of
  58. m3make/model-configs/IBMR2 follows the diffs (since there is a
  59. line with embedded tabs and spaces that is easy to get wrong).
  60.  
  61. --------
  62. *** orig_m3-2.11/./m3make/model-configs/IBMR2    Thu Dec 10 14:04:39 1992
  63. --- m3-2.11/./m3make/model-configs/IBMR2    Mon Jan 25 15:42:47 1993
  64. ***************
  65. *** 80,85 ****
  66. --- 80,86 ----
  67.      the installation will fail, but can be restarted after you have 
  68.      fixed the permissions. */
  69.   
  70. + M3VERSION = 2.11
  71.   PREFIX = /usr/local
  72.   INSTALL_PREFIX = $(PREFIX)
  73.   
  74. ***************
  75. *** 153,158 ****
  76. --- 154,186 ----
  77.   
  78.   /* When m3(1) receives the -O option, it really does this */
  79.   CC_O = @-O@
  80. + /* These macros are used instead of the ones in the template, so that we
  81. +    can have shared libraries */
  82. + #define library(name)                                                       @@\
  83. + all:: lib##name.a                                                           @@\
  84. + clean:: ; rm -f lib##name.a lib##name.ax                                    @@\
  85. + lib##name.a: FRC                                                            @@\
  86. +     $(DO_M3) -a lib##name.a $(PGM_SOURCES) $(IMPORT_LIBS) \             @@\
  87. +        -Y4@/bin/touch@.newlib@                                          @@\
  88. +     if [ -f .newlib ]; then \                                           @@\
  89. +       /bin/dump -g lib##name.a | sed -n -e \                            @@\
  90. +         's/^[     ]*[0-9][0-9]*[     ]*\([^     .][^     ]*\)$$/\1/p' \      @@\
  91. +         > .expnames; \                                                  @@\
  92. +           deflibs="-lm3 -lm"; \                                             @@\
  93. +       if [ ##name = m3 ]; then deflibs="-lm"; fi; \                     @@\
  94. +       /bin/bsdcc -bE\:.expnames -bM\:SRE -o _shar lib##name.a \         @@\
  95. +             -L$(LIB_USE) $(IMPORT_LIBS) $$deflibs -e _nostart; \            @@\
  96. +       mv _shar lib##name.a; \                                           @@\
  97. +       rm -f .expnames .newlib; \                                        @@\
  98. +     fi
  99. + #define Library(name)                                                       @@\
  100. + install::                                                                   @@\
  101. +     INSTALL (lib##name.a, $(LIB_INSTALL), 644)                          @@\
  102. +     INSTALL (lib##name.ax, $(LIB_INSTALL), 644)                         @@\
  103. + library(name)
  104.   
  105.   /* Give the value 0 if you want the m3 driver to pass -L/-l arguments to 
  106.      LD for libraries; otherwise (value = 1), the m3 driver will pass 
  107. *** orig_m3-2.11/./m3make/model-configs/SPARC    Thu Dec 10 14:32:37 1992
  108. --- m3-2.11/./m3make/model-configs/SPARC    Mon Jan 25 15:43:13 1993
  109. ***************
  110. *** 35,40 ****
  111. --- 35,41 ----
  112.      the installation will fail, but can be restarted after you have 
  113.      fixed the permissions. */
  114.   
  115. + M3VERSION = 2.11
  116.   PREFIX = /usr/local
  117.   INSTALL_PREFIX = $(PREFIX)
  118.   
  119. ***************
  120. *** 110,115 ****
  121. --- 111,144 ----
  122.   /* When m3(1) receives the -O option, it really does this */
  123.   CC_O = @-O@
  124.    
  125. + /* These macros are used instead of the ones in the template, so that we
  126. +    can have shared libraries */
  127. + LIBEXT = so.$(M3VERSION) /* this is the extension of the library name.  Note
  128. +                             that we build a dummy lib##name.a and keep the
  129. +                             name lib##name.ax so that the m3 linker
  130. +                             does not become confused */
  131. + #define library(name)                                                       @@\
  132. + all:: lib##name.a                                                           @@\
  133. + clean:: ; rm -f lib##name.$(LIBEXT) lib##name.a lib##name.ax                @@\
  134. + lib##name.a: FRC                                                            @@\
  135. +     $(DO_M3) -a lib##name.a -X1@-PIC@ \                                 @@\
  136. +       -Y3@/bin/ld@-assert@pure-text@-o@ -Y4@/bin/touch@.newlib@ \       @@\
  137. +       $(PGM_SOURCES) $(IMPORT_LIBS)                                     @@\
  138. +         if [ -f .newlib ]; then \                                           @@\
  139. +           mv lib##name.a lib##name.$(LIBEXT); \                             @@\
  140. +           /bin/ar cru lib##name.a; \                                        @@\
  141. +           rm .newlib; \                                                     @@\
  142. +         fi
  143. + #define Library(name)                                                       @@\
  144. + install::                                                                   @@\
  145. +     INSTALL (lib##name.a, $(LIB_INSTALL), 644)                          @@\
  146. +     INSTALL (lib##name.$(LIBEXT), $(LIB_INSTALL), 644)                  @@\
  147. +     INSTALL (lib##name.ax, $(LIB_INSTALL), 644)                         @@\
  148. + library(name)
  149.   /* Give the value 0 if you want the m3 driver to pass -L/-l arguments to 
  150.      LD for libraries; otherwise (value = 1), the m3 driver will pass 
  151.      the full path name of the librairies it located */
  152. *** orig_m3-2.11/./libm3/rw/src/UFileRd.m3    Tue Oct 13 18:45:11 1992
  153. --- m3-2.11/./libm3/rw/src/UFileRd.m3    Mon Jan 25 15:37:29 1993
  154. ***************
  155. *** 160,166 ****
  156.       status: INTEGER;
  157.       readFDSet, errorFDSet := Unix.FDSet {rd.targetFD};
  158.       old_mode := Unix.fcntl (rd.targetFD, Unix.F_GETFL, 0);
  159. !     new_mode := Word.Or (old_mode, Unix.O_NDELAY);
  160.     BEGIN
  161.       LOOP
  162.         (* make the read call non-blocking; we cannot set/reset the mode at
  163. --- 160,166 ----
  164.       status: INTEGER;
  165.       readFDSet, errorFDSet := Unix.FDSet {rd.targetFD};
  166.       old_mode := Unix.fcntl (rd.targetFD, Unix.F_GETFL, 0);
  167. !     new_mode := Word.Or (old_mode, Unix.TTY_DO_NOT_BLOCK);
  168.     BEGIN
  169.       LOOP
  170.         (* make the read call non-blocking; we cannot set/reset the mode at
  171. *** orig_m3-2.11/./libm3/unix/src/aix-3-2/Unix.i3    Thu Nov 12 14:46:07 1992
  172. --- m3-2.11/./libm3/unix/src/aix-3-2/Unix.i3    Thu Jan 21 14:26:01 1993
  173. ***************
  174. *** 756,761 ****
  175. --- 756,762 ----
  176.     O_TRUNC  =    FTRUNC;         (* open with truncation *)
  177.     O_EXCL =      FEXCL;          (* error on create if file exists *)
  178.     O_FYNC =      FSYNCRON;       (* syncronous write *)
  179. +   TTY_DO_NOT_BLOCK = O_NONBLOCK;(* puts tty in nonblocking mode *)
  180.   
  181.   <*EXTERNAL*> PROCEDURE open (name: char_star; flags, mode: int): int;
  182.   
  183. *** orig_m3-2.11/./libm3/unix/src/ultrix-3-1.SPARC/Unix.i3    Mon Jan 11 17:26:35 1993
  184. --- m3-2.11/./libm3/unix/src/ultrix-3-1.SPARC/Unix.i3    Thu Jan 21 14:25:58 1993
  185. ***************
  186. *** 827,832 ****
  187. --- 827,833 ----
  188.     O_EXCL =      FEXCL;          (* error on create if file exists *)
  189.     O_BLKINUSE =  FBLKINUSE;      (* block if "in use" *)
  190.     O_FSYNC =     FSYNCRON;       (* syncronous write *)
  191. +   TTY_DO_NOT_BLOCK = O_NDELAY;  (* puts tty in nonblocking mode *)
  192.   
  193.   <*EXTERNAL*> PROCEDURE open (name: char_star; flags, mode: int): int;
  194.   
  195. *** orig_m3-2.11/./trestle/src/m3makefile    Sun Jan 17 23:10:22 1993
  196. --- m3-2.11/./trestle/src/m3makefile    Thu Jan 21 13:46:37 1993
  197. ***************
  198. *** 12,16 ****
  199. --- 12,17 ----
  200.   source_dir (../src/trestle)
  201.   
  202.   import_lib (m3X11R4)
  203. + import_lib (X11)
  204.   
  205.   Library (m3ui)
  206.  
  207. --------
  208. begin 644 IBMR2
  209. M+RH@0V]P>7)I9VAT("A#*2`Q.3@Y+"`Q.3DR($1I9VET86P@17%U:7!M96YT
  210. M($-O<G!O<F%T:6]N("`@("`@("`@("`@("`@("`@("`J+PHO*B!!;&P@<FEG
  211. M:'1S(')E<V5R=F5D+B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  212. M("`@("`@("`@("`@("`@("`@("`@("HO"B\J(%-E92!T:&4@9FEL92!#3U!9
  213. M4DE'2%0@9F]R(&$@9G5L;"!D97-C<FEP=&EO;BX@("`@("`@("`@("`@("`@
  214. M("`@("`@("`@("`@*B\*"B\J($QA<W0@36]D:69I960@3VX@5'5E($]C="`R
  215. M-R`Q,3HR-3HT,B!04U0@,3DY,B!">2!M=6QL97(@("`@("`@("`@("`@("`@
  216. M("`@*B\*+RH@("`@("!-;V1I9FEE9"!/;B!&<FD@1F5B(#(X(#$T.C$P.C`P
  217. M(%!35"`Q.3DR($)Y(&MA;'-O=R`@("`@("`@("`@("`@("`@("`J+PHO*@E-
  218. M;V1I9FEE9"!/;B!4=64@36%Y("`X(#$Y.3`@0GD@;W)G87-S0&EB;2YC;VT@
  219. M("`@("`@("`@("`@("`@("`@("`@("`J+PH*+RH@4W1A;F1A<F0@8V]N9FEG
  220. M=7)A=&EO;B!F:6QE(&9O<B!)0DU2,B`J+PH*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  221. M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  222. M*B\*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  223. M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\*+RH)"4E-4$]25$%.5`D)"0D@("`@
  224. M("`@*B\*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  225. M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  226. M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  227. M*B\*"B\J(%1H:7,@8V]N9FEG=7)A=&EO;B!A<W-U;65S('1H870@>6]U(&AA
  228. M=F4@:6YS=&%L;&5D(&)S9&-C(&%S"B`@(&1E<V-R:6)E9"!I;B`B4&]R=&EN
  229. M9R`T+C,@0E-$(%!R;V=R86US('1O($%)6"!697)S:6]N(#,N,2X*("`@5&AE
  230. M(&9O;&QO=VEN9R!I<R!A('-I;7!L92!F;W)M(&]F('1H97-E(&EN<W1R=6-T
  231. M:6]N<RX*"B`@("@Q*2!!9&0@=&AE(&9O;&QO=VEN9R!S=&%N>F$@=&\@+V5T
  232. M8R]X;&,N8V9G.@H**B!S=&%N9&%R9"!C(&-O;7!I;&5R(&%L:6%S960@87,@
  233. M8G-D8V,*8G-D8V,Z("!U<V4@("`@("`@(#T@1$5&3%0*("`@("`@("!C<G0@
  234. M("`@("`@(#T@+VQI8B]C<G0P+F\*("`@("`@("!M8W)T("`@("`@(#T@+VQI
  235. M8B]M8W)T,"YO"B`@("`@("`@9V-R="`@("`@("`]("]L:6(O9V-R=#`N;PH@
  236. M("`@("`@(&QI8G)A<FEE<R`@/2`M;&)S9"P@+6QC"B`@("`@("`@<')O9FQI
  237. M8G,@("`]("U,+VQI8B]P<F]F:6QE9"PM3"]U<W(O;&EB+W!R;V9I;&5D"B`@
  238. M("`@("`@;W!T:6]N<R`@("`]("U(-3$R+"U4-3$R+"`M<6QA;F=L=FP]97AT
  239. M96YD960L("UQ;F]R;RP@+41?0E-$+`HM1%].3TY35$1?5%E015,L("U$7TY/
  240. M7U!23U1/+"`M1%]"4T1?24Y#3%5$15,L("UB;F]D96QC<V5C="P@+55?7U-4
  241. M4E]?+`HM55]?34%42%]?"@H@("`@3F]T92!T:&%T('1H92!O<'1I;VYS(&%R
  242. M92!A('-I;F=L92!L:6YE+@H*("`@*#(I($%S(')O;W0L(&5X96-U=&4@=&AE
  243. M(&9O;&QO=VEN9R!S=&%T96UE;G1S.@H*("`@"6-D("]B:6X*"6QN("US('AL
  244. M8R!B<V1C8PH*("`@5&AE(')E<W5L="!I<R!T;R!M86ME(&)S9&-C(&$@0R!C
  245. M;VUP:6QE<B!T:&%T(&ES(&%S(&-L;W-E;'D*("`@8V]M<&%T:6)L92!W:71H
  246. M(#0N,R!"4T0@87,@<&]S<VEB;&4N("!4:&4@<&]R=&EN9R!G=6ED90H@("!D
  247. M:7-C=7-S97,@=&AE(')E;6%I;FEN9R!I;F-O;7!A=&EB:6QI=&EE<RX@(%1H
  248. M92!T<F]F9B!S;W5R8V4*("`@9F]R(&$@=F5R<VEO;B!O9B!T:&4@<&]R=&EN
  249. M9R!D;V-U;65N="!I<R!I;B!F:6QE"B`@("]U<W(O;'!P+V)O<R]B<V1P;W)T
  250. M+G1R+@H*04Q33R!.3U1%.B`@5&AE<F4@:7,@82!B=6<@:6X@96%R;&EE<B!V
  251. M97)S:6]N<R!O9B!T:&4@,RXR('AL8R!C;VUP:6QE<@IT:&%T('=I;&P@9VEV
  252. M92!Y;W4@8V]M<&EL871I;VX@97)R;W)S+B`@5&AE(&5A<FQI97-T('9E<G-I
  253. M;VX@:VYO=VX@=&\*8V]M<&EL92!M,R`R+C$P*&%N9"!A8F]V92D@:7,@,2XR
  254. M+C`N-RX@(#$N,BXP+C`@9&]E<R!N;W0@=V]R:RX@(%1O('-E90IW:&EC:"!V
  255. M97)S:6]N('EO=2!H879E+"!T>7!E("(O=7-R+W5C8B]W:&%T("]U<W(O;'!P
  256. M+WAL8R]B:6XO>&QC96YT<GDB+@HJ+PH*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  257. M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
  258. M*BHJ*B\*"B\J($EN(&UO<W0@8V%S97,L(&-H86YG:6YG('1H92!F;VQL;W=I
  259. M;F<@<&%R86UE=&5R<R!I<R!E;F]U9V@Z"@H@("`@("!04D5&25@L($E.4U1!
  260. M3$Q?4%)%1DE8+"`@.B`@=VAE<F4@>6]U('=A;G0@36]D=6QA+3,@:6YS=&%L
  261. M;&5D"B`@("`@($)524Q$7U@Q,5(T+"!83$E"4$%42"`@("`Z("!D;R!Y;W4@
  262. M:&%V92!8,3%2-"`_(`H@("`@("!(059%7U1E6"P@1%9)4%,@("`@("`@("`@
  263. M.B`@9&\@>6]U(&AA=F4@5&58(#\*"B`@(%1H92!O=&AE<B!C;VYF:6=U<F%T
  264. M:6]N('!A<F%M971E<G,@:&%V92!V86QU97,@=&AA="!S:&]U;&0@8F4@;VLN
  265. M"BHO"@HC:68@(61E9FEN960@*%1!4D=%5"D*(V1E9FEN92!405)'151?24)-
  266. M4C(*(V1E9FEN92!405)'150*0U!57U194$4@/2!)0DU2,@HC96YD:68*"B\J
  267. M(%!A=&@@;F%M97,@9&5F:6YE9"!I;B!T:&4@<F5S="!O9B!T:&ES(&9I;&4@
  268. M=VEL;"!B92!P<F5F:7AE9"!B>2!04D5&25@*("`@;W(@24Y35$%,3%]04D5&
  269. M25@L(&1E<&5N9&EN9R!O;B!T:&4@8V]N=&5X="X@5VAE;B!A('!A=&@@:7,@
  270. M=7-E9"`*("`@:6X@=&AE(&1O8W5M96YT871I;VX@;W(@:6X@=&AE($UO9'5L
  271. M82TS(&1R:79E<BP@4%)%1DE8(&ES('5S960N(`H@("!7:&5N(&$@9FEL92!I
  272. M<R!I;G-T86QL960L($E.4U1!3$Q?4%)%1DE8(&ES('5S960N(%1H870@:7,L
  273. M(&EF(%!2149)6`H@("!I<R`G82<L($E.4U1!3$Q?4%)%1DE8(&ES("=B)R!A
  274. M;F0@3$E"(&ES("=C)RP@=&AE($UO9'5L82TS(&1R:79E<@H@("!W:6QL(&QO
  275. M;VL@9F]R('1H92!-;V1U;&$M,R!R=6YT:6UE(&EN("=A+V,G+"!B=70@)VUA
  276. M:V4@:6YS=&%L;"<@=VEL;`H@("!A='1E;7!T('1O('!U="!I="!I;B`G8B]C
  277. M)RX*"B`@($1U<FEN9R!T:&4@:6YS=&%L;&%T:6]N+"!D97-T:6YA=&EO;B!D
  278. M:7)E8W1O<FEE<R!T:&%T(&1O(&YO="!E>&ES=',@"B`@('=I;&P@8F4@8W)E
  279. M871E9"X@66]U(&YE960@=&AE(&YE8V5S<V%R>2!P97)M:7-S:6]N<R!T;R!D
  280. M;SL@;W1H97)W:7-E+`H@("!T:&4@:6YS=&%L;&%T:6]N('=I;&P@9F%I;"P@
  281. M8G5T(&-A;B!B92!R97-T87)T960@869T97(@>6]U(&AA=F4@"B`@(&9I>&5D
  282. M('1H92!P97)M:7-S:6]N<RX@*B\*"DTS5D524TE/3B`](#(N,3$*4%)%1DE8
  283. M(#T@+W5S<B]L;V-A;`I)3E-404Q,7U!2149)6"`]("0H4%)%1DE8*0H*+RH@
  284. M5&AE('5S97(M86-C97-S:6)L92!E>&5C=71A8FQE<R!G;R!T:&5R92X@*B\*
  285. M0DE.(#T@8FEN"D))3E]54T4@("`@(#T@)"A04D5&25@I+R0H0DE.*0I"24Y?
  286. M24Y35$%,3"`]("0H24Y35$%,3%]04D5&25@I+R0H0DE.*0H*+RH@5&AE('!U
  287. M8FQI8R!I;G1E<F9A8V5S(&=O('1H97)E+B`J+PI054(@/2!I;F-L=61E+VTS
  288. M"E!50E]54T4@("`@(#T@)"A04D5&25@I+R0H4%5"*0I054)?24Y35$%,3"`]
  289. M("0H24Y35$%,3%]04D5&25@I+R0H4%5"*0H*+RH@5&AE(&]T:&5R(&9I;&5S
  290. M(&YE8V5S<V%R>2!T;R!R=6X@36]D=6QA+3,@9V\@=&AE<F4N("HO"DQ)0B`]
  291. M(&QI8B]M,PI,24)?55-%("`@("`]("0H4%)%1DE8*2\D*$Q)0BD*3$E"7TE.
  292. M4U1!3$P@/2`D*$E.4U1!3$Q?4%)%1DE8*2\D*$Q)0BD*"B\J(%1H92!G;G5E
  293. M;6%C<R!L:7-P(&-O9&4@9V]E<R!T:&5R92X@*B\*1TY514U!0U-?24Y35$%,
  294. M3"`]("0H24Y35$%,3%]04D5&25@I+VQI8B]E;&ES<`H*+RH@5&AE(&UA;G5A
  295. M;"!P86=E<R!N;W)M86QL>2!G;R!I;B!S=6)D:7)S(&UA;GLQ+"XN+CA](&]F
  296. M($U!3BX*("`@268@>6]U('!R969E<B!T;R!H879E('1H96T@:6X@82!G:79E
  297. M;B!S96-T:6]N+"!S87D@;"P*("`@9&5F:6YE($U!3E]314-424].("HO"DU!
  298. M3B`](&UA;@I-04Y?55-%("`]("0H4%)%1DE8*2\D*$U!3BD*34%.7TE.4U1!
  299. M3$P@/2`D*$E.4U1!3$Q?4%)%1DE8*2\D*$U!3BD*+RHC9&5F:6YE($U!3E]3
  300. M14-424].(&PJ+PH*+RH@268@>6]U(&AA=F4@6#$Q4C0@:6YS=&%L;&5D(&%N
  301. M9"!W;W5L9"!L:6ME('1H92!8,3%2-"!B:6YD:6YG(&EN=&5R9F%C97,*("`@
  302. M=&\@8F4@8G5I;'0L(&1E9FEN92!"54E,1%]8,3%2-"P@<V5T(%A,24)0051(
  303. M('1O(&)E('1H92!C;VQO;@H@("!S97!A<F%T960@;&ES="!O9B!D:7)E8W1O
  304. M<FEE<R!I;B!W:&EC:"!T;R!F:6YD('1H92!8(&QI8G)A<FEE<RP@86YD"B`@
  305. M('-E="!83$E"('1O(&)E('1H92!L:7-T(&]F(&QI8G)A<FEE<R!T;R!L:6YK
  306. M('=I=&@Z(&EF('EO=2!U<V4@=&AE(`H@("!-250@<V5R=F5R('=I=&@@1$5#
  307. M;F5T('-U<'!O<G0L('EO=2!N965D(%@Q,2!A;F0@9&YE="P@;W1H97)W:7-E
  308. M"B`@(%@Q,2!S:&]U;&0@8F4@96YO=6=H+@H@("`*("`@4VEN8V4@6#$Q4C4@
  309. M:7,@86X@97AT96YS:6]N(&]F(%@Q,5(T+"!Y;W4@8V%N('5S92!T:&4@6#$Q
  310. M4C4@;&EB<F%R:65S"B`@(&EN<W1E860@;V8@6#$Q4C0N("!(;W=E=F5R+"!T
  311. M:&4@36]D=6QA+3,@8FEN9&EN9R!I;G1E<F9A8V5S(&AA=F4@;F]T"B`@('EE
  312. M="!B965N('5P9W)A9&5D('1O(%@Q,5(U+B`J+PHC9&5F:6YE($)524Q$7U@Q
  313. M,5(T"@HC:68@9&5F:6YE9"A"54E,1%]8,3%2-"D*6$Q)0E!!5$@@/2`O=7-R
  314. M+VQO8V%L+VQI8@I83$E"("`@("`]("UL6#$Q"B-E;F1I9@H*+RH@268@>6]U
  315. M(&AA=F4@5&58+"!D969I;F4@2$%615]495@@86YD(&1E9FEN92!$5DE04R!T
  316. M;R!C;VYV97)T($1622!F:6QE<PH@("!T;R!0;W-T4V-R:7!T("AO<B!W:&%T
  317. M979E<B!Y;W5R('!R:6YT97(@86-C97!T<RDN(%1H:7,@=VEL;"!A;&QO=R`*
  318. M("`@<')O8V5S<VEN9R!O9B!T:&4@:6UP;&5M96YT871I;VX@;F]T97,N("HO
  319. M"B-D969I;F4@2$%615]495@*"B-I9B!D969I;F5D("A(059%7U1E6"D*(V1E
  320. M9FEN92!$5DE04RAF*2!D=FEP<R`M;R!F+G!S(&8N9'9I"B-E;F1I9@H*+RH@
  321. M0T,@:7,@=&AE(&-O;7!I;&5R('1H870@=VEL;"!B92!U<V5D('1O(&-O;7!I
  322. M;&4@0R!C;V1E('1H870*("`@:7,@<&%R="!O9B!T:&4@9&ES=')I8G5T:6]N
  323. M+@H*("`@3F]T93H@=&AE('9A;'5E(&]F('1H:7,@<WEM8F]L(&UU<W0@;F]T
  324. M('5S92!T:&4@=F%L=65S(&]F"B`@(&]T:&5R('-Y;6)O;',N("HO"D-#(#T@
  325. M+V)I;B]B<V1C8PH@"B\J(%-E="!#0U]705).4U]&3U)?54Y+3D]73E]&24Q%
  326. M4R!T;R`Q(&EF($-#(&ES<W5E<R!A('=A<FYI;F<@:68*("`@>6]U('1R>2!T
  327. M;R!L:6YK(&9I;&5N86UE<R!W:71H(&%N(&5X=&5N<VEO;B`N:6\@;W(@+FUO
  328. M.PH@("!I;B!T:&%T(&-A<V4L('1H92!M,R!D<FEV97(@=VEL;"!C:&%N9V4@
  329. M=&AE(&YA;65S(&]F('1H;W-E(&9I;&5S+@H@("!/=&AE<G=I<V4L('-E="!T
  330. M:&ES('-Y;6)O;"!T;R`P(&%N9"!M,R!W:6QL(')U;B!F87-T97(N("HO"D-#
  331. M7U=!4DY37T9/4E]53DM.3U=.7T9)3$53(#T@,0H*+RH@5VAE;B!M,R@Q*2!R
  332. M96-E:79E<R!T:&4@+6<@;W!T:6]N+"!I="!R96%L;'D@9&]E<R!T:&ES("HO
  333. M"D-#7T<@/2!`+6=`"@HO*B!7:&5N(&TS*#$I(')E8V5I=F5S('1H92`M3R!O
  334. M<'1I;VXL(&ET(')E86QL>2!D;V5S('1H:7,@*B\*0T-?3R`]($`M3T`*"B\J
  335. M(%1H97-E(&UA8W)O<R!A<F4@=7-E9"!I;G-T96%D(&]F('1H92!O;F5S(&EN
  336. M('1H92!T96UP;&%T92P@<V\@=&AA="!W90H@("!C86X@:&%V92!S:&%R960@
  337. M;&EB<F%R:65S("HO"@HC9&5F:6YE(&QI8G)A<GDH;F%M92D@("`@("`@("`@
  338. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  339. M0$!<"F%L;#HZ(&QI8B,C;F%M92YA("`@("`@("`@("`@("`@("`@("`@("`@
  340. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!`0%P*8VQE86XZ
  341. M.B`[(')M("UF(&QI8B,C;F%M92YA(&QI8B,C;F%M92YA>"`@("`@("`@("`@
  342. M("`@("`@("`@("`@("`@("`@("`@("`@($!`7`IL:6(C(VYA;64N83H@1E)#
  343. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  344. M("`@("`@("`@("`@("`@0$!<"@DD*$1/7TTS*2`M82!L:6(C(VYA;64N82`D
  345. M*%!'35]33U520T53*2`D*$E-4$]25%],24)3*2!<("`@("`@("`@("`@($!`
  346. M7`H)("`@+5DT0"]B:6XO=&]U8VA`+FYE=VQI8D`@("`@("`@("`@("`@("`@
  347. M("`@("`@("`@("`@("`@("`@("`@("`@("!`0%P*"6EF(%L@+68@+FYE=VQI
  348. M8B!=.R!T:&5N(%P@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  349. M("`@("`@("`@0$!<"@D@("]B:6XO9'5M<"`M9R!L:6(C(VYA;64N82!\('-E
  350. M9"`M;B`M92!<("`@("`@("`@("`@("`@("`@("`@("`@("`@($!`7`H)("`@
  351. M("=S+UY;(`E=*ELP+3E=6S`M.5TJ6R`)72I<*%M>(`DN75M>(`E=*EPI)"0O
  352. M7#$O<"<@7"`@("`@($!`7`H)("`@(#X@+F5X<&YA;65S.R!<("`@("`@("`@
  353. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!`0%P*
  354. M("`@("`@("`@(&1E9FQI8G,](BUL;3,@+6QM(CL@7"`@("`@("`@("`@("`@
  355. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@($!`7`H)("!I9B!;(",C
  356. M;F%M92`](&TS(%T[('1H96X@9&5F;&EB<STB+6QM(CL@9FD[(%P@("`@("`@
  357. M("`@("`@("`@("`@("!`0%P*"2`@+V)I;B]B<V1C8R`M8D5<.BYE>'!N86UE
  358. M<R`M8DU<.E-212`M;R!?<VAA<B!L:6(C(VYA;64N82!<("`@("`@("`@0$!<
  359. M"B`@("`@("`@("`@("U,)"A,24)?55-%*2`D*$E-4$]25%],24)3*2`D)&1E
  360. M9FQI8G,@+64@7VYO<W1A<G0[(%P@("`@("`@("`@("!`0%P*"2`@;78@7W-H
  361. M87(@;&EB(R-N86UE+F$[(%P@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  362. M("`@("`@("`@("`@("`@0$!<"@D@(')M("UF("YE>'!N86UE<R`N;F5W;&EB
  363. M.R!<("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@($!`
  364. M7`H)9FD*"B-D969I;F4@3&EB<F%R>2AN86UE*2`@("`@("`@("`@("`@("`@
  365. M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!`0%P*:6YS
  366. M=&%L;#HZ("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  367. M("`@("`@("`@("`@("`@("`@("`@("`@("`@($!`7`H)24Y35$%,3"`H;&EB
  368. M(R-N86UE+F$L("0H3$E"7TE.4U1!3$PI+"`V-#0I("`@("`@("`@("`@("`@
  369. M("`@("`@("`@("!`0%P*"4E.4U1!3$P@*&QI8B,C;F%M92YA>"P@)"A,24)?
  370. M24Y35$%,3"DL(#8T-"D@("`@("`@("`@("`@("`@("`@("`@("`@0$!<"FQI
  371. M8G)A<GDH;F%M92D*"B\J($=I=F4@=&AE('9A;'5E(#`@:68@>6]U('=A;G0@
  372. M=&AE(&TS(&1R:79E<B!T;R!P87-S("U,+RUL(&%R9W5M96YT<R!T;R`*("`@
  373. M3$0@9F]R(&QI8G)A<FEE<SL@;W1H97)W:7-E("AV86QU92`](#$I+"!T:&4@
  374. M;3,@9')I=F5R('=I;&P@<&%S<R`*("`@=&AE(&9U;&P@<&%T:"!N86UE(&]F
  375. M('1H92!L:6)R86ER:65S(&ET(&QO8V%T960@*B\*2T5%4%],24)205))15-?
  376. M4D533TQ6140@/2`P("\J('=E(&YE960@+4PO+6P@9F]R('-H87)E9"!L:6)R
  377. M87)I97,@*B\*"B\J(%=E(&1O;B=T('=A;G0@=&\@=7-E('1H92!P<F5D969I
  378. M;F5D($-&3$%'4R`J+PI#1DQ!1U,@/2`*(`HO*B!$969A=6QT(&]P=&EM:7IA
  379. M=&EO;B!F;W(@36]D=6QA+3,@<')O9W)A;7,@*'5S:6YG(&TS;6%K969I;&5S
  380. M*2`J+PI-,T]05"`]("UG"@HO*B!$969A=6QT(&]P=&EM:7IA=&EO;B!F;W(@
  381. M=&AE(&)O;W-T<F%P(&-O;7!I;&5R(&%N9"!D<FEV97(@*B\*0D]/5$]05"`]
  382. M("UG"@HO*B!);6%K92!M87D@;F5E9"!T;R!B92!C;VYF:6=U<F5D"@H@("!.
  383. M;W1E.B!T:&4@=F%L=64@;V8@=&AI<R!S>6UB;VP@;75S="!N;W0@=7-E('1H
  384. M92!V86QU97,@;V8@;W1H97(@<WEM8F]L<RX@*B\*24U!2T5&3$%'4R`]("U$
  385. M4D5$54-%1%]43U]!4T-)25]34$%#10H*+RH@4V]M92!V97)S:6]N<R!O9B!M
  386. M86ME*#$I(&QE="!U<R!S<&5C:69Y('1H92!S:&5L;"!T;R!U<V4N($EN(&%N
  387. M>0H@("!C87-E+"!W92!W86YT('-H("HO"E-(14Q,(#T@+V)I;B]S:`H*+RH@
  388. M5VAA="!A8F]U="!#4%`@/PH*("`@3F]T93H@=&AE('9A;'5E(&]F('1H:7,@
  389. M<WEM8F]L(&UU<W0@;F]T('5S92!T:&4@=F%L=65S(&]F(&]T:&5R('-Y;6)O
  390. M;',N("HO"D-04"`]("]U<W(O;'!P+U@Q,2]886UP;&5S+W5T:6PO8W!P+V-P
  391. M<`H*+RH@5VAA="!A8F]U="!-04M%(#\*"B`@($YO=&4Z('1H92!V86QU92!O
  392. M9B!T:&ES('-Y;6)O;"!M=7-T(&YO="!U<V4@=&AE('9A;'5E<R!O9B!O=&AE
  393. M<B!S>6UB;VQS+B`J+PI-04M%(#T@+W5S<B]B:6XO;6%K90H@("`*+RH@06YD
  394. M(&EN<W1A;&P@*B\*(V1E9FEN92!)3E-404Q,*&8L9"QP*2`O=7-R+W5C8B]I
  395. M;G-T86QL("UC("UM('`@9B!D"@HO*B!(97)E(&%R92!T:&4@<&EE8V5S('1H
  396. M870@=&AE($UO9'5L82TS(&1R:79E<B!N965D<RX*("`@(%!!4U,P.B!T:&4@
  397. M36]D=6QA+3,@=&\@0R!C;VUP:6QE<@H@("`@4$%34S$Z('1H92!#(&-O;7!I
  398. M;&5R+"!W:71H(&]P=&EO;G,@=&\@8V]M<&EL92!-;V1U;&$M,R!C;V1E"B`@
  399. M("!005-3,CH@=&AE($,@8V]M<&EL97(L('=I=&@@;W!T:6]N<R!T;R!C;VUP
  400. M:6QE($UO9'5L82TS(&-O9&4*("`@(%!!4U,S.B!A<BP@=&\@8G5I;&0@87)C
  401. M:&EV97,*("`@(%!!4U,T.B!R86YL:6(L('1O(&-R96%T92!T:&4@=&%B;&4@
  402. M;V8@8V]N=&5N=',@:6X@87)C:&EV97,*("`@(%!!4U,U.B!T:&4@;&EN:V5R
  403. M+"!W:71H(&]P=&EO;G,@=&\@8W)E871E(&%N(&]V97)L87D*"B`@(%1H92!S
  404. M>6YT87@@9F]R(&5A8V@@<&EE8V4@:7,@0'!G;4!A<F<Q0"XN+D!A<F=N0"X@
  405. M(%EO=2!C86X@=7-E"B`@(&%N;W1H97(@8VAA<F%C=&5R('1H86X@0"!A<R!A
  406. M('-E<&%R871O<BP@8G5T('EO=2!N965D('1O(&-H86YG92!315`N"@H@("!7
  407. M:&5N(&$@(F)A<V4B('!R;V=R86T@:7,@8G5I;'0@0D%315]!4D=3(&%R92!A
  408. M9&1E9"!T;R!T:&4@4$%34S(@87)G=6UE;G1S+@H*("`@5VAE;B!A;B!O=F5R
  409. M;&%Y(&ES(&)U:6QT('1H92!F;VQL;W=I;F<@8V]M;6UA;F0@:7,@8V]N<W1R
  410. M=6-T960Z"B`@("`@("!005-3-2`@8F%S92YB("!/5D523$%97S`@("UO(&]V
  411. M97)L87DN;W8@(&]B:F5C=',N+BX@($]615),05DQ"B`@('=H97)E(")B87-E
  412. M+F(B(&ES('1H92!B87-E('!R;V=R86T@=&AA="!W:6QL(&QO860@=&AE(&]V
  413. M97)L87DL"B`@(")O=F5R;&%Y+F]V(B!I<R!T:&4@;F%M92!O9B!T:&4@;F5W
  414. M(&]V97)L87D@86YD(")O8FIE8W1S+BXN(B!I<PH@("!T:&4@;&ES="!O9B!O
  415. M8FIE8W0@;6]D=6QE<R!T;R!I;F-L=61E(&EN('1H92!O=F5R;&%Y+@H*("`@
  416. M3F]T93H@=&AE(&1R:79E<B!O;FQY(&-R96%T97,@<&QA:6X@87)C:&EV97,N
  417. M("!4:&4@=&5M<&QA=&5S"B`@('1A:V4@8V%R92!O9B!B=6EL9&EN9R!T:&4@
  418. M<VAA<F5D(&QI8G)A<FEE<RX@*B\*4T50("`@/2!`"E!!4U,P(#T@0"0H3$E"
  419. M7U5312DO;3-C;VUP:6QE<D`*4$%34S$@/2!`)"A#0RE`+7=`"E!!4U,R(#T@
  420. M0"0H0T,I0"UW0`I005-3,R`]($`O8FEN+V%R0&-R=4`*4$%34S0@/2!`<F%N
  421. M;&EB0`I005-3-2`]($`O8FEN+VQD0"U!0`I/5D523$%97S`@/2!`+6=`"D]6
  422. M15),05E?,2`]($`M;&-`"D)!4T5?05)'4R`]($`M3D`*"B\J(%1H92!M87AI
  423. M;75M('-I>F4@*&EN(&UE9V%B>71E<RD@=&AA="!087-S,"!I<R!A;&QO=V5D
  424. M('1O(')E86-H(&%S"B`@(&$@<&5R<VES=&5N="!S97)V97(@8F5F;W)E('1H
  425. M92!D<FEV97(@:VEL;',@:70N("!3971T:6YG(%-%4E9%4E],24U)5`H@("!T
  426. M;R!Z97)O(&1I<V%B;&5S('1H92!S97)V97(@;6]D92X@*B\*4T525D527TQ)
  427. M34E4(#T@,`HO*B!.3U1%.B!T:&4@8V]M<&EL97(@:7,@8G5G9WDL(&QE879E
  428. M(%-%4E9%4E],24U)5"!A;&]N92$@*B\*"B\J(%1H92!D969A=6QT('!A=&@@
  429. M=&\@<V5A<F-H(&9O<B!-;V1U;&$M,R!I;G1E<F9A8V5S+B`@5&AE('-T86YD
  430. M87)D"B`@(&EN=&5R9F%C97,@87)E(&EN<W1A;&QE9"!I;B!054(N("HO"D1%
  431. M1E!!5$@@/2`N.B0H4%5"7U5312D*"B\J(%1H92!D969A=6QT('!A=&@@=&\@
  432. M<V5A<F-H(&9O<B!L:6)R87)I97,N("!4:&4@<W1A;F1A<F0*("`@36]D=6QA
  433. M+3,@;&EB<F%R:65S(&%R92!I;G-T86QL960@:6X@3$E"+B`@5&AI<R!P871H
  434. M(&1O97,@;F]T"B`@(&YE960@=&\@:6YC;'5D92!D:7)E8W1O<FEE<R!S96%R
  435. M8VAE9"!B>2!D969A=6QT(&)Y(&-C*#$I(&EF"B`@('1H97D@9&]N)W0@8V]N
  436. M=&%I;B!L:6)R87)I97,@=VET:"!-;V1U;&$M,R!C;V1E+B`J+PHC:68@9&5F
  437. M:6YE9"`H0E5)3$1?6#$Q4C0I"DQ)0E!!5$@@/2`N.B0H3$E"7U5312DZ)"A8
  438. M3$E"4$%42"D*(V5L<V4*3$E"4$%42"`]("XZ)"A,24)?55-%*0HC96YD:68*
  439. M"B\J(%1H97-E(&9I;&5S(&%R92!S>7-T96UA=&EC86QL>2!L:6YK960@=VET
  440. M:"!-;V1U;&$M,R!P<F]G<F%M<RX@5&AE"B`@(&9I<G-T('-Y;6)O;"!I<R!U
  441. M<V5D(&9O<B!B;V]T<W1R87`@<')O9W)A;7,N("HO"DQ)3DM"1DE,15,@/2!`
  442. M+6QM0`I,24Y+1DE,15,@/2!`+6QM,T`M;&U`"@HO*B!4:&5S92!F:6QE<R!A
  443. M<F4@;&EN:V5D('=I=&@@36]D=6QA+3,@<')O9W)A;7,@=VAE;B`M6B!I<R!S
  444. M<&5C:69I960N("HO"DQ)3DM#3U9%4B`]("0H3$E"7U5312DO<F5P;W)T7V-O
  445. M=F5R86=E+F\*"B\J(%1H92!#(&-O9&4@9V5N97)A=&5D(&)Y('1H92!-;V1U
  446. M;&$M,R!T;R!#('1R86YS;&%T;W(@(VEN8VQU9&4G<R!S;VUE"B`@(&)A<VEC
  447. M(&9I;&5S+"!T;R!B92!F;W5N9"!I;B!T:&ES(&1I<F5C=&]R>2X@*B\*24Y#
  448. M3"`]("0H3$E"7U5312D*"B\J(%1H92!T96UP;&%T92!T;R!U<V4@9F]R(&TS
  449. D;6%K92@Q*2`J+PI414U03$%412`]('1O<&QE=F5L+G1M<&P*
  450. `
  451. end
  452.