version	U12.1.00
uid	dif.u1-1786032979-0
record	diff_rec,2
	0,pos
	1,diffs
record	diff_proc,2
	0,proc
	1,arg
record	diff_file,2
	0,stream
	1,queue
impl	error
invocable	0
global	6
	0,000011,diff_rec,2
	1,000011,diff_proc,2
	2,000011,diff_file,2
	3,000005,dif,4
	4,000005,diffread,1
	5,000005,groupfactor,1

proc dif
	local	0,001000,stream
	local	1,001000,compare
	local	2,001000,eof
	local	3,001000,group
	local	4,000020,f
	local	5,000020,linenbr
	local	6,000020,line
	local	7,000020,difflist
	local	8,000020,gf
	local	9,000020,i
	local	10,000020,j
	local	11,000020,k
	local	12,000020,l
	local	13,000020,m
	local	14,000020,n
	local	15,000020,x
	local	16,000020,test
	local	17,000020,result
	local	18,000020,synclist
	local	19,000020,nsyncs
	local	20,000020,syncpoint
	local	21,000000,proc
	local	22,000000,groupfactor
	local	23,000000,put
	local	24,000000,diff_file
	local	25,000000,list
	local	26,000000,diffread
	local	27,000000,diff_rec
	con	0,010000,3,075,075,075
	con	1,002000,1,2
	con	2,002000,1,0
	con	3,002000,1,1
	declend
	filen	dif.icn
	line	99
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	105
	colm	3
	synt	any
	null
	var	21
	str	0
	int	1
	line	105
	colm	19
	synt	any
	invoke	2
	line	105
	colm	12
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	3
	line	106
	colm	3
	synt	any
	null
	var	22
	line	106
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	pnull
	line	107
	colm	8
	synt	any
	llist	0
	line	107
	colm	5
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	line	108
	colm	3
	synt	every
	mark0
	var	23
	var	4
	var	24
	pnull
	var	0
	line	108
	colm	25
	synt	any
	bang
	pnull
	line	108
	colm	33
	synt	any
	llist	0
	line	108
	colm	24
	synt	any
	invoke	2
	line	108
	colm	12
	synt	any
	invoke	2
	pop
lab L5
	efail
lab L6
	line	108
	colm	3
	synt	endevery
	unmark
lab L4
	mark	L7
	pnull
	var	5
	var	25
	pnull
	var	0
	line	109
	colm	19
	synt	any
	size
	int	2
	line	109
	colm	18
	synt	any
	invoke	2
	line	109
	colm	11
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	6
	var	25
	pnull
	var	0
	line	110
	colm	16
	synt	any
	size
	line	110
	colm	15
	synt	any
	invoke	1
	line	110
	colm	8
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	16
	var	25
	pnull
	var	0
	line	111
	colm	16
	synt	any
	size
	line	111
	colm	15
	synt	any
	invoke	1
	line	111
	colm	8
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	7
	var	25
	pnull
	var	0
	line	112
	colm	20
	synt	any
	size
	line	112
	colm	19
	synt	any
	invoke	1
	line	112
	colm	12
	synt	any
	asgn
	unmark
lab L10
	mark	L11
	line	113
	colm	3
	synt	every
	mark0
	pnull
	pnull
	var	7
	line	113
	colm	9
	synt	any
	bang
	pnull
	line	113
	colm	22
	synt	any
	llist	0
	line	113
	colm	19
	synt	any
	asgn
	pop
lab L12
	efail
lab L13
	line	113
	colm	3
	synt	endevery
	unmark
lab L11
	mark	L14
lab L15
	line	117
	colm	3
	synt	repeat
	mark	L15
	mark	L18
