.version sol 0.62.0

.macro constructor
DROP
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7_with_init_storage$
}
GETGLOB 6
THROWIF 51
OVER
PUSHCONT {
	LDREF
	LDREF
	LDREF
	LDREF
	ENDS
	CTOS
}
PUSHCONT {
	LDREF
	LDREF
	LDREF
}
IFELSE
LDMSGADDR
LDU 128
LDREF
ENDS
ROLL 5
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 27
ACCEPT
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 29
SETGLOB 11
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 31
PUSHINT 839183401
GETGLOB 10
NEWC
STONE
ROTREV
PUSHINT 32
DICTUSETB
DUP
SETGLOB 10
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 32
PUSHINT 1629421668
PUSHINT 263162756
XOR
PUSHINT 786351675
XOR
PUSHINT 1383720816
XOR
SWAP
NEWC
STONE
ROTREV
PUSHINT 32
DICTUSETB
SETGLOB 10
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 25
ACCEPT
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 27
SETGLOB 13
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 29
PUSHINT 618124789
GETGLOB 10
NEWC
STONE
ROTREV
PUSHINT 32
DICTUSETB
SETGLOB 10
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 0
SWAP2
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 41
OVER
HASHCU
PUSHREF {
}
HASHCU
NEQ
THROWIFNOT 103
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 42
ACCEPT
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 44
SWAP
SETGLOB 14
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 45
SETGLOB 15
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 47
GETGLOB 10
PUSHINT 1479945602
PUSHINT 880007004
XOR
PUSHINT 64331365
XOR
PUSHINT 348956614
XOR
PUSHINT 953907334
XOR
SWAP
NEWC
STONE
ROTREV
PUSHINT 32
DICTUSETB
SETGLOB 10
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 55
CALLREF {
	CALL $_deployIndexBasis_5852e463_internal_macro$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
SWAP
.loc ../contracts/access/OwnableInternal.tsol, 12
CALLREF {
	CALL $_transferOwnership_d29d44ee_internal_macro$
}
.loc ../contracts/Collection.tsol, 40
ACCEPT
.loc ../contracts/Collection.tsol, 41
PUSHINT 1000000000
PUSHINT 0
RAWRESERVE
.loc ../contracts/Collection.tsol, 42
SETGLOB 21
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.macro codeDepth
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 45
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $codeDepth_b85a2af4_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2476298822
	STUR 130
	STU 16
	ENDC
	PUSHINT 0
	SENDRAWMSG
}
PUSHCONT {
	DROP
}
IFELSE
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.globl	codeDepth_b85a2af4_internal
.type	codeDepth_b85a2af4_internal, @function
CALL $codeDepth_b85a2af4_internal_macro$

.macro codeDepth_b85a2af4_internal_macro
.loc ../contracts/Collection.tsol, 46
MYADDR
CALLREF {
	CALL $_buildNftCode_c58e679e_internal_macro$
}
CDEPTH
.loc ../contracts/Collection.tsol, 0

.macro mintNft
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 49
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDMSGADDR
LDREF
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $mintNft_11f87b19_internal_macro$
}
DROP
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.globl	mintNft_11f87b19_internal
.type	mintNft_11f87b19_internal, @function
CALL $mintNft_11f87b19_internal_macro$

.macro mintNft_11f87b19_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 31
GETGLOB 9
PARSEMSGADDR
INDEX 3
PLDU 256
NEQINT 0
DUP
PUSHCONT {
	DROP
	CALLREF {
		CALL $owner_8da5cb5b_internal_macro$
	}
	GETGLOB 9
	SDEQ
}
IF
THROWIFNOT 100
.loc ../contracts/access/OwnableInternal.tsol, 32
DEPTH
ADDCONST -2
PICK
THROWIFNOT 101
.loc ../contracts/Collection.tsol, 50
DEPTH
ADDCONST -2
PICK
GETGLOB 21
GETGLOB 16
MULCONST 2
UFITS 128
ADD
UFITS 128
PUSHINT 300000000
ADD
UFITS 128
GREATER
THROWIFNOT 104
.loc ../contracts/Collection.tsol, 54
PUSHINT 1000000000
PUSHINT 0
RAWRESERVE
.loc ../contracts/Collection.tsol, 55
PUSHINT 0
PUSHPOW2 7
CALLREF {
	CALL $_mintNft_f5866a07_internal_macro$
}
.loc ../contracts/Collection.tsol, 0

.macro totalMinted
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 58
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $totalMinted_a2309ff8_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2704398252
	STUR 130
	STU 256
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STU 256
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro totalMinted_a2309ff8_internal_macro
.loc ../contracts/Collection.tsol, 59
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 22
.loc ../contracts/Collection.tsol, 0

.macro batchMintNft
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 62
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDMSGADDR
LDU 32
LDDICT
ROTREV
PAIR
SWAP
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $batchMintNft_ee11d5a4_internal_macro$
}
DROP
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.globl	batchMintNft_ee11d5a4_internal
.type	batchMintNft_ee11d5a4_internal, @function
CALL $batchMintNft_ee11d5a4_internal_macro$

