version	U12.1.00
uid	base64handler.u1-1786033024-0
record	mail__Base64Handler__state,3
	0,__s
	1,__m
	2,reason
record	mail__Base64Handler__methods,8
	0,can_handle
	1,decode_data
	2,encode_data
	3,initially
	4,error
	5,get_reason
	6,mail__EncodingHandler
	7,util__Error
impl	local
link	/usr/obj/ports/unicon-13.3beta1/unicon-0b8f99c2affe981f87639fc2577d2a68d05739ba/uni/lib/encodinghandler.u
link	/usr/obj/ports/unicon-13.3beta1/unicon-0b8f99c2affe981f87639fc2577d2a68d05739ba/uni/lib/error.u
global	13
	0,000001,mail__base64_string,0
	1,000001,mail__base64_cset,0
	2,000005,mail__Base64Handler_can_handle,2
	3,000005,mail__Base64Handler_decode_data,3
	4,000005,mail__Base64Handler_encode_data,3
	5,000005,mail__Base64Handler_initially,1
	6,000011,mail__Base64Handler__state,3
	7,000011,mail__Base64Handler__methods,8
	8,000001,mail__Base64Handler__oprec,0
	9,000001,mail__EncodingHandler__oprec,0
	10,000001,util__Error__oprec,0
	11,000005,mail__Base64Handler,0
	12,000005,mail__Base64Handlerinitialize,0

proc mail__Base64Handler_can_handle
	local	0,001000,self
	local	1,001000,enc
	local	2,000000,map
	con	0,010000,6,142,141,163,145,066,064
	declend
	filen	base64handler.icn
	line	13
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	2
	var	1
	line	14
	colm	19
	synt	any
	invoke	1
	str	0
	line	14
	colm	25
	synt	any
	lexeq
	line	14
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	15
	colm	1
	synt	any
	pfail
	end
proc mail__Base64Handler_decode_data
	local	0,001000,self
	local	1,001000,m
	local	2,001000,data
	local	3,000020,s
	local	4,000020,t
	local	5,000020,w
	local	6,000020,x
	local	7,000020,y
	local	8,000020,z
	local	9,000020,res
	local	10,000020,pad
	local	11,000040,n64
	local	12,000000,string
	local	13,000000,tab
	local	14,000000,upto
	local	15,000000,mail__base64_cset
	local	16,000000,many
	local	17,000000,repl
	local	18,000000,map
	local	19,000000,mail__base64_string
	local	20,000000,ord
	local	21,000000,move
	local	22,000000,char
	local	23,000000,ior
	local	24,000000,ishift
	local	25,000000,iand
	con	0,002000,1,1
	con	1,002000,2,64
	con	2,010000,0
	con	3,002000,1,0
	con	4,020000,1,075
	con	5,010000,1,000
	con	6,002000,1,2
	con	7,002000,1,4
	con	8,010000,27,102,141,144,154,171,040,146,157,162,155,141,164,164,145,144,040,102,141,163,145,066,064,040,144,141,164,141
	con	9,002000,3,255
	con	10,002000,1,6
	declend
	line	17
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	11
	pnull
	var	12
	line	22
	colm	26
	synt	any
	keywd	cset
	line	22
	colm	25
	synt	any
	invoke	1
	int	0
	dup
	int	1
	line	22
	colm	34
	synt	any
	plus
	synt	any
	sect
	line	22
	colm	14
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	4
	str	2
	line	26
	colm	9
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	10
	int	3
	line	27
	colm	11
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	var	2
	line	28
	colm	12
	synt	any
	bscan
	mark	L7
lab L8
	line	29
	colm	10
	synt	while
	mark0
	var	13
	var	14
	var	15
	line	29
	colm	28
	synt	any
	invoke	1
	line	29
	colm	21
	synt	any
	invoke	1
	unmark
	mark	L8
	pnull
	var	4
	dup
	var	13
	var	16
	var	15
	line	30
	colm	32
	synt	any
	invoke	1
	line	30
	colm	25
	synt	any
	invoke	1
	line	30
	colm	15
	synt	any
	cat
	asgn