lab L19
	line	124
	colm	5
	synt	repeat
	mark	L19
	mark	L22
	line	125
	colm	7
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	pnull
	var	0
	line	125
	colm	23
	synt	any
	size
	push1
	line	125
	colm	20
	synt	any
	toby
	line	125
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	var	6
	var	9
	line	126
	colm	13
	synt	any
	subsc
	mark	L25
	var	26
	pnull
	var	4
	var	9
	line	126
	colm	30
	synt	any
	subsc
	line	126
	colm	28
	synt	any
	invoke	1
	line	126
	colm	35
	synt	any
	esusp
	goto	L26
lab L25
	var	2
lab L26
	line	126
	colm	17
	synt	any
	asgn
	unmark
lab L23
	efail
lab L24
	line	125
	colm	7
	synt	endevery
	unmark
lab L22
	mark	L27
	line	127
	colm	7
	synt	if
	mark0
	mark	L28
	line	127
	colm	15
	synt	every
	mark0
	pnull
	var	15
	pnull
	var	6
	line	127
	colm	26
	synt	any
	bang
	line	127
	colm	23
	synt	any
	asgn
	pop
	mark0
	mark	L31
	pnull
	var	15
	var	2
	line	128
	colm	12
	synt	any
	eqv
	line	128
	colm	21
	synt	any
	esusp
	goto	L32
lab L31
	unmark
	unmark
	pnull
	goto	L30
lab L32
	unmark
lab L29
	efail
lab L30
	line	127
	colm	15
	synt	endevery
	unmark
	efail
lab L28
	pnull
	unmark
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L17
	goto	L21
	line	127
	colm	7
	synt	endif
	unmark
lab L27
	mark	L33
	line	129
	colm	7
	synt	every
	mark0
	pnull
	pnull
	var	5
	line	129
	colm	13
	synt	any
	bang
	dup
	int	3
	line	129
	colm	22
	synt	any
	plus
	asgn
	pop
lab L34
	efail
lab L35
	line	129
	colm	7
	synt	endevery
	unmark
lab L33
	line	130
	colm	7
	synt	if
	mark0
	line	130
	colm	11
	synt	every
	mark0
	pnull
	var	15
	pnull
	pnull
	var	6
	int	1
	int	2
	line	130
	colm	29
	synt	any
	synt	any
	sect
	line	130
	colm	22
	synt	any
	bang
	line	130
	colm	19
	synt	any
	asgn
	pop
	mark0
	mark	L38
	var	1
	var	15
	pnull
	var	6
	int	3
	line	131
	colm	23
	synt	any
	subsc
	line	131
	colm	16
	synt	any
	invoke	2
	line	131
	colm	28
	synt	any
	esusp
	goto	L39
lab L38
	unmark
	unmark
	pnull
	goto	L37
lab L39
	unmark
lab L36
	efail
lab L37
	line	130
	colm	11
	synt	endevery
	unmark
	unmark
	pnull
	goto	L21
	line	130
	colm	7
	synt	endif
lab L20
	unmark
	goto	L19
lab L21
	line	124
	colm	5
	synt	endrepeat
	unmark
lab L18
	mark	L40
	line	137
	colm	5
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	pnull
	var	0
	line	137
	colm	21
	synt	any
	size
	push1
	line	137
	colm	18
	synt	any
	toby
	line	137
	colm	13
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	var	7
	var	9
	line	138
	colm	15
	synt	any
	subsc
	pnull
	pnull
	var	6
	var	9
	line	138
	colm	27
	synt	any
	subsc
	line	138
	colm	22
	synt	any
	llist	1
	line	138
	colm	19
	synt	any
	asgn
	unmark
lab L41
	efail
lab L42
	line	137
	colm	5
	synt	endevery
	unmark
lab L40
	mark	L43
lab L44
	line	139
	colm	5
	synt	repeat
	mark	L44
	mark	L47
	line	145
	colm	7
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	pnull
	var	0
	line	145
	colm	23
	synt	any
	size
	push1
	line	145
	colm	20
	synt	any
	toby
	line	145
	colm	15
	synt	any
	asgn
	pop
	mark0
	var	23
	pnull
	var	7
	var	9
	line	146
	colm	21
	synt	any
	subsc
	mark	L50
	var	26
	pnull
	var	4
	var	9
	line	146
	colm	35
	synt	any
	subsc
	line	146
	colm	33
	synt	any
	invoke	1
	line	146
	colm	40
	synt	any
	esusp
	goto	L51