.macro batchMintNft_ee11d5a4_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 31
GETGLOB 9
PARSEMSGADDR
INDEX 3
PLDU 256
NEQINT 0
DUP
PUSHCONT {
	DROP
	CALLREF {
		CALL $owner_8da5cb5b_internal_macro$
	}
	GETGLOB 9
	SDEQ
}
IF
THROWIFNOT 100
.loc ../contracts/access/OwnableInternal.tsol, 32
DEPTH
ADDCONST -2
PICK
THROWIFNOT 101
.loc ../contracts/Collection.tsol, 63
DEPTH
ADDCONST -2
PICK
GETGLOB 21
PUSHINT 3000000000
ADD
UFITS 128
PUSH S2
FIRST
MUL
PUSHINT 1000000000
ADD
GREATER
THROWIFNOT 104
.loc ../contracts/Collection.tsol, 67
PUSHINT 1000000000
PUSHINT 0
RAWRESERVE
.loc ../contracts/Collection.tsol, 69
SECOND
PUSHINT 0
NULL
PUSHCONT {
	PUSH2 S1, S2
	PUSHINT 32
	DICTUGETREF
	NULLSWAPIFNOT
	DROP
	DUP
	POP S2
	ISNULL
	NOT
}
PUSHCONT {
	.loc ../contracts/Collection.tsol, 70
	PUSH2 S3, S0
	PUSHINT 3000000000
	PUSHINT 0
	CALLREF {
		CALL $_mintNft_f5866a07_internal_macro$
	}
	.loc ../contracts/Collection.tsol, 0
	OVER
	INC
	POP S2
}
WHILE
BLKDROP 4
.loc ../contracts/Collection.tsol, 0

.globl	_mintNft_f5866a07_internal
.type	_mintNft_f5866a07_internal, @function
CALL $_mintNft_f5866a07_internal_macro$

.macro _mintNft_f5866a07_internal_macro
.loc ../contracts/Collection.tsol, 76
GETGLOB 22
DUP
.loc ../contracts/Collection.tsol, 77
INC
SETGLOB 22
.loc ../contracts/Collection.tsol, 78
GETGLOB 12
INC
UFITS 128
SETGLOB 12
.loc ../contracts/Collection.tsol, 80
MYADDR
CALLREF {
	CALL $_buildNftCode_c58e679e_internal_macro$
}
.loc ../contracts/Collection.tsol, 81
OVER
CALLREF {
	CALL $_buildNftState_c971fdf8_internal_macro$
}
.loc ../contracts/Collection.tsol, 82
GETGLOB 14
GETGLOB 17
GETGLOB 16
ROLL 7
GETGLOB 21
GETGLOB 9
PUSH S10
ROLL 7
DUP
HASHCU
NEWC
STSLICECONST x801_
STU 256
ENDC
CTOS
ROLLREV 8
ROLL 11
PUSH S9
NEWC
STSLICECONST x62_
STSLICE
SWAP
STGRAMS
PUSHINT 3
STUR 107
OVER
CALLREF {
	CTOS
	LDI 1
	SWAP
	PUSHCONT {
		LDI 5
		NIP
	}
	IF
	LDI 1
	SWAP
	PUSHCONT {
		LDI 2
		NIP
	}
	IF
	LDOPTREF
	LDOPTREF
	LDDICT
	ENDS
	BLKDROP 3
}
STREF
STSLICECONST 1
ROLLREV 7
NEWC
STSLICECONST x0863f2f6
STSLICE
ROLLREV 6
NEWC
STSLICE
STU 128
STREF
STU 128
STU 128
STREF
STBREFR
STBREFR
ENDC
ROLL 3
SENDRAWMSG
.loc ../contracts/Collection.tsol, 92
GETGLOB 9
PUSH S3
BLKSWAP 3, 2
SWAP
PUSHSLICE xc0000000000000000000000001
NEWC
STSLICE
ROLLREV 5
NEWC
STSLICECONST x010e5db7
STU 256
STSLICE
ROLLREV 3
NEWC
STSLICE
ROTREV
NEWC
STSLICE
SWAP
NEWC
STSLICE
STBREFR
STBREFR
STBREFR
STBREFR
ENDC
PUSHINT 0
SENDRAWMSG
.loc ../contracts/Collection.tsol, 0

.macro setRemainOnNft
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 95
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDU 128
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $setRemainOnNft_02b98f09_internal_macro$
}
DROP
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.macro setRemainOnNft_02b98f09_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 31
GETGLOB 9
PARSEMSGADDR
INDEX 3
PLDU 256
NEQINT 0
DUP
PUSHCONT {
	DROP
	CALLREF {
		CALL $owner_8da5cb5b_internal_macro$
	}
	GETGLOB 9
	SDEQ
}
IF
THROWIFNOT 100
.loc ../contracts/access/OwnableInternal.tsol, 32
DEPTH
ADDCONST -2
PICK
THROWIFNOT 101
.loc ../contracts/Collection.tsol, 96
SETGLOB 21
.loc ../contracts/Collection.tsol, 0

