proc pack_intrvl
	filen	enqueue.icn
	local	0,001000,n
	local	1,000020,e
	local	2,000000,integer
	local	3,000000,runerr
	local	4,000000,ishift
	con	0,002000,3,101
	con	1,002000,1,0
	con	2,002000,7,16r1000
	con	3,002000,1,4
	con	4,002000,2,16
	declend
	line	80
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	83
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	83
	colm	28
	invoke	2
lab L3
	line	83
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	0
	dup
	int	1
	line	84
	colm	6
	numlt
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	1
	int	1
	line	85
	colm	6
	asgn
	unmark
lab L5
	mark	L6
lab L7
	mark0
	pnull
	var	0
	int	2
	line	87
	colm	12
	numge
	unmark
	mark	L7
	mark	L10
	pnull
	var	0
	var	4
	var	0
	pnull
	int	3
	line	88
	colm	22
	neg
	line	88
	colm	18
	invoke	2
	line	88
	colm	9
	asgn
	unmark
lab L10
	pnull
	var	1
	dup
	int	2
	line	89
	colm	9
	plus
	asgn
lab L8
	unmark
	goto	L7
lab L9
	unmark
lab L6
	mark	L11
	mark	L12
	var	4
	pnull
	var	1
	var	0
	line	91
	colm	20
	plus
	int	4
	line	91
	colm	17
	invoke	2
	line	91
	colm	4
	pret
lab L12
	pfail
	unmark
lab L11
	pnull
	line	92
	colm	1
	pfail
	end
proc unpack_intrvl
	local	0,001000,n
	local	1,000020,e
	local	2,000000,integer
	local	3,000000,runerr
	local	4,000000,iand
	local	5,000000,ishift
	con	0,002000,3,101
	con	1,002000,2,28
	con	2,002000,1,7
	con	3,002000,2,16
	con	4,002000,6,16rFFF
	con	5,002000,1,4
	declend
	line	97
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	100
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	100
	colm	28
	invoke	2
lab L3
	line	100
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	var	4
	var	5
	var	0
	pnull
	int	1
	line	101
	colm	24
	neg
	line	101
	colm	20
	invoke	2
	int	2
	line	101
	colm	13
	invoke	2
	line	101
	colm	6
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	0
	var	4
	var	5
	var	0
	pnull
	int	3
	line	102
	colm	24
	neg
	line	102
	colm	20
	invoke	2
	int	4
	line	102
	colm	13
	invoke	2
	line	102
	colm	6
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	var	5
	var	0
	pnull
	int	5
	var	1
	line	103
	colm	23
	mult
	line	103
	colm	17
	invoke	2
	line	103
	colm	4
	pret
lab L7
	pfail
	unmark
lab L6
	pnull
	line	104
	colm	1
	pfail
	end
proc pack_modkeys
	local	0,001000,s
	local	1,000020,b
	local	2,000020,c
	local	3,000000,string
	local	4,000000,runerr
	local	5,000000,ior
	con	0,002000,1,0
	con	1,002000,3,103
	con	2,010000,1,143
	con	3,002000,8,16r10000
	con	4,010000,1,155
	con	5,002000,8,16r20000
	con	6,010000,1,163
	con	7,002000,8,16r40000
	con	8,002000,3,205
	declend
	line	109
	colm	11
	mark	L1
	pnull
	var	1
	int	0
	line	112
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	0
	mark	L3
	var	3
	var	0
	line	113
	colm	15
	invoke	1
	esusp
	goto	L4
lab L3
	var	4
	int	1
	var	0
	line	113
	colm	27
	invoke	2
lab L4
	line	113
	colm	6
	asgn
	unmark
lab L2
	mark	L5
	mark0
	pnull
	var	2
	pnull
	var	0
	line	114
	colm	15
	bang
	line	114
	colm	12
	asgn
	pop
	mark0
	mark0
	var	2
	eret
	mark	L9
	ccase
	str	2
	line	115
	colm	10
	eqv
	unmark
	pop
	pnull
	var	1
	var	5
	var	1
	int	3
	line	115
	colm	25
	invoke	2
	line	115
	colm	19
	asgn
	goto	L8
lab L9
	mark	L10
	ccase
	str	4
	line	116
	colm	10
	eqv
	unmark
	pop
	pnull
	var	1
	var	5
	var	1
	int	5
	line	116
	colm	25
	invoke	2
	line	116
	colm	19
	asgn
	goto	L8
lab L10
	mark	L11
	ccase
	str	6
	line	117
	colm	10
	eqv
	unmark
	pop
	pnull
	var	1
	var	5
	var	1
	int	7
	line	117
	colm	25
	invoke	2
	line	117
	colm	19
	asgn
	goto	L8
lab L11
	pop
	var	4
	int	8
	var	0
	line	118
	colm	23
	invoke	2
lab L8
	unmark
lab L6
	efail
lab L7
	unmark