lab L50
	var	2
lab L51
	line	146
	colm	12
	synt	any
	invoke	2
	unmark
lab L48
	efail
lab L49
	line	145
	colm	7
	synt	endevery
	unmark
lab L47
	mark	L52
	pnull
	var	8
	var	3
	pnull
	pnull
	var	7
	int	3
	line	147
	colm	28
	synt	any
	subsc
	line	147
	colm	19
	synt	any
	size
	line	147
	colm	18
	synt	any
	invoke	1
	line	147
	colm	10
	synt	any
	asgn
	unmark
lab L52
	mark	L53
	line	148
	colm	7
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	pnull
	var	0
	line	148
	colm	23
	synt	any
	size
	push1
	line	148
	colm	20
	synt	any
	toby
	line	148
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	var	16
	var	9
	line	149
	colm	13
	synt	any
	subsc
	pnull
	pnull
	var	7
	var	9
	line	149
	colm	28
	synt	any
	subsc
	pnull
	var	8
	line	149
	colm	32
	synt	any
	neg
	int	2
	line	149
	colm	35
	synt	any
	synt	any
	sect
	line	149
	colm	17
	synt	any
	asgn
	unmark
lab L54
	efail
lab L55
	line	148
	colm	7
	synt	endevery
	unmark
lab L53
	mark	L56
	pnull
	var	10
	pnull
	pnull
	pnull
	pnull
	var	7
	int	3
	line	157
	colm	21
	synt	any
	subsc
	line	157
	colm	12
	synt	any
	size
	var	8
	line	157
	colm	25
	synt	any
	minus
	int	3
	line	157
	colm	30
	synt	any
	plus
	line	157
	colm	9
	synt	any
	asgn
	unmark
lab L56
	mark	L57
	pnull
	var	18
	var	25
	pnull
	var	0
	line	158
	colm	24
	synt	any
	size
	line	158
	colm	23
	synt	any
	invoke	1
	line	158
	colm	16
	synt	any
	asgn
	unmark
lab L57
	mark	L58
	line	159
	colm	7
	synt	every
	mark0
	pnull
	pnull
	var	18
	line	159
	colm	13
	synt	any
	bang
	var	25
	pnull
	var	0
	line	159
	colm	31
	synt	any
	size
	line	159
	colm	30
	synt	any
	invoke	1
	line	159
	colm	23
	synt	any
	asgn
	pop
lab L59
	efail
lab L60
	line	159
	colm	7
	synt	endevery
	unmark
lab L58
	mark	L61
	line	160
	colm	7
	synt	every
	mark0
	pnull
	var	11
	pnull
	int	3
	pnull
	var	0
	line	160
	colm	23
	synt	any
	size
	push1
	line	160
	colm	20
	synt	any
	toby
	line	160
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	18
	var	11
	line	161
	colm	17
	synt	any
	subsc
	var	11
	line	161
	colm	20
	synt	any
	subsc
	var	10
	line	161
	colm	24
	synt	any
	asgn
	unmark
lab L62
	efail
lab L63
	line	160
	colm	7
	synt	endevery
	unmark
lab L61
	mark	L64
	pnull
	var	19
	var	25
	pnull
	var	0
	line	162
	colm	22
	synt	any
	size
	int	3
	line	162
	colm	21
	synt	any
	invoke	2
	line	162
	colm	14
	synt	any
	asgn
	unmark