lab L9
	unmark
	goto	L8
lab L10
	line	29
	colm	10
	synt	endwhile
	unmark
lab L7
lab L11
	line	31
	colm	10
	synt	while
	mark0
	var	13
	var	14
	cset	4
	line	31
	colm	28
	synt	any
	invoke	1
	line	31
	colm	21
	synt	any
	invoke	1
	unmark
	mark	L11
	mark	L14
	pnull
	var	3
	var	13
	var	16
	cset	4
	line	32
	colm	30
	synt	any
	invoke	1
	line	32
	colm	23
	synt	any
	invoke	1
	line	32
	colm	15
	synt	any
	asgn
	unmark
lab L14
	mark	L15
	pnull
	var	10
	dup
	pnull
	var	3
	line	33
	colm	21
	synt	any
	size
	line	33
	colm	17
	synt	any
	plus
	asgn
	unmark
lab L15
	pnull
	var	4
	dup
	var	17
	str	5
	pnull
	var	3
	line	34
	colm	35
	synt	any
	size
	line	34
	colm	26
	synt	any
	invoke	2
	line	34
	colm	15
	synt	any
	cat
	asgn
lab L12
	unmark
	goto	L11
lab L13
	line	31
	colm	10
	synt	endwhile
	line	28
	colm	12
	synt	any
	escan
	unmark
lab L6
	mark	L16
	line	38
	colm	7
	synt	if
	mark0
	mark	L17
	pnull
	var	10
	int	6
	line	38
	colm	15
	synt	any
	numgt
	line	38
	colm	20
	synt	any
	esusp
	goto	L18
lab L17
	pnull
	pnull
	pnull
	var	4
	line	38
	colm	23
	synt	any
	size
	int	7
	line	38
	colm	26
	synt	any
	mod
	int	3
	line	38
	colm	30
	synt	any
	numne
lab L18
	unmark
	mark	L19
	pnull
	var	0
	line	39
	colm	21
	synt	any
	field	error
	str	8
	line	39
	colm	27
	synt	any
	invoke	1
	line	39
	colm	10
	synt	any
	pret
lab L19
	synt	any
	pfail
	line	38
	colm	7
	synt	endif
	unmark
lab L16
	mark	L20
	pnull
	var	4
	var	18
	var	4
	var	19
	var	11
	line	41
	colm	17
	synt	any
	invoke	3
	line	41
	colm	9
	synt	any
	asgn
	unmark
lab L20
	mark	L21
	pnull
	var	9
	str	2
	line	43
	colm	11
	synt	any
	asgn
	unmark
lab L21
	mark	L22
	var	4
	line	44
	colm	9
	synt	any
	bscan
