version	U12.1.00
uid	vrml.u1-1786032999-0
impl	error
link	ptutils.u
link	records.u
global	6
	0,000005,point_field,1
	1,000005,u_crd_idx,1
	2,000005,vrml1,2
	3,000005,vrml2,2
	4,000005,render,2
	5,000005,vrml_color,1

proc point_field
	local	0,001000,pts
	local	1,000020,field
	local	2,000000,pt2coord
	con	0,010000,2,133,012
	con	1,010000,2,054,012
	con	2,010000,2,012,135
	declend
	filen	vrml.icn
	line	62
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	str	0
	line	65
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	67
	colm	4
	synt	every
	mark0
	pnull
	var	1
	dup
	pnull
	var	2
	pnull
	var	0
	line	67
	colm	30
	synt	any
	bang
	line	67
	colm	29
	synt	any
	invoke	1
	str	1
	line	67
	colm	36
	synt	any
	cat
	line	67
	colm	16
	synt	any
	cat
	asgn
	pop
lab L3
	efail
lab L4
	line	67
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	1
	str	2
	line	69
	colm	17
	synt	any
	cat
	line	69
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	71
	colm	1
	synt	any
	pfail
	end
proc u_crd_idx
	local	0,001000,i
	local	1,000020,index
	con	0,010000,2,133,012
	con	1,002000,1,0
	con	2,002000,1,1
	con	3,010000,2,054,012
	con	4,010000,2,012,135
	declend
	line	73
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	str	0
	line	76
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	78
	colm	4
	synt	every
	mark0
	pnull
	var	1
	dup
	pnull
	pnull
	int	1
	pnull
	var	0
	int	2
	line	78
	colm	29
	synt	any
	minus
	push1
	line	78
	colm	24
	synt	any
	toby
	str	3
	line	78
	colm	34
	synt	any
	cat
	line	78
	colm	16
	synt	any
	cat
	asgn
	pop
lab L3
	efail
lab L4
	line	78
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	1
	dup
	str	4
	line	80
	colm	17
	synt	any
	cat
	asgn
	line	80
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	82
	colm	1
	synt	any
	pfail
	end
proc vrml1
	local	0,001000,x
	local	1,001000,f
	local	2,000000,write
	local	3,000000,render
	con	0,010000,16,043,126,122,115,114,040,126,061,056,060,040,141,163,143,151,151
	declend
	line	88
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	90
	colm	4
	synt	any
	null
	line	90
	colm	10
	synt	any
	keywd	output
	line	90
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	var	2
	var	1
	str	0
	line	92
	colm	9
	synt	any
	invoke	2
	unmark
lab L2
	mark	L3
	var	3
	var	0
	var	1
	line	94
	colm	10
	synt	any
	invoke	2
	unmark
lab L3
	pnull
	line	96
	colm	1
	synt	any
	pfail
	end
proc vrml2
	local	0,001000,x
	local	1,001000,f
	local	2,000000,write
	local	3,000000,render
	con	0,010000,15,043,126,122,115,114,040,126,062,056,060,040,165,164,146,070
	declend
	line	98
	colm	11
	synt	any
	mark	L1
	var	2
	var	1
	str	0
	line	100
	colm	9
	synt	any
	invoke	2
	unmark
lab L1
	mark	L2
	var	3
	var	0
	var	1
	line	102
	colm	10
	synt	any
	invoke	2
	unmark
lab L2
	pnull
	line	104
	colm	1
	synt	any
	pfail
	end
proc render
	local	0,001000,x
	local	1,001000,f
	local	2,000020,i
	local	3,000020,bar
	local	4,000020,fieldname
	local	5,000020,input
	local	6,000040,indent
	local	7,000000,repl
	local	8,000000,string
	local	9,000000,write
	local	10,000000,type
	local	11,000000,writes
	local	12,000000,render
	local	13,000000,open
	local	14,000000,stop
	local	15,000000,read
	local	16,000000,close
	local	17,000000,field
	con	0,002000,1,0
	con	1,002000,1,3
	con	2,010000,1,040
	con	3,010000,3,125,123,105
	con	4,010000,4,125,123,105,040
	con	5,010000,3,104,105,106
	con	6,010000,4,104,105,106,040
	con	7,010000,7,103,157,155,155,145,156,164
	con	8,010000,2,043,040
	con	9,010000,7,111,156,143,154,165,144,145
	con	10,010000,27,052,052,052,040,143,141,156,156,157,164,040,146,151,156,144,040,151,156,154,151,156,145,040,146,151,154,145
	con	11,010000,2,040,173
	con	12,002000,1,1
	con	13,010000,4,154,151,163,164
	con	14,010000,3,040,040,040
	con	15,010000,4,156,165,154,154
	con	16,010000,4,040,040,040,175
	declend
	line	106
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	6
	int	0
	line	110
	colm	19
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	line	112
	colm	4
	synt	if
	mark0
	pnull
	var	0
	line	112
	colm	7
	synt	any
	null
	unmark
	mark	L5
	pnull
	line	112
	colm	15
	synt	any
	pret