lab L64
	line	168
	colm	7
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	var	10
	push1
	line	168
	colm	20
	synt	any
	toby
	line	168
	colm	15
	synt	any
	asgn
	pop
	mark0
	line	172
	colm	9
	synt	every
	mark0
	pnull
	var	11
	pnull
	int	3
	pnull
	var	0
	line	172
	colm	25
	synt	any
	size
	push1
	line	172
	colm	22
	synt	any
	toby
	line	172
	colm	17
	synt	any
	asgn
	pop
	mark0
	line	176
	colm	11
	synt	every
	mark0
	pnull
	var	12
	pnull
	int	3
	pnull
	var	0
	line	176
	colm	27
	synt	any
	size
	push1
	line	176
	colm	24
	synt	any
	toby
	line	176
	colm	19
	synt	any
	asgn
	pop
	mark0
	line	177
	colm	13
	synt	if
	mark0
	pnull
	pnull
	pnull
	var	18
	var	11
	line	177
	colm	25
	synt	any
	subsc
	var	12
	line	177
	colm	28
	synt	any
	subsc
	line	177
	colm	16
	synt	any
	null
	unmark
	mark	L71
	pnull
	var	13
	pnull
	var	9
	int	3
	line	185
	colm	22
	synt	any
	minus
	line	185
	colm	17
	synt	any
	asgn
	unmark
lab L71
	line	186
	colm	15
	synt	if
	mark0
	mark	L72
	line	186
	colm	22
	synt	every
	mark0
	pnull
	var	14
	pnull
	int	3
	var	8
	push1
	line	186
	colm	35
	synt	any
	toby
	line	186
	colm	30
	synt	any
	asgn
	pop
	mark0
	line	187
	colm	17
	synt	if
	mark0
	mark	L75
	var	1
	pnull
	pnull
	var	16
	var	11
	line	187
	colm	36
	synt	any
	subsc
	var	14
	line	187
	colm	39
	synt	any
	subsc
	pnull
	pnull
	var	7
	var	12
	line	187
	colm	51
	synt	any
	subsc
	pnull
	var	13
	dup
	int	3
	line	187
	colm	57
	synt	any
	plus
	asgn
	line	187
	colm	54
	synt	any
	subsc
	line	187
	colm	31
	synt	any
	invoke	2
	unmark
	efail
lab L75
	pnull
	unmark
	unmark
	unmark
	pnull
	goto	L74
	line	187
	colm	17
	synt	endif
	unmark
lab L73
	efail
lab L74
	line	186
	colm	22
	synt	endevery
	unmark
	efail
lab L72
	pnull
	unmark
	mark	L76
	pnull
	pnull
	pnull
	var	18
	var	11
	line	189
	colm	25
	synt	any
	subsc
	var	12
	line	189
	colm	28
	synt	any
	subsc
	var	9
	line	189
	colm	32
	synt	any
	asgn
	unmark
lab L76
	line	190
	colm	17
	synt	if
	mark0
	pnull
	pnull
	pnull
	var	19
	var	11
	line	190
	colm	27
	synt	any
	subsc
	dup
	int	3
	line	190
	colm	31
	synt	any
	plus
	asgn
	pnull
	var	0
	line	190
	colm	40
	synt	any
	size
	line	190
	colm	38
	synt	any
	numeq
	unmark
	unmark
	unmark
	unmark
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L46
	goto	L66
	goto	L68
	goto	L70
	line	190
	colm	17
	synt	endif
	line	186
	colm	15
	synt	endif
	line	177
	colm	13
	synt	endif
	unmark
lab L69
	efail
lab L70
	line	176
	colm	11
	synt	endevery
	unmark
lab L67
	efail
lab L68
	line	172
	colm	9
	synt	endevery
	unmark
lab L65
	efail
lab L66
	line	168
	colm	7
	synt	endevery
lab L45
	unmark
	goto	L44
lab L46
	line	139
	colm	5
	synt	endrepeat
	unmark
lab L43
	mark	L77
	pnull
	var	18
	pnull
	var	18
	var	11
	line	202
	colm	25
	synt	any
	subsc
	line	202
	colm	14
	synt	any
	asgn
	unmark