.globl	_buildNftState_c971fdf8_internal
.type	_buildNftState_c971fdf8_internal, @function
CALL $_buildNftState_c971fdf8_internal_macro$

.macro _buildNftState_c971fdf8_internal_macro
.loc ../contracts/Collection.tsol, 106
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
NEWC
STU 256
PUSHINT 1
ROT
PUSHINT 64
DICTUSETB
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/Collection.tsol, 0

.macro resolveIndexCodeHash
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 109
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDMSGADDR
LDREF
ENDS
CTOS
LDMSGADDR
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $resolveIndexCodeHash_253cd2d2_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 4059563045
	STUR 130
	STU 256
	ENDC
	PUSHINT 0
	SENDRAWMSG
}
PUSHCONT {
	DROP
}
IFELSE
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.globl	resolveIndexCodeHash_253cd2d2_internal
.type	resolveIndexCodeHash_253cd2d2_internal, @function
CALL $resolveIndexCodeHash_253cd2d2_internal_macro$

.macro resolveIndexCodeHash_253cd2d2_internal_macro
.loc ../contracts/Collection.tsol, 110
CALLREF {
	CALL $_buildIndexCode_0065688c_internal_macro$
}
.loc ../contracts/Collection.tsol, 111
HASHCU
.loc ../contracts/Collection.tsol, 0

.macro acceptNftBurn
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/Collection.tsol, 114
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDU 256
LDMSGADDR
LDREF
ENDS
CTOS
LDMSGADDR
LDREF
ENDS
CTOS
LDMSGADDR
LDREF
ENDS
CTOS
LDMSGADDR
LDREF
ENDS
.loc ../contracts/Collection.tsol, 0
CALLREF {
	CALL $acceptNftBurn_7e293577_internal_macro$
}
DROP
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.macro acceptNftBurn_7e293577_internal_macro
.loc ../contracts/Collection.tsol, 122
GETGLOB 9
PARSEMSGADDR
INDEX 3
PLDU 256
NEQINT 0
DUP
PUSHCONT {
	DROP
	PUSH S5
	CALLREF {
		CALL $_resolveNft_2d542587_internal_macro$
	}
	GETGLOB 9
	SDEQ
}
IF
THROWIFNOT 100
.loc ../contracts/Collection.tsol, 124
GETGLOB 12
DEC
UFITS 128
SETGLOB 12
.loc ../contracts/Collection.tsol, 125
PUSH2 S3, S4
GETGLOB 9
PUSH S8
PUSHSLICE xc0000000000000000000000001
NEWC
STSLICE
ROLLREV 4
NEWC
STSLICECONST x60a04106
STU 256
STSLICE
ROTREV
NEWC
STSLICE
SWAP
NEWC
STSLICE
STBREFR
STBREFR
STBREFR
ENDC
PUSHINT 0
SENDRAWMSG
.loc ../contracts/Collection.tsol, 127
OVER
PARSEMSGADDR
INDEX 3
PLDU 256
PUSHCONT {
	.loc ../contracts/Collection.tsol, 128
	PUSH3 S0, S2, S3
	PUSH S7
	GETGLOB 9
	PUSH S10
	MYADDR
	PUSH S8
	FALSE
	NEWC
	STSLICECONST x6_
	STI 1
	STSLICECONST x1_
	STSLICE
	PUSHINT 1
	STUR 111
	ROLLREV 7
	NEWC
	STSLICECONST x44fe1599
	STSLICE
	STU 256
	ROLLREV 5
	NEWC
	STSLICE
	ROLLREV 4
	NEWC
	STSLICE
	ROLLREV 3
	NEWC
	STSLICE
	ROTREV
	NEWC
	STSLICE
	STREF
	STBREFR
	STBREFR
	STBREFR
	STBREFR
	STBREFR
}
PUSHCONT {
	.loc ../contracts/Collection.tsol, 142
	PUSH S2
	NEWC
	STSLICECONST x42_
	STSLICE
	PUSHINT 111
	STZEROES
}
IFELSE
ENDC
PUSHINT 66
SENDRAWMSG
.loc ../contracts/Collection.tsol, 0
BLKDROP 6

.macro owner
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/access/OwnableInternal.tsol, 15
ENDS
.loc ../contracts/access/OwnableInternal.tsol, 0
CALLREF {
	CALL $owner_8da5cb5b_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 1
	STUR 98
	SWAP
	NEWC
	STSLICECONST xdf0bcfde
	STSLICE
	STBREFR
	ENDC
	PUSHINT 0
	SENDRAWMSG
}
PUSHCONT {
	DROP
}
IFELSE
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.globl	owner_8da5cb5b_internal
.type	owner_8da5cb5b_internal, @function
CALL $owner_8da5cb5b_internal_macro$

.macro owner_8da5cb5b_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 16
GETGLOB 19
.loc ../contracts/access/OwnableInternal.tsol, 0

.macro transferOwnership
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/access/OwnableInternal.tsol, 19
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDMSGADDR
ENDS
.loc ../contracts/access/OwnableInternal.tsol, 0
CALLREF {
	CALL $transferOwnership_f2fde38b_internal_macro$
}
DROP
CALLREF {
	CALL $c7_to_c4$
}
THROW 0

