proc BitStreamWrite
	filen	bitstrm.icn
	local	0,001000,outfile
	local	1,001000,bits
	local	2,001000,value
	local	3,001000,outproc
	local	4,000020,outvalue
	local	5,000040,buffer
	local	6,000040,bufferbits
	local	7,000000,writes
	local	8,000000,char
	local	9,000000,ishift
	local	10,000000,ior
	local	11,000000,ixor
	con	0,002000,1,0
	con	1,002000,1,8
	declend
	line	55
	colm	11
	init	L1
	mark	L1
	pnull
	var	5
	pnull
	var	6
	int	0
	line	62
	colm	31
	asgn
	line	62
	colm	17
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	3
	line	64
	colm	5
	null
	var	7
	line	64
	colm	14
	asgn
	unmark
lab L2
	mark	L3
	mark0
	pnull
	var	2
	line	68
	colm	8
	null
	unmark
	mark	L4
	pnull
	var	4
	line	69
	colm	22
	keywd	null
	line	69
	colm	19
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	6
	int	0
	line	70
	colm	24
	numgt
	unmark
	var	3
	var	0
	var	8
	pnull
	var	4
	var	9
	var	5
	pnull
	int	1
	var	6
	line	71
	colm	68
	minus
	line	71
	colm	58
	invoke	2
	line	71
	colm	49
	asgn
	line	71
	colm	39
	invoke	1
	line	71
	colm	26
	invoke	2
	unmark
lab L5
	mark	L6
	pnull
	var	5
	pnull
	var	6
	int	0
	line	72
	colm	31
	asgn
	line	72
	colm	17
	asgn
	unmark
lab L6
	mark	L7
	var	4
	line	73
	colm	10
	pret
lab L7
	pfail
	unmark
lab L3
	mark	L8
	pnull
	var	5
	var	10
	var	9
	var	5
	var	1
	line	78
	colm	25
	invoke	2
	var	2
	line	78
	colm	18
	invoke	2
	line	78
	colm	12
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	6
	dup
	var	1
	line	79
	colm	16
	plus
	asgn
	unmark
lab L9
	mark	L10
lab L11
	mark0
	pnull
	var	6
	int	1
	line	83
	colm	22
	numge
	unmark
	mark	L11
	mark	L14
	var	3
	var	0
	var	8
	pnull
	var	4
	var	9
	var	5
	pnull
	int	1
	var	6
	line	84
	colm	59
	minus
	line	84
	colm	49
	invoke	2
	line	84
	colm	40
	asgn
	line	84
	colm	30
	invoke	1
	line	84
	colm	17
	invoke	2
	unmark
lab L14
	mark	L15
	pnull
	var	5
	var	11
	var	5
	var	9
	var	4
	pnull
	var	6
	int	1
	line	85
	colm	59
	minus
	line	85
	colm	38
	invoke	2
	line	85
	colm	24
	invoke	2
	line	85
	colm	17
	asgn
	unmark
lab L15
	pnull
	var	6
	dup
	int	1
	line	86
	colm	21
	minus
	asgn
lab L12
	unmark
	goto	L11
lab L13
	unmark
lab L10
	mark	L16
	mark	L17
	var	4
	line	88
	colm	5
	pret
lab L17
	pfail
	unmark
lab L16
	pnull
	line	89
	colm	1
	pfail
	end
proc BitStreamRead
	local	0,001000,infile
	local	1,001000,bits
	local	2,001000,inproc
	local	3,000020,value
	local	4,000040,buffer
	local	5,000040,bufferbits
	local	6,000000,reads
	local	7,000000,ior
	local	8,000000,ishift
	local	9,000000,ord
	local	10,000000,ixor
	con	0,002000,1,0
	con	1,002000,1,8
	declend
	line	92
	colm	11
	init	L1
	mark	L1
	pnull
	var	4
	pnull
	var	5
	int	0
	line	99
	colm	31
	asgn
	line	99
	colm	17
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	0
	line	104
	colm	8
	null
	unmark
	mark	L3
	pnull
	var	4
	pnull
	var	5
	int	0
	line	105
	colm	31
	asgn
	line	105
	colm	17
	asgn
	unmark
lab L3
	mark	L4
	pnull
	line	106
	colm	10
	pret
lab L4
	pfail
	unmark
lab L2
	mark	L5
	pnull
	pnull
	var	2
	line	111
	colm	5
	null
	var	6
	line	111
	colm	13
	asgn
	unmark
lab L5
	mark	L6
lab L7
	mark0
	pnull
	var	5
	var	1
	line	112
	colm	22
	numlt
	unmark
	mark	L7
	mark	L10
	pnull
	var	4
	mark	L11
	var	7
	var	8
	var	4
	int	1
	line	113
	colm	30
	invoke	2
	var	9
	var	2
	var	0
	line	113
	colm	51
	invoke	1
	line	113
	colm	44
	invoke	1
	line	113
	colm	23
	invoke	2
	esusp
	goto	L12
lab L11
	line	113
	colm	64
	pfail
lab L12
	line	113
	colm	17
	asgn
	unmark
lab L10
	pnull
	var	5
	dup
	int	1
	line	114
	colm	21
	plus
	asgn
lab L8
	unmark
	goto	L7
lab L9
	unmark
lab L6
	mark	L13
	pnull
	var	3
	var	8
	var	4
	pnull
	var	1
	var	5
	line	119
	colm	33
	minus
	line	119
	colm	20
	invoke	2
	line	119
	colm	11
	asgn
	unmark
lab L13
	mark	L14
	pnull
	var	4
	var	10
	var	4
	var	8
	var	3
	pnull
	var	5
	var	1
	line	120
	colm	51
	minus
	line	120
	colm	33
	invoke	2
	line	120
	colm	19
	invoke	2
	line	120
	colm	12
	asgn
	unmark
lab L14
	mark	L15
	pnull
	var	5
	dup
	var	1
	line	121
	colm	16
	minus
	asgn
	unmark
lab L15
	mark	L16
	mark	L17
	var	3
	line	122
	colm	5
	pret
lab L17
	pfail
	unmark
lab L16
	pnull
	line	123
	colm	1
	pfail
	end