lab L77
	mark	L78
	pnull
	var	17
	var	25
	pnull
	var	0
	line	203
	colm	20
	synt	any
	size
	line	203
	colm	19
	synt	any
	invoke	1
	line	203
	colm	12
	synt	any
	asgn
	unmark
lab L78
	mark	L79
	line	204
	colm	5
	synt	every
	mark0
	pnull
	var	9
	pnull
	int	3
	pnull
	var	0
	line	204
	colm	21
	synt	any
	size
	push1
	line	204
	colm	18
	synt	any
	toby
	line	204
	colm	13
	synt	any
	asgn
	pop
	mark0
	mark	L82
	pnull
	var	10
	pnull
	var	18
	var	9
	line	205
	colm	20
	synt	any
	subsc
	line	205
	colm	9
	synt	any
	asgn
	unmark
lab L82
	mark	L83
lab L84
	line	206
	colm	7
	synt	while
	mark0
	pnull
	pnull
	pnull
	var	7
	var	9
	line	206
	colm	21
	synt	any
	subsc
	pnull
	var	10
	dup
	int	3
	line	206
	colm	27
	synt	any
	minus
	asgn
	line	206
	colm	24
	synt	any
	subsc
	var	2
	line	206
	colm	34
	synt	any
	eqv
lab L85
	unmark
	goto	L84
lab L86
	line	206
	colm	7
	synt	endwhile
	unmark
lab L83
	mark	L87
	pnull
	pnull
	var	17
	var	9
	line	207
	colm	13
	synt	any
	subsc
	var	27
	pnull
	var	5
	var	9
	line	207
	colm	36
	synt	any
	subsc
	pnull
	pnull
	var	7
	var	9
	line	207
	colm	48
	synt	any
	subsc
	int	3
	pnull
	var	10
	int	3
	line	207
	colm	56
	synt	any
	plus
	line	207
	colm	53
	synt	any
	synt	any
	sect
	line	207
	colm	28
	synt	any
	invoke	2
	line	207
	colm	17
	synt	any
	asgn
	unmark
lab L87
	mark	L88
	pnull
	pnull
	pnull
	var	4
	var	9
	line	208
	colm	8
	synt	any
	subsc
	line	208
	colm	11
	synt	any
	field	queue
	pnull
	pnull
	pnull
	var	7
	var	9
	line	208
	colm	29
	synt	any
	subsc
	pnull
	pnull
	var	18
	var	9
	line	208
	colm	41
	synt	any
	subsc
	var	8
	line	208
	colm	45
	synt	any
	plus
	int	2
	line	208
	colm	49
	synt	any
	synt	any
	sect
	pnull
	pnull
	var	4
	var	9
	line	208
	colm	58
	synt	any
	subsc
	line	208
	colm	61
	synt	any
	field	queue
	line	208
	colm	53
	synt	any
	lconcat
	line	208
	colm	18
	synt	any
	asgn
	unmark
lab L88
	mark	L89
	pnull
	pnull
	var	5
	var	9
	line	209
	colm	14
	synt	any
	subsc
	dup
	pnull
	pnull
	pnull
	var	18
	var	9
	line	209
	colm	30
	synt	any
	subsc
	var	8
	line	209
	colm	34
	synt	any
	plus
	int	1
	line	209
	colm	39
	synt	any
	minus
	line	209
	colm	18
	synt	any
	plus
	asgn
	unmark
lab L89
	pnull
	pnull
	var	7
	var	9
	line	210
	colm	15
	synt	any
	subsc
	pnull
	line	210
	colm	22
	synt	any
	llist	0
	line	210
	colm	19
	synt	any
	asgn
	unmark
lab L80
	efail
lab L81
	line	204
	colm	5
	synt	endevery
	unmark
lab L79
	line	212
	colm	5
	synt	suspend
	mark0
	var	17
	line	212
	colm	5
	synt	any
	psusp
	pop