.globl	transferOwnership_f2fde38b_internal
.type	transferOwnership_f2fde38b_internal, @function
CALL $transferOwnership_f2fde38b_internal_macro$

.macro transferOwnership_f2fde38b_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 31
GETGLOB 9
PARSEMSGADDR
INDEX 3
PLDU 256
NEQINT 0
DUP
PUSHCONT {
	DROP
	CALLREF {
		CALL $owner_8da5cb5b_internal_macro$
	}
	GETGLOB 9
	SDEQ
}
IF
THROWIFNOT 100
.loc ../contracts/access/OwnableInternal.tsol, 32
DEPTH
ADDCONST -2
PICK
THROWIFNOT 101
.loc ../contracts/access/OwnableInternal.tsol, 20
DUP
PARSEMSGADDR
INDEX 3
PLDU 256
THROWIFNOT 100
.loc ../contracts/access/OwnableInternal.tsol, 21
CALLREF {
	CALL $_transferOwnership_d29d44ee_internal_macro$
}
.loc ../contracts/access/OwnableInternal.tsol, 0

.globl	_transferOwnership_d29d44ee_internal
.type	_transferOwnership_d29d44ee_internal, @function
CALL $_transferOwnership_d29d44ee_internal_macro$

.macro _transferOwnership_d29d44ee_internal_macro
.loc ../contracts/access/OwnableInternal.tsol, 25
GETGLOB 19
.loc ../contracts/access/OwnableInternal.tsol, 26
OVER
SETGLOB 19
.loc ../contracts/access/OwnableInternal.tsol, 27
PUSHSLICE xc0000000000000000000000001
NEWC
STSLICE
ROTREV
NEWC
STSLICECONST x6115f072
STSLICE
SWAP
NEWC
STSLICE
STBREFR
STBREFR
ENDC
PUSHINT 0
SENDRAWMSG
.loc ../contracts/access/OwnableInternal.tsol, 0

.globl	_deployIndexBasis_5852e463_internal
.type	_deployIndexBasis_5852e463_internal, @function
CALL $_deployIndexBasis_5852e463_internal_macro$