lab L5
	synt	any
	pfail
	line	112
	colm	4
	synt	endif
	unmark
lab L4
	mark	L6
	pnull
	var	6
	dup
	int	1
	line	114
	colm	11
	synt	any
	plus
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	3
	var	7
	str	2
	var	6
	line	115
	colm	15
	synt	any
	invoke	2
	line	115
	colm	8
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	line	117
	colm	4
	synt	ifelse
	mark	L9
	pnull
	var	0
	var	8
	var	0
	line	117
	colm	18
	synt	any
	invoke	1
	line	117
	colm	9
	synt	any
	asgn
	unmark
	var	9
	var	1
	str	2
	var	0
	line	117
	colm	32
	synt	any
	invoke	3
	goto	L10
lab L9
	line	118
	colm	9
	synt	case
	mark0
	var	10
	var	0
	line	118
	colm	18
	synt	any
	invoke	1
	eret
	mark	L12
	ccase
	str	3
	line	119
	colm	12
	synt	any
	eqv
	unmark
	pop
	var	9
	var	1
	var	3
	str	4
	pnull
	var	0
	line	119
	colm	37
	synt	any
	field	name
	line	119
	colm	19
	synt	any
	invoke	4
	goto	L11
lab L12
	mark	L13
	ccase
	str	5
	line	120
	colm	12
	synt	any
	eqv
	unmark
	pop
	mark	L14
	var	11
	var	1
	var	3
	str	6
	pnull
	var	0
	line	121
	colm	34
	synt	any
	field	name
	line	121
	colm	16
	synt	any
	invoke	4
	unmark
lab L14
	var	12
	pnull
	var	0
	line	122
	colm	18
	synt	any
	field	node
	var	1
	line	122
	colm	16
	synt	any
	invoke	2
	goto	L11
lab L13
	mark	L15
	ccase
	str	7
	line	124
	colm	16
	synt	any
	eqv
	unmark
	pop
	var	9
	var	1
	str	8
	pnull
	var	0
	line	124
	colm	34
	synt	any
	field	text
	line	124
	colm	23
	synt	any
	invoke	3
	goto	L11
lab L15
	mark	L16
	ccase
	str	9
	line	125
	colm	16
	synt	any
	eqv
	unmark
	pop
	mark	L17
	pnull
	var	5
	mark	L18
	var	13
	pnull
	var	0
	line	126
	colm	25
	synt	any
	field	name
	line	126
	colm	23
	synt	any
	invoke	1
	line	126
	colm	32
	synt	any
	esusp
	goto	L19
lab L18
	var	14
	str	10
	line	126
	colm	38
	synt	any
	invoke	1
lab L19
	line	126
	colm	16
	synt	any
	asgn
	unmark
lab L17
	mark	L20
lab L21
	line	127
	colm	10
	synt	while
	mark0
	var	9
	var	1
	var	15
	var	5
	line	127
	colm	29
	synt	any
	invoke	1
	line	127
	colm	21
	synt	any
	invoke	2
lab L22
	unmark
	goto	L21
lab L23
	line	127
	colm	10
	synt	endwhile
	unmark
lab L20
	var	16
	var	5
	line	128
	colm	15
	synt	any
	invoke	1
	goto	L11
lab L16
	pop
	mark	L24
	var	9
	var	1
	var	3
	var	10
	var	0
	line	131
	colm	28
	synt	any
	invoke	1
	str	11
	line	131
	colm	15
	synt	any
	invoke	4
	unmark
lab L24
	mark	L25
	line	132
	colm	10
	synt	every
	mark0
	pnull
	var	2
	pnull
	int	12
	pnull
	var	0
	line	132
	colm	26
	synt	any
	size
	push1
	line	132
	colm	23
	synt	any
	toby
	line	132
	colm	18
	synt	any
	asgn
	pop
	mark0
	line	133
	colm	12
	synt	ifelse
	mark	L28
	pnull
	var	10
	pnull
	var	0
	var	2
	line	133
	colm	21
	synt	any
	subsc
	line	133
	colm	19
	synt	any
	invoke	1
	str	13
	line	133
	colm	26
	synt	any
	lexeq
	unmark
	line	134
	colm	16
	synt	every
	mark0
	var	12
	pnull
	pnull
	var	0
	var	2
	line	134
	colm	31
	synt	any
	subsc
	line	134
	colm	29
	synt	any
	bang
	var	1
	line	134
	colm	28
	synt	any
	invoke	2
	pop