lab L90
	efail
lab L91
	line	212
	colm	5
	synt	endsuspend
lab L16
	unmark
	goto	L15
lab L17
	line	117
	colm	3
	synt	endrepeat
	unmark
lab L14
	pnull
	line	214
	colm	1
	synt	any
	pfail
	end
proc diffread
	local	0,001000,f
	local	1,000020,x
	local	2,000000,get
	local	3,000000,type
	local	4,000000,read
	con	0,010000,4,146,151,154,145
	con	1,010000,6,167,151,156,144,157,167
	con	2,010000,13,143,157,055,145,170,160,162,145,163,163,151,157,156
	con	3,010000,9,144,151,146,146,137,160,162,157,143
	con	4,010000,4,154,151,163,164
	declend
	line	219
	colm	11
	synt	any
	mark	L1
	mark	L2
	mark	L3
	var	2
	pnull
	var	0
	line	221
	colm	15
	synt	any
	field	queue
	line	221
	colm	13
	synt	any
	invoke	1
	line	221
	colm	23
	synt	any
	esusp
	goto	L4
lab L3
	line	221
	colm	25
	synt	case
	mark0
	var	3
	pnull
	var	1
	pnull
	var	0
	line	221
	colm	41
	synt	any
	field	stream
	line	221
	colm	37
	synt	any
	asgn
	line	221
	colm	34
	synt	any
	invoke	1
	eret
	mark	L6
	ccase
	mark	L7
	str	0
	line	222
	colm	12
	synt	any
	esusp
	goto	L8
lab L7
	str	1
lab L8
	line	222
	colm	22
	synt	any
	eqv
	unmark
	pop
	var	4
	var	1
	line	222
	colm	28
	synt	any
	invoke	1
	goto	L5
lab L6
	mark	L9
	ccase
	str	2
	line	223
	colm	20
	synt	any
	eqv
	unmark
	pop
	pnull
	var	1
	line	223
	colm	22
	synt	any
	coact
	goto	L5
lab L9
	mark	L10
	ccase
	str	3
	line	224
	colm	16
	synt	any
	eqv
	unmark
	pop
	pnull
	var	1
	line	224
	colm	19
	synt	any
	field	proc
	pnull
	var	1
	line	224
	colm	26
	synt	any
	field	arg
	line	224
	colm	24
	synt	any
	invoke	1
	goto	L5
lab L10
	mark	L11
	ccase
	str	4
	line	225
	colm	11
	synt	any
	eqv
	unmark
	pop
	var	2
	var	1
	line	225
	colm	16
	synt	any
	invoke	1
	goto	L5
lab L11
	efail
lab L5
	line	221
	colm	25
	synt	endcase
lab L4
	line	221
	colm	3
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	227
	colm	1
	synt	any
	pfail
	end
proc groupfactor
	local	0,001000,m
	local	1,000000,string
	con	0,002000,1,2
	con	1,010000,9,063,061,066,062,062,067,067,066,066
	con	2,002000,1,1
	con	3,002000,1,0
	declend
	line	234
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	var	1
	var	0
	line	235
	colm	14
	synt	any
	invoke	1
	line	235
	colm	5
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	pnull
	int	0
	pnull
	var	0
	line	236
	colm	14
	synt	any
	size
	line	236
	colm	12
	synt	any
	mult
	line	236
	colm	19
	synt	ifelse
	mark	L4
	pnull
	var	0
	pnull
	str	1
	int	2
	dup
	pnull
	var	0
	line	236
	colm	43
	synt	any
	size
	line	236
	colm	41
	synt	any
	plus
	synt	any
	sect
	line	236
	colm	24
	synt	any
	lexle
	unmark
	int	3
	goto	L5
lab L4
	int	2
lab L5
	line	236
	colm	19
	synt	endifelse
	line	236
	colm	17
	synt	any
	plus
	line	236
	colm	3
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	237
	colm	1
	synt	any
	pfail
	end
