commit 107c0a5

Devine Lu Linvega  ·  2026-02-17 18:53:27 +0000 UTC
parent f29f46d
Updated tests
2 files changed,  +318, -267
+141, -90
  1@@ -2,7 +2,7 @@
  2 
  3 |0013
  4 
  5-	@Zeropage &byte $1 &short $2
  6+	@zeropage/hb $1 &lb $1
  7 	@id $1
  8 
  9 |100
 10@@ -105,8 +105,8 @@
 11 		> Storing 80[LIT] in 0xffff, and 55[val8] in 0x0000
 12 		> Storing 6c[JMP2r] in 0x0001 )
 13 
 14-    #8055 #ffff STA2 #6c #01 STZ #ffff JSR2 #55 EQU
 15-    ;Dict/pc-wrap test-part
 16+	#8055 #ffff STA2 #6c #01 STZ #ffff JSR2 #55 EQU
 17+	;Dict/pc-wrap test-part
 18 
 19 	( Part xx
 20 		> Testing PC wrapping: split value after instruction
 21@@ -114,8 +114,8 @@
 22 		> and 0x55[hi-byte] in 0xffff, and 0xaa[lo-byte] in 0x0000
 23 		> Storing 6c[JMP2r] in 0x0001 )
 24 
 25-    #a055 #fffe STA2  #aa6c #0000 STA2 #fffe JSR2 #55aa EQU2
 26-    ;Dict/pc2-wrap test-part
 27+	#a055 #fffe STA2 #aa6c #0000 STA2 #fffe JSR2 #55aa EQU2
 28+	;Dict/pc2-wrap test-part
 29 
 30 	( Part xx
 31 		> Testing that zero-page is wrapping )
 32@@ -152,7 +152,7 @@ BRK
 33 	( name ) "Opctest 0a
 34 	( details ) "A 20 "Testing 20 "Program 0a
 35 	( author ) "By 20 "Devine 20 "Lu 20 "Linvega 0a
 36-	( date ) "24 20 "Jun 20 "2025 $2
 37+	( date ) "13 20 "Feb 20 "2026 $2
 38 
 39 @test-part ( f name* -- )
 40 	pstr ?{
 41@@ -216,24 +216,27 @@ JMP2r
 42 	=op-mul/a =op-mul/b =op-mul/c =op-mul/d
 43 	=op-mul/e =op-mul/f =op-mul/g =op-mul/h ]
 44 =op-div [
 45-	=op-div/a =op-div/b =op-div/c =op-div/d =op-div/e
 46-	=op-div/f =op-div/g =op-div/h =op-div/i =op-div/j ]
 47+	=op-div/a =op-div/b =op-div/c =op-div/d
 48+	=op-div/e =op-div/f =op-div/g =op-div/h
 49+	=op-div/i =op-div/j ]
 50 =op-inc [
 51 	=op-inc/a =op-inc/b =op-inc/c =op-inc/d
 52-	=op-inc/e =op-inc/f =op-inc/g =op-inc/h ]
 53+	=op-inc/e =op-inc/f =op-inc/g =op-inc/h
 54+	=op-inc/i =op-inc/j ]
 55 =op-pop [
 56 	=op-pop/a =op-pop/b =op-pop/c =op-pop/d
 57-	=op-pop/e =op-pop/f =op-pop/g =op-pop/h ]
 58+	=op-pop/e =op-pop/f =op-pop/g =op-pop/h
 59+	=op-pop/i =op-pop/j ]
 60 =op-dup [
 61 	=op-dup/a =op-dup/b =op-dup/c =op-dup/d ]
 62 =op-nip [
 63 	=op-nip/a =op-nip/b =op-nip/c =op-nip/d ]
 64 =op-swp [
 65-	=op-swp/a =op-swp/b ]
 66+	=op-swp/a =op-swp/b =op-swp/c =op-swp/d ]
 67 =op-ovr [
 68-	=op-ovr/a =op-ovr/b ]
 69+	=op-ovr/a =op-ovr/b =op-ovr/c =op-ovr/d ]
 70 =op-rot [
 71-	=op-rot/a =op-rot/b =op-rot/c ]
 72+	=op-rot/a =op-rot/b =op-rot/c =op-rot/d ]
 73 =op-and [
 74 	=op-and/a =op-and/b =op-and/c =op-and/d
 75 	=op-and/e =op-and/f =op-and/g =op-and/h ]
 76@@ -249,7 +252,8 @@ JMP2r
 77 =op-stz [
 78 	=op-stz/a =op-stz/b =op-stz/c =op-stz/d ]
 79 =op-str [
 80-	=op-str/a =op-str/b =op-str/c =op-str/d ]
 81+	=op-str/a =op-str/b =op-str/c =op-str/d
 82+	=op-str/e =op-str/f =op-str/g =op-str/h ]
 83 =op-sta [
 84 	=op-sta/a =op-sta/b =op-sta/c =op-sta/d ]
 85 =op-jmp [
 86@@ -259,7 +263,8 @@ JMP2r
 87 =op-jsr [
 88 	=op-jsr/a =op-jsr/b ]
 89 =op-sth [
 90-	=op-sth/a =op-sth/b ]
 91+	=op-sth/a =op-sth/b =op-sth/c =op-sth/d
 92+	=op-sth/e =op-sth/f ]
 93 =op-jci [
 94 	=op-jci/a =op-jci/b =op-jci/c ]
 95 =op-jmi [
 96@@ -268,6 +273,64 @@ JMP2r
 97 	=op-jsi/a =op-jsi/b =op-jsi/c =op-jsi/d ]
 98 	&end
 99 