lab L23
	line	44
	colm	11
	synt	while
	mark0
	pushn1
	pnull
	var	5
	var	20
	var	21
	int	0
	line	44
	colm	36
	synt	any
	invoke	1
	line	44
	colm	29
	synt	any
	invoke	1
	line	44
	colm	21
	synt	any
	asgn
	pnull
	var	6
	var	20
	var	21
	int	0
	line	44
	colm	59
	synt	any
	invoke	1
	line	44
	colm	52
	synt	any
	invoke	1
	line	44
	colm	44
	synt	any
	asgn
	pnull
	var	7
	var	20
	var	21
	int	0
	line	44
	colm	82
	synt	any
	invoke	1
	line	44
	colm	75
	synt	any
	invoke	1
	line	44
	colm	67
	synt	any
	asgn
	pnull
	var	8
	var	20
	var	21
	int	0
	line	44
	colm	105
	synt	any
	invoke	1
	line	44
	colm	98
	synt	any
	invoke	1
	line	44
	colm	90
	synt	any
	asgn
	line	44
	colm	17
	synt	any
	invoke	4
	unmark
	mark	L23
	mark	L26
	pnull
	var	9
	dup
	var	22
	var	23
	var	24
	var	5
	int	6
	line	45
	colm	42
	synt	any
	invoke	2
	var	24
	var	6
	pnull
	int	7
	line	45
	colm	60
	synt	any
	neg
	line	45
	colm	57
	synt	any
	invoke	2
	line	45
	colm	32
	synt	any
	invoke	2
	line	45
	colm	25
	synt	any
	invoke	1
	line	45
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L26
	mark	L27
	pnull
	var	9
	dup
	var	22
	var	23
	var	25
	var	24
	var	6
	int	7
	line	46
	colm	49
	synt	any
	invoke	2
	int	9
	line	46
	colm	40
	synt	any
	invoke	2
	var	24
	var	7
	pnull
	int	6
	line	46
	colm	72
	synt	any
	neg
	line	46
	colm	69
	synt	any
	invoke	2
	line	46
	colm	32
	synt	any
	invoke	2
	line	46
	colm	25
	synt	any
	invoke	1
	line	46
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L27
	pnull
	var	9
	dup
	var	22
	var	23
	var	25
	var	24
	var	7
	int	10
	line	47
	colm	49
	synt	any
	invoke	2
	int	9
	line	47
	colm	40
	synt	any
	invoke	2
	var	8
	line	47
	colm	32
	synt	any
	invoke	2
	line	47
	colm	25
	synt	any
	invoke	1
	line	47
	colm	14
	synt	any
	cat
	asgn
lab L24
	unmark
	goto	L23
lab L25
	line	44
	colm	11
	synt	endwhile
	line	44
	colm	9
	synt	any
	escan
	unmark
lab L22
	mark	L28
	pnull
	pnull
	var	9
	int	3
	dup
	var	10
	line	50
	colm	13
	synt	any
	minus
	synt	any
	sect
	str	2
	line	50
	colm	21
	synt	any
	asgn
	unmark
lab L28
	mark	L29
	mark	L30
	var	9
	line	52
	colm	7
	synt	any
	pret
lab L30
	synt	any
	pfail
	unmark
lab L29
	pnull
	line	53
	colm	1
	synt	any
	pfail
	end
proc mail__Base64Handler_encode_data
	local	0,001000,self
	local	1,001000,m
	local	2,001000,data
	local	3,000020,i
	local	4,000020,j
	local	5,000020,k
	local	6,000020,pad
	local	7,000020,res
	local	8,000020,ll
	local	9,000000,repl
	local	10,000000,ord
	local	11,000000,move
	local	12,000000,mail__base64_string
	local	13,000000,ishift
	local	14,000000,ior
	local	15,000000,iand
	con	0,010000,0
	con	1,002000,1,0
	con	2,002000,1,3
	con	3,010000,1,000
	con	4,002000,1,1
	con	5,002000,1,2
	con	6,002000,1,4
	con	7,002000,2,15
	con	8,002000,1,6
	con	9,002000,2,63
	con	10,002000,2,19
	con	11,010000,2,015,012
	con	12,010000,1,075
	declend
	line	55
	colm	11
	synt	any
	mark	L1
	pnull
	var	7
	str	0
	line	58
	colm	11
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	8
	int	1
	line	59
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	6
	pnull
	pnull
	int	2
	pnull
	pnull
	var	2
	line	61
	colm	20
	synt	any
	size
	int	2
	line	61
	colm	26
	synt	any
	mod
	line	61
	colm	17
	synt	any
	minus
	int	2
	line	61
	colm	32
	synt	any
	mod
	line	61
	colm	11
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	2
	dup
	var	9
	str	3
	var	6
	line	63
	colm	23
	synt	any
	invoke	2
	line	63
	colm	12
	synt	any
	cat
	asgn
	unmark
lab L4
	mark	L5
	var	2
	line	65
	colm	12
	synt	any
	bscan