.macro _deployIndexBasis_5852e463_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 63
GETGLOB 15
HASHCU
PUSHREF {
}
HASHCU
NEQ
THROWIFNOT 103
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 64
GETPARAM 7
FIRST
GETGLOB 18
GREATER
THROWIFNOT 100
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 66
CALLREF {
	CALL $_buildIndexBasisCode_789e5705_internal_macro$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 67
MYADDR
CALLREF {
	CALL $_buildIndexBasisState_a23ddf1c_internal_macro$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 68
DUP
HASHCU
NEWC
STSLICECONST x801_
STU 256
SWAP
GETGLOB 18
ROT
NEWC
STSLICECONST x62_
STB
SWAP
STGRAMS
PUSHINT 3
STUR 107
OVER
CALLREF {
	CTOS
	LDI 1
	SWAP
	PUSHCONT {
		LDI 5
		NIP
	}
	IF
	LDI 1
	SWAP
	PUSHCONT {
		LDI 2
		NIP
	}
	IF
	LDOPTREF
	LDOPTREF
	LDDICT
	ENDS
	BLKDROP 3
}
STREF
STSLICECONST x345aaf9fc_
ENDC
PUSHINT 0
SENDRAWMSG
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro indexBasisCode
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 72
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
CALLREF {
	CALL $indexBasisCode_d4988fdc_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 3627429250
	STUR 130
	STREF
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STREF
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro indexBasisCode_d4988fdc_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 73
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 15
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro indexBasisCodeHash
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 77
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
CALLREF {
	CALL $indexBasisCodeHash_9bc9aab8_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 3027490652
	STUR 130
	STU 256
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STU 256
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro indexBasisCodeHash_9bc9aab8_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 78
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 15
HASHCU
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro resolveIndexBasis
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 82
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
CALLREF {
	CALL $resolveIndexBasis_a28def97_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 1
	STUR 98
	SWAP
	NEWC
	STSLICECONST xb8db7886
	STSLICE
	STBREFR
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STSLICE
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro resolveIndexBasis_a28def97_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 83
CALLREF {
	CALL $_buildIndexBasisCode_789e5705_internal_macro$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 84
MYADDR
CALLREF {
	CALL $_buildIndexBasisState_a23ddf1c_internal_macro$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 85
HASHCU
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 86
MYADDR
PARSEMSGADDR
THIRD
NEWC
STSLICECONST x9_
STI 8
STU 256
ENDC
CTOS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 87
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.globl	_buildIndexBasisCode_789e5705_internal
.type	_buildIndexBasisCode_789e5705_internal, @function
CALL $_buildIndexBasisCode_789e5705_internal_macro$

.macro _buildIndexBasisCode_789e5705_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 95
PUSHREF {
	.blob x6e6674
}
NEWC
STREF
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 96
GETGLOB 15
CTOS
SWAP
ENDC

CALLREF {
	PUSH S1
	PUSHSLICE x8adb35
	SDEQ
	PUSHREFCONT {
		SWAP      ; salt sliceCode
		LDREF
		LDREF
		DROP         ; salt selfCallCode usualSelector
		XCHG S1, S2  ; selfCallCode salt usualSelector
		CTOS         ; selfCallCode salt usualSelector
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		NEWC        ; selfCallCode usualBuilder mainBuilder
		STSLICECONST x8adb35
		XCHG S1, S2 ; usualBuilder selfCallCode mainBuilder
		STREF
		STBREF
		ENDC
	}
	PUSHREFCONT {
		SWAP
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		ENDC
	}
	IFELSE
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.globl	_buildIndexBasisState_a23ddf1c_internal
.type	_buildIndexBasisState_a23ddf1c_internal, @function
CALL $_buildIndexBasisState_a23ddf1c_internal_macro$

.macro _buildIndexBasisState_a23ddf1c_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 107
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
PUSHINT 1
ROT
PUSHINT 64
DICTUSET
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro indexCode
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 115
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
CALLREF {
	CALL $indexCode_aee52235_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2211815013
	STUR 130
	STREF
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STREF
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro indexCode_aee52235_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 116
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 14
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro indexCodeHash
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 120
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0
CALLREF {
	CALL $indexCodeHash_bbb6b582_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2496440262
	STUR 130
	STU 256
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STU 256
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro indexCodeHash_bbb6b582_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 121
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 14
HASHCU
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.globl	_buildIndexCode_0065688c_internal
.type	_buildIndexCode_0065688c_internal, @function
CALL $_buildIndexCode_0065688c_internal_macro$

.macro _buildIndexCode_0065688c_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 131
PUSHREF {
	.blob x6e6674
}
NEWC
STREF
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 132
XCHG S1, S2
STSLICE
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 133
STSLICE
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 134
GETGLOB 14
CTOS
SWAP
ENDC

CALLREF {
	PUSH S1
	PUSHSLICE x8adb35
	SDEQ
	PUSHREFCONT {
		SWAP      ; salt sliceCode
		LDREF
		LDREF
		DROP         ; salt selfCallCode usualSelector
		XCHG S1, S2  ; selfCallCode salt usualSelector
		CTOS         ; selfCallCode salt usualSelector
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		NEWC        ; selfCallCode usualBuilder mainBuilder
		STSLICECONST x8adb35
		XCHG S1, S2 ; usualBuilder selfCallCode mainBuilder
		STREF
		STBREF
		ENDC
	}
	PUSHREFCONT {
		SWAP
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		ENDC
	}
	IFELSE
}
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.globl	_buildIndexState_27db62db_internal
.type	_buildIndexState_27db62db_internal, @function
CALL $_buildIndexState_27db62db_internal_macro$

.macro _buildIndexState_27db62db_internal_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 145
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
PUSHINT 1
ROT
PUSHINT 64
DICTUSET
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.globl	TIP4_3Collection__buildNftState_c971fdf8
.type	TIP4_3Collection__buildNftState_c971fdf8, @function
CALL $TIP4_3Collection__buildNftState_c971fdf8_macro$

.macro TIP4_3Collection__buildNftState_c971fdf8_macro
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 157
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
NEWC
STU 256
PUSHINT 1
ROT
PUSHINT 64
DICTUSETB
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/TIP4_3/TIP4_3Collection.tsol, 0

.macro getJson
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 35
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 0
CALLREF {
	CALL $getJson_f703db39_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2765608437
	STUR 130
	STREF
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STREF
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro getJson_f703db39_internal_macro
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 36
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 13
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 0

.globl	TIP4_2Collection__buildNftState_c971fdf8
.type	TIP4_2Collection__buildNftState_c971fdf8, @function
CALL $TIP4_2Collection__buildNftState_c971fdf8_macro$

.macro TIP4_2Collection__buildNftState_c971fdf8_macro
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 44
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
NEWC
STU 256
PUSHINT 1
ROT
PUSHINT 64
DICTUSETB
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/TIP4_2/TIP4_2Collection.tsol, 0

.macro totalSupply
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 42
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0
CALLREF {
	CALL $totalSupply_18160ddd_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 3776905316
	STUR 130
	STU 128
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STU 128
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro totalSupply_18160ddd_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 43
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 12
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.macro nftCode
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 48
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0
CALLREF {
	CALL $nftCode_6e5fc867_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2410646404
	STUR 130
	STREF
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STREF
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro nftCode_6e5fc867_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 49
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
MYADDR
CALLREF {
	CALL $_buildNftCode_c58e679e_internal_macro$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.macro nftCodeHash
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 54
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
ENDS
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0
CALLREF {
	CALL $nftCodeHash_c1102341_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2933835323
	STUR 130
	STU 256
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STU 256
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro nftCodeHash_c1102341_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 55
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
MYADDR
CALLREF {
	CALL $_buildNftCode_c58e679e_internal_macro$
}
HASHCU
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.macro nftAddress
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 62
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
OVER
PUSHCONT {
	LDREF
	ENDS
	CTOS
}
IF
LDU 256
ENDS
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0
CALLREF {
	CALL $nftAddress_f88fba8c_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 1
	STUR 98
	SWAP
	NEWC
	STSLICECONST xd279e770
	STSLICE
	STBREFR
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 1
	STUR 106
	SWAP
	NEWC
	GETGLOB 4
	INDEX 5
	STUR 32
	STSLICE
	STBREFR
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro nftAddress_f88fba8c_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 65
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
CALLREF {
	CALL $_resolveNft_2d542587_internal_macro$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.globl	_resolveNft_2d542587_internal
.type	_resolveNft_2d542587_internal, @function
CALL $_resolveNft_2d542587_internal_macro$

.macro _resolveNft_2d542587_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 73
MYADDR
CALLREF {
	CALL $_buildNftCode_c58e679e_internal_macro$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 74
SWAP
CALLREF {
	CALL $_buildNftState_c971fdf8_internal_macro$
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 75
HASHCU
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 76
MYADDR
PARSEMSGADDR
THIRD
NEWC
STSLICECONST x9_
STI 8
STU 256
ENDC
CTOS
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.globl	_buildNftCode_c58e679e_internal
.type	_buildNftCode_c58e679e_internal, @function
CALL $_buildNftCode_c58e679e_internal_macro$

.macro _buildNftCode_c58e679e_internal_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 85
NEWC
STSLICE
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 86
GETGLOB 11
CTOS
SWAP
ENDC

CALLREF {
	PUSH S1
	PUSHSLICE x8adb35
	SDEQ
	PUSHREFCONT {
		SWAP      ; salt sliceCode
		LDREF
		LDREF
		DROP         ; salt selfCallCode usualSelector
		XCHG S1, S2  ; selfCallCode salt usualSelector
		CTOS         ; selfCallCode salt usualSelector
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		NEWC        ; selfCallCode usualBuilder mainBuilder
		STSLICECONST x8adb35
		XCHG S1, S2 ; usualBuilder selfCallCode mainBuilder
		STREF
		STBREF
		ENDC
	}
	PUSHREFCONT {
		SWAP
		CALLREF {
			
			LDREFRTOS  ; selfCallCode salt restUsualSelector intSelector

			PUSHSLICE xF4A4_
			SDBEGINSX
			LDDICT     ; selfCallCode salt restUsualSelector dict intSelector
			LDU 10
			NIP
			DUP
			SREFS      ; selfCallCode salt restUsualSelector dict intSelector refs
			PUSHCONT {
				LDREF
			}
			PUSHCONT {
				PUSHREF {
				}
				SWAP
			}
			IFELSE
		                ; selfCallCode salt restUsualSelector dict version intSelector
			PUSHSLICE xF4A1
			SDBEGINSX
			DROP
			            ; selfCallCode salt restUsualSelector dict version
			SWAP        ; selfCallCode salt restUsualSelector version dict
			NEWC        ; selfCallCode salt restUsualSelector version dict builder
			STSLICECONST xF4A4_ ; DICTPUSHCONST
			STDICT
			PUSHINT 32
			STUR 10
			STSLICECONST xF4A1 ; DICTUGETJMP
			STREF       ; selfCallCode salt restUsualSelector builder
			XCHG S1, S2 ; selfCallCode restUsualSelector salt builder
			STREF       ; selfCallCode restUsualSelector builder
			NEWC        ; selfCallCode restUsualSelector builder usualBuilder
			STBREF      ; selfCallCode restUsualSelector usualBuilder
			STSLICE     ; selfCallCode usualBuilder

		}
		ENDC
	}
	IFELSE
}
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.globl	TIP4_1Collection__buildNftState_c971fdf8
.type	TIP4_1Collection__buildNftState_c971fdf8, @function
CALL $TIP4_1Collection__buildNftState_c971fdf8_macro$

.macro TIP4_1Collection__buildNftState_c971fdf8_macro
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 97
PUSHINT 0
NEWC
STU 256
PUSHINT 0
NEWDICT
PUSHINT 64
DICTUSETB
SWAP
NEWC
STU 256
PUSHINT 1
ROT
PUSHINT 64
DICTUSETB
NEWC
STDICT
ENDC
SWAP
NEWC
STSLICECONST x2_
STOPTREF
STOPTREF
STZERO
ENDC
.loc ../contracts/TIP4_1/TIP4_1Collection.tsol, 0

.macro supportsInterface
DROP
GETGLOB 6
THROWIFNOT 76
GETGLOB 2
ISNULL
IFREF {
	CALL $c4_to_c7$
}
.loc ../contracts/TIP6/TIP6.tsol, 13
LDU 32
GETGLOB 4
ROT
SETINDEXQ 5
SETGLOB 4
LDU 32
ENDS
.loc ../contracts/TIP6/TIP6.tsol, 0
CALLREF {
	CALL $supportsInterface_01ffc9a7_internal_macro$
}
OVER
PUSHCONT {
	PUSH S3
	CTOS
	LDU 2
	LDMSGADDR
	DROP
	NIP
	NEWC
	STSLICECONST xc
	STSLICE
	PUSHINT 2986667049
	STUR 130
	STI 1
	ENDC
	PUSHINT 0
}
PUSHCONT {
	GETGLOB 4
	DUP
	INDEX 3
	OVER
	THIRD
	GETGLOB 9
	ROLL 3
	SECOND
	NEWC
	STSLICECONST x2_
	STI 1
	STSLICECONST x1_
	STSLICE
	SWAP
	STGRAMS
	STDICT
	PUSHINT 106
	STZEROES
	GETGLOB 4
	INDEX 5
	STUR 32
	STI 1
	ENDC
	GETGLOB 4
	INDEX 4
}
IFELSE
SENDRAWMSG
IFREF {
	CALL $upd_only_time_in_c4$
}
THROW 0

.macro supportsInterface_01ffc9a7_internal_macro
.loc ../contracts/TIP6/TIP6.tsol, 22
GETGLOB 4
PUSHINT 0
SETINDEXQ 2
PUSHINT 64
SETINDEXQ 4
FALSE
SETINDEXQ 1
SETGLOB 4
GETGLOB 10
PUSHINT 32
DICTUGET
ZEROSWAPIFNOT
PUSHCONT {
	PLDI 1
}
IF
.loc ../contracts/TIP6/TIP6.tsol, 0

.macro c4_to_c7
PUSHROOT
CTOS
LDU 256 ; pubkey c4
LDU 64 ; pubkey timestamp c4
LDU 1 ; ctor flag
NIP
LDDICT
LDREF
LDU 128
LDREF
LDREF
ENDS
CTOS
LDREF
LDREF
LDU 128
LDU 128
LDU 128
LDMSGADDR
LDREF
ENDS
CTOS
LDU 64
LDU 128
LDU 256
ENDS
SETGLOB 22
SETGLOB 21
SETGLOB 20
SETGLOB 19
SETGLOB 18
SETGLOB 17
SETGLOB 16
SETGLOB 15
SETGLOB 14
SETGLOB 13
SETGLOB 12
SETGLOB 11
SETGLOB 10
SETGLOB 3
SETGLOB 2

.macro c4_to_c7_with_init_storage
PUSHROOT
CTOS
SBITS
GTINT 1
PUSHCONT {
	PUSHINT 0
	PUSHROOT
	CTOS
	PLDDICT ; D
	NEWDICT
	PUSHREF {
	}
	PUSHINT 0
	PUSHREF {
	}
	BLKPUSH 2, 0
	PUSHINT 0
	BLKPUSH 2, 0
	PUSHREFSLICE {
		.blob x8000000000000000000000000000000000000000000000000000000000000000001_
	}
	PUSHINT 1
	PUSH S11
	PUSHINT 64
	DICTUGET
	ZEROSWAPIFNOT
	PUSHCONT {
		PLDU 64
	}
	IF
	PUSHINT 0
	DUP
	SETGLOB 22
	SETGLOB 21
	SETGLOB 20
	SETGLOB 19
	SETGLOB 18
	SETGLOB 17
	SETGLOB 16
	SETGLOB 15
	SETGLOB 14
	SETGLOB 13
	SETGLOB 12
	SETGLOB 11
	SETGLOB 10
	PUSHINT 64
	DICTUGET
	THROWIFNOT 61
	PLDU 256
	SETGLOB 2
	PUSHINT 0 ; timestamp
	SETGLOB 3
	PUSHINT 150000000
	SETGLOB 16
	PUSHINT 100000000
	SETGLOB 17
	PUSHINT 400000000
	SETGLOB 18
}
IFREFELSE {
	CALL $c4_to_c7$
}

.macro c7_to_c4
GETGLOB 22
GETGLOB 21
GETGLOB 20
GETGLOB 19
GETGLOB 18
GETGLOB 17
GETGLOB 16
GETGLOB 15
GETGLOB 14
GETGLOB 13
GETGLOB 12
GETGLOB 11
GETGLOB 10
GETGLOB 3
GETGLOB 2
NEWC
STU 256
STU 64
STONE
STDICT
STREF
STU 128
STREF
ROLLREV 9
NEWC
STREF
STREF
STU 128
STU 128
STU 128
STSLICE
ROLLREV 3
NEWC
STU 64
STU 128
STU 256
STBREFR
STBREFR
ENDC
POPROOT

.macro upd_only_time_in_c4
PUSHROOT
CTOS
LDU 256
LDU 64
NIP
GETGLOB 3
ROT
NEWC
STU 256
STU 64
STSLICE
ENDC
POPROOT

.internal-alias :main_internal, 0
.internal :main_internal
PUSHROOT
CTOS
SBITS
NEQINT 1
SETGLOB 6
PUSH S2
CTOS
LDU 4 ; bounced tail
LDMSGADDR ; bounced src tail
DROP
SETGLOB 9
MODPOW2 1
GETGLOB 4
TRUE
SETINDEXQ 1
PUSHINT 10000000
SETINDEXQ 2
NULL
SETINDEXQ 3
PUSHINT 0
SETINDEXQ 4
SETGLOB 4
IFRET
OVER
SEMPTY ; isEmpty
IFJMPREF {
	GETGLOB 6
	THROWIFNOT 76
}
OVER
LDUQ 32  ; [funcId] body' ok
THROWIFNOT 60
OVER
IFNOTJMPREF {
	GETGLOB 6
	THROWIFNOT 76
}
SWAP
CALLREF {
	CALL $public_function_selector$
}
THROW 60

.internal-alias :main_external, -1
.internal :main_external
PUSHROOT
CTOS
SBITS
NEQINT 1
SETGLOB 6
PUSHREFSLICE {
	.blob x8000000000000000000000000000000000000000000000000000000000000000001_
}
SETGLOB 9
OVER
CALLREF {
	CALL $c4_to_c7_with_init_storage$
}
LDU 1 ; haveSign msgSlice
SWAP
PUSHCONT {
	PUSHPOW2 9
	LDSLICEX ; signatureSlice msgSlice
	DUP
	HASHSU ; signatureSlice msgSlice hashMsgSlice
	SWAP
	LDU 1 ; signatureSlice hashMsgSlice hasPubkey msgSlice
	SWAP
	PUSHCONT {
		LDU 256 ; signatureSlice hashMsgSlice pubkey msgSlice
		XCHG S3
		SWAP
	}
	PUSHCONT {
		XCHG S2
		GETGLOB 2
	}
	IFELSE
	CHKSIGNU ; msgSlice isSigned
	THROWIFNOT 40
}
PUSHCONT {
	LDU 1 ; hasPubkey msgSlice
	SWAP
	THROWIF 58
}
IFELSE
LDU 64 ; timestamp msgSlice
SWAP
CALL $replay_protection_macro$
LDU 32 ; expireAt msgSlice
SWAP
NOW ; msgSlice expireAt now
GREATER ; msgSlice expireAt>now
THROWIFNOT 57
LDU 32 ; funcId body
SWAP
CALLREF {
	CALL $public_function_selector$
}
THROW 60

.macro public_function_selector
DUP
PUSHINT 1420572995
LEQ
IFJMPREF {
	DUP
	PUSHINT 263331977
	LEQ
	IFJMPREF {
		DUP
		PUSHINT 64331365
		EQUAL
		IFJMPREF {
			CALL $indexCode$
		}
		DUP
		PUSHINT 235197086
		EQUAL
		IFJMPREF {
			CALL $transferOwnership$
		}
		DUP
		PUSHINT 263162756
		EQUAL
		IFJMPREF {
			CALL $nftCode$
		}
		DUP
		PUSHINT 263331977
		EQUAL
		IFJMPREF {
			CALL $batchMintNft$
		}
	}
	DUP
	PUSHINT 556914604
	LEQ
	IFJMPREF {
		DUP
		PUSHINT 328815174
		EQUAL
		IFJMPREF {
			CALL $codeDepth$
		}
		DUP
		PUSHINT 348956614
		EQUAL
		IFJMPREF {
			CALL $indexCodeHash$
		}
		DUP
		PUSHINT 460317608
		EQUAL
		IFJMPREF {
			CALL $acceptNftBurn$
		}
		DUP
		PUSHINT 556914604
		EQUAL
		IFJMPREF {
			CALL $totalMinted$
		}
	}
	DUP
	PUSHINT 852767119
	LEQ
	IFJMPREF {
		DUP
		PUSHINT 618124789
		EQUAL
		IFJMPREF {
			CALL $getJson$
		}
		DUP
		PUSHINT 786351675
		EQUAL
		IFJMPREF {
			CALL $nftCodeHash$
		}
		DUP
		PUSHINT 839183401
		EQUAL
		IFJMPREF {
			CALL $supportsInterface$
		}
		DUP
		PUSHINT 852767119
		EQUAL
		IFJMPREF {
			CALL $setRemainOnNft$
		}
	}
	DUP
	PUSHINT 1420572995
	LEQ
	IFJMPREF {
		DUP
		PUSHINT 880007004
		EQUAL
		IFJMPREF {
			CALL $indexBasisCodeHash$
		}
		DUP
		PUSHINT 953907334
		EQUAL
		IFJMPREF {
			CALL $resolveIndexBasis$
		}
		DUP
		PUSHINT 1383720816
		EQUAL
		IFJMPREF {
			CALL $nftAddress$
		}
		DUP
		PUSHINT 1420572995
		EQUAL
		IFJMPREF {
			CALL $constructor$
		}
	}
}
DUP
PUSHINT 1912079397
LEQ
IFJMPREF {
	DUP
	PUSHINT 1684047032
	LEQ
	IFJMPREF {
		DUP
		PUSHINT 1479945602
		EQUAL
		IFJMPREF {
			CALL $indexBasisCode$
		}
		DUP
		PUSHINT 1594609630
		EQUAL
		IFJMPREF {
			CALL $owner$
		}
		DUP
		PUSHINT 1629421668
		EQUAL
		IFJMPREF {
			CALL $totalSupply$
		}
		DUP
		PUSHINT 1684047032
		EQUAL
		IFJMPREF {
			CALL $mintNft$
		}
	}
	DUP
	PUSHINT 1912079397
	EQUAL
	IFJMPREF {
		CALL $resolveIndexCodeHash$
	}
}