lab L5
	mark	L12
	mark	L13
	var	1
	line	120
	colm	4
	pret
lab L13
	pfail
	unmark
lab L12
	pnull
	line	121
	colm	1
	pfail
	end
proc unpack_modkeys
	local	0,001000,n
	local	1,000020,s
	local	2,000000,integer
	local	3,000000,runerr
	local	4,000000,iand
	con	0,002000,3,101
	con	1,010000,0
	con	2,002000,8,16r10000
	con	3,002000,1,0
	con	4,010000,1,143
	con	5,002000,8,16r20000
	con	6,010000,1,155
	con	7,002000,8,16r40000
	con	8,010000,1,163
	declend
	line	126
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	129
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	129
	colm	28
	invoke	2
lab L3
	line	129
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	str	1
	line	130
	colm	6
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	4
	var	0
	int	2
	line	131
	colm	11
	invoke	2
	int	3
	line	131
	colm	25
	numne
	unmark
	pnull
	var	1
	dup
	str	4
	line	131
	colm	37
	cat
	asgn
	unmark
lab L5
	mark	L6
	mark0
	pnull
	var	4
	var	0
	int	5
	line	132
	colm	11
	invoke	2
	int	3
	line	132
	colm	25
	numne
	unmark
	pnull
	var	1
	dup
	str	6
	line	132
	colm	37
	cat
	asgn
	unmark
lab L6
	mark	L7
	mark0
	pnull
	var	4
	var	0
	int	7
	line	133
	colm	11
	invoke	2
	int	3
	line	133
	colm	25
	numne
	unmark
	pnull
	var	1
	dup
	str	8
	line	133
	colm	37
	cat
	asgn
	unmark
lab L7
	mark	L8
	mark	L9
	var	1
	line	134
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	135
	colm	1
	pfail
	end
proc Enqueue
	local	0,001000,win
	local	1,001000,eventcode
	local	2,001000,x
	local	3,001000,y
	local	4,001000,modkeys
	local	5,001000,interval
	local	6,000040,type
	local	7,000000,proc
	local	8,000000,WAttrib
	local	9,000000,put
	local	10,000000,Pending
	local	11,000000,ior
	local	12,000000,pack_modkeys
	local	13,000000,iand
	local	14,000000,pack_intrvl
	con	0,010000,4,164,171,160,145
	con	1,002000,1,0
	con	2,010000,6,167,151,156,144,157,167
	con	3,010000,2,144,170
	con	4,010000,2,144,171
	con	5,010000,0
	con	6,002000,7,16rFFFF
	declend
	line	140
	colm	11
	init	L1
	mark	L1
	pnull
	var	6
	var	7
	str	0
	int	1
	line	143
	colm	24
	invoke	2
	line	143
	colm	17
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	6
	var	0
	line	145
	colm	11
	invoke	1
	str	2
	line	145
	colm	17
	lexne
	unmark
	mark	L3
	pnull
	var	0
	pnull
	var	1
	pnull
	var	2
	pnull
	var	3
	pnull
	var	4
	var	5
	line	146
	colm	49
	swap
	line	146
	colm	37
	swap
	line	146
	colm	31
	swap
	line	146
	colm	25
	swap
	line	146
	colm	11
	swap
	unmark
lab L3
	pnull
	var	0
	line	147
	colm	14
	keywd	window
	line	147
	colm	11
	asgn
	unmark
lab L2
	mark	L4
	pnull
	pnull
	var	2
	line	149
	colm	4
	null
	int	1
	line	149
	colm	7
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	3
	line	150
	colm	4
	null
	int	1
	line	150
	colm	7
	asgn
	unmark
lab L5
	mark	L6
	pnull
	var	2
	dup
	var	8
	var	0
	str	3
	line	151
	colm	17
	invoke	2
	line	151
	colm	6
	plus
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	3
	dup
	var	8
	var	0
	str	4
	line	152
	colm	17
	invoke	2
	line	152
	colm	6
	plus
	asgn
	unmark
lab L7
	mark	L8
	mark	L9
	var	9
	var	10
	var	0
	line	153
	colm	22
	invoke	1
	var	1
	var	11
	var	12
	mark	L10
	pnull
	var	4
	line	155
	colm	24
	nonnull
	esusp
	goto	L11
lab L10
	str	5
lab L11
	line	155
	colm	23
	invoke	1
	var	13
	var	2
	int	6
	line	155
	colm	44
	invoke	2
	line	155
	colm	10
	invoke	2
	var	11
	var	14
	mark	L12
	pnull
	var	5
	line	156
	colm	23
	nonnull
	esusp
	goto	L13
lab L12
	int	1
lab L13
	line	156
	colm	22
	invoke	1
	var	13
	var	3
	int	6
	line	156
	colm	43
	invoke	2
	line	156
	colm	10
	invoke	2
	line	153
	colm	14
	invoke	4
	line	153
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	157
	colm	1
	pfail
	end