100+(
101+@|StackI )
102+
103+@op-inc ;Dict/inc !set
104+	&a #01 INC [ #02 ] EQU JMP2r
105+	&b #ff INC [ #00 ] EQU JMP2r
106+	&c #fe INC [ #ff ] EQU JMP2r
107+	&d #00 INC [ #01 ] EQU JMP2r
108+	&e #00ff INC2 [ #0100 ] EQU2 JMP2r
109+	&f #ffff INC2 [ #0000 ] EQU2 JMP2r
110+	&g #fffe INC2 [ #ffff ] EQU2 JMP2r
111+	&h #0000 INC2 [ #0001 ] EQU2 JMP2r
112+	&i #00ff INCk NIP EQU JMP2r
113+	&j #00ff INC2k POP ADD EQU JMP2r
114+@op-pop ;Dict/pop !set
115+	&a #0a #0b POP [ #0a ] EQU JMP2r
116+	&b #0a #0b #0c POP POP [ #0a ] EQU JMP2r
117+	&c #0a #0b #0c ADD POP [ #0a ] EQU JMP2r
118+	&d #0a #0b #0c POP ADD [ #15 ] EQU JMP2r
119+	&e #0a0b #0c0d POP2 [ #0a0b ] EQU2 JMP2r
120+	&f #0a0b #0c0d #0e0f POP2 POP2 [ #0a0b ] EQU2 JMP2r
121+	&g #0a0b #0c0d #0e0f ADD2 POP2 [ #0a0b ] EQU2 JMP2r
122+	&h #0a0b #0c0d #0e0f POP2 ADD2 [ #1618 ] EQU2 JMP2r
123+	&i #0a POPk [ #0a ] EQU JMP2r
124+	&j #0a0b POP2k [ #0a0b ] EQU2 JMP2r
125+@op-nip ;Dict/nip !set
126+	&a #12 #34 #56 NIP ADD [ #68 ] EQU JMP2r
127+	&b #12 #34 #56 NIPk ADD2 ADD [ #f2 ] EQU JMP2r
128+	&c #1234 #5678 #9abc NIP2 ADD2 [ #acf0 ] EQU2 JMP2r
129+	&d #1234 #5678 #9abc NIP2k ADD2 ADD2 ADD2 [ #9e24 ] EQU2 JMP2r
130+
131+(
132+@|StackII )
133+
134+@op-swp ;Dict/swp !set
135+	&a #02 #10 SWP DIV [ #08 ] EQU JMP2r
136+	&b #0a0b #0c0d SWP2 NIP2 [ #0a0b ] EQU2 JMP2r
137+	&c #abcd SWPk SWP EQU2 JMP2r
138+	&d #abcd #1234 SWP2k ADD2 ADD2 ADD2 #7c02 EQU2 JMP2r
139+@op-rot ;Dict/rot !set
140+	&a #02 #04 #10 ROT DIV ADD [ #0c ] EQU JMP2r
141+	&b #0a0b #0c0d #0c0f ROT2 ADD2 NIP2 [ #161a ] EQU2 JMP2r
142+	&c #0a0b #0c ROTk ADD2 ADD2 [ #2220 ] EQU2 JMP2r
143+	&d #1234 #5678 #9abc ROT2k ADD2 ADD2 ADD2 ADD2 ADD2 #06d0 EQU2 JMP2r
144+@op-dup ;Dict/dup !set
145+	&a #0a #0b DUP ADD ADD [ #20 ] EQU JMP2r
146+	&b #0a0b DUP2 ADD2 [ #1416 ] EQU2 JMP2r
147+	&c #12 DUPk ADD ADD [ #36 ] EQU JMP2r
148+	&d #1234 DUP2k ADD2 ADD2 [ #369c ] EQU2 JMP2r
149+@op-ovr ;Dict/ovr !set
150+	&a #02 #10 OVR DIV ADD [ #0a ] EQU JMP2r
151+	&b #0a0b #0c0d OVR2 NIP2 ADD2 [ #1416 ] EQU2 JMP2r
152+	&c #abcd OVRk EQU2 #ab01 EQU2 JMP2r
153+	&d #abcd #1234 OVR2k ROT2 ADD2 ADD2 ADD2 SUB2 #2fcb EQU2 JMP2r
154+
155+(
156+@|Log )
157+
158 @op-equ ;Dict/equ !set
159 	&a #f8 #f8 EQU [ #01 ] EQU JMP2r
160 	&b #01 #01 EQU [ #01 ] EQU JMP2r
161@@ -304,6 +367,58 @@ JMP2r
162 	&f #01f8 #01f8 LTH2 [ #00 ] EQU JMP2r
163 	&g #f801 #01f8 LTH2 [ #00 ] EQU JMP2r
164 	&h #01f8 #f801 LTH2 [ #01 ] EQU JMP2r
165+
166+(
167+@|Sth )
168+
169+@op-jmp ;Dict/jmp !set
170+	&a #12 #34 ,&reljmp JMP SWP &reljmp POP [ #12 ] EQU JMP2r
171+	&b #56 #78 ;&absjmp JMP2 SWP &absjmp POP [ #56 ] EQU JMP2r
172+@op-jcn ;Dict/jcn !set
173+	&a #23 #01 ,&reljcn-y JCN INC &reljcn-y [ #23 ] EQU JMP2r
174+	&b #23 #00 ,&reljcn-n JCN INC &reljcn-n [ #24 ] EQU JMP2r
175+	&c #23 #01 ;&absjcn-y JCN2 INC &absjcn-y [ #23 ] EQU JMP2r
176+	&d #23 #00 ;&absjcn-n JCN2 INC &absjcn-n [ #24 ] EQU JMP2r
177+@op-jsr ;Dict/jsr !set
178+	&a #1234 #5678 ,&routine JSR [ #68ac ] EQU2 JMP2r
179+	&b #12 #34 ;routine JSR2 [ #46 ] EQU JMP2r
180+	&routine ADD2 JMP2r
181+@op-sth ;Dict/sth !set
182+	&a #0a STH #0b STH ADDr STHr [ #15 ] EQU JMP2r
183+	&b #000a STH2 #000b STH2 ADD2r STH2r [ #0015 ] EQU2 JMP2r
184+	&c #abcd STH STH STH2r [ #cdab ] EQU2 JMP2r
185+	&d #abcd STH2k STH2r EQU2 JMP2r
186+	&e #abcd STH2k STHr STHr SWP EQU2 JMP2r
187+	&f [ LIT2r abcd ] STHr STHr [ #cdab ] EQU2 JMP2r
188+
189+(
190+@|Mem )
191+
192+@op-stz ;Dict/stz !set
193+	&a #ab .zeropage/hb STZ .zeropage/hb LDZ [ #ab ] EQU JMP2r
194+	&b #cd .zeropage/lb STZ .zeropage/lb LDZ [ #cd ] EQU JMP2r
195+	&c .zeropage/hb LDZ2 [ #abcd ] EQU2 JMP2r
196+	&d #1234 .zeropage/hb STZ2 .zeropage/hb LDZ2 [ #1234 ] EQU2 JMP2r
197+@op-str ;Dict/str !set
198+	[ LIT2 &before-hb $1 &before-lb $1 ] 
199+	&a #ab ,&before-hb STR ,&before-hb LDR [ #ab ] EQU JMP2r
200+	&b #cd ,&before-lb STR ,&before-lb LDR [ #cd ] EQU JMP2r
201+	&c ,&before-hb LDR2 [ #abcd ] EQU2 JMP2r
202+	&d #1234 ,&before-hb STR2 ,&before-hb LDR2 [ #1234 ] EQU2 JMP2r
203+	&e #ab ,&after-hb STR ,&after-hb LDR [ #ab ] EQU JMP2r
204+	&f #cd ,&after-lb STR ,&after-lb LDR [ #cd ] EQU JMP2r
205+	&g ,&after-hb LDR2 [ #abcd ] EQU2 JMP2r
206+	&h #1234 ,&after-hb STR2 ,&after-hb LDR2 [ #1234 ] EQU2 JMP2r
207+	[ LIT2 &after-hb $1 &after-lb $1 ]
208+@op-sta ;Dict/sta !set
209+	&a #ab ;absolute/hb STA ;absolute/hb LDA [ #ab ] EQU JMP2r
210+	&b #cd ;absolute/lb STA ;absolute/lb LDA [ #cd ] EQU JMP2r
211+	&c ;absolute/hb LDA2 [ #abcd ] EQU2 JMP2r
212+	&d #1234 ;absolute/hb STA2 ;absolute/hb LDA2 [ #1234 ] EQU2 JMP2r
213+
214+(
215+@|Ari )
216+
217 @op-add ;Dict/add !set
218 	&a #ff #00 ADD [ #ff ] EQU JMP2r
219 	&b #01 #ff ADD [ #00 ] EQU JMP2r
220@@ -342,44 +457,10 @@ JMP2r
221 	&h #8000 #0200 DIV2 [ #0040 ] EQU2 JMP2r
222 	&i #2222 #0003 DIV2 [ #0b60 ] EQU2 JMP2r
223 	&j #0202 #0000 DIV2 [ #0000 ] EQU2 JMP2r
224-@op-inc ;Dict/inc !set
225-	&a #01 INC [ #02 ] EQU JMP2r
226-	&b #ff INC [ #00 ] EQU JMP2r
227-	&c #fe INC [ #ff ] EQU JMP2r
228-	&d #00 INC [ #01 ] EQU JMP2r
229-	&e #0001 INC2 [ #0002 ] EQU2 JMP2r
230-	&f #ffff INC2 [ #0000 ] EQU2 JMP2r
231-	&g #fffe INC2 [ #ffff ] EQU2 JMP2r
232-	&h #0000 INC2 [ #0001 ] EQU2 JMP2r
233-@op-pop ;Dict/pop !set
234-	&a #0a #0b POP [ #0a ] EQU JMP2r
235-	&b #0a #0b #0c POP POP [ #0a ] EQU JMP2r
236-	&c #0a #0b #0c ADD POP [ #0a ] EQU JMP2r
237-	&d #0a #0b #0c POP ADD [ #15 ] EQU JMP2r
238-	&e #0a0b #0c0d POP2 [ #0a0b ] EQU2 JMP2r
239-	&f #0a0b #0c0d #0e0f POP2 POP2 [ #0a0b ] EQU2 JMP2r
240-	&g #0a0b #0c0d #0e0f ADD2 POP2 [ #0a0b ] EQU2 JMP2r
241-	&h #0a0b #0c0d #0e0f POP2 ADD2 [ #1618 ] EQU2 JMP2r
242-@op-dup ;Dict/dup !set
243-	&a #0a #0b DUP ADD ADD [ #20 ] EQU JMP2r
244-	&b #0a0b DUP2 ADD2 [ #1416 ] EQU2 JMP2r
245-	&c #12 DUPk ADD ADD [ #36 ] EQU JMP2r
246-	&d #1234 DUP2k ADD2 ADD2 [ #369c ] EQU2 JMP2r
247-@op-nip ;Dict/nip !set
248-	&a #12 #34 #56 NIP ADD [ #68 ] EQU JMP2r
249-	&b #12 #34 #56 NIPk ADD2 ADD [ #f2 ] EQU JMP2r
250-	&c #1234 #5678 #9abc NIP2 ADD2 [ #acf0 ] EQU2 JMP2r
251-	&d #1234 #5678 #9abc NIP2k ADD2 ADD2 ADD2 [ #9e24 ] EQU2 JMP2r
252-@op-swp ;Dict/swp !set
253-	&a #02 #10 SWP DIV [ #08 ] EQU JMP2r
254-	&b #0a0b #0c0d SWP2 NIP2 [ #0a0b ] EQU2 JMP2r
255-@op-ovr ;Dict/ovr !set
256-	&a #02 #10 OVR DIV ADD [ #0a ] EQU JMP2r
257-	&b #0a0b #0c0d OVR2 NIP2 ADD2 [ #1416 ] EQU2 JMP2r
258-@op-rot ;Dict/rot !set
259-	&a #02 #04 #10 ROT DIV ADD [ #0c ] EQU JMP2r
260-	&b #0a0b #0c0d #0c0f ROT2 ADD2 NIP2 [ #161a ] EQU2 JMP2r
261-	&c #0a0b #0c ROTk ADD2 ADD2 [ #2220 ] EQU2 JMP2r
262+
263+(
264+@|Bit )
265+
266 @op-and ;Dict/and !set
267 	&a #fc #3f AND [ #3c ] EQU JMP2r
268 	&b #f0 #0f AND [ #00 ] EQU JMP2r
269@@ -416,38 +497,10 @@ JMP2r
270 	&f #ffff #70 SFT2 [ #ff80 ] EQU2 JMP2r
271 	&g #ffff #7e SFT2 [ #0180 ] EQU2 JMP2r
272 	&h #ffff #e3 SFT2 [ #c000 ] EQU2 JMP2r
273-@op-stz ;Dict/stz !set
274-	&a #ab .Zeropage/byte STZ .Zeropage/byte LDZ [ #ab ] EQU JMP2r
275-	&b #cd .Zeropage/byte STZ .Zeropage/byte LDZ [ #cd ] EQU JMP2r
276-	&c #1234 .Zeropage/short STZ2 .Zeropage/short LDZ2 [ #1234 ] EQU2 JMP2r
277-	&d #5678 .Zeropage/short STZ2 .Zeropage/short LDZ2 [ #5678 ] EQU2 JMP2r
278-@op-str ;Dict/str !set
279-	[ LIT &before1 $1 ] [ LIT2 &before2 $2 ]
280-	&a #22 ,&before1 STR ,&before1 LDR [ #22 ] EQU JMP2r
281-	&b #ef ,&after1 STR ,&after1 LDR [ #ef ] EQU JMP2r
282-	&c #1234 ,&before2 STR2 ,&before2 LDR2 [ #1234 ] EQU2 JMP2r
283-	&d #5678 ,&after2 STR2 ,&after2 LDR2 [ #5678 ] EQU2 JMP2r
284-	[ LIT &after1 $1 ] [ LIT2 &after2 $2 ]
285-@op-sta ;Dict/sta !set
286-	&a #34 ;Absolute/byte STA ;Absolute/byte LDA [ #34 ] EQU JMP2r
287-	&b #56 ;Absolute/byte STA ;Absolute/byte LDA [ #56 ] EQU JMP2r
288-	&c #1234 ;Absolute/short STA2 ;Absolute/short LDA2 [ #1234 ] EQU2 JMP2r
289-	&d #5678 ;Absolute/short STA2 ;Absolute/short LDA2 [ #5678 ] EQU2 JMP2r
290-@op-jmp ;Dict/jmp !set
291-	&a #12 #34 ,&reljmp JMP SWP &reljmp POP [ #12 ] EQU JMP2r
292-	&b #56 #78 ;&absjmp JMP2 SWP &absjmp POP [ #56 ] EQU JMP2r
293-@op-jcn ;Dict/jcn !set
294-	&a #23 #01 ,&reljcn-y JCN INC &reljcn-y [ #23 ] EQU JMP2r
295-	&b #23 #00 ,&reljcn-n JCN INC &reljcn-n [ #24 ] EQU JMP2r
296-	&c #23 #01 ;&absjcn-y JCN2 INC &absjcn-y [ #23 ] EQU JMP2r
297-	&d #23 #00 ;&absjcn-n JCN2 INC &absjcn-n [ #24 ] EQU JMP2r
298-@op-jsr ;Dict/jsr !set
299-	&a #1234 #5678 ,&routine JSR [ #68ac ] EQU2 JMP2r
300-	&b #12 #34 ;routine JSR2 [ #46 ] EQU JMP2r
301-	&routine ADD2 JMP2r
302-@op-sth ;Dict/sth !set
303-	&a #0a STH #0b STH ADDr STHr [ #15 ] EQU JMP2r
304-	&b #000a STH2 #000b STH2 ADD2r STH2r [ #0015 ] EQU2 JMP2r
305+
306+(
307+@|Imm )
308+
309 @op-jci ;Dict/jci !set
310 	&before #01 JMP2r
311 	&a #01 ?&skip-a #00 JMP2r &skip-a #01 JMP2r
312@@ -471,7 +524,7 @@ JMP2r
313 
314 @routine ( a b -- c ) ADD JMP2r
315 @subroutine ( -- ) [ LIT2 "kO ] #18 DEO #18 DEO JMP2r
316-@Absolute &byte $1 &short $2
317+@absolute/hb $1 &lb $2
318 
319 @Dict [
320 	&ok "Ok $1
321@@ -494,14 +547,12 @@ JMP2r
322 	&and "AND $1 &ora "ORA $1 &eor "EOR $1 &sft "SFT $1
323 	&stz "STZ $1 &str "STR $1 &sta "STA $1
324 	&jmp "JMP $1 &jcn "JCN $1 &jsr "JSR $1 &sth "STH $1
325-	&jmi "JMI $1 &jci "JCI $1 &jsi "JSI $1
326-]
327+	&jmi "JMI $1 &jci "JCI $1 &jsi "JSI $1 ]
328 
329 (
330 @|Relative Distance Bytes )
331 
332-@rel-distance
333-&back "O $7c
334+@rel-distance/back "O $7c
335 &entry
336 	,&back LDR
337 	,&forw LDR
+177, -177
  1@@ -1,177 +1,177 @@
  2-a002 ab80 0637 a00b fc60 037c a001 2580
  3-1037 a003 1716 1c20 000a a002 7860 0a10
  4-a001 0f17 00a0 0217 160b 2000 1d80 1216
  5-a03f 0081 80fb 1389 2000 0ca0 0bc7 a000
  6-00a0 029c 6009 c003 1100 a001 5040 ffbf
  7-a002 1716 0b20 0007 8012 1660 000b 00a0
  8-0000 6000 3260 0180 00a0 7f40 8180 fb13
  9-8920 000c a00b c7a0 0040 a002 9c60 0987
 10-0311 6c94 0620 0003 0222 6c60 ffdb 2140
 11-fff1 8019 176c 2180 a837 a000 0180 aa37
 12-6002 8da0 0000 800f 1620 001c a001 cc80
 13-ac37 80a3 1620 0012 9d20 000c a00b d0a0
 14-0000 a002 a160 093f 226c 2180 0060 0269
 15-40ff d380 0f33 800e 13a0 01e0 8002 376c
 16-0000 0100 0100 0000 0100 0100 0100 0000
 17-0001 f300 a00b 5660 0936 8020 60ff 93a0
 18-0040 6009 2ba0 0b60 6009 25a0 09d7 3426
 19-a001 0039 6009 1fa0 0b65 6009 13a0 0040
 20-80a8 37a0 0001 80aa 37a0 0100 2680 bd33
 21-a001 e880 0237 a001 f380 ae37 21aa 20ff
 22-eb22 22a0 02a6 60ff 3aa0 0040 80a8 37a0
 23-0764 34a0 4d02 a000 0280 aa37 2680 ae37
 24-a000 0338 2660 07f2 a439 80aa 3724 80ae
 25-37aa 20ff e122 226c 7573 6167 653a 2064
 26-7269 6662 6c69 6d2e 726f 6d20 696e 2e74
 27-616c 206f 7574 2e72 6f6d 0a00 5061 7468
 28-0046 696c 6500 2e73 796d 0000 4472 6966
 29-626c 696d 0a55 786e 7461 6c20 4173 7365
 30-6d62 6c65 720a 4279 2044 6576 696e 6520
 31-4c75 204c 696e 7665 6761 0a32 3720 4465
 32-6320 3230 3235 0000 800a 6001 4c80 4732
 33-a003 7529 2000 0ca0 0bf4 a00b f9a0 0bb7
 34-6008 0480 3132 a003 b729 2000 0ca0 0bf4
 35-a00b f9a0 0ba5 6007 ee80 0f16 2000 1060
 36-05c0 800f 1620 0007 a080 0f17 4004 ab6c
 37-9020 0002 226c a003 422c a003 42a0 0337
 38-356c 6007 0420 0636 6002 5320 061b 9060
 39-0166 a11d 2000 0e22 2660 00a7 a11d 2000
 40-c222 4001 d621 342c 22a0 0375 a003 3735
 41-a001 0413 6c34 26c0 00a0 2800 280f 58a0
 42-2900 280f 59cf c0ef 5320 0003 40ff ab6c
 43-6003 3060 004d 8000 6000 4ea0 03a3 a003
 44-3735 6c34 a07b 0029 2000 0ba0 03b7 a003
 45-3735 a001 0413 6cb4 26c0 0080 7b08 0480
 46-7b08 1d0f 58a0 7d00 280f 59cf c0eb 5320
 47-0009 2280 0060 0011 40ff 5f60 0005 8020
 48-4000 06a0 03e9 4006 05a0 0d02 a126 a01d
 49-022b 2000 09a0 0bc7 a00b 9e60 0684 80e9
 50-3315 6c2f 80e3 32a0 0d02 26ef 6006 5520
 51-000e 6006 4560 0642 aa20 ffee 22a0 ffff
 52-2362 6c23 6000 0960 0630 a004 3940 05be
 53-a0c0 2413 a000 c011 6c06 8020 0a20 0016
 54-a000 c060 feea 800a 0920 0007 a000 0121
 55-80fa 3340 ffda a000 c081 0680 ff0b 2000
 56-09a0 0bc7 a00b ab60 0618 80eb 1331 6ca0
 57-0080 8106 80bf 0b20 0009 a00b c7a0 0b97
 58-6005 ff80 eb13 316c a080 e513 9480 2f08
 59-2000 0994 60ff d821 9420 fff0 2280 d112
 60-8003 136c 21a0 00c8 1380 2f60 ffc1 a000
 61-8024 a004 6f40 0536 0fa0 055e 94cf 0820
 62-000c a000 0338 9420 fff2 22a0 ffff 426c
 63-226c 2240 01d4 40fe 8f60 0070 40fe b160
 64-006a 6002 d540 0502 6000 6160 02cc 4004
 65-f560 0058 2660 ff90 4002 1d60 ffa6 4002
 66-1780 8060 04b3 6000 4360 03af 4004 aa80
 67-8060 04a5 6000 3560 0393 4004 9c80 a060
 68-0497 6000 2760 038d 4004 8a60 001e 8020
 69-4004 7c60 0016 8040 4004 7480 6040 046f
 70-6000 0940 0429 6000 0340 0417 2194 8020
 71-0a20 0009 a00b d0a0 0bab 4005 256c 7c04
 72-df24 04e8 4004 f126 04fb 2c05 015f 0506
 73-2e05 0f2d 0514 3b05 1d3d 0522 2105 333f
 74-052b 2305 4022 0546 7d04 d27e 0196 2804
 75-d629 04d0 5b04 d05d 04d0 2504 d900 2660
 76-000e 8000 090f 26a0 0678 6004 b74f 1d6c
 77-e01f 00a0 0618 a4a0 0003 2460 04ad 2000
 78-0f41 a000 0338 9420 ffec 2222 6280 006c
 79-225c b4a0 4c49 2880 701f 0f5d a000 0338
 80-9480 210b 2000 2e94 8032 0920 0005 c020
 81-4000 1d94 8072 0920 0005 c040 4000 1194
 82-806b 0920 0005 c080 4000 0522 4280 006c
 83-5d21 40ff cb22 4f6c 4c49 5449 4e43 504f
 84-504e 4950 5357 5052 4f54 4455 504f 5652
 85-4551 554e 4551 4754 484c 5448 4a4d 504a
 86-434e 4a53 5253 5448 4c44 5a53 545a 4c44
 87-5253 5452 4c44 4153 5441 4445 4944 454f
 88-4144 4453 5542 4d55 4c44 4956 414e 444f
 89-5241 454f 5253 4654 4252 4b00 22a0 0000
 90-a180 fa33 26a0 0c02 a121 80f9 3335 6000
 91-0e05 6000 0a80 2633 8025 33a0 06bc 6c06
 92-8004 1f60 0358 0440 0354 80d9 32a0 0002
 93-39b4 60ff d960 0060 80cb 336c cebb 2e2e
 94-2e2e 0060 0383 2000 2794 807b 0820 0020
 95-9460 fde4 211d 2000 1726 60fd 2621 1d20
 96-0017 2660 0097 211d 2000 0e60 feb0 0c6c
 97-a00b d0a0 0bab 4003 89a0 0bd8 a00b ab40
 98-0380 9480 7b08 20ff 7394 802f 0820 fd94
 99-9480 2608 20fd 8d6c 2660 0061 a11d 2000
100-1022 a007 6434 6002 2680 0260 02b4 4000
101-1d23 2660 0219 6001 0320 0008 6002 a327
102-3540 0110 22a0 0bd8 a00b 9740 0334 0460
103-0011 6000 0e60 000b 60ff 68a0 0763 6002
104-8d80 00a0 4d02 a126 a095 022b 2000 09a0
105-0bc7 a00b 8f60 030a 80e9 3315 6c2f 80e3
106-32a0 4d02 26a0 0003 38ef 6002 d720 000f
107-a000 0338 6002 c3aa 20ff e922 a0ff ff23
108-626c 2660 ffd7 a11d 2000 0d22 80b5 3224
109-8001 a0ff ff40 ff96 236c 6002 8c20 026b
110-60ff 3f60 ffb7 6000 6b20 0009 a00b d0a0
111-0b97 6002 ad60 0072 346c a007 6434 a04d
112-02a8 2000 3760 005b 2000 27b4 a001 0028
113-2000 1f26 a000 0338 9480 4119 801a 0b20
114-000f a00b 6e60 0328 2660 0324 800a 60f9
115-8122 a000 0338 6002 4140 ffc5 2222 40f9
116-d326 a000 8038 0220 0001 6ca0 0be2 a00b
117-9740 024e a11d 2000 0380 006c a121 1480
118-021c 6ca1 2114 8001 1c6c a121 af14 8001
119-1d6f 156c 2121 af14 8002 1d6f 156c 8017
120-3360 fe9e 60ff 3b60 ffd2 2000 1d26 6001
121-7160 001b 6000 18a0 0000 6000 12a0 0000
122-6000 0ca0 044d 3460 0005 60ff bd34 6c04
123-6000 00a0 1d02 a126 a04d 022b 2000 09a0
124-0bc7 a00b 7a60 01da 80e9 3315 6ca0 0916
125-60ff ab03 6ca0 091e 40ff a3a0 0925 60ff
126-9da1 1d20 0004 2280 006c 6001 1560 000e
127-60ff 4e03 6ca0 0934 60ff 8360 0104 2121
128-396c 80af 32a0 1d02 a820 0013 26a0 0acf
129-35a6 a000 0438 342e a000 0a38 40ff e922
130-226c b460 00e4 a121 3434 a11d 2000 06a0
131-0bd0 4001 9b6c 60ff e923 0340 009b 60ff
132-e123 4000 9060 ffda 2434 60ff b160 000f
133-0340 0085 60ff cb24 3460 ffa2 4000 7626
134-a000 8038 0220 0001 6ca0 0be2 4001 6126
135-a000 0338 34a0 cebb 2920 0002 226c a008
136-7e35 6ca0 09b9 4000 8560 fc44 4000 4a60
137-00ce 8002 0980 501f 8080 1d60 003b 6000
138-c880 0008 2000 1e60 00b6 0680 0209 2000
139-0802 6000 9603 4000 2080 0409 2000 0660
140-0089 4000 1022 a00b d0a0 0bb0 4000 d360
141-0007 60ff 2004 6000 0060 0012 0720 000b
142-2202 a00b eaa0 0bbf 4000 b740 f805 a001
143-00a1 80fa 33a1 a001 002b 2000 04a1 80f6
144-336c 80ea 326c 60ff f938 80e2 336c 2f94
145-0620 0004 0222 626c ef2e 2140 fff1 800f
146-1c80 0a8b 2000 0519 8061 186c 0280 3018
147-6c94 8030 1906 8009 0a0c 6c80 2719 0680
148-0a19 8005 0a0c 6c02 80ff 6ce0 0000 c040
149-7f60 ffdd c000 0f78 2194 20ff f122 6f6c
150-a660 0016 2421 3903 6c26 60ff c401 2000
151-0514 8000 086c 2140 fff0 9420 0002 216c
152-2140 fff6 a660 fff2 2439 242f 2738 24a8
153-2000 0c94 d44f 0920 0005 2161 40ff f062
154-286c 800f 1620 0025 a001 0f17 6000 a180
155-2060 f6fe 6000 99a0 0b77 6000 93a0 00c0
156-6000 8da0 044d 34a0 0080 4000 4322 226c
157-800f 1620 0038 a001 0f17 a00b 8560 0070
158-8020 60f6 cd60 0068 a00b 7760 0062 a000
159-00a1 2134 a000 0338 6000 5526 a000 0838
160-3424 a000 0638 34a0 0003 3840 0002 226c
161-a00b 6060 003a 6000 3780 3a60 f694 6000
162-3580 0a60 f68c 6c80 0f16 2000 1fa0 010f
163-1760 001c 8020 60f6 7924 6000 13a0 0b77
164-6000 0d60 000a 800a 60f6 676c 2222 226c
165-a001 9240 feb8 e0ff 00a0 000a bbaf 3a39
166-6f41 9d20 fff3 2203 8030 1860 f644 4758
167-cf20 fff3 626c 4173 7365 6d62 6c65 6400
168-2069 6e20 0020 6279 7465 732e 0a00 2d2d
169-2055 6e75 7365 643a 2000 5265 6665 7265
170-6e63 6573 0052 6566 6572 656e 6365 0053
171-796d 626f 6c73 0053 796d 626f 6c00 4d61
172-6372 6f73 004d 6163 726f 004e 616d 6500
173-4e75 6d62 6572 0043 6f6d 6d65 6e74 0057
174-7269 7469 6e67 0065 7863 6565 6465 6400
175-696e 7661 6c69 6400 6475 706c 6963 6174
176-6500 746f 6f20 6661 7200 7a65 726f 2d70
177-6167 6500 6f70 656e 002e 2e00 5245 5345
178-54
179+a002 a880 0637 6001 dca0 0122 8010 37a0
180+0317 161c 2000 0aa0 0275 600a 22a0 010f
181+1700 a002 1716 0b20 001d 8012 16a0 3f00
182+8180 fb13 8920 000c a00b d6a0 0000 a002
183+9960 09d2 0311 00a0 014d 40ff bfa0 0217
184+160b 2000 0780 1216 6000 0b00 a000 0060
185+0032 6001 8600 a07f 4081 80fb 1389 2000
186+0ca0 0bd6 a000 40a0 0299 6009 9903 116c
187+9406 2000 0302 226c 60ff db21 40ff f180
188+1917 6c21 80a8 37a0 0001 80aa 3760 0292
189+a000 0080 0f16 2000 1ca0 01c9 80ac 3780
190+a316 2000 129d 2000 0ca0 0bdf a000 00a0
191+029e 6009 5122 6c21 8000 6002 6e40 ffd3
192+800f 3380 0e13 a001 dd80 0237 6c00 0001
193+0001 0000 0001 0001 0001 0000 0000 01f0
194+00a0 0b65 6009 4880 2060 ff93 a000 4060
195+093d a00b 6f60 0937 a009 e634 26a0 00ff
196+3960 0931 a00b 7460 0925 a000 4080 a837
197+a000 0180 aa37 a000 ff21 2680 bc33 a001
198+e580 0237 a001 f080 ae37 a920 ffeb 2222
199+a002 a360 ff3a a000 4080 a837 a007 7334
200+a04d 0fa0 0002 80aa 3726 80ae 37a0 0003
201+3826 6008 04a4 3980 aa37 2480 ae37 aa20
202+ffe1 2222 6c75 7361 6765 3a20 6472 6966
203+626c 696d 2e72 6f6d 2069 6e2e 7461 6c20
204+6f75 742e 726f 6d0a 0050 6174 6800 4669
205+6c65 002e 7379 6d00 0044 7269 6662 6c69
206+6d0a 5578 6e74 616c 2041 7373 656d 626c
207+6572 0a42 7920 4465 7669 6e65 204c 7520
208+4c69 6e76 6567 610a 3238 204a 616e 2032
209+3032 3600 00a0 0c0b 4001 9f80 0a60 014b
210+8047 32a0 0377 2920 000c a00c 03a0 0c08
211+a00b c660 0810 8031 32a0 03b9 2920 000c
212+a00c 03a0 0c08 a00b b460 07fa 800f 1620
213+0010 6005 cc80 0f16 2000 07a0 800f 1740
214+04b7 6c90 2000 0222 6ca0 0345 2ca0 0345
215+a003 3a35 6c60 0710 2006 4260 0251 2006
216+2790 6001 68a1 1d20 000d 2260 00a7 a11d
217+2000 c222 4001 d521 342c 22a0 0377 a003
218+3a35 a001 0413 6c34 26c0 00a0 2800 280f
219+58a0 2900 280f 59cf c0ef 5320 0003 40ff
220+ac6c 6003 4060 004d 8000 6000 4ea0 03a5
221+a003 3a35 6c34 a07b 0029 2000 0ba0 03b9
222+a003 3a35 a001 0413 6cb4 26c0 0080 7b08
223+0480 7b08 1d0f 58a0 7d00 280f 59cf c0eb
224+5320 0009 2280 0060 0011 40ff 6060 0005
225+8020 4000 06a0 03eb 4006 12a0 0d0f a126
226+a01d 0f2b 2000 09a0 0bd6 a00b ad60 0691
227+80e9 3315 6caf 80e3 32a0 0d0f 26ef 6006
228+6220 000e 6006 5260 064f aa20 ffee 22a0
229+ffff 2362 6c23 6000 0960 063d a004 3b40
230+05cb a0c0 2413 a000 c011 6c06 8020 0a20
231+0016 a000 c060 feeb 800a 0920 0007 a000
232+0121 80fa 3340 ffda a000 c081 0680 ff0b
233+2000 09a0 0bd6 a00b ba60 0625 80eb 1331
234+6ca0 0080 8106 80bf 0b20 0009 a00b d6a0
235+0ba6 6006 0c80 eb13 316c 26a0 80e4 1394
236+802f 0820 0009 9460 ffd7 2194 20ff f022
237+80d0 1280 0513 4002 7f21 a000 c513 802f
238+60ff bea0 0080 24a0 0471 4005 400f a005
239+5f94 cf08 2000 0ca0 0003 3894 20ff f222
240+a0ff ff42 6c22 6c22 4001 d040 fe8c 6000
241+6c40 feae 6000 6660 02de 4005 0c60 005d
242+6002 d540 04ff 6000 5440 ff8e 60ff aa40
243+0226 8080 6004 c160 0043 6003 bd40 04b8
244+8080 6004 b360 0035 6003 a140 04aa 80a0
245+6004 a560 0027 6003 9b40 0498 6000 1e80
246+2040 048a 6000 1680 4040 0482 8060 4004
247+7d60 0009 4004 3760 0003 4004 2521 9480
248+200a 2000 09a0 0bdf a00b ba40 0533 6c7c
249+04e4 2404 ed40 04f6 2604 fc2c 0502 5f05
250+072e 0510 2d05 153b 051e 3d05 2321 0534
251+3f05 2c23 0541 2205 477d 04d7 7e01 9328
252+04db 2904 d55b 04d5 5d04 d525 04de 0026
253+6000 0e80 0009 0f26 a006 7960 04c5 4f1d
254+6ce0 1f00 a006 19a4 a000 0324 6004 bb20
255+000f 41a0 0003 3894 20ff ec22 2262 8000
256+6c22 5cb4 a04c 4928 8070 1f0f 5da0 0003
257+3894 8021 0b20 002e 9480 3209 2000 05c0
258+2040 001d 9480 7209 2000 05c0 4040 0011
259+9480 6b09 2000 05c0 8040 0005 2242 8000
260+6c5d 2140 ffcb 224f 6c4c 4954 494e 4350
261+4f50 4e49 5053 5750 524f 5444 5550 4f56
262+5245 5155 4e45 5147 5448 4c54 484a 4d50
263+4a43 4e4a 5352 5354 484c 445a 5354 5a4c
264+4452 5354 524c 4441 5354 4144 4549 4445
265+4f41 4444 5355 424d 554c 4449 5641 4e44
266+4f52 4145 4f52 5346 5442 524b 0022 a000
267+00a1 80fa 3326 a00c 0fa1 2180 f933 3560
268+000e 0560 000a 8037 3380 3633 a006 ce6c
269+0680 041f 6003 6604 4003 6280 d932 26a0
270+0c0f 2920 0009 a00b dfa0 0ba6 6003 d2a0
271+0002 39b4 60ff c860 005e 80ba 336c cebb
272+2e2e 2e2e 0060 0380 2000 2594 807b 0820
273+001e 9460 fdd7 211d 2000 1560 fd17 211d
274+2000 1660 0096 211d 2000 0e60 fea1 0c6c
275+a00b dfa0 0bba 4003 88a0 0be7 a00b ba40
276+037f 9480 7b08 20ff 6494 802f 0820 fd89
277+9480 2608 20fd 826c 6000 61a1 1d20 0010
278+22a0 0773 3460 0226 8002 6002 b440 001d
279+2326 6002 1960 0103 2000 0860 02a3 2735
280+4001 1022 a00b e7a0 0ba6 4003 3404 6000
281+1160 000e 6000 0b60 ff6b a007 7260 028d
282+8000 a04d 0fa1 26a0 950f 2b20 0009 a00b
283+d6a0 0b9e 6003 0a80 e933 156c af80 e332
284+a04d 0f26 a000 0338 ef60 02d7 2000 0fa0
285+0003 3860 02c3 aa20 ffe9 22a0 ffff 2362
286+6c60 ffd8 a11d 2000 0d22 80b6 3224 8001
287+a0ff ff40 ff97 236c 6002 8d20 026c 60ff
288+4160 ffb8 6000 6c20 0009 a00b dfa0 0ba6
289+6002 ae60 0073 3423 6ca0 0773 34a0 4d0f
290+a820 0037 6000 5b20 0027 b4a0 0100 2820
291+001f 26a0 0003 3894 8041 1980 1a0b 2000
292+0fa0 0b7d 6003 2826 6003 2480 0a60 f96f
293+22a0 0003 3860 0241 40ff c522 2240 f9c1
294+26a0 0080 3802 2000 016c a00b f1a0 0ba6
295+4002 4ea1 1d20 0003 8000 6ca1 2114 8002
296+1c6c a121 1480 011c 6ca1 21af 1480 011d
297+6f15 6c21 21af 1480 021d 6f15 6c80 1733
298+60fe 9f60 ff3b 60ff d220 001d 2660 0171
299+6000 1b60 0018 a000 0060 0012 a000 0060
300+000c a004 4f34 6000 0560 ffbd 346c 0460
301+0000 a01d 0fa1 26a0 4d0f 2b20 0009 a00b
302+d6a0 0b89 6001 da80 e933 156c a009 2560
303+ffab 036c a009 2d40 ffa3 a009 3460 ff9d
304+a11d 2000 0422 8000 6c60 0115 6000 0e60
305+ff4e 036c a009 4360 ff83 6001 0421 2139
306+6c80 af32 a01d 0fa8 2000 1326 a00a de35
307+a6a0 0004 3834 2ea0 000a 3840 ffe9 2222
308+6cb4 6000 e4a1 2134 34a1 1d20 0006 a00b
309+df40 019b 6c60 ffe9 2303 4000 9b60 ffe1
310+2340 0090 60ff da24 3460 ffb1 6000 0f03
311+4000 8560 ffcb 2434 60ff a240 0076 26a0
312+0080 3802 2000 016c a00b f140 0161 26a0
313+0003 3834 a0ce bb29 2000 0222 6ca0 088d
314+356c a009 c840 0085 60fc 3640 004a 6000
315+ce80 0209 8050 1f80 801d 6000 3b60 00c8
316+8000 0820 001e 6000 b606 8002 0920 0008
317+0260 0096 0340 0020 8004 0920 0006 6000
318+8940 0010 22a0 0bdf a00b bf40 00d3 6000
319+0760 ff20 0460 0000 6000 1207 2000 0b22
320+02a0 0bf9 a00b ce40 00b7 40f7 f3a0 0100
321+a180 fa33 26a0 0100 2b20 0004 2680 f633
322+6c80 ea32 6c60 fff9 3880 e233 6c2f 9406
323+2000 0402 2262 6cef 2e21 40ff f180 0f1c
324+800a 8b20 0005 1980 6118 6c02 8030 186c
325+9480 3019 0680 090a 0c6c 8027 1906 800a
326+1980 050a 0c6c 0280 ff6c e000 00c0 407f
327+60ff ddc0 000f 7821 9420 fff1 226f 6ca6
328+6000 1624 2139 036c 2660 ffc4 0120 0005
329+1480 0008 6c21 40ff f094 2000 0221 6c21
330+40ff f6a6 60ff f224 3924 2f27 3824 a820
331+000c 94d4 4f09 2000 0521 6140 fff0 6228
332+6c80 0f16 2000 25a0 010f 1760 00a1 8020
333+60f6 ec60 0099 a00b 8660 0093 a000 c060
334+008d a004 4f34 a000 8040 0043 2222 6c80
335+0f16 2000 38a0 010f 17a0 0b94 6000 7080
336+2060 f6bb 6000 68a0 0b86 6000 62a0 0000
337+a121 34a0 0003 3860 0055 26a0 0008 3834
338+24a0 0006 3834 a000 0338 4000 0222 6ca0
339+0b6f 6000 3a60 0037 803a 60f6 8260 0035
340+800a 60f6 7a6c 800f 1620 001f a001 0f17
341+6000 1c80 2060 f667 2460 0013 a00b 8660
342+000d 6000 0a80 0a60 f655 6c22 2222 6ca0
343+018f 40fe b8e0 ff00 a000 0abb af3a 396f
344+419d 20ff f322 0380 3018 60f6 3247 58cf
345+20ff f362 6c41 7373 656d 626c 6564 0020
346+696e 2000 2062 7974 6573 2e0a 002d 2d20
347+556e 7573 6564 3a20 0052 6566 6572 656e
348+6365 7300 5265 6665 7265 6e63 6500 5379
349+6d62 6f6c 7300 5379 6d62 6f6c 004d 6163
350+726f 7300 4d61 6372 6f00 4e61 6d65 004e
351+756d 6265 7200 436f 6d6d 656e 7400 5772
352+6974 696e 6700 6578 6365 6564 6564 0069
353+6e76 616c 6964 0064 7570 6c69 6361 7465
354+0074 6f6f 2066 6172 007a 6572 6f2d 7061
355+6765 006f 7065 6e00 2e2e 0054 6f70