lab L30
	efail
lab L31
	line	134
	colm	16
	synt	endevery
	goto	L29
lab L28
	line	135
	colm	18
	synt	ifelse
	mark	L32
	pnull
	pnull
	var	0
	var	2
	line	135
	colm	23
	synt	any
	subsc
	line	135
	colm	21
	synt	any
	null
	unmark
	unmark
	goto	L26
	goto	L33
lab L32
	mark	L34
	var	11
	var	1
	var	3
	str	14
	line	137
	colm	22
	synt	any
	invoke	3
	unmark
lab L34
	mark	L35
	pnull
	var	4
	var	17
	var	0
	var	2
	line	138
	colm	34
	synt	any
	invoke	2
	line	138
	colm	26
	synt	any
	asgn
	unmark
lab L35
	mark	L36
	line	139
	colm	16
	synt	if
	mark0
	pnull
	var	4
	str	15
	line	139
	colm	29
	synt	any
	lexne
	unmark
	var	11
	var	1
	var	4
	line	139
	colm	51
	synt	any
	invoke	2
	line	139
	colm	16
	synt	endif
	unmark
lab L36
	var	12
	pnull
	var	0
	var	2
	line	140
	colm	24
	synt	any
	subsc
	var	1
	line	140
	colm	22
	synt	any
	invoke	2
lab L33
	line	135
	colm	18
	synt	endifelse
lab L29
	line	133
	colm	12
	synt	endifelse
	unmark
lab L26
	efail
lab L27
	line	132
	colm	10
	synt	endevery
	unmark
lab L25
	var	9
	var	1
	var	3
	str	16
	line	143
	colm	15
	synt	any
	invoke	3
lab L11
	line	118
	colm	9
	synt	endcase
lab L10
	line	117
	colm	4
	synt	endifelse
	unmark
lab L8
	mark	L37
	pnull
	var	6
	dup
	int	1
	line	147
	colm	11
	synt	any
	minus
	asgn
	unmark
lab L37
	mark	L38
	mark	L39
	pnull
	line	149
	colm	4
	synt	any
	pret
lab L39
	synt	any
	pfail
	unmark
lab L38
	pnull
	line	151
	colm	1
	synt	any
	pfail
	end
proc vrml_color
	local	0,001000,s
	local	1,000020,result
	local	2,000040,factor
	local	3,000000,real
	local	4,000000,ColorValue
	local	5,000000,tab
	local	6,000000,upto
	local	7,000000,move
	con	0,002000,1,2
	con	1,002000,2,16
	con	2,002000,1,1
	con	3,010000,0
	con	4,002000,1,3
	con	5,020000,1,054
	con	6,002000,1,0
	con	7,010000,1,040
	declend
	line	153
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	2
	var	3
	pnull
	pnull
	int	0
	int	1
	line	157
	colm	29
	synt	any
	power
	int	2
	line	157
	colm	34
	synt	any
	minus
	line	157
	colm	26
	synt	any
	invoke	1
	line	157
	colm	19
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	0
	mark	L5
	var	4
	var	0
	line	159
	colm	19
	synt	any
	invoke	1
	line	159
	colm	23
	synt	any
	esusp
	goto	L6
lab L5
	line	159
	colm	25
	synt	any
	pfail
lab L6
	line	159
	colm	6
	synt	any
	asgn
	unmark
lab L4
	mark	L7
	pnull
	var	1
	str	3
	line	161
	colm	11
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	var	0
	line	163
	colm	6
	synt	any
	bscan
	line	164
	colm	7
	synt	every
	mark0
	pnull
	int	2
	int	4
	push1
	line	164
	colm	15
	synt	any
	toby
	pop
	mark0
	mark	L11
	pnull
	var	1
	dup
	pnull
	pnull
	var	5
	mark	L12
	var	6
	cset	5
	line	165
	colm	31
	synt	any
	invoke	1
	line	165
	colm	37
	synt	any
	esusp
	goto	L13
lab L12
	int	6
lab L13
	line	165
	colm	26
	synt	any
	invoke	1
	var	2
	line	165
	colm	42
	synt	any
	div
	str	7
	line	165
	colm	52
	synt	any
	cat
	line	165
	colm	17
	synt	any
	cat
	asgn
	unmark
lab L11
	var	7
	int	2
	line	166
	colm	14
	synt	any
	invoke	1
	unmark
lab L9
	efail
lab L10
	line	164
	colm	7
	synt	endevery
	line	163
	colm	6
	synt	any
	escan
	unmark
lab L8
	mark	L14
	mark	L15
	var	1
	line	170
	colm	4
	synt	any
	pret
lab L15
	synt	any
	pfail
	unmark
lab L14
	pnull
	line	172
	colm	1
	synt	any
	pfail
	end