lab L6
	line	65
	colm	14
	synt	while
	mark0
	pushn1
	pnull
	var	3
	var	10
	var	11
	int	4
	line	65
	colm	38
	synt	any
	invoke	1
	line	65
	colm	31
	synt	any
	invoke	1
	line	65
	colm	23
	synt	any
	asgn
	pnull
	var	4
	var	10
	var	11
	int	4
	line	65
	colm	61
	synt	any
	invoke	1
	line	65
	colm	54
	synt	any
	invoke	1
	line	65
	colm	46
	synt	any
	asgn
	pnull
	var	5
	var	10
	var	11
	int	4
	line	65
	colm	84
	synt	any
	invoke	1
	line	65
	colm	77
	synt	any
	invoke	1
	line	65
	colm	69
	synt	any
	asgn
	line	65
	colm	20
	synt	any
	invoke	3
	unmark
	mark	L6
	mark	L9
	pnull
	var	7
	dup
	pnull
	var	12
	pnull
	int	4
	var	13
	var	3
	pnull
	int	5
	line	66
	colm	50
	synt	any
	neg
	line	66
	colm	47
	synt	any
	invoke	2
	line	66
	colm	40
	synt	any
	plus
	line	66
	colm	38
	synt	any
	subsc
	line	66
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	7
	dup
	pnull
	var	12
	pnull
	int	4
	var	14
	var	13
	var	15
	var	3
	int	2
	line	67
	colm	60
	synt	any
	invoke	2
	int	6
	line	67
	colm	53
	synt	any
	invoke	2
	var	13
	var	4
	pnull
	int	6
	line	67
	colm	81
	synt	any
	neg
	line	67
	colm	78
	synt	any
	invoke	2
	line	67
	colm	44
	synt	any
	invoke	2
	line	67
	colm	40
	synt	any
	plus
	line	67
	colm	38
	synt	any
	subsc
	line	67
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	7
	dup
	pnull
	var	12
	pnull
	int	4
	var	14
	var	13
	var	15
	var	4
	int	7
	line	68
	colm	60
	synt	any
	invoke	2
	int	5
	line	68
	colm	53
	synt	any
	invoke	2
	var	13
	var	5
	pnull
	int	8
	line	68
	colm	82
	synt	any
	neg
	line	68
	colm	79
	synt	any
	invoke	2
	line	68
	colm	44
	synt	any
	invoke	2
	line	68
	colm	40
	synt	any
	plus
	line	68
	colm	38
	synt	any
	subsc
	line	68
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	7
	dup
	pnull
	var	12
	pnull
	int	4
	var	15
	var	5
	int	9
	line	69
	colm	45
	synt	any
	invoke	2
	line	69
	colm	40
	synt	any
	plus
	line	69
	colm	38
	synt	any
	subsc
	line	69
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L12
	mark	L13
	pnull
	var	8
	dup
	int	4
	line	70
	colm	13
	synt	any
	plus
	asgn
	unmark
lab L13
	line	71
	colm	10
	synt	if
	mark0
	pnull
	var	8
	int	10
	line	71
	colm	16
	synt	any
	numeq
	unmark
	mark	L14
	pnull
	var	7
	dup
	str	11
	line	72
	colm	17
	synt	any
	cat
	asgn
	unmark
lab L14
	pnull
	var	8
	int	1
	line	73
	colm	16
	synt	any
	asgn
	line	71
	colm	10
	synt	endif
lab L7
	unmark
	goto	L6
lab L8
	line	65
	colm	14
	synt	endwhile
	line	65
	colm	12
	synt	any
	escan
	unmark
lab L5
	mark	L15
	pnull
	pnull
	var	7
	int	1
	dup
	var	6
	line	76
	colm	14
	synt	any
	minus
	synt	any
	sect
	pnull
	var	9
	str	12
	var	6
	line	76
	colm	32
	synt	any
	invoke	2
	str	11
	line	76
	colm	43
	synt	any
	cat
	line	76
	colm	23
	synt	any
	asgn
	unmark
lab L15
	mark	L16
	mark	L17
	var	7
	line	78
	colm	7
	synt	any
	pret
lab L17
	synt	any
	pfail
	unmark
lab L16
	pnull
	line	79
	colm	1
	synt	any
	pfail
	end
proc mail__Base64Handler_initially
	local	0,001000,self
	local	1,000000,mail__base64_string
	local	2,000000,mail__base64_cset
	local	3,000000,cset
	con	0,010000,2,053,057
	declend
	line	81
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	pnull
	var	1
	pnull
	pnull
	pnull
	line	83
	colm	31
	synt	any
	keywd	ucase
	line	83
	colm	39
	synt	any
	keywd	lcase
	line	83
	colm	37
	synt	any
	cat
	line	83
	colm	47
	synt	any
	keywd	digits
	line	83
	colm	45
	synt	any
	cat
	str	0
	line	83
	colm	55
	synt	any
	cat
	line	83
	colm	29
	synt	any
	asgn
	unmark
lab L4
	pnull
	var	2
	var	3
	var	1
	line	84
	colm	33
	synt	any
	invoke	1
	line	84
	colm	27
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L5
	mark	L6
	pnull
	line	86
	colm	7
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	87
	colm	1
	synt	any
	pfail
	end
proc mail__Base64Handler
	local	0,000020,self
	local	1,000020,clone
	local	2,000000,mail__Base64Handler__oprec
	local	3,000000,mail__Base64Handlerinitialize
	local	4,000000,mail__EncodingHandler__oprec
	local	5,000000,mail__EncodingHandlerinitialize
	local	6,000000,util__Error__oprec
	local	7,000000,util__Errorinitialize
	local	8,000000,mail__Base64Handler__state
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	2
	line	8
	colm	6
	synt	any
	null
	unmark
	var	3
	line	8
	colm	68
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L4
	mark	L5
	line	9
	colm	3
	synt	if
	mark0
	pnull
	var	4
	line	9
	colm	6
	synt	any
	null
	unmark
	var	5
	line	9
	colm	72
	synt	any
	invoke	0
	line	9
	colm	3
	synt	endif
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	2
	line	10
	colm	29
	synt	any
	field	mail__EncodingHandler
	var	4
	line	10
	colm	52
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	line	11
	colm	3
	synt	if
	mark0
	pnull
	var	6
	line	11
	colm	6
	synt	any
	null
	unmark
	var	7
	line	11
	colm	52
	synt	any
	invoke	0
	line	11
	colm	3
	synt	endif
	unmark
lab L7
	pnull
	pnull
	var	2
	line	12
	colm	29
	synt	any
	field	util__Error
	var	6
	line	12
	colm	42
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L8
	pnull
	var	0
	var	8
	line	14
	colm	38
	synt	any
	keywd	null
	var	2
	line	14
	colm	37
	synt	any
	invoke	2
	line	14
	colm	8
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	pnull
	pnull
	var	0
	line	15
	colm	7
	synt	any
	field	__s
	var	0
	line	15
	colm	12
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	mark	L11
	pnull
	pnull
	var	0
	line	16
	colm	7
	synt	any
	field	__m
	line	16
	colm	11
	synt	any
	field	initially
	var	0
	pnull
	line	16
	colm	21
	synt	any
	invoke	2
	line	16
	colm	29
	synt	any
	esusp
	goto	L12
lab L11
	line	16
	colm	31
	synt	any
	pfail
lab L12
	unmark
lab L10
	mark	L13
	mark	L14
	var	0
	line	17
	colm	3
	synt	any
	pret
lab L14
	synt	any
	pfail
	unmark
lab L13
	pnull
	line	18
	colm	1
	synt	any
	pfail
	end
proc mail__Base64Handlerinitialize
	local	0,000000,mail__Base64Handler__oprec
	local	1,000000,mail__Base64Handler__methods
	local	2,000000,mail__Base64Handler_can_handle
	local	3,000000,mail__Base64Handler_decode_data
	local	4,000000,mail__Base64Handler_encode_data
	local	5,000000,mail__Base64Handler_initially
	local	6,000000,util__Error_error
	local	7,000000,util__Error_get_reason
	declend
	line	20
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	var	5
	var	6
	var	7
	line	21
	colm	69
	synt	any
	invoke	6
	line	21
	colm	38
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	22
	colm	1
	synt	any
	pfail
	end
