{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x905c5ff75c58213d6e873D5BE576e3479456c9f4",
			"source": "SafeDecimalMath",
			"link": "https://goerli.etherscan.io/address/0x905c5ff75c58213d6e873D5BE576e3479456c9f4",
			"timestamp": "2020-09-25T00:15:35.572Z",
			"txn": "",
			"network": "goerli"
		},
		"Math": {
			"name": "Math",
			"address": "0x5F010E3010d46cBdE975e65D97Ec3C12bB83D1ae",
			"source": "Math",
			"link": "https://goerli.etherscan.io/address/0x5F010E3010d46cBdE975e65D97Ec3C12bB83D1ae",
			"timestamp": "2020-09-25T00:15:35.855Z",
			"txn": "",
			"network": "goerli"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0xCDe046E1c635d2D9F69E2081d46732d249c8465F",
			"source": "AddressResolver",
			"link": "https://goerli.etherscan.io/address/0xCDe046E1c635d2D9F69E2081d46732d249c8465F",
			"timestamp": "2020-09-25T00:15:36.613Z",
			"txn": "",
			"network": "goerli"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x5f3D814ccA40b364c38655E30aE94905146c938D",
			"source": "ReadProxy",
			"link": "https://goerli.etherscan.io/address/0x5f3D814ccA40b364c38655E30aE94905146c938D",
			"timestamp": "2020-09-25T00:15:36.841Z",
			"txn": "",
			"network": "goerli"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0x541A50739e35078aBF4Ce890DBE887e75A8B5Db4",
			"source": "FlexibleStorage",
			"link": "https://goerli.etherscan.io/address/0x541A50739e35078aBF4Ce890DBE887e75A8B5Db4",
			"timestamp": "2020-09-25T00:15:37.748Z",
			"txn": "",
			"network": "goerli"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0xF3B9E277095eacB82Fc565AF41fa334F422f1cc8",
			"source": "SystemSettings",
			"link": "https://goerli.etherscan.io/address/0xF3B9E277095eacB82Fc565AF41fa334F422f1cc8",
			"timestamp": "2020-10-13T21:40:35.835Z",
			"txn": "",
			"network": "goerli"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0xEeF008BFEC2E89FA833F764059442Cc06a006903",
			"source": "SystemStatus",
			"link": "https://goerli.etherscan.io/address/0xEeF008BFEC2E89FA833F764059442Cc06a006903",
			"timestamp": "2020-09-25T00:15:38.375Z",
			"txn": "",
			"network": "goerli"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0xaDA5F96e7fc44523E4d1c14DF7D79e3A9708dBc6",
			"source": "ExchangeRates",
			"link": "https://goerli.etherscan.io/address/0xaDA5F96e7fc44523E4d1c14DF7D79e3A9708dBc6",
			"timestamp": "2020-11-20T16:16:10.675Z",
			"txn": "",
			"network": "goerli"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0xD5290dad339b7e6e05Fe3B93BAd20480d84e7a43",
			"source": "RewardEscrow",
			"link": "https://goerli.etherscan.io/address/0xD5290dad339b7e6e05Fe3B93BAd20480d84e7a43",
			"timestamp": "2020-09-25T00:15:39.267Z",
			"txn": "",
			"network": "goerli"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x7E9E608a8167aC07BfDBb871B3eF59356c72B3d9",
			"source": "PeriFinanceEscrow",
			"link": "https://goerli.etherscan.io/address/0x7E9E608a8167aC07BfDBb871B3eF59356c72B3d9",
			"timestamp": "2020-09-25T00:15:39.495Z",
			"txn": "",
			"network": "goerli"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0x15Bd1F44324c9A6960CA286e4F985D6109063B08",
			"source": "PeriFinanceState",
			"link": "https://goerli.etherscan.io/address/0x15Bd1F44324c9A6960CA286e4F985D6109063B08",
			"timestamp": "2020-09-25T00:15:39.754Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xc0c03aC23ee7E4aB81C4b8ccC32e5EA2e247709E",
			"source": "Proxy",
			"link": "https://goerli.etherscan.io/address/0xc0c03aC23ee7E4aB81C4b8ccC32e5EA2e247709E",
			"timestamp": "2020-09-25T00:15:39.950Z",
			"txn": "",
			"network": "goerli"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x86cC20E50BeC265E43855389b5BC5B95CB065668",
			"source": "EternalStorage",
			"link": "https://goerli.etherscan.io/address/0x86cC20E50BeC265E43855389b5BC5B95CB065668",
			"timestamp": "2020-09-25T00:15:40.349Z",
			"txn": "",
			"network": "goerli"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x299A0df558B16B31d7E911651637f4C8109CCdb0",
			"source": "DelegateApprovals",
			"link": "https://goerli.etherscan.io/address/0x299A0df558B16B31d7E911651637f4C8109CCdb0",
			"timestamp": "2020-09-25T00:15:40.572Z",
			"txn": "",
			"network": "goerli"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x26C8b55fFa1f1bE8b44c971C78d666715Ab876e4",
			"source": "Liquidations",
			"link": "https://goerli.etherscan.io/address/0x26C8b55fFa1f1bE8b44c971C78d666715Ab876e4",
			"timestamp": "2020-09-25T00:15:41.362Z",
			"txn": "",
			"network": "goerli"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x3c1ec450eEE19F0374D9025421645845cF9bF28c",
			"source": "EternalStorage",
			"link": "https://goerli.etherscan.io/address/0x3c1ec450eEE19F0374D9025421645845cF9bF28c",
			"timestamp": "2020-09-25T00:15:41.595Z",
			"txn": "",
			"network": "goerli"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x4160D670f33D6a45bFb4009C8E958004651dfCA6",
			"source": "FeePoolEternalStorage",
			"link": "https://goerli.etherscan.io/address/0x4160D670f33D6a45bFb4009C8E958004651dfCA6",
			"timestamp": "2020-09-25T00:15:42.646Z",
			"txn": "",
			"network": "goerli"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0xDD130ed8644E42D7f961711543D6601c07a291B7",
			"source": "FeePool",
			"link": "https://goerli.etherscan.io/address/0xDD130ed8644E42D7f961711543D6601c07a291B7",
			"timestamp": "2020-09-25T00:15:42.999Z",
			"txn": "",
			"network": "goerli"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x6D4Cb3495739DA23edC585f9dd91343641Ac1940",
			"source": "FeePoolState",
			"link": "https://goerli.etherscan.io/address/0x6D4Cb3495739DA23edC585f9dd91343641Ac1940",
			"timestamp": "2020-09-25T00:15:43.925Z",
			"txn": "",
			"network": "goerli"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x557c7C8d97526E65D007262267d6F25F35489c1D",
			"source": "RewardsDistribution",
			"link": "https://goerli.etherscan.io/address/0x557c7C8d97526E65D007262267d6F25F35489c1D",
			"timestamp": "2020-09-25T00:15:44.721Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
			"timestamp": "2020-09-25T00:15:45.022Z",
			"txn": "",
			"network": "goerli"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
			"source": "TokenState",
			"link": "https://goerli.etherscan.io/address/0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
			"timestamp": "2020-09-25T00:15:45.657Z",
			"txn": "",
			"network": "goerli"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0xa1Ad2d2Bcc5bDf8c48840e11a71297B15F610Fe1",
			"source": "MintablePeriFinance",
			"link": "https://goerli.etherscan.io/address/0xa1Ad2d2Bcc5bDf8c48840e11a71297B15F610Fe1",
			"timestamp": "2020-11-20T16:16:13.885Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxyPeriFinance": {
			"name": "ProxyPeriFinance",
			"address": "0x86272D814a997a46EB21fF56DBfE21921b2C0406",
			"source": "Proxy",
			"link": "https://goerli.etherscan.io/address/0x86272D814a997a46EB21fF56DBfE21921b2C0406",
			"timestamp": "2020-09-25T00:15:46.796Z",
			"txn": "",
			"network": "goerli"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0x1c1335475Aa4Ad3d937c5df4954E4f3677Da48a6",
			"source": "Exchanger",
			"link": "https://goerli.etherscan.io/address/0x1c1335475Aa4Ad3d937c5df4954E4f3677Da48a6",
			"timestamp": "2020-11-20T16:16:18.613Z",
			"txn": "",
			"network": "goerli"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0x75EbcFA47ABE47b012061D045c53017E55b94C6e",
			"source": "ExchangeState",
			"link": "https://goerli.etherscan.io/address/0x75EbcFA47ABE47b012061D045c53017E55b94C6e",
			"timestamp": "2020-09-25T00:15:48.079Z",
			"txn": "",
			"network": "goerli"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0xF45B14ddaBF0F0e275E215b94dD24Ae013a27F12",
			"source": "Issuer",
			"link": "https://goerli.etherscan.io/address/0xF45B14ddaBF0F0e275E215b94dD24Ae013a27F12",
			"timestamp": "2020-11-20T16:16:22.674Z",
			"txn": "",
			"network": "goerli"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x45602503BF457df5D206e9E800Da4B786d6BC5dc",
			"source": "TradingRewards",
			"link": "https://goerli.etherscan.io/address/0x45602503BF457df5D206e9E800Da4B786d6BC5dc",
			"timestamp": "2020-09-25T00:15:49.929Z",
			"txn": "",
			"network": "goerli"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x48364120c2330e780678ACb6da7C98B6842C5679",
			"source": "EscrowChecker",
			"link": "https://goerli.etherscan.io/address/0x48364120c2330e780678ACb6da7C98B6842C5679",
			"timestamp": "2020-09-25T00:15:50.451Z",
			"txn": "",
			"network": "goerli"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x159B105D8f9F1341C7aAAafF19aFb569c17297F3",
			"source": "FixedSupplySchedule",
			"link": "https://goerli.etherscan.io/address/0x159B105D8f9F1341C7aAAafF19aFb569c17297F3",
			"timestamp": "2020-09-25T00:15:51.485Z",
			"txn": "",
			"network": "goerli"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0xc081FB7104e7eC62bfdaE4983A782b110b162C39",
			"source": "TokenState",
			"link": "https://goerli.etherscan.io/address/0xc081FB7104e7eC62bfdaE4983A782b110b162C39",
			"timestamp": "2020-09-25T00:15:52.920Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxypUSD": {
			"name": "ProxypUSD",
			"address": "0xd5cCFDD54E82E2aceFF1cF5479a925228380a503",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0xd5cCFDD54E82E2aceFF1cF5479a925228380a503",
			"timestamp": "2020-09-25T00:15:53.118Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0x85a02d90B62c454d69eE1F3660BA5c2135Da0cd2",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0x85a02d90B62c454d69eE1F3660BA5c2135Da0cd2",
			"timestamp": "2020-09-25T00:15:53.419Z",
			"txn": "",
			"network": "goerli"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0xF0DCA25941c5Fd1D440868a41a5581898e6d6d07",
			"source": "Pynth",
			"link": "https://goerli.etherscan.io/address/0xF0DCA25941c5Fd1D440868a41a5581898e6d6d07",
			"timestamp": "2020-09-25T00:15:53.654Z",
			"txn": "",
			"network": "goerli"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x02831AFf776e03aD633E518f167c21a0d9d587fC",
			"source": "EmptyEtherCollateral",
			"link": "https://goerli.etherscan.io/address/0x02831AFf776e03aD633E518f167c21a0d9d587fC",
			"timestamp": "2020-09-25T00:15:55.605Z",
			"txn": "",
			"network": "goerli"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0x1b022bA8333d6b942FC02917D86564855Bd5F3B9",
			"source": "EmptyEtherCollateral",
			"link": "https://goerli.etherscan.io/address/0x1b022bA8333d6b942FC02917D86564855Bd5F3B9",
			"timestamp": "2020-09-25T00:15:55.796Z",
			"txn": "",
			"network": "goerli"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0xa88f384F338f7d80510faf1e35B2633719f51289",
			"source": "PynthUtil",
			"link": "https://goerli.etherscan.io/address/0xa88f384F338f7d80510faf1e35B2633719f51289",
			"timestamp": "2020-09-25T00:15:56.289Z",
			"txn": "",
			"network": "goerli"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x2cab1E6f4c055EF765724165c85eAEA6Fc8725cc",
			"source": "DappMaintenance",
			"link": "https://goerli.etherscan.io/address/0x2cab1E6f4c055EF765724165c85eAEA6Fc8725cc",
			"timestamp": "2020-09-25T00:15:56.588Z",
			"txn": "",
			"network": "goerli"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0xa6e5DA838D3b8338783E0710E1D5F6C8e8E998CE",
			"source": "RealtimeDebtCache",
			"link": "https://goerli.etherscan.io/address/0xa6e5DA838D3b8338783E0710E1D5F6C8e8E998CE",
			"timestamp": "2020-11-20T16:16:16.436Z",
			"txn": "",
			"network": "goerli"
		},
		"PeriFinanceBridgeToBase": {
			"name": "PeriFinanceBridgeToBase",
			"address": "0x5A081fa7e3483504385e7C804AB1509499e2A408",
			"source": "PeriFinanceBridgeToBase",
			"link": "https://goerli.etherscan.io/address/0x5A081fa7e3483504385e7C804AB1509499e2A408",
			"timestamp": "2020-12-03T00:26:12.697Z",
			"txn": "",
			"network": "goerli"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61013b610056600b82828239805160001a60731461001957fe5b5a63996d79a5598160e01b8152602081600483336000905af180610043576040513d6000823e3d81fd5b81519350505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af18061003e576040513d6000823e3d81fd5b815193505050501460806040526004361061009c5760003560e01c8063313ce567146100a1578063864029e7146100bf578063907af6c0146100d95780639d8e2177146100e1578063d5e5e6e6146100e9578063def4419d146100f1575b600080fd5b6100a96100f9565b60405160ff909116815260200160405180910390f35b6100c76100fe565b60405190815260200160405180910390f35b6100c761010e565b6100c761011a565b6100c7610126565b6100a9610136565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			],
			"source": {
				"keccak256": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
				"urls": [
					"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
					"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
						"urls": [
							"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
							"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "604f610055600b82828239805160001a60731461001857fe5b5a63996d79a5598160e01b8152602081600483336000905af180610042576040513d6000823e3d81fd5b81519350505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af180603d576040513d6000823e3d81fd5b81519350505050146080604052600080fd",
			"abi": [],
			"source": {
				"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
				"urls": [
					"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
					"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
						"urls": [
							"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
							"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610b05380380610b058339818101604052602081101561003357600080fd5b8101908080519250829150506001600160a01b0381166100995760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100a761011a565b816001600160a01b0302191690836001600160a01b03160217906100c9610152565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061018c565b6320966208598160e01b8152836004820152602081602483336000905af180610149576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610187576040513d6000823e3d81fd5b505050565b61096a8061019b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353a47bb71161006657806353a47bb71461013357806379ba50971461013b5780638da5cb5b14610143578063ab0b8f771461014b578063dacb2d011461020d57610093565b80631627540c14610098578063187f7935146100c057806321f8a721146100f95780635145606114610116575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610284565b005b6100dd600480360360208110156100d657600080fd5b50356102fe565b6040516001600160a01b03909116815260200160405180910390f35b6100dd6004803603602081101561010f57600080fd5b503561032b565b6100dd6004803603602081101561012c57600080fd5b503561035b565b6100dd610478565b6100be610484565b6100dd6105fe565b6100be6004803603604081101561016157600080fd5b81019060208101813564010000000081111561017c57600080fd5b82018360208201111561018e57600080fd5b803590602001918460208302840111640100000000831117156101b057600080fd5b9193909290916020810190356401000000008111156101ce57600080fd5b8201836020820111156101e057600080fd5b8035906020019184602083028401116401000000008311171561020257600080fd5b509092509050610609565b6100dd6004803603604081101561022357600080fd5b8135919081019060408101602082013564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506106ef565b61028c610777565b80600180806102996107eb565b816001600160a01b0302191690836001600160a01b03160217906102bb610823565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6002602052806000526040600020600091506103186107eb565b906101000a90046001600160a01b031681565b60008181526002602052604081206000906103446107eb565b906101000a90046001600160a01b03169050919050565b6524b9b9bab2b960d11b60009081526002602052806040812060009061037f6107eb565b6001600160a01b036101009290920a9004169050806103e45760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015260640160405180910390fd5b806001600160a01b03166332608039846040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610426610858565b15801561043257600080fd5b505a61043c610887565b5050505050158015610452573d6000803e3d6000fd5b505050506040513d602081101561046857600080fd5b8101908080519695505050505050565b600060016103186107eb565b600060016104906107eb565b906101000a90046001600160a01b03166001600160a01b03165a6104b26108dc565b6001600160a01b0316146104f75760405162461bcd60e51b81526004018080602001828103825260358152602001806109066035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806105236107eb565b906101000a90046001600160a01b031660016000906105406107eb565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161057f6107eb565b906101000a90046001600160a01b03166000806101000a8161059f6107eb565b816001600160a01b0302191690836001600160a01b03160217906105c1610823565b5050506000600160006101000a816105d76107eb565b816001600160a01b0302191690836001600160a01b03160217906105f9610823565b505050565b6000806103186107eb565b610611610777565b8281146106645760405162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015260640160405180910390fd5b60005b838110156106e85782828281811061067b57fe5b905060200201356001600160a01b03166002600087878581811061069b57fe5b9050602002013581526020019081526020016000206001816106bb6107eb565b816001600160a01b0302191690836001600160a01b03160217906106dd610823565b505050600101610667565b5050505050565b6000838152600260205280604081206000906107096107eb565b6001600160a01b036101009290920a900416905083838261076c5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152601f01601f19169091019450604093505050505180910390fd5b509095945050505050565b6000806107826107eb565b906101000a90046001600160a01b03166001600160a01b03165a6107a46108dc565b6001600160a01b0316146107e95760405162461bcd60e51b815260040180806020018281038252602f81526020018061093b602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af18061081a576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806105f9576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af18061081a576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b878110156108b757808701518282016024015260200161089c565b5088888860240183336000905af1806108d6576040513d6000823e3d81fd5b98505050565b6373509064598160e01b8152602081600483336000905af18061081a576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f8a721"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getPynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x51456061"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x187f7935"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "reason",
							"type": "string"
						}
					],
					"name": "requireAndGetAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdacb2d01"
				}
			],
			"source": {
				"keccak256": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
				"urls": [
					"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
					"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
						"urls": [
							"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
							"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516107433803806107438339818101604052602081101561003357600080fd5b8101908080519250829150506001600160a01b0381166100995760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100a761011a565b816001600160a01b0302191690836001600160a01b03160217906100c9610152565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061018c565b6320966208598160e01b8152836004820152602081602483336000905af180610149576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610187576040513d6000823e3d81fd5b505050565b6105a88061019b6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461009957806353a47bb7146100c1578063776d1a01146100e557806379ba50971461010b5780638da5cb5b14610113578063d4b839921461011b575b36600080376000803660006002610077610458565b5a610080610490565b50505050503d6000803e80610094573d6000fd5b3d6000f35b6100bf600480360360208110156100af57600080fd5b50356001600160a01b0316610123565b005b6100c961019d565b6040516001600160a01b03909116815260200160405180910390f35b6100bf600480360360208110156100fb57600080fd5b50356001600160a01b03166101bc565b6100bf610253565b6100c96103cd565b6100c96103d8565b61012b6103e4565b8060018080610138610458565b816001600160a01b0302191690836001600160a01b031602179061015a6104e5565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060016101a9610458565b906101000a90046001600160a01b031681565b6101c46103e4565b8060026001816101d2610458565b816001600160a01b0302191690836001600160a01b03160217906101f46104e5565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e6002600090610225610458565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b6000600161025f610458565b906101000a90046001600160a01b03166001600160a01b03165a61028161051a565b6001600160a01b0316146102c65760405162461bcd60e51b81526004018080602001828103825260358152602001806105446035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806102f2610458565b906101000a90046001600160a01b0316600160009061030f610458565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161034e610458565b906101000a90046001600160a01b03166000806101000a8161036e610458565b816001600160a01b0302191690836001600160a01b03160217906103906104e5565b5050506000600160006101000a816103a6610458565b816001600160a01b0302191690836001600160a01b03160217906103c86104e5565b505050565b6000806101a9610458565b600060026101a9610458565b6000806103ef610458565b906101000a90046001600160a01b03166001600160a01b03165a61041161051a565b6001600160a01b0316146104565760405162461bcd60e51b815260040180806020018281038252602f815260200180610579602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af180610487576040513d6000823e3d81fd5b81519450505050565b63fbb0f79d598160e01b815284600482015260005b878110156104c05780870151828201602401526020016104a5565b5088888860240183336000905af1806104df576040513d6000823e3d81fd5b98505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806103c8576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180610487576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
				"urls": [
					"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
					"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
						"urls": [
							"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
							"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002fb538038062002fb5833981810160405260208110156200003757600080fd5b810190808051925082915081905060006001816200005462000083565b816001600160a01b0302191690836001600160a01b031602179062000078620000bc565b5050505050620000f7565b6320966208598160e01b8152836004820152602081602483336000905af180620000b3576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620000f2576040513d6000823e3d81fd5b505050565b612eae80620001076000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c5578063f7833c5d146109fc578063f9c39d2f14610a1f578063fdfc4c1314610ae4576101c3565b8063c89eb562146108ba578063d658d2e91461097f578063d71a9b011461099c576101c3565b8063ab15985d116100d3578063ab15985d146106e8578063b67fa7ed146107ad578063c13a2b0c14610822578063c4f610ed14610897576101c3565b80638ca0adaf1461062d5780638f6b95a3146106a25780639ee5955a146106c5576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105375780635bda91e2146105695780636a59e495146105945780638408a5e5146105b8576101c3565b806335ab2708146104245780633bd6ad89146104475780633f28a6fc1461050c576101c3565b80631625e3ef116101a25780631625e3ef1461038057806318f662ed146103a35780631d5b277f146103c657806323257c2b146103ef576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b07565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610c35565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610dde565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561036c578082015183820152602001610354565b505050509050019250505060405180910390f35b6101f16004803603604081101561039657600080fd5b5080359060200135610e99565b6101f1600480360360408110156103b957600080fd5b50803590602001356110a4565b6101f1600480360360608110156103dc57600080fd5b5080359060208101359060400135611288565b6104126004803603604081101561040557600080fd5b50803590602001356113af565b60405190815260200160405180910390f35b6101f16004803603604081101561043a57600080fd5b50803590602001356113f4565b6101f16004803603606081101561045d57600080fd5b81359190810190604081016020820135600160201b81111561047e57600080fd5b82018360208201111561049057600080fd5b803590602001918460208302840111600160201b831117156104b157600080fd5b919390929091602081019035600160201b8111156104ce57600080fd5b8201836020820111156104e057600080fd5b803590602001918460208302840111600160201b8311171561050157600080fd5b5090925090506115b0565b6101f16004803603606081101561052257600080fd5b50803590602081013590604001351515611758565b6101f16004803603606081101561054d57600080fd5b50803590602081013590604001356001600160a01b031661187f565b6101f16004803603606081101561057f57600080fd5b508035906020810135906040013515156119a6565b61059c611bcd565b6040516001600160a01b03909116815260200160405180910390f35b61032d600480360360408110156105ce57600080fd5b81359190810190604081016020820135600160201b8111156105ef57600080fd5b82018360208201111561060157600080fd5b803590602001918460208302840111600160201b8311171561062257600080fd5b509092509050611beb565b61032d6004803603604081101561064357600080fd5b81359190810190604081016020820135600160201b81111561066457600080fd5b82018360208201111561067657600080fd5b803590602001918460208302840111600160201b8311171561069757600080fd5b509092509050611c9b565b6101f1600480360360408110156106b857600080fd5b5080359060200135611d6b565b61059c600480360360408110156106db57600080fd5b5080359060200135611f80565b6101f1600480360360608110156106fe57600080fd5b81359190810190604081016020820135600160201b81111561071f57600080fd5b82018360208201111561073157600080fd5b803590602001918460208302840111600160201b8311171561075257600080fd5b919390929091602081019035600160201b81111561076f57600080fd5b82018360208201111561078157600080fd5b803590602001918460208302840111600160201b831117156107a257600080fd5b509092509050611fd9565b61032d600480360360408110156107c357600080fd5b81359190810190604081016020820135600160201b8111156107e457600080fd5b8201836020820111156107f657600080fd5b803590602001918460208302840111600160201b8311171561081757600080fd5b509092509050612178565b61032d6004803603604081101561083857600080fd5b81359190810190604081016020820135600160201b81111561085957600080fd5b82018360208201111561086b57600080fd5b803590602001918460208302840111600160201b8311171561088c57600080fd5b509092509050612228565b610412600480360360408110156108ad57600080fd5b50803590602001356122ea565b6101f1600480360360608110156108d057600080fd5b81359190810190604081016020820135600160201b8111156108f157600080fd5b82018360208201111561090357600080fd5b803590602001918460208302840111600160201b8311171561092457600080fd5b919390929091602081019035600160201b81111561094157600080fd5b82018360208201111561095357600080fd5b803590602001918460208302840111600160201b8311171561097457600080fd5b509092509050612303565b6104126004803603602081101561099557600080fd5b50356124a2565b6101f1600480360360608110156109b257600080fd5b50803590602081013590604001356124bd565b6109e8600480360360408110156109db57600080fd5b50803590602001356125e4565b604051901515815260200160405180910390f35b61041260048036036040811015610a1257600080fd5b5080359060200135612637565b6101f160048036036060811015610a3557600080fd5b81359190810190604081016020820135600160201b811115610a5657600080fd5b820183602082011115610a6857600080fd5b803590602001918460208302840111600160201b83111715610a8957600080fd5b919390929091602081019035600160201b811115610aa657600080fd5b820183602082011115610ab857600080fd5b803590602001918460208302840111600160201b83111715610ad957600080fd5b509092509050612650565b6101f160048036036040811015610afa57600080fd5b50803590602001356127f1565b8260008080610b14612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680610b7e612d50565b158015610b8a57600080fd5b505a610b94612d7f565b5050505050158015610baa573d6000803e3d6000fd5b505050506040513d6020811015610bc057600080fd5b81019080805193505050505a610bd4612dd4565b6001600160a01b0316816001600160a01b031614610c235760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b610c2e8585856129ad565b5050505050565b8460008080610c42612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680610cac612d50565b158015610cb857600080fd5b505a610cc2612d7f565b5050505050158015610cd8573d6000803e3d6000fd5b505050506040513d6020811015610cee57600080fd5b81019080805193505050505a610d02612dd4565b6001600160a01b0316816001600160a01b031614610d515760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b848314610d925760405162461bcd60e51b81526020600482015260186024820152600080516020612e8e833981519152604482015260640160405180910390fd5b60005b85811015610dd457610dcc88888884818110610dad57fe5b90506020020135878785818110610dc057fe5b90506020020135612a31565b600101610d95565b5050505050505050565b60608082604051908082528060200260200182016040528015610e0b578160200160208202803883390190505b506000868152600160205290915060038160408120610e28612d18565b8152602001908152602001600020905060005b84811015610e8e57816000878784818110610e5257fe5b905060200201358152602001908152602001600020610e6f612d18565b838281518110610e7b57fe5b6020908102919091010152600101610e3b565b509095945050505050565b8160008080610ea6612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680610f10612d50565b158015610f1c57600080fd5b505a610f26612d7f565b5050505050158015610f3c573d6000803e3d6000fd5b505050506040513d6020811015610f5257600080fd5b81019080805193505050505a610f66612dd4565b6001600160a01b0316816001600160a01b031614610fb55760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b6000848152600160205260058160408120610fce612d18565b8152602001908152602001600020600085815260209190915260409020600090610ff6612d18565b906101000a900460ff1690507f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c858583604051928352602083019190915215156040808301919091526060909101905180910390a16000858152600160205260059060408120611064612d18565b815260200190815260200160002060008581526020919091526040902060018161108c612d18565b9060ff0219169061109b612dfd565b50505050505050565b81600080806110b1612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e386028913960400192505050602060405180830381868061111b612d50565b15801561112757600080fd5b505a611131612d7f565b5050505050158015611147573d6000803e3d6000fd5b505050506040513d602081101561115d57600080fd5b81019080805193505050505a611171612dd4565b6001600160a01b0316816001600160a01b0316146111c05760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b60008481526001602052600281604081206111d9612d18565b81526020019081526020016000206000858152602091909152604090206111fe612d18565b90507f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d466285858360405180848152602001838152602001828152602001935050505060405180910390a16000858152600160205260029060408120611260612d18565b815260200190815260200160002060008581526020919091526040902060009061109b612dfd565b8260008080611295612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e38602891396040019250505060206040518083038186806112ff612d50565b15801561130b57600080fd5b505a611315612d7f565b505050505015801561132b573d6000803e3d6000fd5b505050506040513d602081101561134157600080fd5b81019080805193505050505a611355612dd4565b6001600160a01b0316816001600160a01b0316146113a45760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b610c2e858585612a31565b60008281526001602052600281604081206113c8612d18565b81526020019081526020016000206000838152602091909152604090206113ed612d18565b9392505050565b8160008080611401612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e386028913960400192505050602060405180830381868061146b612d50565b15801561147757600080fd5b505a611481612d7f565b5050505050158015611497573d6000803e3d6000fd5b505050506040513d60208110156114ad57600080fd5b81019080805193505050505a6114c1612dd4565b6001600160a01b0316816001600160a01b0316146115105760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b6000848152600160205260068160408120611529612d18565b815260200190815260200160002060008581526020919091526040902061154e612d18565b90507f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd9385858360405180848152602001838152602001828152602001935050505060405180910390a16000858152600160205260069060408120611260612d18565b84600080806115bd612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680611627612d50565b15801561163357600080fd5b505a61163d612d7f565b5050505050158015611653573d6000803e3d6000fd5b505050506040513d602081101561166957600080fd5b81019080805193505050505a61167d612dd4565b6001600160a01b0316816001600160a01b0316146116cc5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b84831461170d5760405162461bcd60e51b81526020600482015260186024820152600080516020612e8e833981519152604482015260640160405180910390fd5b60005b85811015610dd4576117508888888481811061172857fe5b9050602002013587878581811061173b57fe5b905060200201356001600160a01b0316612ab5565b600101611710565b8260008080611765612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e38602891396040019250505060206040518083038186806117cf612d50565b1580156117db57600080fd5b505a6117e5612d7f565b50505050501580156117fb573d6000803e3d6000fd5b505050506040513d602081101561181157600080fd5b81019080805193505050505a611825612dd4565b6001600160a01b0316816001600160a01b0316146118745760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b610c2e858585612b65565b826000808061188c612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e38602891396040019250505060206040518083038186806118f6612d50565b15801561190257600080fd5b505a61190c612d7f565b5050505050158015611922573d6000803e3d6000fd5b505050506040513d602081101561193857600080fd5b81019080805193505050505a61194c612dd4565b6001600160a01b0316816001600160a01b03161461199b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b610c2e858585612ab5565b82600080806119b3612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680611a1d612d50565b158015611a2957600080fd5b505a611a33612d7f565b5050505050158015611a49573d6000803e3d6000fd5b505050506040513d6020811015611a5f57600080fd5b81019080805193505050505a611a73612dd4565b6001600160a01b0316816001600160a01b031614611ac25760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b6000858152600160205260408120611ad8612d18565b1415611b2a5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015260640160405180910390fd5b6000858152600160205260409020611b40612d18565b60008581526001602052604090208190611b58612dfd565b5050508215611b7d576000858152600160205260409020600090611b7a612dfd565b50505b7fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c858585604051928352602083019190915215156040808301919091526060909101905180910390a15050505050565b600080611bd8612d18565b906101000a90046001600160a01b031681565b60608082604051908082528060200260200182016040528015611c18578160200160208202803883390190505b506000868152600160205290915060068160408120611c35612d18565b8152602001908152602001600020905060005b84811015610e8e57816000878784818110611c5f57fe5b905060200201358152602001908152602001600020611c7c612d18565b838281518110611c8857fe5b6020908102919091010152600101611c48565b60608082604051908082528060200260200182016040528015611cc8578160200160208202803883390190505b506000868152600160205290915060048160408120611ce5612d18565b8152602001908152602001600020905060005b84811015610e8e57816000878784818110611d0f57fe5b905060200201358152602001908152602001600020600090611d2f612d18565b906101000a90046001600160a01b0316838281518110611d4b57fe5b6001600160a01b0390921660209283029190910190910152600101611cf8565b8160008080611d78612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680611de2612d50565b158015611dee57600080fd5b505a611df8612d7f565b5050505050158015611e0e573d6000803e3d6000fd5b505050506040513d6020811015611e2457600080fd5b81019080805193505050505a611e38612dd4565b6001600160a01b0316816001600160a01b031614611e875760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b6000848152600160205260048160408120611ea0612d18565b8152602001908152602001600020600085815260209190915260409020600090611ec8612d18565b906101000a90046001600160a01b031690507fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf6685858360405192835260208301919091526001600160a01b03166040808301919091526060909101905180910390a16000858152600160205260049060408120611f43612d18565b8152602001908152602001600020600085815260209190915260409020600181611f6b612d18565b906001600160a01b030219169061109b612dfd565b6000828152600160205260048160408120611f99612d18565b8152602001908152602001600020600083815260209190915260409020600090611fc1612d18565b906101000a90046001600160a01b0316905092915050565b8460008080611fe6612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680612050612d50565b15801561205c57600080fd5b505a612066612d7f565b505050505015801561207c573d6000803e3d6000fd5b505050506040513d602081101561209257600080fd5b81019080805193505050505a6120a6612dd4565b6001600160a01b0316816001600160a01b0316146120f55760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b8483146121365760405162461bcd60e51b81526020600482015260186024820152600080516020612e8e833981519152604482015260640160405180910390fd5b60005b85811015610dd4576121708888888481811061215157fe5b9050602002013587878581811061216457fe5b90506020020135612c01565b600101612139565b606080826040519080825280602002602001820160405280156121a5578160200160208202803883390190505b5060008681526001602052909150600281604081206121c2612d18565b8152602001908152602001600020905060005b84811015610e8e578160008787848181106121ec57fe5b905060200201358152602001908152602001600020612209612d18565b83828151811061221557fe5b60209081029190910101526001016121d5565b60608082604051908082528060200260200182016040528015612255578160200160208202803883390190505b506000868152600160205290915060058160408120612272612d18565b8152602001908152602001600020905060005b84811015610e8e5781600087878481811061229c57fe5b9050602002013581526020019081526020016000206000906122bc612d18565b906101000a900460ff168382815181106122d257fe5b91151560209283029190910190910152600101612285565b60008281526001602052600381604081206113c8612d18565b8460008080612310612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e386028913960400192505050602060405180830381868061237a612d50565b15801561238657600080fd5b505a612390612d7f565b50505050501580156123a6573d6000803e3d6000fd5b505050506040513d60208110156123bc57600080fd5b81019080805193505050505a6123d0612dd4565b6001600160a01b0316816001600160a01b03161461241f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b8483146124605760405162461bcd60e51b81526020600482015260186024820152600080516020612e8e833981519152604482015260640160405180910390fd5b60005b85811015610dd45761249a8888888481811061247b57fe5b9050602002013587878581811061248e57fe5b905060200201356129ad565b600101612463565b600160205280600052604060002090506124ba612d18565b81565b82600080806124ca612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680612534612d50565b15801561254057600080fd5b505a61254a612d7f565b5050505050158015612560573d6000803e3d6000fd5b505050506040513d602081101561257657600080fd5b81019080805193505050505a61258a612dd4565b6001600160a01b0316816001600160a01b0316146125d95760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b610c2e858585612c01565b60008281526001602052600581604081206125fd612d18565b8152602001908152602001600020600083815260209190915260409020600090612625612d18565b906101000a900460ff16905092915050565b60008281526001602052600681604081206113c8612d18565b846000808061265d612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e38602891396040019250505060206040518083038186806126c7612d50565b1580156126d357600080fd5b505a6126dd612d7f565b50505050501580156126f3573d6000803e3d6000fd5b505050506040513d602081101561270957600080fd5b81019080805193505050505a61271d612dd4565b6001600160a01b0316816001600160a01b03161461276c5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b8483146127ad5760405162461bcd60e51b81526020600482015260186024820152600080516020612e8e833981519152604482015260640160405180910390fd5b60005b85811015610dd4576127e9888888848181106127c857fe5b905060200201358787858181106127db57fe5b905060200201351515612b65565b6001016127b0565b81600080806127fe612d18565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b8152600401808281526020018060200182810382526028815260200180612e3860289139604001925050506020604051808303818680612868612d50565b15801561287457600080fd5b505a61287e612d7f565b5050505050158015612894573d6000803e3d6000fd5b505050506040513d60208110156128aa57600080fd5b81019080805193505050505a6128be612dd4565b6001600160a01b0316816001600160a01b03161461290d5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e60602e913960400191505060405180910390fd5b6000848152600160205260038160408120612926612d18565b815260200190815260200160002060008581526020919091526040902061294b612d18565b90507f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae85858360405180848152602001838152602001828152602001935050505060405180910390a16000858152600160205260039060408120611260612d18565b80600660006129bb86612c85565b815260200190815260200160002060008481526020919091526040902081906129e2612dfd565b5050507f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a9528083838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b8060026000612a3f86612c85565b81526020019081526020016000206000848152602091909152604090208190612a66612dfd565b5050507f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c983838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b8060046000612ac386612c85565b8152602001908152602001600020600084815260209190915260409020600181612aeb612d18565b816001600160a01b0302191690836001600160a01b0316021790612b0d612dfd565b5050507f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad63936583838360405192835260208301919091526001600160a01b03166040808301919091526060909101905180910390a1505050565b8060056000612b7386612c85565b8152602001908152602001600020600084815260209190915260409020600181612b9b612d18565b8160ff02191690831515021790612bb0612dfd565b5050507f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b838383604051928352602083019190915215156040808301919091526060909101905180910390a1505050565b8060036000612c0f86612c85565b81526020019081526020016000206000848152602091909152604090208190612c36612dfd565b5050507f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c83838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b600081815260016020528060408120612c9c612d18565b905080612d12575a612cac612dd4565b834360405160609390931b6bffffffffffffffffffffffff191660208401526034830191909152605482015260740160405160208183030381529060405280519060200120600084815260016020529091508190604090208190612d0e612dfd565b5050505b92915050565b6320966208598160e01b8152836004820152602081602483336000905af180612d47576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af180612d47576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b87811015612daf578087015182820160240152602001612d94565b5088888860240183336000905af180612dce576040513d6000823e3d81fd5b98505050565b6373509064598160e01b8152602081600483336000905af180612d47576040513d6000823e3d81fd5b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180612e32576040513d6000823e3d81fd5b50505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "KeyMigrated",
					"type": "event",
					"signature": "0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueDeletedAddress",
					"type": "event",
					"signature": "0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueDeletedBool",
					"type": "event",
					"signature": "0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueDeletedBytes32",
					"type": "event",
					"signature": "0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueDeletedInt",
					"type": "event",
					"signature": "0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueDeletedUInt",
					"type": "event",
					"signature": "0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueSetAddress",
					"type": "event",
					"signature": "0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueSetBool",
					"type": "event",
					"signature": "0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueSetBytes32",
					"type": "event",
					"signature": "0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueSetInt",
					"type": "event",
					"signature": "0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueSetUInt",
					"type": "event",
					"signature": "0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8f6b95a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1625e3ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x35ab2708"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfdfc4c13"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x18f662ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ee5955a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getAddressValues",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ca0adaf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBoolValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd994502d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBoolValues",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "",
							"type": "bool[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc13a2b0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7833c5d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBytes32Values",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8408a5e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4f610ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getIntValues",
					"outputs": [
						{
							"internalType": "int256[]",
							"name": "",
							"type": "int256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x142a391e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23257c2b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getUIntValues",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb67fa7ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd658d2e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "migrateContractKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5bda91e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a59e495"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4dca0978"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "values",
							"type": "address[]"
						}
					],
					"name": "setAddressValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3bd6ad89"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f28a6fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bool[]",
							"name": "values",
							"type": "bool[]"
						}
					],
					"name": "setBoolValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf9c39d2f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x004b62d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "values",
							"type": "bytes32[]"
						}
					],
					"name": "setBytes32Values",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc89eb562"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd71a9b01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "int256[]",
							"name": "values",
							"type": "int256[]"
						}
					],
					"name": "setIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab15985d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d5b277f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "setUIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03cdc017"
				}
			],
			"source": {
				"keccak256": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
				"urls": [
					"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
					"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
						"urls": [
							"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
							"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "608060405260405160208101604052600081526200002290600590600162000484565b503480156200003057600080fd5b506040516200365c3803806200365c833981810160405260408110156200005657600080fd5b810190808051929190602001805192508291506005905060186103006040519081016040529190610300830182845b8162000090620004d2565b815260200190600101908083116200008557508793505050506001600160a01b038116620001045760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b80600060018162000114620004d2565b816001600160a01b0302191690836001600160a01b0316021790620001386200050b565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808062000191620004d2565b906101000a90046001600160a01b03166001600160a01b03161415620001f15760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620002815760008282601881106200020d57fe5b602002015114620002725760048282601881106200022757fe5b602002015190806001816200023b620004d2565b018082620002486200050b565b5050600092835291600019830191506020902091929101620002696200050b565b50505062000278565b62000281565b600101620001f4565b5081600260018162000292620004d2565b816001600160a01b0302191690836001600160a01b0316021790620002b66200050b565b5050505050620002de6e466c657869626c6553746f7261676560881b620002e660201b60201c565b5050620005fb565b80600480600181620002f7620004d2565b018082620003046200050b565b5050600092835291600019830191506020902091929101620003256200050b565b505050601860048062000337620004d2565b9050106200038b5760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390fd5b6000600262000399620004d2565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620003ec62000546565b158015620003f957600080fd5b505a6200040562000576565b50505050501580156200041c573d6000803e3d6000fd5b505050506040513d60208110156200043357600080fd5b81019080805160008581526003602052909350604092509050206001816200045a620004d2565b816001600160a01b0302191690836001600160a01b03160217906200047e6200050b565b50505050565b8260188101928215620004c0579160200282015b82811115620004c057825182620004ae6200050b565b50509160200191906001019062000498565b50620004ce929150620005ce565b5090565b6320966208598160e01b8152836004820152602081602483336000905af18062000502576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000541576040513d6000823e3d81fd5b505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af18062000502576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b87811015620005a85780870151828201602401526020016200058b565b5088888860240183336000905af180620005c8576040513d6000823e3d81fd5b98505050565b620005f891905b80821115620004ce5760008082620005ec6200050b565b505050600101620005d5565b90565b613051806200060b6000396000f3fe608060405234801561001057600080fd5b50600436106102f15760003560e01c8063635a38721161019d578063af5355d8116100e9578063d62ae399116100a2578063e94220461161007c578063e942204614610735578063f1076b2514610752578063f344da671461075a578063fb1b4c7e14610762576102f1565b8063d62ae399146106e0578063e0e6393d14610725578063e3235c911461072d576102f1565b8063af5355d8146106e8578063af8bc660146106f0578063b2ea7054146105f2578063b410a034146106f8578063c193f0d814610700578063c6c9d82814610708576102f1565b80638da5cb5b11610156578063a0cf745111610130578063a0cf74511461068f578063a4ce5b7114610697578063ab49848c1461069f578063add0989d146106e0576102f1565b80638da5cb5b1461064d578063946ce8cd14610655578063967706e914610672576102f1565b8063635a3872146105d5578063657c6dc7146105f257806379ba5097146105fa57806379cb657a146106025780637bf823051461061f5780638925711714610645576102f1565b806328a1170d1161025c57806353a47bb711610215578063580a975c116101ef578063580a975c146105595780635e0117d6146105615780636190dd7a1461057e578063631e14441461059b576102f1565b806353a47bb71461052c57806354b302c51461053457806357b154d51461053c576102f1565b806328a1170d146103f85780632cce0e54146104ba578063372a395a146104d75780633be99e6f146104df5780634641ab66146105055780634c36b83714610524576102f1565b80631775765f116102ae5780631775765f1461039e5780631e6e2190146103a657806322425fa4146103c357806323f5589a146103cb578063242df9e1146103d35780632806a743146103db576102f1565b806304c49f2c146102f657806304f3bcec14610315578063054be0b714610339578063085f95cd146103565780630ee4951b146103705780631627540c14610378575b600080fd5b6103136004803603602081101561030c57600080fd5b503561076a565b005b61031d610903565b6040516001600160a01b03909116815260200160405180910390f35b6103136004803603602081101561034f57600080fd5b5035610922565b61035e610a50565b60405190815260200160405180910390f35b61035e610a5c565b6103136004803603602081101561038e57600080fd5b50356001600160a01b0316610a6b565b61035e610ae5565b610313600480360360208110156103bc57600080fd5b5035610aef565b61035e610be6565b61035e610bf0565b61035e610bfa565b610313600480360360208110156103f157600080fd5b5035610c04565b6103136004803603604081101561040e57600080fd5b81019060208101813564010000000081111561042957600080fd5b82018360208201111561043b57600080fd5b8035906020019184602083028401116401000000008311171561045d57600080fd5b91939092909160208101903564010000000081111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111640100000000831117156104af57600080fd5b509092509050610d37565b610313600480360360208110156104d057600080fd5b5035610f75565b61035e611159565b610313600480360360208110156104f557600080fd5b50356001600160a01b0316611163565b6103136004803603602081101561051b57600080fd5b50351515611312565b61031d611405565b61031d61140f565b61035e61141b565b6103136004803603602081101561055257600080fd5b5035611425565b61035e61150d565b6103136004803603602081101561057757600080fd5b5035611514565b6103136004803603602081101561059457600080fd5b50356116ac565b6105c1600480360360208110156105b157600080fd5b50356001600160a01b031661179b565b604051901515815260200160405180910390f35b610313600480360360208110156105eb57600080fd5b503561195c565b61035e611a47565b610313611a53565b6103136004803603602081101561061857600080fd5b5035611bcd565b6103136004803603602081101561063557600080fd5b50356001600160a01b0316611cb6565b61035e611e13565b61031d611e1d565b6103136004803603602081101561066b57600080fd5b5035611e28565b61035e6004803603602081101561068857600080fd5b503561206f565b61035e612080565b61035e61208a565b6106a7612096565b604051808261030080838360005b838110156106cd5780820151838201526020016106b5565b5050505090500191505060405180910390f35b61035e6120f8565b61035e6120ff565b61035e612109565b61035e61210e565b6105c1612118565b61035e6004803603602081101561071e57600080fd5b5035612122565b61035e61214d565b61035e612157565b6103136004803603602081101561074b57600080fd5b503561215c565b61035e61229d565b61035e6122a4565b61035e6122ab565b6107726122b7565b620151808110156107c95760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015260640160405180910390fd5b624f1a008111156108205760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015260640160405180910390fd5b61082861232b565b6001600160a01b0316631d5b277f600080516020612fd6833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061089c612d3c565b1580156108a857600080fd5b505a6108b2612d74565b5050505050501580156108c9573d6000803e3d6000fd5b505050507f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd8160405190815260200160405180910390a150565b6000600261090f612dc9565b906101000a90046001600160a01b031681565b61092a6122b7565b670de0b6b3a76400008111156109715760405162461bcd60e51b8152600401808060200182810382526033815260200180612ff66033913960400191505060405180910390fd5b61097961232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526c69737375616e6365526174696f60981b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806109e9612d3c565b1580156109f557600080fd5b505a6109ff612d74565b505050505050158015610a16573d6000803e3d6000fd5b505050507f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854528160405190815260200160405180910390a150565b6703782dace9d9000081565b6000610a6661237c565b905090565b610a736122b7565b8060018080610a80612dc9565b816001600160a01b0302191690836001600160a01b0316021790610aa2612df8565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000610a6661243d565b610af76122b7565b610aff61232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610b7f612d3c565b158015610b8b57600080fd5b505a610b95612d74565b505050505050158015610bac573d6000803e3d6000fd5b505050507f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e58160405190815260200160405180910390a150565b6000610a666124af565b6000610a66612522565b6000610a66612596565b610c0c6122b7565b6703782dace9d90000811115610c535760405162461bcd60e51b8152600401808060200182810382526021815260200180612ef86021913960400191505060405180910390fd5b610c5b61232b565b6001600160a01b0316631d5b277f600080516020612fd6833981519152716c69717569646174696f6e50656e616c747960701b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610cd0612d3c565b158015610cdc57600080fd5b505a610ce6612d74565b505050505050158015610cfd573d6000803e3d6000fd5b505050507fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e98160405190815260200160405180910390a150565b610d3f6122b7565b828114610d925760405162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015260640160405180910390fd5b60005b83811015610f6e5767016345785d8a0000838383818110610db257fe5b905060200201351115610e0b5760405162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015260640160405180910390fd5b610e1361232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526e65786368616e67654665655261746560881b888886818110610e4f57fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110610e8f57fe5b905060200201356040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610ed7612d3c565b158015610ee357600080fd5b505a610eed612d74565b505050505050158015610f04573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e858583818110610f3557fe5b90506020020135848484818110610f4857fe5b9050602002013560405191825260208201526040908101905180910390a1600101610d95565b5050505050565b610f7d6122b7565b6032811115610fc75760405162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015260640160405180910390fd5b6000611075606461106973__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611010612d3c565b15801561101c57600080fd5b505a611026612e2d565b505050505015801561103c573d6000803e3d6000fd5b505050506040513d602081101561105257600080fd5b81019080805188935091505063ffffffff61260816565b9063ffffffff61266816565b905061107f61232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806110f1612d3c565b1580156110fd57600080fd5b505a611107612d74565b50505050505015801561111e573d6000803e3d6000fd5b505050507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab128160405190815260200160405180910390a15050565b6000610a666126d1565b61116b6122b7565b806002600181611179612dc9565b816001600160a01b0302191690836001600160a01b031602179061119b612df8565b5060009150505b6004806111ad612dc9565b905081101561130e576000600482816111c4612dc9565b81106111cc57fe5b906000526020600020016111de612dc9565b9050600060026111ec612dc9565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680611275612d3c565b15801561128157600080fd5b505a61128b612e82565b50505050501580156112a1573d6000803e3d6000fd5b505050506040513d60208110156112b757600080fd5b81019080805160008581526003602052909350604092509050206001816112dc612dc9565b816001600160a01b0302191690836001600160a01b03160217906112fe612df8565b5050600190920191506111a29050565b5050565b61131a6122b7565b61132261232b565b6001600160a01b0316633f28a6fc600080516020612fd6833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b846040516001600160e01b031960e086901b16815260048101939093526024830191909152151560448201526064016000604051808303816000878061139c612d3c565b1580156113a857600080fd5b505a6113b2612d74565b5050505050501580156113c9573d6000803e3d6000fd5b505050507fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd81604051901515815260200160405180910390a150565b6000610a66612750565b6000600161090f612dc9565b6000610a666127c8565b61142d6122b7565b61143561232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526d1b585e1a5b5d5b51195c1bdcda5d60921b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806114a6612d3c565b1580156114b257600080fd5b505a6114bc612d74565b5050505050501580156114d3573d6000803e3d6000fd5b505050507f1e80a107fd5ba086e2a723ceec9a9263bdfaed7997f66db919c1e9d1cf64817f8160405190815260200160405180910390a150565b62093a8081565b61151c6122b7565b62278d008111156115735760405162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015260640160405180910390fd5b620151808110156115ca5760405162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015260640160405180910390fd5b6115d261232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526f6c69717569646174696f6e44656c617960801b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611645612d3c565b15801561165157600080fd5b505a61165b612d74565b505050505050158015611672573d6000803e3d6000fd5b505050507f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53988160405190815260200160405180910390a150565b6116b46122b7565b6116bc61232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191527464656274536e617073686f745374616c6554696d6560581b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611734612d3c565b15801561174057600080fd5b505a61174a612d74565b505050505050158015611761573d6000803e3d6000fd5b505050507f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d78160405190815260200160405180910390a150565b60006001600160a01b0382168160026117b2612dc9565b906101000a90046001600160a01b03166001600160a01b0316146117d857506000611957565b60005b6004806117e6612dc9565b9050811015611951576000600482816117fd612dc9565b811061180557fe5b90600052602060002001611817612dc9565b6000818152600360205290915060409020600090611833612dc9565b6001600160a01b036101009290920a90041660006002611851612dc9565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806118a2612d3c565b1580156118ae57600080fd5b505a6118b8612e82565b50505050501580156118ce573d6000803e3d6000fd5b505050506040513d60208110156118e457600080fd5b8101908080516001600160a01b03169390931415925082915061193890505750600081815260036020526040812060009061191d612dc9565b906101000a90046001600160a01b03166001600160a01b0316145b1561194857600092505050611957565b506001016117db565b50600190505b919050565b6119646122b7565b61196c61232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191527077616974696e67506572696f645365637360781b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806119e0612d3c565b1580156119ec57600080fd5b505a6119f6612d74565b505050505050158015611a0d573d6000803e3d6000fd5b505050507fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f88160405190815260200160405180910390a150565b670de0b6b3a764000081565b60006001611a5f612dc9565b906101000a90046001600160a01b03166001600160a01b03165a611a81612eb1565b6001600160a01b031614611ac65760405162461bcd60e51b8152600401808060200182810382526035815260200180612f196035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611af2612dc9565b906101000a90046001600160a01b03166001600090611b0f612dc9565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611b4e612dc9565b906101000a90046001600160a01b03166000806101000a81611b6e612dc9565b816001600160a01b0302191690836001600160a01b0316021790611b90612df8565b5050506000600160006101000a81611ba6612dc9565b816001600160a01b0302191690836001600160a01b0316021790611bc8612df8565b505050565b611bd56122b7565b611bdd61232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611c4f612d3c565b158015611c5b57600080fd5b505a611c65612d74565b505050505050158015611c7c573d6000803e3d6000fd5b505050507f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e668160405190815260200160405180910390a150565b611cbe6122b7565b6001600160a01b038116611d185760405162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015260640160405180910390fd5b611d2061232b565b6001600160a01b0316634dca0978600080516020612fd68339815191527561676772656761746f725761726e696e67466c61677360501b846040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038160008780611da2612d3c565b158015611dae57600080fd5b505a611db8612d74565b505050505050158015611dcf573d6000803e3d6000fd5b505050507f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965816040516001600160a01b03909116815260200160405180910390a150565b6000610a66612838565b60008061090f612dc9565b611e306122b7565b611eeb611ed6611e3e612522565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611e7d612d3c565b158015611e8957600080fd5b505a611e93612e2d565b5050505050158015611ea9573d6000803e3d6000fd5b505050506040513d6020811015611ebf57600080fd5b8101908080519392505063ffffffff6128ab169050565b670de0b6b3a76400009063ffffffff61290416565b811115611f295760405162461bcd60e51b8152600401808060200182810382526038815260200180612f4e6038913960400191505060405180910390fd5b6000611f4b671bc16d674ec80000611f3f612922565b9063ffffffff61299116565b905080821015611f8c5760405162461bcd60e51b81526004018080602001828103825260288152602001806130296028913960400191505060405180910390fd5b611f9461232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526f6c69717569646174696f6e526174696f60801b856040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612007612d3c565b15801561201357600080fd5b505a61201d612d74565b505050505050158015612034573d6000803e3d6000fd5b505050507f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a8260405190815260200160405180910390a15050565b600061207a826129bb565b92915050565b6000610a66612aab565b671bc16d674ec8000081565b61209e612eda565b60005b6004806120ac612dc9565b90508110156120f457600481816120c1612dc9565b81106120c957fe5b906000526020600020016120db612dc9565b8282601881106120e757fe5b60200201526001016120a1565b5090565b6201518081565b6000610a66612b1d565b603281565b6000610a66612922565b6000610a66612b94565b6004818161212e612dc9565b811061213657fe5b90600052602060002001905061214a612dc9565b81565b6000610a66612c0b565b601881565b6121646122b7565b62093a808111156121bb5760405162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015260640160405180910390fd5b6121c361232b565b6001600160a01b0316631d5b277f600080516020612fd68339815191526f6d696e696d756d5374616b6554696d6560801b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612236612d3c565b15801561224257600080fd5b505a61224c612d74565b505050505050158015612263573d6000803e3d6000fd5b505050507f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144778160405190815260200160405180910390a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b6000806122c2612dc9565b906101000a90046001600160a01b03166001600160a01b03165a6122e4612eb1565b6001600160a01b0316146123295760405162461bcd60e51b815260040180806020018281038252602f815260200180612f86602f913960400191505060405180910390fd5b565b6000610a666e466c657869626c6553746f7261676560881b60405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152612c7c565b600061238661232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b1580156123f957600080fd5b505a612403612e82565b5050505050158015612419573d6000803e3d6000fd5b505050506040513d602081101561242f57600080fd5b810190808051935050505090565b600061244761232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b60006124b961232b565b6001600160a01b03166323257c2b600080516020612fd6833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b600061252c61232b565b6001600160a01b03166323257c2b600080516020612fd6833981519152716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b60006125a061232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000826126175750600061207a565b8282028284828161262457fe5b04146126615760405162461bcd60e51b8152600401808060200182810382526021815260200180612fb56021913960400191505060405180910390fd5b9392505050565b60008082116126bd5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b60008284816126c857fe5b04949350505050565b60006126db61232b565b6001600160a01b03166323257c2b600080516020612fd68339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b600061275a61232b565b6001600160a01b0316639ee5955a600080516020612fd68339815191527561676772656761746f725761726e696e67466c61677360501b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b60006127d261232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526d1b585e1a5b5d5b51195c1bdcda5d60921b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b600061284261232b565b6001600160a01b03166323257c2b600080516020612fd68339815191527077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000828201838110156126615760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b60006126618261106985670de0b6b3a764000063ffffffff61260816565b600061292c61232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000670de0b6b3a76400006129ac848463ffffffff61260816565b816129b357fe5b049392505050565b60006129c561232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612a5a612d3c565b158015612a6657600080fd5b505a612a70612e82565b5050505050158015612a86573d6000803e3d6000fd5b505050506040513d6020811015612a9c57600080fd5b81019080805195945050505050565b6000612ab561232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000612b2761232b565b6001600160a01b03166323257c2b600080516020612fd68339815191527464656274536e617073686f745374616c6554696d6560581b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000612b9e61232b565b6001600160a01b031663d994502d600080516020612fd6833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b6000612c1561232b565b6001600160a01b03166323257c2b600080516020612fd68339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806123ed612d3c565b600082815260036020528060408120600090612c96612dc9565b6001600160a01b036101009290920a90041690508281612d345760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cf9578082015183820152602001612ce1565b50505050905090810190601f168015612d265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af180612d6b576040513d6000823e3d81fd5b81519450505050565b634c6d7c84598160e01b815284600482015260005b88811015612da4578088015182820160240152602001612d89565b5089898960240183336000905af180612dc3576040513d6000823e3d81fd5b99505050565b6320966208598160e01b8152836004820152602081602483336000905af180612d6b576040513d6000823e3d81fd5b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180611bc8576040513d6000823e3d81fd5b6345e97ddb598160e01b815284600482015260005b87811015612e5d578087015182820160240152602001612e42565b5088888860240183336000905af180612e7c576040513d6000823e3d81fd5b98505050565b63fbb0f79d598160e01b8152846004820152600087811015612e5d578087015182820160240152602001612e42565b6373509064598160e01b8152602081600483336000905af180612d6b576040513d6000823e3d81fd5b60405161030080820160405260189082908038833950919291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDeposit",
							"type": "uint256"
						}
					],
					"name": "MaximumDepositUpdated",
					"type": "event",
					"signature": "0x1e80a107fd5ba086e2a723ceec9a9263bdfaed7997f66db919c1e9d1cf64817f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event",
					"signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event",
					"signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maximumDeposit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x54b302c5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x28a1170d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDeposit",
							"type": "uint256"
						}
					],
					"name": "setMaximumDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57b154d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1e6e2190"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0x83403d5b4fe485cd27f2fa2ec012b8f80a22322bc32397736e303a3bbf0dde21",
				"urls": [
					"bzz-raw://9a4bb30c68ac4d48159d184473d1a594bd2b66f7eca0c55cb8f2c6037fcfdd1c",
					"dweb:/ipfs/QmVf525Hv2RjCQV8RAo4yN9fXyX42FLwtuHMmsZ4i4HB5c"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0x83403d5b4fe485cd27f2fa2ec012b8f80a22322bc32397736e303a3bbf0dde21",
						"urls": [
							"bzz-raw://9a4bb30c68ac4d48159d184473d1a594bd2b66f7eca0c55cb8f2c6037fcfdd1c",
							"dweb:/ipfs/QmVf525Hv2RjCQV8RAo4yN9fXyX42FLwtuHMmsZ4i4HB5c"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001b7538038062001b75833981810160405260208110156200003757600080fd5b8101908080519250829150506001600160a01b0381166200009e5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000ae62000337565b816001600160a01b0302191690836001600160a01b0316021790620000d262000370565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506200013e6553797374656d60d01b826001806001600160e01b03620001ab16565b620001616749737375616e636560c01b826001806001600160e01b03620001ab16565b620001846745786368616e676560c01b826001806001600160e01b03620001ab16565b620001a4640a6f2dce8d60db1b826001806001600160e01b03620001ab16565b50620003ab565b6553797374656d60d01b841480620001cd57506749737375616e636560c01b84145b80620001e357506745786368616e676560c01b84145b80620001f65750640a6f2dce8d60db1b84145b620002475760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015260640160405180910390fd5b600084815260026020528290604090206001600160a01b0385166000908152602091909152604090206001816200027d62000337565b8160ff021916908315150217906200029462000370565b505050600084815260026020528190604090206001600160a01b03851660009081526020919091526040902061010081620002ce62000337565b8160ff02191690831515021790620002e562000370565b505050826001600160a01b0316847f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d184846040519115158252151560208201526040908101905180910390a350505050565b6320966208598160e01b8152836004820152602081602483336000905af18062000367576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620003a6576040513d6000823e3d81fd5b505050565b6117ba80620003bb6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806367a280b2116101045780639f8a95ba116100a2578063f161620711610071578063f161620714610579578063f405f65a14610581578063f44d1e0b14610589578063f8b4b08414610591576101da565b80639f8a95ba1461040c578063abc0bb6e14610430578063b9a4986914610453578063e470df581461055c576101da565b806379ba5097116100de57806379ba5097146103d75780637c312541146103df5780638da5cb5b146103e757806394c79f74146103ef576101da565b806367a280b2146103aa5780637118d431146103b25780637243bc2c146103ba576101da565b80632dd8afdb1161017c57806348bf19711161014b57806348bf19711461031f5780634abdb44d1461035b57806353a47bb7146103635780636132eba414610387576101da565b80632dd8afdb146102c15780632e8d0b9e146102c9578063396e258e146102e557806342a28e2114610302576101da565b80631588e817116101b85780631588e8171461020b5780631627540c1461022857806320f2bf001461024e5780632366245e14610296576101da565b8063086dabd1146101df57806312bde514146101e9578063157c51d314610203575b600080fd5b6101e7610599565b005b6101f16105a3565b60405190815260200160405180910390f35b6101e76105b0565b6101e76004803603602081101561022157600080fd5b5035610679565b6101e76004803603602081101561023e57600080fd5b50356001600160a01b031661071f565b61027a6004803603604081101561026457600080fd5b50803590602001356001600160a01b0316610799565b6040519115158252151560208201526040908101905180910390f35b61029e6107e9565b60405191151582526001600160f81b031660208201526040908101905180910390f35b61029e610823565b6102d1610830565b604051901515815260200160405180910390f35b6101e7600480360360208110156102fb57600080fd5b503561087b565b6101e76004803603602081101561031857600080fd5b5035610921565b6101e76004803603608081101561033557600080fd5b508035906001600160a01b0360208201351690604081013515159060600135151561098b565b6101f16109a5565b61036b6109b4565b6040516001600160a01b03909116815260200160405180910390f35b6101e76004803603604081101561039d57600080fd5b50803590602001356109d3565b6101e7610a6a565b6101e7610b0e565b61029e600480360360208110156103d057600080fd5b5035610b68565b6101e7610b83565b6101e7610cf8565b61036b610d52565b6101e76004803603602081101561040557600080fd5b5035610d5d565b610414610e32565b6040516001600160f81b03909116815260200160405180910390f35b6101e76004803603604081101561044657600080fd5b5080359060200135610e37565b6104c36004803603602081101561046957600080fd5b81019060208101813564010000000081111561048457600080fd5b82018360208201111561049657600080fd5b803590602001918460208302840111640100000000831117156104b857600080fd5b509092509050610efb565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156105075780820151838201526020016104ef565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561054657808201518382015260200161052e565b5050505090500194505050505060405180910390f35b6101e76004803603602081101561057257600080fd5b5035611029565b6101f16110f4565b6101e7611103565b6101f16111a7565b61029e6111b3565b6105a16111c0565b565b6553797374656d60d01b81565b6105c26553797374656d60d01b6112c1565b600060036001816105d1611580565b8160ff021916908315150217906105e66115b8565b507fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f9150600190506003610618611580565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a16000600361010081610652611580565b816001600160f81b0302191690836001600160f81b03160217906106746115b8565b505050565b61068d6745786368616e676560c01b61134a565b60016005818161069b611580565b8160ff021916908315150217906106b06115b8565b5082915060059050610100816106c4611580565b816001600160f81b0302191690836001600160f81b03160217906106e66115b8565b5050507f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b228160405190815260200160405180910390a150565b61072761138e565b8060018080610734611580565b816001600160a01b0302191690836001600160a01b03160217906107566115b8565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6002602052816000526040600020602052806000526040600020915060009050816107c2611580565b60ff6101009290920a900416906001816107da611580565b906101000a900460ff16905082565b60046000816107f6611580565b60ff6101009290920a9004169060018161080e611580565b906101000a90046001600160f81b0316905082565b60036000816107f6611580565b600080600361083d611580565b906101000a900460ff1680156108765750600180600361085b611580565b906101000a90046001600160f81b03166001600160f81b0316145b905090565b61088f6749737375616e636560c01b61134a565b60016004818161089d611580565b8160ff021916908315150217906108b26115b8565b5082915060049050610100816108c6611580565b816001600160f81b0302191690836001600160f81b03160217906108e86115b8565b5050507fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb88160405190815260200160405180910390a150565b6109296111c0565b6000818152600660205260409020600090610942611580565b906101000a900460ff16156109885760405162461bcd60e51b81526004018080602001828103825260288152602001806117926028913960400191505060405180910390fd5b50565b61099361138e565b61099f84848484611400565b50505050565b6749737375616e636560c01b81565b600060016109c0611580565b906101000a90046001600160a01b031681565b6109db6111c0565b60008281526006602052604090206000906109f4611580565b906101000a900460ff16158015610a2b57506000818152600660205260409020600090610a1f611580565b906101000a900460ff16155b610a665760405162461bcd60e51b815260040180806020018281038252603681526020018061164c6036913960400191505060405180910390fd5b5050565b610a7e6749737375616e636560c01b6112c1565b60006004600181610a8d611580565b8160ff02191690831515021790610aa26115b8565b507f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba57168379150600190506004610ad4611580565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a16000600461010081610652611580565b610b166111c0565b60006005610b22611580565b906101000a900460ff16156105a15760405162461bcd60e51b815260040180806020018281038252602b8152602001806116dc602b913960400191505060405180910390fd5b600660205280600052604060002090506000816107f6611580565b60006001610b8f611580565b906101000a90046001600160a01b03166001600160a01b03165a610bb16115ed565b6001600160a01b031614610bf65760405162461bcd60e51b81526004018080602001828103825260358152602001806116176035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610c22611580565b906101000a90046001600160a01b03166001600090610c3f611580565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610c7e611580565b906101000a90046001600160a01b03166000806101000a81610c9e611580565b816001600160a01b0302191690836001600160a01b0316021790610cc06115b8565b5050506000600160006101000a81610cd6611580565b816001600160a01b0302191690836001600160a01b03160217906106746115b8565b610d006111c0565b60006004610d0c611580565b906101000a900460ff16156105a15760405162461bcd60e51b815260040180806020018281038252602b815260200180611682602b913960400191505060405180910390fd5b6000806109c0611580565b610d6e640a6f2dce8d60db1b6112c1565b600081815260066020527f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d22090829060409020600190610dab611580565b906101000a90046001600160f81b03166001600160f81b031660405191825260208201526040908101905180910390a16000818152600660205260409020600081600181610df7611580565b9060ff02191690610e066115b8565b5082905061010081610e16611580565b906001600160f81b0302191690610e2b6115b8565b5050505050565b600181565b610e48640a6f2dce8d60db1b61134a565b6000828152600660205260019060409020600181610e64611580565b8160ff02191690831515021790610e796115b8565b5050506000828152600660205281906040902061010081610e98611580565b816001600160f81b0302191690836001600160f81b0316021790610eba6115b8565b5050507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541828260405191825260208201526040908101905180910390a15050565b60608082604051908082528060200260200182016040528015610f28578160200160208202803883390190505b50915082604051908082528060200260200182016040528015610f55578160200160208202803883390190505b50905060005b838110156110215760066000868684818110610f7357fe5b905060200201358152602001908152602001600020600090610f93611580565b906101000a900460ff16838281518110610fa957fe5b9115156020928302919091019091015260066000868684818110610fc957fe5b905060200201358152602001908152602001600020600190610fe9611580565b906101000a90046001600160f81b03166001600160f81b031682828151811061100e57fe5b6020908102919091010152600101610f5b565b509250929050565b61103b6553797374656d60d01b61134a565b600160038181611049611580565b8160ff0219169083151502179061105e6115b8565b508291506003905061010081611072611580565b816001600160f81b0302191690836001600160f81b03160217906110946115b8565b507f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f91506001905060036110c6611580565b906101000a90046001600160f81b03166040516001600160f81b03909116815260200160405180910390a150565b6745786368616e676560c01b81565b6111176745786368616e676560c01b6112c1565b60006005600181611126611580565b8160ff0219169083151502179061113b6115b8565b507f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214915060019050600561116d611580565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a16000600561010081610652611580565b640a6f2dce8d60db1b81565b60056000816107f6611580565b600060036111cc611580565b60ff6101009290920a9004161560018060036111e6611580565b906101000a90046001600160f81b03166001600160f81b0316146112205760405160608101604052602c8082526117286020830139611238565b60405160608101604052603e80825261175460208301395b906109885760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561128657808201518382015260200161126e565b50505050905090810190601f1680156112b35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600081815260026020526040902060005a6112da6115ed565b6001600160a01b03166001600160a01b03168152602001908152602001600020600190611305611580565b906101000a900460ff166109885760405162461bcd60e51b81526004018080602001828103825260218152602001806117076021913960400191505060405180910390fd5b600081815260026020526040902060005a6113636115ed565b6001600160a01b03166001600160a01b03168152602001908152602001600020600090611305611580565b600080611399611580565b906101000a90046001600160a01b03166001600160a01b03165a6113bb6115ed565b6001600160a01b0316146105a15760405162461bcd60e51b815260040180806020018281038252602f8152602001806116ad602f913960400191505060405180910390fd5b6553797374656d60d01b84148061142157506749737375616e636560c01b84145b8061143657506745786368616e676560c01b84145b806114485750640a6f2dce8d60db1b84145b6114985760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015260640160405180910390fd5b600084815260026020528290604090206001600160a01b0385166000908152602091909152604090206001816114cc611580565b8160ff021916908315150217906114e16115b8565b505050600084815260026020528190604090206001600160a01b03851660009081526020919091526040902061010081611519611580565b8160ff0219169083151502179061152e6115b8565b505050826001600160a01b0316847f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d184846040519115158252151560208201526040908101905180910390a350505050565b6320966208598160e01b8152836004820152602081602483336000905af1806115af576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610674576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af1806115af576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e65206f72206d6f72652073796e746873206172652073757370656e6465642e204f7065726174696f6e2070726f6869626974656449737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0x691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0x9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf44d1e0b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb9a49869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42a28e21"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6132eba4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94c79f74"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xabc0bb6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7243bc2c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				}
			],
			"source": {
				"keccak256": "0x1f8c08501b9ab30111c180b9099b56550459fc7a5179c4c6e2afae2dbf7b4f56",
				"urls": [
					"bzz-raw://d13f1f6305e4f89b5a6b5a2cbbe38b42d51bccad5b00bcd7822708b2dc23207b",
					"dweb:/ipfs/QmNjsomCQzaE8ncRgygrnQett2DhVYuTnbHcL22Rt2t61X"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0x1f8c08501b9ab30111c180b9099b56550459fc7a5179c4c6e2afae2dbf7b4f56",
						"urls": [
							"bzz-raw://d13f1f6305e4f89b5a6b5a2cbbe38b42d51bccad5b00bcd7822708b2dc23207b",
							"dweb:/ipfs/QmNjsomCQzaE8ncRgygrnQett2DhVYuTnbHcL22Rt2t61X"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "6080604052604051602081016040526822bc31b430b733b2b960b91b81526200002d90600e90600162001216565b5034801562000046576000806200004362001264565b50505b5060405162006b8938038062006b89833981810160405260a081101562000077576000806200007462001264565b50505b8101908080519291906020018051929190602001805192919060200180516040519392919084640100000000821115620000bb57600080620000b862001264565b50505b908301906020820185811115620000dc57600080620000d962001264565b50505b825186602082028301116401000000008211171562000105576000806200010262001264565b50505b825250602001908051906020019060200280838360005b83811015620001365780820151838201526020016200011c565b50505050905001604052602001805160405193929190846401000000008211156200016b576000806200016862001264565b50505b9083019060208201858111156200018c576000806200018962001264565b50505b8251866020820283011164010000000082111715620001b557600080620001b262001264565b50505b825250602001908051906020019060200280838360005b83811015620001e6578082015183820152602001620001cc565b5050505090500160405250505082600e6018806020026040519081016040529190610300830182845b816200021a620012d1565b815260200190600101908083116200020f57508a93505050506001600160a01b038116620002995760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906200029662001264565b50505b806000600181620002a9620012d1565b816001600160a01b0302191690836001600160a01b0316021790620002cd62001333565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808062000326620012d1565b906101000a90046001600160a01b03166001600160a01b03161415620003915760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906200038e62001264565b50505b60005b601881101562000421576000828260188110620003ad57fe5b60200201511462000412576004828260188110620003c757fe5b60200201519080600181620003db620012d1565b018082620003e862001333565b50506000928352916000198301915060209020919291016200040962001333565b50505062000418565b62000421565b60010162000394565b5081600260018162000432620012d1565b816001600160a01b0302191690836001600160a01b03160217906200045662001333565b50505050506200047e6e466c657869626c6553746f7261676560881b6200060760201b60201c565b8051825114620004cb5760405162461bcd60e51b815260040180806020018281038252602f81526020018062006a97602f913960400191505060405180910390620004c862001264565b50505b836006600181620004db620012d1565b816001600160a01b0302191690836001600160a01b0316021790620004ff62001333565b505050620005db631cd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806200054f62001382565b15801562000567576000806200056462001264565b50505b505a62000573620013cf565b505050505015801562000595573d6000803e3d60006200059262001264565b50505b505050506040513d6020811015620005b757600080620005b462001264565b50505b810190808051925050505a620005cc62001483565b6001600160e01b03620007d116565b620005fb82825a620005ec62001483565b6001600160e01b03620008cf16565b50505050505062001580565b8060048060018162000618620012d1565b0180826200062562001333565b50506000928352916000198301915060209020919291016200064662001333565b505050601860048062000658620012d1565b905010620006b75760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390620006b462001264565b50505b60006002620006c5620012d1565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806200071862001382565b15801562000730576000806200072d62001264565b50505b505a6200073c620014ca565b50505050501580156200075e573d6000803e3d60006200075b62001264565b50505b505050506040513d602081101562000780576000806200077d62001264565b50505b8101908080516000858152600360205290935060409250905020600181620007a7620012d1565b816001600160a01b0302191690836001600160a01b0316021790620007cb62001333565b50505050565b6000838152600c60205260409020600081620007ec620012d1565b91600183019150620007fd62001333565b505050604051604080820181526001600160d81b038416825264ffffffffff831660208084019190915260008681526005909152206000858152600c602052604081206200084a620012d1565b815260200190815260200160002081518160018162000868620012d1565b816001600160d81b0302191690836001600160d81b03160217906200088c62001333565b505050602082015181600160d81b81620008a5620012d1565b8164ffffffffff021916908364ffffffffff16021790620008c562001333565b5050505050505050565b600082518451146200091e5760405162461bcd60e51b815260040180806020018281038252603881526020018062006b1860389139604001915050604051809103906200091b62001264565b50505b6102585a6200092c62001483565b0182106200098b5760405162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f2074686520667574757265006044820152606401604051809103906200098862001264565b50505b60005b845181101562000ab9576000858281518110620009a757fe5b60200260200101519050848281518110620009be57fe5b602002602001015162000a0e5760405162461bcd60e51b815260040180806020018281038252603981526020018062006b50603991396040019150506040518091039062000a0b62001264565b50505b80631cd554d160e21b141562000a615760405162461bcd60e51b815260040180806020018281038252603181526020018062006ac6603191396040019150506040518091039062000a5e62001264565b50505b62000a75816001600160e01b0362000b8416565b84101562000a84575062000ab0565b62000aae8186848151811062000a9657fe5b6020026020010151866001600160e01b03620007d116565b505b6001016200098e565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000b2357808201518382015260200162000b09565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101562000b6457808201518382015260200162000b4a565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000b9a826001600160e01b0362000bad16565b6020015164ffffffffff1690505b919050565b62000bb76200150f565b600082815260076020526040812060009062000bd2620012d1565b6001600160a01b036101009290920a9004169050801562000dae576060604051602401604051601f19818303018152604091909152633fabe5a360e21b6020820180516001600160e01b031690911790529050600060606001600160a01b038416836040518082805190602001908083835b6020831062000c655780518252601f19909201916020918201910162000c44565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a62000c9f620014ca565b50505050509150503d806000811462000cd5576040513d603f01601f191681016040523d815291503d6000602084013e62000cda565b606091505b5091509150811562000da5576000808060208401845160a081101562000d0a5760008062000d0762001264565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051509598509396509094506040935050505051604080820190528062000d7d8b62000d6481876001600160e01b0362000e9a16565b6001600160501b0388166001600160e01b0362000f9b16565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000ba8565b50505062000e94565b6000838152600c6020526040812062000dc6620012d1565b905062000dd26200150f565b600085815260056020526040902060008381526020919091526040902060405160408082019052908160008262000e08620012d1565b6001600160d81b036101009290920a9004168152602001601b8262000e2c620012d1565b64ffffffffff6101009290920a9004169052509050604051604080820190528062000e6c8784516001600160d81b0316866001600160e01b0362000f9b16565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000ba8565b50919050565b60008082121562000efc5760405162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f72746564000000000060448201526064016040518091039062000ef962001264565b50505b600083815260086020526040812060009062000f17620012d1565b906101000a900460ff1660ff16111562000f92576000838152600860205262000f6a60126040832060009062000f4c620012d1565b906101000a900460ff1660ff166200114860201b62004e321760201c565b600a0a905062000f898184620011b060201b620045341790919060201c565b91505062000f95565b50805b92915050565b600062000fa762001526565b6000858152600a6020526040902060405160a0810160405290818162000fcc620012d1565b81526020016001820162000fdf620012d1565b81526020016002820162000ff2620012d1565b815260200160006003830162001007620012d1565b60ff6101009290920a900416151581526020016001600383016200102a620012d1565b60ff6101009290920a90041615159052509050805115806200104a575083155b156200105a578391505062000b7d565b6000858152600d6020528492506040812062001075620012d1565b905080841015801562001089575081606001515b156200109c57816020015192506200113f565b808410158015620010ae575081608001515b15620010c157816040015192506200113f565b6000620010df60028451620011b060201b620045341790919060201c565b9050858111620010f3576000935062001110565b6200110d86826200114860201b62004e321790919060201c565b93505b826020015184106200112957826020015193506200113d565b826040015184116200113d57826040015193505b505b50509392505050565b600082821115620011aa5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390620011a762001264565b50505b50900390565b600082620011c15750600062000f95565b82820282848281620011cf57fe5b041462000b7d5760405162461bcd60e51b815260040180806020018281038252602181526020018062006af760219139604001915050604051809103906200113f62001264565b826018810192821562001252579160200282015b8281111562001252578251826200124062001333565b5050916020019190600101906200122a565b506200126092915062001553565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200129e57808601518282016040015260200162001281565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200132e5760008282015260200162001315565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062001315565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062001315565b63ffe73914598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101562001415578088015182820152602001620013fb565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b8181101562001478576000815260200162001462565b50919b505050505050565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062001315565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160008881101562001415578088015182820152602001620013fb565b604051604080820190526000808252602082015290565b60405160a08101604090815260008083526020830181905290820181905260608201819052608082015290565b6200157d91905b808211156200126057600080826200157162001333565b5050506001016200155a565b90565b61550780620015906000396000f3fe608060405234801561001957600080610016614f09565b50505b50600436106103335760003560e01c8063654a60ac116101bb578063ac82f60811610102578063c6c9d828116100ab578063ce8480ea11610085578063ce8480ea14610ef7578063de02795e14610f1d578063e3235c9114610f43578063fdadbc7e14610f4b57610333565b8063c6c9d82814610dbb578063c8e5bbd514610de1578063c8e6f39514610ed157610333565b8063b295ad34116100dc578063b295ad3414610bea578063bfa005ce14610c26578063c2c8a67614610d2757610333565b8063ac82f60814610b56578063af3aea8614610b7c578063b199c76414610ba257610333565b80637dc0d1d0116101645780638da5cb5b1161013e5780638da5cb5b14610ae7578063935f4abd14610aef578063ab49848c14610b1557610333565b80637dc0d1d014610a635780637f6e9d1514610a6b5780638295016a14610a9157610333565b806379ba50971161019557806379ba5097146109f95780637a018a1e14610a015780637adbf97314610a2757610333565b8063654a60ac146109485780637103353e1461097a578063728dec29146109a057610333565b80632d7371e11161027f5780634308a94f116102285780634f72def6116102025780634f72def6146108de57806353a47bb714610904578063631e14441461090c57610333565b80634308a94f1461087257806345938849146108b05780634c36b837146108d657610333565b806338aa1b991161025957806338aa1b99146107ce5780633be99e6f146107f45780633f0e084f1461083057610333565b80632d7371e1146106bd5780632ea913d4146107825780633375fcd1146107a857610333565b8063109e46a2116102e1578063266da16b116102bb578063266da16b1461061d5780632678df961461065b5780632bed9e0c1461069757610333565b8063109e46a2146105815780631627540c146105b95780632528f0fe146105f757610333565b80630a7d36d1116103125780630a7d36d1146104935780630c71cd23146105275780630ee4951b1461056757610333565b80629919c01461034157806304f3bcec1461037b57806305a046e5146103ac575b60008061033e614f09565b50505b610367600480360360208110156103605760008061035d614f09565b50505b5035610f77565b604051901515815260200160405180910390f35b610383610f92565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610440600480360360208110156103cb576000806103c8614f09565b50505b8101906020810181356401000000008111156103ef576000806103ec614f09565b50505b82018360208201111561040a57600080610407614f09565b50505b8035906020019184602083028401116401000000008311171561043557600080610432614f09565b50505b509092509050610fbe565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561047f578082015183820152602001610467565b505050509050019250505060405180910390f35b610367600480360360208110156104b2576000806104af614f09565b50505b8101906020810181356401000000008111156104d6576000806104d3614f09565b50505b8201836020820111156104f1576000806104ee614f09565b50505b8035906020019184602083028401116401000000008311171561051c57600080610519614f09565b50505b50909250905061103d565b61054d6004803603602081101561054657600080610543614f09565b50505b50356110f0565b604051918252151560208201526040908101905180910390f35b61056f6111b9565b60405190815260200160405180910390f35b61056f600480360360808110156105a05760008061059d614f09565b50505b50803590602081013590604081013590606001356111c9565b6105f5600480360360208110156105d8576000806105d5614f09565b50505b503573ffffffffffffffffffffffffffffffffffffffff1661120c565b005b6103676004803603602081101561061657600080610613614f09565b50505b50356112ad565b61056f600480360360a081101561063c57600080610639614f09565b50505b50803590602081013590604081013590606081013590608001356112cd565b6104406004803603602081101561067a57600080610677614f09565b50505b503573ffffffffffffffffffffffffffffffffffffffff1661133a565b6105f5600480360360208110156106b6576000806106b3614f09565b50505b5035611453565b6106e9600480360360408110156106dc576000806106d9614f09565b50505b50803590602001356115c1565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561072d578082015183820152602001610715565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561076c578082015183820152602001610754565b5050505090500194505050505060405180910390f35b61056f600480360360208110156107a15760008061079e614f09565b50505b50356116b2565b610367600480360360208110156107c7576000806107c4614f09565b50505b50356116dd565b610367600480360360208110156107ed576000806107ea614f09565b50505b50356117db565b6105f56004803603602081101561081357600080610810614f09565b50505b503573ffffffffffffffffffffffffffffffffffffffff166117e9565b6105f56004803603604081101561084f5760008061084c614f09565b50505b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611a19565b610898600480360360208110156108915760008061088e614f09565b50505b5035611db4565b60405191825260208201526040908101905180910390f35b6105f5600480360360208110156108cf576000806108cc614f09565b50505b5035611e01565b610383612033565b61056f600480360360208110156108fd576000806108fa614f09565b50505b503561203d565b610383612049565b6103676004803603602081101561092b57600080610928614f09565b50505b503573ffffffffffffffffffffffffffffffffffffffff16612055565b61056f6004803603606081101561096757600080610964614f09565b50505b50803590602081013590604001356122bc565b6103836004803603602081101561099957600080610996614f09565b50505b50356122d4565b6109c6600480360360208110156109bf576000806109bc614f09565b50505b50356122ee565b604051948552602085019390935260408085019290925215156060840152901515608083015260a0909101905180910390f35b6105f5612359565b61056f60048036036020811015610a2057600080610a1d614f09565b50505b5035612566565b6105f560048036036020811015610a4657600080610a43614f09565b50505b503573ffffffffffffffffffffffffffffffffffffffff16612571565b61038361263c565b61056f60048036036020811015610a8a57600080610a87614f09565b50505b5035612648565b610ac360048036036060811015610ab057600080610aad614f09565b50505b5080359060208101359060400135612660565b60405180848152602001838152602001828152602001935050505060405180910390f35b610383612680565b61056f60048036036020811015610b0e57600080610b0b614f09565b50505b503561268b565b610b1d6126a3565b604051808261030080838360005b83811015610b43578082015183820152602001610b2b565b5050505090500191505060405180910390f35b61056f60048036036020811015610b7557600080610b72614f09565b50505b5035612705565b61036760048036036020811015610b9b57600080610b98614f09565b50505b5035612734565b6105f5600480360360c0811015610bc157600080610bbe614f09565b50505b50803590602081013590604081013590606081013590608081013515159060a00135151561273f565b610c1060048036036020811015610c0957600080610c06614f09565b50505b5035612c37565b60405160ff909116815260200160405180910390f35b61036760048036036060811015610c4557600080610c42614f09565b50505b810190602081018135640100000000811115610c6957600080610c66614f09565b50505b820183602082011115610c8457600080610c81614f09565b50505b80359060200191846020830284011164010000000083111715610caf57600080610cac614f09565b50505b919390929091602081019035640100000000811115610cd657600080610cd3614f09565b50505b820183602082011115610cf157600080610cee614f09565b50505b80359060200191846020830284011164010000000083111715610d1c57600080610d19614f09565b50505b919350915035612c5e565b61044060048036036020811015610d4657600080610d43614f09565b50505b810190602081018135640100000000811115610d6a57600080610d67614f09565b50505b820183602082011115610d8557600080610d82614f09565b50505b80359060200191846020830284011164010000000083111715610db057600080610dad614f09565b50505b509092509050612d7f565b61056f60048036036020811015610dda57600080610dd7614f09565b50505b5035612df4565b610e7560048036036020811015610e0057600080610dfd614f09565b50505b810190602081018135640100000000811115610e2457600080610e21614f09565b50505b820183602082011115610e3f57600080610e3c614f09565b50505b80359060200191846020830284011164010000000083111715610e6a57600080610e67614f09565b50505b509092509050612e00565b604051811515602082015260408082528190810184818151815260200191508051906020019060200280838360005b83811015610ebc578082015183820152602001610ea4565b50505050905001935050505060405180910390f35b6105f560048036036020811015610ef057600080610eed614f09565b50505b5035612f6e565b61056f60048036036020811015610f1657600080610f13614f09565b50505b50356130d1565b6105f560048036036020811015610f3c57600080610f39614f09565b50505b50356130dc565b61056f613388565b61089860048036036040811015610f6a57600080610f67614f09565b50505b508035906020013561338d565b6000610f8a82610f856133a5565b6134c6565b90505b919050565b60006002610f9e614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60608082604051908082528060200260200182016040528015610feb578160200160208202803883390190505b50905060005b838110156110335761101485858381811061100857fe5b90506020020135613511565b82828151811061102057fe5b6020908102919091010152600101610ff1565b5090505b92915050565b6000806110486133a5565b9050606061108885858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061352d92505050565b905060005b848110156110e4578181815181106110a157fe5b6020026020010151806110cb57506110cb8686838181106110be57fe5b90506020020135846134c6565b156110dc5760019350505050611037565b60010161108d565b50600095945050505050565b6000806110fb614fcf565b61110484613817565b9050837f7355534400000000000000000000000000000000000000000000000000000000141561115a5780517affffffffffffffffffffffffffffffffffffffffffffffffffffff169250600091506111b49050565b80516111786111676133a5565b836020015164ffffffffff16613bb8565b8061118f575061118f8561118a613bdb565b613c91565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b60006111c36133a5565b90505b90565b600083815b6111db8783600101613e17565b9150508015806111ec575083850181115b156111f957509050611204565b6001909101906111ce565b949350505050565b61121461413d565b8060018080611221614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179061125d614fe6565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce228160405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a150565b60006112bb82610f856133a5565b80610f8a5750610f8a8261118a613bdb565b6000838614156112de575083611331565b60006112ea8785613e17565b50905060006112f98685613e17565b5090508061130c57600092505050611331565b61132c81611320898563ffffffff6141de16565b9063ffffffff6141f316565b925050505b95945050505050565b60606000600980611349614f74565b9050604051908082528060200260200182016040528015611374578160200160208202803883390190505b50915060005b600980611385614f74565b905081101561144c5760006009828161139c614f74565b81106113a457fe5b906000526020600020016113b6614f74565b6000818152600760205290915073ffffffffffffffffffffffffffffffffffffffff861690604090206000906113ea614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611443578084848060010195508151811061143657fe5b6020026020010181815250505b5060010161137a565b5050919050565b61145b61413d565b6000818152600760205260408120600090611474614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a9004169050806114ef5760405162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b6579000000006044820152606401604051809103906114ec614f09565b50505b6000828152600760205260409020600181611508614f74565b9073ffffffffffffffffffffffffffffffffffffffff0219169061152a614fe6565b50506000828152600860205260409020600181611545614f74565b9060ff02191690611554614fe6565b50506000611563836009614208565b905080156115bc577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777838360405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a15b505050565b606080826040519080825280602002602001820160405280156115ee578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561161b578160200160208202803883390190505b509050600061162985614326565b905060005b848110156116a8576116408683613e17565b85838151811061164c57fe5b6020026020010185848151811061165f57fe5b6020908102919091010191909152528161167b57506116ab9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019060010161162e565b50505b9250929050565b600b81816116be614f74565b81106116c657fe5b9060005260206000200190506116da614f74565b81565b60006116e7615034565b6000838152600a6020526040902060405160a0810160405290818161170a614f74565b81526020016001820161171b614f74565b81526020016002820161172c614f74565b815260200160006003830161173f614f74565b60ff6101009290920a90041615158152602001600160038301611760614f74565b60ff6101009290920a9004161515905250905080511580611782575080606001515b8061178e575080608001515b1561179d576000915050610f8d565b60006117a884612705565b90506000811180156117cc57508160200151811015806117cc575081604001518111155b92505050610f8d565b50919050565b6000610f8a8261118a613bdb565b6117f161413d565b8060026001816117ff614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179061183b614fe6565b5060009150505b60048061184d614f74565b9050811015611a1557600060048281611864614f74565b811061186c57fe5b9060005260206000200161187e614f74565b90506000600261188c614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dacb2d01826040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680611947615061565b15801561195c57600080611959614f09565b50505b505a6119666150ad565b5050505050158015611985573d6000803e3d6000611982614f09565b50505b505050506040513d60208110156119a4576000806119a1614f09565b50505b81019080805160008581526003602052909350604092509050206001816119c9614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790611a05614fe6565b5050600190920191506118429050565b5050565b611a2161413d565b80600073ffffffffffffffffffffffffffffffffffffffff821663668a0f026040518163ffffffff1660e01b81526004016020604051808303818680611a65615061565b158015611a7a57600080611a77614f09565b50505b505a611a846150ad565b5050505050158015611aa3573d6000803e3d6000611aa0614f09565b50505b505050506040513d6020811015611ac257600080611abf614f09565b50505b81019080805193909310159250611b2b9150505760405162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015260640160405180910390611b28614f09565b50505b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b81526004016020604051808303818680611b6e615061565b158015611b8357600080611b80614f09565b50505b505a611b8d6150ad565b5050505050158015611bac573d6000803e3d6000611ba9614f09565b50505b505050506040513d6020811015611bcb57600080611bc8614f09565b50505b81019080805193505050601260ff831611159050611c235760405162461bcd60e51b81526004018080602001828103825260328152602001806154756032913960400191505060405180910390611c20614f09565b50505b6000848152600760205260408120600090611c3c614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611cd05783600980600181611c84614f74565b018082611c8f614fe6565b50506000928352917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830191506020902091929101611ccc614fe6565b5050505b60008481526007602052829060409020600181611ceb614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790611d27614fe6565b50505060008481526008602052819060409020600181611d45614f74565b8160ff021916908360ff16021790611d5b614fe6565b5050507f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63848360405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a150505050565b600080611dbf614fcf565b611dc884613817565b9050805181602001517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b60006006611e0d614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a611e4961515d565b73ffffffffffffffffffffffffffffffffffffffff1614611ea45760405162461bcd60e51b81526004018080602001828103825260278152602001806153716027913960400191505060405180910390611ea1614f09565b50505b6000611eaf82612705565b11611f095760405162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015260640160405180910390611f06614f09565b50505b60008181526005602052604090206000828152600c60205260408120611f2d614f74565b8152602001908152602001600020600081600181611f49614f74565b907affffffffffffffffffffffffffffffffffffffffffffffffffffff02191690611f72614fe6565b508290507b0100000000000000000000000000000000000000000000000000000081611f9c614f74565b9064ffffffffff02191690611faf614fe6565b5050506000828152600c6020526040915020600081611fcc614f74565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83019150611ffa614fe6565b5050507fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae18160405190815260200160405180910390a150565b60006111c3613bdb565b600981816116be614f74565b60006001610f9e614f74565b600073ffffffffffffffffffffffffffffffffffffffff8216816002612079614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120b957506000610f8d565b60005b6004806120c7614f74565b90508110156122b3576000600482816120de614f74565b81106120e657fe5b906000526020600020016120f8614f74565b6000818152600360205290915060409020600090612114614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a9004166000600261213f614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321f8a721836040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915260240160206040518083038186806121c2615061565b1580156121d7576000806121d4614f09565b50505b505a6121e16150ad565b5050505050158015612200573d6000803e3d60006121fd614f09565b50505b505050506040513d602081101561221f5760008061221c614f09565b50505b81019080805173ffffffffffffffffffffffffffffffffffffffff169390931415925082915061229a905057506000818152600360205260408120600090612265614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156122aa57600092505050610f8d565b506001016120bc565b50600192915050565b60006122c9848484614435565b509095945050505050565b600760205280600052604060002060009150610f9e614f74565b600a602052806000526040600020905080612307614f74565b9080600101612314614f74565b9080600201612321614f74565b90600060038201612330614f74565b906101000a900460ff16908060030160019061234a614f74565b906101000a900460ff16905085565b60006001612365614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a6123a161515d565b73ffffffffffffffffffffffffffffffffffffffff16146123fc5760405162461bcd60e51b815260040180806020018281038252603581526020018061530b60359139604001915050604051809103906123f9614f09565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080612428614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff166001600090612452614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405173ffffffffffffffffffffffffffffffffffffffff9283168152911660208201526040908101905180910390a1600060016124ab614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a816124d8614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790612514614fe6565b5050506000600160006101000a8161252a614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217906115bc614fe6565b6000610f8a82614326565b61257961413d565b806006600181612587614f74565b8173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217906125c3614fe6565b5050507f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b818094039460066000906125f4614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a150565b60006006610f9e614f74565b600d60205280600052604060002090506116da614f74565b6000806000612670868686614435565b9250925092505b93509350939050565b600080610f9e614f74565b600c60205280600052604060002090506116da614f74565b6126ab6151a3565b60005b6004806126b9614f74565b905081101561270157600481816126ce614f74565b81106126d657fe5b906000526020600020016126e8614f74565b8282601881106126f457fe5b60200201526001016126ae565b5090565b600061271082613817565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610f8a82614487565b61274761413d565b600083116127a45760405162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f766520300000000000006044820152606401604051809103906127a1614f09565b50505b8484116127eb5760405162461bcd60e51b81526004018080602001828103825260278152602001806154e060279139604001915050604051809103906127e8614f09565b50505b6127fc85600263ffffffff61453416565b84106128425760405162461bcd60e51b815260040180806020018281038252602e815260200180615447602e91396040019150506040518091039061283f614f09565b50505b8483106128895760405162461bcd60e51b81526004018080602001828103825260278152602001806154206027913960400191505060405180910390612886614f09565b50505b8180156128935750805b156128ed5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d697473000000006044820152606401604051809103906128ea614f09565b50505b6000868152600a60205260408120905080612906614f74565b6129655786600b80600181612919614f74565b018082612924614fe6565b50506000928352917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830191506020902091929101612961614fe6565b5050505b858082612970614fe6565b50505084816001018190612982614fe6565b50505083816002018190612994614fe6565b50505082806129a05750815b15612aa15782600382016001816129b5614f74565b8160ff021916908315150217906129ca614fe6565b508391505060038201610100816129df614f74565b8160ff021916908315150217906129f4614fe6565b5050506000612a0288614326565b6000898152600d6020529091508190604090208190612a1f614fe6565b5050507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df08885612a4f5786612a51565b875b835a612a5b61515d565b604051938452602084019290925260408084019190915273ffffffffffffffffffffffffffffffffffffffff90911660608301526080909101905180910390a150612b11565b600060038201600181612ab2614f74565b8160ff02191690831515021790612ac7614fe6565b5060009150506003820161010081612add614f74565b8160ff02191690831515021790612af2614fe6565b5050506000878152600d602052604081208190612b0d614fe6565b5050505b6000612b1c88612705565b90508015612bde57612b2c61459c565b73ffffffffffffffffffffffffffffffffffffffff1663ce09694089836040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260440160006040518083038160008780612b9a615061565b158015612baf57600080612bac614f09565b50505b505a612bb96151c0565b505050505050158015612bd9573d6000803e3d6000612bd6614f09565b50505b505050505b7f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a888888886040518085815260200184815260200183815260200182815260200194505050505060405180910390a15050505050505050565b600860205280600052604060002060009150612c51614f74565b906101000a900460ff1681565b6000806006612c6b614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a612ca761515d565b73ffffffffffffffffffffffffffffffffffffffff1614612d025760405162461bcd60e51b81526004018080602001828103825260278152602001806153716027913960400191505060405180910390612cff614f09565b50505b612d7586868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525088925087915081905060208082020160405190810160405280939291908181526020018383602002808284376000920191909152508792506145fb915050565b9695505050505050565b60608082604051908082528060200260200182016040528015612dac578160200160208202803883390190505b50905060005b8381101561103357612dd5858583818110612dc957fe5b90506020020135612705565b828281518110612de157fe5b6020908102919091010152600101612db2565b600481816116be614f74565b6060600082604051908082528060200260200182016040528015612e2e578160200160208202803883390190505b5091506000612e3b6133a5565b90506060612e7b86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061352d92505050565b905060005b85811015612f6457612e90614fcf565b612eab888884818110612e9f57fe5b90506020020135613817565b905080517affffffffffffffffffffffffffffffffffffffffffffffffffffff16868381518110612ed857fe5b60200260200101818152505084158015612f245750878783818110612ef957fe5b905060200201357f735553440000000000000000000000000000000000000000000000000000000014155b15612f5b57828281518110612f3557fe5b602002602001015180612f585750612f5884826020015164ffffffffff16613bb8565b94505b50600101612e80565b5050509250929050565b612f7661413d565b6000818152600a60205260408120612f8c614f74565b11612fe65760405162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015260640160405180910390612fe3614f09565b50505b6000818152600a6020526040902060008082613000614fe6565b505060018201600090613011614fe6565b505060028201600090613022614fe6565b505060038201600181613033614f74565b9060ff02191690613042614fe6565b50506003820161010081613054614f74565b9060ff02191690613063614fe6565b50505050600061307482600b614208565b90508015611a15577f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a8260008060006040518085815260200184815260200183815260200182815260200194505050505060405180910390a15050565b6000610f8a82613511565b6000818152600a6020526040812090506000816130f7614f74565b116131515760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e76657273652072617465000060448201526064016040518091039061314e614f09565b50505b60006003820161315f614f74565b906101000a900460ff1615801561318b575060016003820161317f614f74565b906101000a900460ff16155b6131e45760405162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e0000000000006044820152606401604051809103906131e1614f09565b50505b60006131ef83612705565b9050600081118015613221575081600101613208614f74565b8110158061322157508160020161321d614f74565b8111155b1561332f5781600101613232614f74565b811460038301600181613243614f74565b8160ff02191690831515021790613258614fe6565b50505081600201613267614f74565b81146003830161010081613279614f74565b8160ff0219169083151502179061328e614fe6565b505050600061329c84614326565b6000858152600d60205290915081906040902081906132b9614fe6565b5050507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df08483835a6132e961515d565b604051938452602084019290925260408084019190915273ffffffffffffffffffffffffffffffffffffffff90911660608301526080909101905180910390a1506115bc565b60405162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015260640160405180910390613381614f09565b5050505050565b601881565b60008061339a8484613e17565b915091509250929050565b60006133af614896565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401602060405180830381868061345b615061565b1580156134705760008061346d614f09565b50505b505a61347a6150ad565b5050505050158015613499573d6000803e3d6000613496614f09565b50505b505050506040513d60208110156134b8576000806134b5614f09565b50505b810190808051935050505090565b6000827f735553440000000000000000000000000000000000000000000000000000000014156134f857506000611037565b61350a8261350585613511565b613bb8565b9392505050565b600061351c82613817565b6020015164ffffffffff1692915050565b60606000613539613bdb565b905073ffffffffffffffffffffffffffffffffffffffff8116156137e45760608351604051908082528060200260200182016040528015613584578160200160208202803883390190505b50905060005b845181101561361a57600760008683815181106135a357fe5b602002602001015181526020019081526020016000206000906135c4614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106135ed57fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161358a565b508173ffffffffffffffffffffffffffffffffffffffff16637d723cac826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561368757808201518382015260200161366f565b505050509050019250505060006040518083038186806136a5615061565b1580156136ba576000806136b7614f09565b50505b505a6136c46150ad565b50505050501580156136e3573d6000803e3d60006136e0614f09565b50505b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561373357600080613730614f09565b50505b810190808051604051939291908464010000000082111561375c57600080613759614f09565b50505b90830190602082018581111561377a57600080613777614f09565b50505b82518660208202830111640100000000821117156137a05760008061379d614f09565b50505b825250602001908051906020019060200280838360005b838110156137cf5780820151838201526020016137b7565b505050509050016040525050509250506117d5565b825160405190808252806020026020018201604052801561380f578160200160208202803883390190505b509392505050565b61381f614fcf565b6000828152600760205260408120600090613838614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a90041690508015613aaa5760606040516024016040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08183030181526040919091527ffeaf968c000000000000000000000000000000000000000000000000000000006020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16909117905290506000606073ffffffffffffffffffffffffffffffffffffffff8416836040518082805190602001908083835b6020831061394c57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161390f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a6139846150ad565b50505050509150503d80600081146139d6576040513d603f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681016040523d815291503d6000602084013e6139db565b606091505b50915091508115613aa2576000808060208401845160a0811015613a0757600080613a04614f09565b50505b81019080805192919060200180519291906020018051929190602001805192919060200180515095985093965090945060409350505050518060400160405280613a678b613a558d876148f5565b8769ffffffffffffffffffff166149cd565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610f8d565b5050506117d5565b6000838152600c60205260408120613ac0614f74565b9050613aca614fcf565b6000858152600560205260409020600083815260209190915260409020604051604080820190529081600082613afe614f74565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff6101009290920a9004168152602001601b82613b34614f74565b64ffffffffff6101009290920a90041690525090506040516040808201905280613b7d8784517affffffffffffffffffffffffffffffffffffffffffffffffffffff16866149cd565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610f8d565b60005a613bc3615270565b613bd3838563ffffffff614b4a16565b109392505050565b6000613be5614896565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401602060405180830381868061345b615061565b6000827f73555344000000000000000000000000000000000000000000000000000000001415613cc357506000611037565b6000838152600760205260408120600090613cdc614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a9004169050801580613d1e575073ffffffffffffffffffffffffffffffffffffffff8316155b15613d2d576000915050611037565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024016020604051808303818680613da9615061565b158015613dbe57600080613dbb614f09565b50505b505a613dc86150ad565b5050505050158015613de7573d6000803e3d6000613de4614f09565b50505b505050506040513d6020811015613e0657600080613e03614f09565b50505b810190808051979650505050505050565b60008281526007602052808060408120600090613e32614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a9004169050801561406c5760608460405160248101919091526044016040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08183030181526040919091527f9a6fc8f5000000000000000000000000000000000000000000000000000000006020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16909117905290506000606073ffffffffffffffffffffffffffffffffffffffff8416836040518082805190602001908083835b60208310613f4f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613f12565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a613f876150ad565b50505050509150503d8060008114613fd9576040513d603f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681016040523d815291503d6000602084013e613fde565b606091505b509150915081156140645760008060208301835160a081101561400957600080614006614f09565b50505b81019080805192919060200180519291906020018051929190602001805192919060200180519060200190929190505050509350509250506140558a61404f8c856148f5565b8b6149cd565b975095506116ab945050505050565b505050614135565b614074614fcf565b60008681526005602052604090206000868152602091909152604090206040516040808201905290816000826140a8614f74565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff6101009290920a9004168152602001601b826140de614f74565b64ffffffffff6101009290920a900416905250905061411c8682517affffffffffffffffffffffffffffffffffffffffffffffffffffff16876149cd565b816020015190945064ffffffffff1692506116ab915050565b509250929050565b600080614148614f74565b906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a61418461515d565b73ffffffffffffffffffffffffffffffffffffffff16146141dc5760405162461bcd60e51b815260040180806020018281038252602f815260200180615398602f913960400191505060405180910390611a15614f09565b565b600061350a8383670de0b6b3a7640000614ba9565b600061350a8383670de0b6b3a7640000614be6565b6000805b8280614216614f74565b905081101561431c578383828161422b614f74565b811061423357fe5b90600052602060002001614245614f74565b141561431457828181614256614f74565b811061425e57fe5b90600052602060002001600090614273614fe6565b50508260018480614282614f74565b9050038161428e614f74565b811061429657fe5b906000526020600020016142a8614f74565b8382816142b3614f74565b81106142bb57fe5b9060005260206000200181906142cf614fe6565b50505082806142dc614f74565b90614309907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83016152b6565b506001915050611037565b60010161420c565b5060009392505050565b600081815260076020528060408120600090614340614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a90041690508015614417578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186806143a8615061565b1580156143bd576000806143ba614f09565b50505b505a6143c76150ad565b50505050501580156143e6573d6000803e3d60006143e3614f09565b50505b505050506040513d602081101561440557600080614402614f09565b50505b8101908080519450610f8d9350505050565b6000838152600c6020526040902061442d614f74565b915050610f8d565b600080600061444386612705565b915083861415614457575083915080612677565b61446084612705565b905080156126775761447c81611320878563ffffffff6141de16565b925093509350939050565b6000614491615034565b6000838152600a6020526040902060405160a081016040529081816144b4614f74565b8152602001600182016144c5614f74565b8152602001600282016144d6614f74565b81526020016000600383016144e9614f74565b60ff6101009290920a9004161515815260200160016003830161450a614f74565b60ff6101009290920a9004161515905250905060608101518061350a575080608001519392505050565b60008261454357506000611037565b8282028284828161455057fe5b041461350a5760405162461bcd60e51b81526004018080602001828103825260218152602001806153c76021913960400191505060405180910390614593614f09565b50509392505050565b60006111c37f45786368616e676572000000000000000000000000000000000000000000000060405160408082019052601981527f4d697373696e672045786368616e6765722061646472657373000000000000006020820152614c18565b600082518451146146465760405162461bcd60e51b81526004018080602001828103825260388152602001806153e86038913960400191505060405180910390614643614f09565b50505b6102585a614652615270565b0182106146ae5760405162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f2074686520667574757265006044820152606401604051809103906146ab614f09565b50505b60005b84518110156147d05760008582815181106146c857fe5b602002602001015190508482815181106146de57fe5b602002602001015161472a5760405162461bcd60e51b81526004018080602001828103825260398152602001806154a76039913960400191505060405180910390614727614f09565b50505b807f735553440000000000000000000000000000000000000000000000000000000014156147925760405162461bcd60e51b8152600401808060200182810382526031815260200180615340603191396040019150506040518091039061478f614f09565b50505b61479b81613511565b8410156147a857506147c8565b6147c6818684815181106147b857fe5b602002602001015186614cee565b505b6001016146b1565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015614838578082015183820152602001614820565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561487757808201518382015260200161485f565b5050505090500194505050505060405180910390a15060019392505050565b60006111c37f466c657869626c6553746f72616765000000000000000000000000000000000060405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152614c18565b6000808212156149545760405162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015260640160405180910390614951614f09565b50505b600083815260086020526040812060009061496d614f74565b906101000a900460ff1660ff1611156117d557600083815260086020526149b060126040832060009061499e614f74565b906101000a900460ff1660ff16614e32565b600a0a90506149c5838263ffffffff61453416565b915050611037565b60006149d7615034565b6000858152600a6020526040902060405160a081016040529081816149fa614f74565b815260200160018201614a0b614f74565b815260200160028201614a1c614f74565b8152602001600060038301614a2f614f74565b60ff6101009290920a90041615158152602001600160038301614a50614f74565b60ff6101009290920a9004161515905250905080511580614a6f575083155b15614a7d578391505061350a565b6000858152600d60205284925060408120614a96614f74565b9050808410158015614aa9575081606001515b15614aba5781602001519250614593565b808410158015614acb575081608001515b15614adc5781604001519250614593565b6000614af1600284519063ffffffff61453416565b9050858111614b035760009350614b16565b614b13818763ffffffff614e3216565b93505b82602001518410614b2d5782602001519350614b40565b82604001518411614b4057826040015193505b5050509392505050565b60008282018381101561350a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390614593614f09565b600080600a8304614bc0868663ffffffff61453416565b81614bc757fe5b0490506005600a825b0610614bda57600a015b600a9004949350505050565b600080614c0c84614c0087600a870263ffffffff61453416565b9063ffffffff614e9716565b90506005600a82614bd0565b600082815260036020528060408120600090614c32614f74565b73ffffffffffffffffffffffffffffffffffffffff6101009290920a900416905082816110335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614ca2578082015183820152602001614c8a565b50505050905090810190601f168015614ccf5780820380516001836020036101000a031916815260200191505b509250505060405180910390614ce3614f09565b505050905092915050565b6000838152600c60205260409020600081614d07614f74565b91600183019150614d16614fe6565b505050604051604080820181527affffffffffffffffffffffffffffffffffffffffffffffffffffff8416825264ffffffffff831660208084019190915260008681526005909152206000858152600c60205260408120614d75614f74565b8152602001908152602001600020815181600181614d91614f74565b817affffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837affffffffffffffffffffffffffffffffffffffffffffffffffffff16021790614ddb614fe6565b5050506020820151817b0100000000000000000000000000000000000000000000000000000081614e0a614f74565b8164ffffffffff021916908364ffffffffff16021790614e28614fe6565b5050505050505050565b600082821115614e915760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390614e8e614f09565b50505b50900390565b6000808211614ef55760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614ef2614f09565b50505b6000828481614f0057fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614f41578086015182820160400152602001614f26565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156115bc57600082820152602001614fb8565b604051604080820190526000808252602082015290565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614fb8565b60405160a08101604090815260008083526020830181905290820181905260608201819052608082015290565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614fb8565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b888110156150f15780880151828201526020016150d9565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b81811015615152576000815260200161513e565b50919b505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614fb8565b604051610300808201604052601890829080388339509192915050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156152045780890151828201526020016151ec565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059845b818110156152655760008152602001615251565b50919c505050505050565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614fb8565b816152bf614f74565b81836152c9614fe6565b5050818111156115bc57818360005260206000206115bc92810191016111c691905b8082111561270157600080826152ff614fe6565b5050506001016152eb56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e7443757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_newRates",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event",
					"signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event",
					"signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						}
					],
					"name": "InversePriceConfigured",
					"type": "event",
					"signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "initiator",
							"type": "address"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOracle",
							"type": "address"
						}
					],
					"name": "OracleUpdated",
					"type": "event",
					"signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "RateDeleted",
					"type": "event",
					"signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f0e084f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f72def6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a7d36d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "canFreezeRate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3375fcd1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2678df96"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb295ad34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currentRoundForRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x935f4abd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "deleteRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x45938849"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x654a60ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8295016a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "effectiveValueAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x266da16b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "freezeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xde02795e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a018a1e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "startingRoundId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingTimestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timediff",
							"type": "uint256"
						}
					],
					"name": "getLastRoundIdBeforeElapsedSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x109e46a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "inversePricing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "frozenAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "frozenAtLowerLimit",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x728dec29"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "invertedKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ea913d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce8480ea"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05a046e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c71cd23"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "rateAndTimestampAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfdadbc7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4308a94f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac82f608"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38aa1b99"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFrozen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf3aea86"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2528f0fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x009919c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesAndInvalidForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8e5bbd5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d7371e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc2c8a676"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8e6f395"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "roundFrozen",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f6e9d15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "freezeAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtLowerLimit",
							"type": "bool"
						}
					],
					"name": "setInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb199c764"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbfa005ce"
				}
			],
			"source": {
				"keccak256": "0x737687c27488c3c1d457682a08226693405562aa6bd21245aed095bfd1206013",
				"urls": [
					"bzz-raw://920bba2f93162a78d1b5de4ec56d2e06595a77f8b587dfc649821924035b3f25",
					"dweb:/ipfs/QmcpPrGVurrE3X8TBJTbo9UQY6yn15oi52sSictt1h7Vyr"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x737687c27488c3c1d457682a08226693405562aa6bd21245aed095bfd1206013",
						"urls": [
							"bzz-raw://920bba2f93162a78d1b5de4ec56d2e06595a77f8b587dfc649821924035b3f25",
							"dweb:/ipfs/QmcpPrGVurrE3X8TBJTbo9UQY6yn15oi52sSictt1h7Vyr"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200191b3803806200191b833981810160405260608110156200003757600080fd5b810190808051929190602001805192919060200180519250849150506001600160a01b038116620000ae5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000be620001a8565b816001600160a01b0302191690836001600160a01b0316021790620000e2620001e1565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508160026001816200013d620001a8565b816001600160a01b0302191690836001600160a01b031602179062000161620001e1565b50505080600360006101000a8162000178620001a8565b816001600160a01b0302191690836001600160a01b03160217906200019c620001e1565b5050505050506200021c565b6320966208598160e01b8152836004820152602081602483336000905af180620001d8576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000217576040513d6000823e3d81fd5b505050565b6116ef806200022c6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e31461045f578063da7bd3e914610467578063ee1d036c14610493578063fec9f9da146104bf57610173565b80639b217f90146103ff578063ae2e933b1461042b578063b5ddb9c71461043357610173565b806370a082311461039357806371e780f3146103b9578063759b5225146103c157806379ba5097146103c95780638da5cb5b146103d157806397f46527146103d957610173565b8063326a3cfb11610130578063326a3cfb146102a8578063449d0eb1146102ce578063458efde31461030f57806345e5441f1461031757806353a47bb7146103495780636b3905c41461036d57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e5565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661055f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b03166105da565b60405190815260200160405180910390f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b031661061c565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b0316610644565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661065f565b6040518082604080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b6101ec600480360360208110156102be57600080fd5b50356001600160a01b03166106ad565b6102f4600480360360208110156102e457600080fd5b50356001600160a01b03166106c5565b6040518082614100808383600081518382015260200161027d565b61019e61074a565b6101ec6004803603606081101561032d57600080fd5b506001600160a01b038135169060208101359060400135610a7e565b610351610ac6565b6040516001600160a01b03909116815260200160405180910390f35b6101ec6004803603602081101561038357600080fd5b50356001600160a01b0316610ae5565b6101ec600480360360208110156103a957600080fd5b50356001600160a01b0316610afe565b6101ec610b24565b610351610b2e565b61019e610b3a565b610351610cb4565b6101ec600480360360208110156103ef57600080fd5b50356001600160a01b0316610cbf565b6101ec6004803603604081101561041557600080fd5b506001600160a01b038135169060200135610cd1565b610351610cec565b61019e6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610cf8565b6101ec610d79565b6102706004803603604081101561047d57600080fd5b506001600160a01b038135169060200135610d7f565b6101ec600480360360408110156104a957600080fd5b506001600160a01b038135169060200135610dff565b61019e600480360360208110156104d557600080fd5b50356001600160a01b0316610e12565b6104ed610e8d565b80600180806104fa611360565b816001600160a01b0302191690836001600160a01b031602179061051c611398565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b610567610e8d565b806003600181610575611360565b816001600160a01b0302191690836001600160a01b0316021790610597611398565b5050507f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295816040516001600160a01b03909116815260200160405180910390a150565b6000806105e68361061c565b905060005b81811015610613576105fd8482610cd1565b1561060b5791506106179050565b6001016105eb565b5090505b919050565b6001600160a01b03811660009081526004602052604081208061063d611360565b9392505050565b6006602052806000526040600020905061065c611360565b81565b6106676113cd565b6000610672836105da565b905061067d8361061c565b8114156106a3576040518060400160405280600081526020016000815250915050610617565b61063d8382610d7f565b6005602052806000526040600020905061065c611360565b6106cd6113e8565b6106d56113e8565b60006106e08461061c565b905060005b81811015610741576106f56113cd565b6106ff8683610d7f565b905080518483600202610208811061071357fe5b602002015280600160200201518483600202600101610208811061073357fe5b6020020152506001016106e5565b50909392505050565b600061075d5a610758611406565b61061c565b90506000805b8281101561084157600061077f5a610779611406565b83610cd1565b90505a61078a61142f565b8111156107975750610841565b60006107ab5a6107a5611406565b84610dff565b9050801561083757604051604080820190526000808252602082018190526004905a6107d5611406565b6001600160a01b03166001600160a01b0316815260200190815260200160002084816107ff611360565b811061080757fe5b9060005260206000209060020201906002610823929190611458565b50610834848263ffffffff610f0116565b93505b5050600101610763565b508015610a7a57610862816007610856611360565b9063ffffffff610f5a16565b80600761086d611398565b5050506108a981600560005a610881611406565b6001600160a01b03166001600160a01b03168152602001908152602001600020610856611360565b600560005a6108b6611406565b6001600160a01b03166001600160a01b0316815260200190815260200160002081906108e0611398565b50505061092881600660005a6108f4611406565b6001600160a01b03166001600160a01b0316815260200190815260200160002061091c611360565b9063ffffffff610f0116565b600660005a610935611406565b6001600160a01b03166001600160a01b03168152602001908152602001600020819061095f611398565b505050600260009061096f611360565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb5a610996611406565b836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087806109d86114a2565b1580156109e457600080fd5b505a6109ee6114d1565b505050505050158015610a05573d6000803e3d6000fd5b505050506040513d6020811015610a1b57600080fd5b810190808051505050505a610a2e611406565b6001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc65a610a6161142f565b8360405191825260208201526040908101905180910390a25b5050565b60046020528260005260406000208281610a96611360565b8110610a9e57fe5b90600052602060002090600202018160028110610ab757fe5b01925061065c91506113609050565b60006001610ad2611360565b906101000a90046001600160a01b031681565b6000610af08261065f565b60005b602002015192915050565b6001600160a01b0381166000908152600560205260408120610b1e611360565b92915050565b600761065c611360565b60006002610ad2611360565b60006001610b46611360565b906101000a90046001600160a01b03166001600160a01b03165a610b68611406565b6001600160a01b031614610bad5760405162461bcd60e51b81526004018080602001828103825260358152602001806115db6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610bd9611360565b906101000a90046001600160a01b03166001600090610bf6611360565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610c35611360565b906101000a90046001600160a01b03166000806101000a81610c55611360565b816001600160a01b0302191690836001600160a01b0316021790610c77611398565b5050506000600160006101000a81610c8d611360565b816001600160a01b0302191690836001600160a01b0316021790610caf611398565b505050565b600080610ad2611360565b6000610cca8261065f565b6001610af3565b6000610cdd8383610d7f565b60005b60200201519392505050565b60006003610ad2611360565b6000806003610d05611360565b906101000a90046001600160a01b03166001600160a01b03165a610d27611406565b6001600160a01b031614905080610d6f5760405162461bcd60e51b81526004018080602001828103825260328152602001806116bd6032913960400191505060405180910390fd5b610caf8383610fb6565b61010481565b610d876113cd565b6001600160a01b03831660009081526004602052604090208281610da9611360565b8110610db157fe5b90600052602060002060029182020190604080519081016040529190828260026020028201915b81610de1611360565b81526020019060010190808311610dd8575050505050905092915050565b6000610e0b8383610d7f565b6001610ce0565b610e1a610e8d565b806002600181610e28611360565b816001600160a01b0302191690836001600160a01b0316021790610e4a611398565b5050507f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d816040516001600160a01b03909116815260200160405180910390a150565b600080610e98611360565b906101000a90046001600160a01b03166001600160a01b03165a610eba611406565b6001600160a01b031614610eff5760405162461bcd60e51b815260040180806020018281038252602f81526020018061168e602f913960400191505060405180910390fd5b565b60008282018381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b600082821115610fb05760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b806110075760405162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015260640160405180910390fd5b61101581600761091c611360565b806007611020611398565b5050506002600090611030611360565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af180611078576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806110b96114a2565b1580156110c557600080fd5b505a6110cf611526565b50505050501580156110e5573d6000803e3d6000fd5b505050506040513d60208110156110fb57600080fd5b8101908080519250600791506111119050611360565b111561114e5760405162461bcd60e51b81526004018080602001828103825260478152602001806116476047913960600191505060405180910390fd5b6001600160a01b03821660009081526004602052604081208061116f611360565b9150506101048111156111c85760405162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015260640160405180910390fd5b60005a6111d361142f565b6301dfe2000190508161120c576001600160a01b038416600090815260056020528390604090208190611204611398565b5050506112a2565b8061121a8560018503610cd1565b106112565760405162461bcd60e51b81526004018080602001828103825260378152602001806116106037913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205261127c9084906040902061091c611360565b6001600160a01b0385166000908152600560205260409020819061129e611398565b5050505b6001600160a01b038416600090815260046020526040902060405180604001604052808381526020018581525090806001816112dc611360565b0180826112e7611398565b50506000928352916000198301915060209020919261130c926002928302019161157b565b5050836001600160a01b03167fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c5a61134261142f565b8560405191825260208201526040908101905180910390a250505050565b6320966208598160e01b8152836004820152602081602483336000905af18061138f576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610caf576040513d6000823e3d81fd5b60405160408082018152600290829080388339509192915050565b60405161410080820160405261020890829080388339509192915050565b6373509064598160e01b8152602081600483336000905af18061138f576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af18061138f576040513d6000823e3d81fd5b8260028101928215611492579160200282015b8281111561149257825160ff1682611481611398565b50509160200191906001019061146b565b5061149e9291506115b2565b5090565b63c3382d0f598160e01b8152836004820152602081602483336000905af18061138f576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b888110156115015780880151828201602401526020016114e6565b5089898960240183336000905af180611520576040513d6000823e3d81fd5b99505050565b63fbb0f79d598160e01b815284600482015260005b8781101561155657808701518282016024015260200161153b565b5088888860240183336000905af180611575576040513d6000823e3d81fd5b98505050565b8260028101928215611492579160200282015b82811115611492578251826115a1611398565b50509160200191906001019061158e565b6115d791905b8082111561149e57600080826115cc611398565b5050506001016115b8565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[520]",
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759b5225"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0xa290a99e73d82b5c2d1829f0d5a83ce94053945ef5109f963295821e7ea2dd03",
				"urls": [
					"bzz-raw://412c33682086b943c0d9a507b4a46a6adcf04129e4dd3c98dfd9cd2748497ec1",
					"dweb:/ipfs/QmNtB7t8fBGiF3h7ZMVGknicaKFX61AyAprUhur4GBEzjj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0xa290a99e73d82b5c2d1829f0d5a83ce94053945ef5109f963295821e7ea2dd03",
						"urls": [
							"bzz-raw://412c33682086b943c0d9a507b4a46a6adcf04129e4dd3c98dfd9cd2748497ec1",
							"dweb:/ipfs/QmNtB7t8fBGiF3h7ZMVGknicaKFX61AyAprUhur4GBEzjj"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620019d5380380620019d5833981810160405260408110156200003757600080fd5b810190808051929190602001805192506249d40091508390506001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000bb6200018b565b816001600160a01b0302191690836001600160a01b0316021790620000df620001c4565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150805a62000136620001ff565b0180600262000144620001c4565b5050505080600360006101000a816200015c6200018b565b816001600160a01b0302191690836001600160a01b031602179062000180620001c4565b505050505062000229565b6320966208598160e01b8152836004820152602081602483336000905af180620001bb576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620001fa576040513d6000823e3d81fd5b505050565b63bdbf8c36598160e01b8152602081600483336000905af180620001bb576040513d6000823e3d81fd5b61179c80620002396000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fb578063da7bd3e914610503578063ee1d036c1461052f578063fec9f9da1461055b5761018e565b80639b217f90146103f5578063a15d59ce14610421578063bb2a7d0c146104295761018e565b806370a0823114610389578063759b5225146103af57806379ba5097146103b75780638ad58777146103bf5780638da5cb5b146103c757806397f46527146103cf5761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d901461032f57806353a47bb71461033757806363667eb71461035b5780636b3905c4146103635761018e565b80632f5bb66114610297578063458efde3146102f557806345e5441f146102fd5761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610581565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b031661066b565b610207600480360360208110156101f757600080fd5b50356001600160a01b03166106e5565b60405190815260200160405180910390f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b038135169060208101359060400135610727565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610b37565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610b5f565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610b7a565b6040518082604080838360005b838110156102e25780820151838201526020016102ca565b5050505090500191505060405180910390f35b6101b9610bc8565b6102076004803603606081101561031357600080fd5b506001600160a01b038135169060208101359060400135610e71565b610207610eb9565b61033f610ec3565b6040516001600160a01b03909116815260200160405180910390f35b610207610ee2565b6102076004803603602081101561037957600080fd5b50356001600160a01b0316610ee7565b6102076004803603602081101561039f57600080fd5b50356001600160a01b0316610f00565b61033f610f26565b6101b9610f32565b6102076110a7565b61033f6110ac565b610207600480360360208110156103e557600080fd5b50356001600160a01b03166110b7565b6102076004803603604081101561040b57600080fd5b506001600160a01b0381351690602001356110c9565b6102076110e4565b6101b96004803603606081101561043f57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046a57600080fd5b82018360208201111561047c57600080fd5b8035906020019184602083028401116401000000008311171561049e57600080fd5b9193909290916020810190356401000000008111156104bc57600080fd5b8201836020820111156104ce57600080fd5b803590602001918460208302840111640100000000831117156104f057600080fd5b5090925090506110ee565b610207611187565b6102bd6004803603604081101561051957600080fd5b506001600160a01b03813516906020013561118c565b6102076004803603604081101561054557600080fd5b506001600160a01b03813516906020013561120c565b6101b96004803603602081101561057157600080fd5b50356001600160a01b031661121f565b61058961129a565b60026105936113c3565b5a61059c6113fb565b106105d85760405162461bcd60e51b81526004018080602001828103825260298152602001806117736029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604090206105fb906000611424565b6001600160a01b03811660009081526005602052610635906040902061061f6113c3565b60066106296113c3565b9063ffffffff61130e16565b806006610640611456565b5050506001600160a01b0381166000908152600560205260409020600090610666611456565b505050565b61067361129a565b80600180806106806113c3565b816001600160a01b0302191690836001600160a01b03160217906106a2611456565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806106f183610b37565b905060005b8181101561071e5761070884826110c9565b156107165791506107229050565b6001016106f6565b5090505b919050565b61072f61129a565b60026107396113c3565b5a6107426113fb565b1061077e5760405162461bcd60e51b81526004018080602001828103825260298152602001806117736029913960400191505060405180910390fd5b815a6107886113fb565b106107d95760405162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015260640160405180910390fd5b8061082a5760405162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015260640160405180910390fd5b6108448160066108386113c3565b9063ffffffff61136a16565b80600661084f611456565b505050600360009061085f6113c3565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af1806108a7576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806108e861148b565b1580156108f457600080fd5b505a6108fe6114ba565b5050505050158015610914573d6000803e3d6000fd5b505050506040513d602081101561092a57600080fd5b81019080805192506006915061094090506113c3565b111561097d5760405162461bcd60e51b81526004018080602001828103825260478152602001806116fd6047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604081208061099e6113c3565b91505060148111156109f65760405162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015260640160405180910390fd5b80610a27576001600160a01b038416600090815260056020528290604090208190610a1f611456565b505050610ac5565b82610a3d856001610a3788610b37565b036110c9565b10610a795760405162461bcd60e51b81526004018080602001828103825260378152602001806116c66037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052610a9f908390604090206108386113c3565b6001600160a01b03851660009081526005602052604090208190610ac1611456565b5050505b6001600160a01b03841660009081526004602052604090206040518060400160405280858152602001848152509080600181610aff6113c3565b018082610b0a611456565b505060009283529160001983019150602090209192610b2f926002928302019161150f565b505050505050565b6001600160a01b038116600090815260046020526040812080610b586113c3565b9392505050565b60056020528060005260406000209050610b776113c3565b81565b610b82611556565b6000610b8d836106e5565b9050610b9883610b37565b811415610bbe576040518060400160405280600081526020016000815250915050610722565b610b58838261118c565b6000610bdb5a610bd6611571565b610b37565b90506000805b82811015610cbf576000610bfd5a610bf7611571565b836110c9565b90505a610c086113fb565b811115610c155750610cbf565b6000610c295a610c23611571565b8461120c565b90508015610cb557604051604080820190526000808252602082018190526004905a610c53611571565b6001600160a01b03166001600160a01b031681526020019081526020016000208481610c7d6113c3565b8110610c8557fe5b9060005260206000209060020201906002610ca192919061159a565b50610cb2848263ffffffff61136a16565b93505b5050600101610be1565b508015610e6d57610cd48160066106296113c3565b806006610cdf611456565b505050610d1b81600560005a610cf3611571565b6001600160a01b03166001600160a01b031681526020019081526020016000206106296113c3565b600560005a610d28611571565b6001600160a01b03166001600160a01b031681526020019081526020016000208190610d52611456565b5050506003600090610d626113c3565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb5a610d89611571565b836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610dcb61148b565b158015610dd757600080fd5b505a610de16115d4565b505050505050158015610df8573d6000803e3d6000fd5b505050506040513d6020811015610e0e57600080fd5b810190808051505050505a610e21611571565b6001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc65a610e546113fb565b8360405191825260208201526040908101905180910390a25b5050565b60046020528260005260406000208281610e896113c3565b8110610e9157fe5b90600052602060002090600202018160028110610eaa57fe5b019250610b7791506113c39050565b6002610b776113c3565b60006001610ecf6113c3565b906101000a90046001600160a01b031681565b600081565b6000610ef282610b7a565b60005b602002015192915050565b6001600160a01b0381166000908152600560205260408120610f206113c3565b92915050565b60006003610ecf6113c3565b60006001610f3e6113c3565b906101000a90046001600160a01b03166001600160a01b03165a610f60611571565b6001600160a01b031614610fa55760405162461bcd60e51b81526004018080602001828103825260358152602001806116916035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610fd16113c3565b906101000a90046001600160a01b03166001600090610fee6113c3565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161102d6113c3565b906101000a90046001600160a01b03166000806101000a8161104d6113c3565b816001600160a01b0302191690836001600160a01b031602179061106f611456565b5050506000600160006101000a816110856113c3565b816001600160a01b0302191690836001600160a01b0316021790610666611456565b600181565b600080610ecf6113c3565b60006110c282610b7a565b6001610ef5565b60006110d5838361118c565b60005b60200201519392505050565b6006610b776113c3565b6110f661129a565b60026111006113c3565b5a6111096113fb565b106111455760405162461bcd60e51b81526004018080602001828103825260298152602001806117736029913960400191505060405180910390fd5b60005b83811015610b2f5761117f8686868481811061116057fe5b9050602002013585858581811061117357fe5b90506020020135610727565b600101611148565b601481565b611194611556565b6001600160a01b038316600090815260046020526040902082816111b66113c3565b81106111be57fe5b90600052602060002060029182020190604080519081016040529190828260026020028201915b816111ee6113c3565b815260200190600101908083116111e5575050505050905092915050565b6000611218838361118c565b60016110d8565b61122761129a565b8060036001816112356113c3565b816001600160a01b0302191690836001600160a01b0316021790611257611456565b5050507f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d816040516001600160a01b03909116815260200160405180910390a150565b6000806112a56113c3565b906101000a90046001600160a01b03166001600160a01b03165a6112c7611571565b6001600160a01b03161461130c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611744602f913960400191505060405180910390fd5b565b6000828211156113645760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b600082820183811015610b585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b6320966208598160e01b8152836004820152602081602483336000905af1806113f2576040513d6000823e3d81fd5b81519450505050565b63bdbf8c36598160e01b8152602081600483336000905af1806113f2576040513d6000823e3d81fd5b508061142e6113c3565b600082611439611456565b505060020290600052602060002061145391810190611629565b50565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610666576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af1806113f2576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b878110156114ea5780870151828201602401526020016114cf565b5088888860240183336000905af180611509576040513d6000823e3d81fd5b98505050565b8260028101928215611546579160200282015b8281111561154657825182611535611456565b505091602001919060010190611522565b5061155292915061164f565b5090565b60405160408082018152600290829080388339509192915050565b6373509064598160e01b8152602081600483336000905af1806113f2576040513d6000823e3d81fd5b8260028101928215611546579160200282015b8281111561154657825160ff16826115c3611456565b5050916020019190600101906115ad565b634c6d7c84598160e01b815284600482015260005b888110156116045780880151828201602401526020016115e9565b5089898960240183336000905af180611623576040513d6000823e3d81fd5b99505050565b61164c91905b808211156115525760006116438282611674565b5060020161162f565b90565b61164c91905b808211156115525760008082611669611456565b505050600101611655565b50600081611680611456565b5050600101600090610e6d61145656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759b5225"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0xaef2598e94a39958aa5b45d2ac7e9c1b4a78025377f9df780ae144838e140c97",
				"urls": [
					"bzz-raw://309c47d1c5b50784aa71a345ee0e1031d19157eb5958687ccaeab4b0a9fefec9",
					"dweb:/ipfs/Qmbni3XAaSnAVxc3XQVKnRArYUges2ieeQ5U887i9aqwEN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0xaef2598e94a39958aa5b45d2ac7e9c1b4a78025377f9df780ae144838e140c97",
						"urls": [
							"bzz-raw://309c47d1c5b50784aa71a345ee0e1031d19157eb5958687ccaeab4b0a9fefec9",
							"dweb:/ipfs/Qmbni3XAaSnAVxc3XQVKnRArYUges2ieeQ5U887i9aqwEN"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f0738038062000f07833981810160405260408110156200003757600080fd5b8101908080519291906020018051925062093a809150829050836001600160a01b038116620000ac5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000bc62000234565b816001600160a01b0302191690836001600160a01b0316021790620000e06200026d565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200013962000234565b906101000a90046001600160a01b03166001600160a01b03161415620001995760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181620001a962000234565b816001600160a01b0302191690836001600160a01b0316021790620001cd6200026d565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150805a6200021a620002a8565b01806003620002286200026d565b505050505050620002d2565b6320966208598160e01b8152836004820152602081602483336000905af18062000264576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620002a3576040513d6000823e3d81fd5b505050565b63bdbf8c36598160e01b8152602081600483336000905af18062000264576040513d6000823e3d81fd5b610c2580620002e26000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610273578063b16c09f01461027b578063b992812e146102a1578063ba08f299146102db578063cd92eba9146102e357610116565b80638b3f8088146101f95780638da5cb5b146102375780639371bede1461023f578063a764eb451461024757610116565b806346317712116100e9578063463177121461019757806346ba2d901461019f57806352f445ca146101a757806353a47bb7146101cd57806379ba5097146101f157610116565b806308d95cd51461011b5780631627540c1461014a5780631bfba595146101725780633d31e97b1461017a575b600080fd5b6101386004803603602081101561013157600080fd5b50356102eb565b60405190815260200160405180910390f35b6101706004803603602081101561016057600080fd5b50356001600160a01b0316610316565b005b610170610390565b6101706004803603602081101561019057600080fd5b503561042e565b6101386104e0565b61013861051c565b610170600480360360208110156101bd57600080fd5b50356001600160a01b0316610526565b6101d56105a1565b6040516001600160a01b03909116815260200160405180910390f35b6101706105c0565b61021f6004803603602081101561020f57600080fd5b50356001600160a01b0316610735565b60405191825260208201526040908101905180910390f35b6101d5610760565b61013861076b565b6101706004803603604081101561025d57600080fd5b506001600160a01b038135169060200135610775565b6101d5610849565b6101706004803603602081101561029157600080fd5b50356001600160a01b0316610855565b6102c7600480360360208110156102b757600080fd5b50356001600160a01b03166108fd565b604051901515815260200160405180910390f35b610170610925565b6101386109b3565b600681816102f7610af6565b81106102ff57fe5b906000526020600020019050610313610af6565b81565b61031e6109c6565b806001808061032b610af6565b816001600160a01b0302191690836001600160a01b031602179061034d610b2e565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000600261039c610af6565b906101000a90046001600160a01b03166001600160a01b03165a6103be610b63565b6001600160a01b0316146104035760405162461bcd60e51b8152600401808060200182810382526034815260200180610bf16034913960400191505060405180910390fd5b61041e60016005610412610af6565b9063ffffffff610a3a16565b806005610429610b2e565b505050565b6000600261043a610af6565b906101000a90046001600160a01b03166001600160a01b03165a61045c610b63565b6001600160a01b0316146104a15760405162461bcd60e51b8152600401808060200182810382526034815260200180610bf16034913960400191505060405180910390fd5b806006806001816104b0610af6565b0180826104bb610b2e565b50506000928352916000198301915060209020919291016104da610b2e565b50505050565b6000600660016006806104f1610af6565b905003816104fd610af6565b811061050557fe5b90600052602060002001610517610af6565b905090565b6003610313610af6565b61052e6109c6565b80600260018161053c610af6565b816001600160a01b0302191690836001600160a01b031602179061055e610b2e565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b600060016105ad610af6565b906101000a90046001600160a01b031681565b600060016105cc610af6565b906101000a90046001600160a01b03166001600160a01b03165a6105ee610b63565b6001600160a01b0316146106335760405162461bcd60e51b8152600401808060200182810382526035815260200180610b8d6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061065f610af6565b906101000a90046001600160a01b0316600160009061067c610af6565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016106bb610af6565b906101000a90046001600160a01b03166000806101000a816106db610af6565b816001600160a01b0302191690836001600160a01b03160217906106fd610b2e565b5050506000600160006101000a81610713610af6565b816001600160a01b0302191690836001600160a01b0316021790610429610b2e565b600460205280600052604060002090508061074e610af6565b908060010161075b610af6565b905082565b6000806105ad610af6565b6005610313610af6565b60006002610781610af6565b906101000a90046001600160a01b03166001600160a01b03165a6107a3610b63565b6001600160a01b0316146107e85760405162461bcd60e51b8152600401808060200182810382526034815260200180610bf16034913960400191505060405180910390fd5b6001600160a01b03821660009081526004602052819060409020819061080c610b2e565b50505060068061081a610af6565b6001600160a01b03841660009081526004602052909150604090206001018190610842610b2e565b5050505050565b600060026105ad610af6565b60006002610861610af6565b906101000a90046001600160a01b03166001600160a01b03165a610883610b63565b6001600160a01b0316146108c85760405162461bcd60e51b8152600401808060200182810382526034815260200180610bf16034913960400191505060405180910390fd5b6001600160a01b0381166000908152600460205260409020600080826108ec610b2e565b505060018201600090610842610b2e565b6001600160a01b03811660009081526004602052806040812061091e610af6565b1192915050565b60006002610931610af6565b906101000a90046001600160a01b03166001600160a01b03165a610953610b63565b6001600160a01b0316146109985760405162461bcd60e51b8152600401808060200182810382526034815260200180610bf16034913960400191505060405180910390fd5b61041e600160056109a7610af6565b9063ffffffff610a9a16565b60006006806109c0610af6565b91505090565b6000806109d1610af6565b906101000a90046001600160a01b03166001600160a01b03165a6109f3610b63565b6001600160a01b031614610a385760405162461bcd60e51b815260040180806020018281038252602f815260200180610bc2602f913960400191505060405180910390fd5b565b600082820183811015610a935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b600082821115610af05760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6320966208598160e01b8152836004820152602081602483336000905af180610b25576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610429576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180610b25576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0x4aa1406b9afcff53caa03781a7459b34737ad775f53cd4adf0fb62e91b218f0e",
				"urls": [
					"bzz-raw://ffe0b7f7bd81a01382917cfe14af1c76a2f291238e32fc334a3465f70f65e5fd",
					"dweb:/ipfs/QmQQDT5NxsTRMHTtkWGyJWxxGUNAE4XLKQW4DYtyqyo2dG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceState.sol": "PeriFinanceState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceState.sol": {
						"keccak256": "0x4aa1406b9afcff53caa03781a7459b34737ad775f53cd4adf0fb62e91b218f0e",
						"urls": [
							"bzz-raw://ffe0b7f7bd81a01382917cfe14af1c76a2f291238e32fc334a3465f70f65e5fd",
							"dweb:/ipfs/QmQQDT5NxsTRMHTtkWGyJWxxGUNAE4XLKQW4DYtyqyo2dG"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b50604051610a19380380610a198339818101604052602081101561003357600080fd5b8101908080519250829150506001600160a01b0381166100995760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100a761011a565b816001600160a01b0302191690836001600160a01b03160217906100c9610152565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061018c565b6320966208598160e01b8152836004820152602081602483336000905af180610149576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610187576040513d6000823e3d81fd5b505050565b61087e8061019b6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101e25780638da5cb5b146101f7578063907dff971461020c578063d4b83992146102a157610070565b80631627540c1461014957806353a47bb71461017e578063776d1a01146101af575b6000600261007c6106ff565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a6100a3610737565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806100df610760565b1580156100eb57600080fd5b505a6100f561078f565b50505050505015801561010c573d6000803e3d6000fd5b50505050604051366000823760008036833460026101286106ff565b5a61013161078f565b5050505050503d6000833e80610145573d82fd5b3d82f35b34801561015557600080fd5b5061017c6004803603602081101561016c57600080fd5b50356001600160a01b03166102b6565b005b34801561018a57600080fd5b50610193610330565b6040516001600160a01b03909116815260200160405180910390f35b3480156101bb57600080fd5b5061017c600480360360208110156101d257600080fd5b50356001600160a01b031661034f565b3480156101ee57600080fd5b5061017c6103ca565b34801561020357600080fd5b50610193610544565b34801561021857600080fd5b5061017c600480360360c081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b91935091508035906020810135906040810135906060810135906080013561054f565b3480156102ad57600080fd5b5061019361067f565b6102be61068b565b80600180806102cb6106ff565b816001600160a01b0302191690836001600160a01b03160217906102ed6107e4565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000600161033c6106ff565b906101000a90046001600160a01b031681565b61035761068b565b8060026001816103656106ff565b816001600160a01b0302191690836001600160a01b03160217906103876107e4565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e816040516001600160a01b03909116815260200160405180910390a150565b600060016103d66106ff565b906101000a90046001600160a01b03166001600160a01b03165a6103f8610737565b6001600160a01b03161461043d5760405162461bcd60e51b815260040180806020018281038252603581526020018061081a6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806104696106ff565b906101000a90046001600160a01b031660016000906104866106ff565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016104c56106ff565b906101000a90046001600160a01b03166000806101000a816104e56106ff565b816001600160a01b0302191690836001600160a01b03160217906105076107e4565b5050506000600160006101000a8161051d6106ff565b816001600160a01b0302191690836001600160a01b031602179061053f6107e4565b505050565b60008061033c6106ff565b6000600261055b6106ff565b906101000a90046001600160a01b03166001600160a01b03165a61057d610737565b6001600160a01b0316146105ce5760405162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015260640160405180910390fd5b8560608882806020601f82018190048102016040519081016040528181529291906020840183838082843760009201919091525092935089925050811590506106365760018114610641576002811461064d576003811461065a576004811461066857610673565b8260208301a0610673565b868360208401a1610673565b85878460208501a2610673565b8486888560208601a3610673565b838587898660208701a45b50505050505050505050565b6000600261033c6106ff565b6000806106966106ff565b906101000a90046001600160a01b03166001600160a01b03165a6106b8610737565b6001600160a01b0316146106fd5760405162461bcd60e51b815260040180806020018281038252602f81526020018061084f602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af18061072e576040513d6000823e3d81fd5b81519450505050565b6373509064598160e01b8152602081600483336000905af18061072e576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af18061072e576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b888110156107bf5780880151828201602401526020016107a4565b5089898960240183336000905af1806107de576040513d6000823e3d81fd5b99505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061053f576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x143ae701aa1b1a647c5f7245297e8512aec80db040c24a366ad3e81f672ce29f",
				"urls": [
					"bzz-raw://821862c15f0342ce20db49b1feed0de6528e512a6c1095bef8a03939ecaa8f82",
					"dweb:/ipfs/QmYW6Mp94j2FGQFv5Lof9ms3aYQYr9GXUoC6MCjwRBvbYb"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0x143ae701aa1b1a647c5f7245297e8512aec80db040c24a366ad3e81f672ce29f",
						"urls": [
							"bzz-raw://821862c15f0342ce20db49b1feed0de6528e512a6c1095bef8a03939ecaa8f82",
							"dweb:/ipfs/QmYW6Mp94j2FGQFv5Lof9ms3aYQYr9GXUoC6MCjwRBvbYb"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620018d8380380620018d8833981810160405260408110156200003757600080fd5b810190808051929190602001805192508291508390506001600160a01b038116620000a85760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000b862000212565b816001600160a01b0302191690836001600160a01b0316021790620000dc6200024b565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200013562000212565b906101000a90046001600160a01b03166001600160a01b03161415620001955760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181620001a562000212565b816001600160a01b0302191690836001600160a01b0316021790620001c96200024b565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150505062000286565b6320966208598160e01b8152836004820152602081602483336000905af18062000242576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000281576040513d6000823e3d81fd5b505050565b61164280620002966000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104eb578063bdc963d814610508578063c9a52d2c14610525578063f58660661461059c576101a9565b8063a209a29c146104a3578063a77aa49e146104c0578063aefc4ccb146104e3576101a9565b80638267a9ee116100d35780638267a9ee146104445780638da5cb5b146104615780639007127b1461046957806393fe424814610486576101a9565b806353a47bb7146104085780635a2bf25a1461041057806379ba50971461043c576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a957806352f445ca146103e2576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610613565b60405190815260200160405180910390f35b6101fa600480360360208110156101f357600080fd5b503561062f565b005b6101fa6004803603602081101561021257600080fd5b50356106d5565b6101fa6004803603602081101561022f57600080fd5b5035610764565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b03166107f0565b6102796004803603602081101561027257600080fd5b503561086a565b604051901515815260200160405180910390f35b6101fa600480360360408110156102a357600080fd5b5080359060200135610894565b6101fa600480360360408110156102c657600080fd5b5080359060200135610928565b6101fa600480360360208110156102e957600080fd5b50356109b5565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610a50565b6103326004803603602081101561032b57600080fd5b5035610af3565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561036e578082015183820152602001610356565b50505050905090810190601f16801561039b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c6600480360360208110156103bf57600080fd5b5035610bbf565b6040516001600160a01b03909116815260200160405180910390f35b6101fa600480360360208110156103f857600080fd5b50356001600160a01b0316610bef565b6103c6610c6a565b6101fa6004803603604081101561042657600080fd5b50803590602001356001600160a01b0316610c89565b6101fa610d39565b6101fa6004803603602081101561045a57600080fd5b5035610eae565b6103c6610f3a565b6101cb6004803603602081101561047f57600080fd5b5035610f45565b6101fa6004803603602081101561049c57600080fd5b5035610f5b565b610332600480360360208110156104b957600080fd5b5035610fe7565b6101fa600480360360408110156104d657600080fd5b508035906020013561109b565b6103c6611128565b6101fa6004803603602081101561050157600080fd5b5035611134565b6101cb6004803603602081101561051e57600080fd5b50356111c0565b6101fa6004803603604081101561053b57600080fd5b8135919081019060408101602082013564010000000081111561055d57600080fd5b82018360208201111561056f57600080fd5b8035906020019184600183028401116401000000008311171561059157600080fd5b5090925090506111d6565b6101fa600480360360408110156105b257600080fd5b813591908101906040810160208201356401000000008111156105d457600080fd5b8201836020820111156105e657600080fd5b8035906020019184600183028401116401000000008311171561060857600080fd5b50909250905061126c565b6000818152600760205260408120610629611370565b92915050565b6000600261063b611370565b906101000a90046001600160a01b03166001600160a01b03165a61065d6113a8565b6001600160a01b0316146106a25760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008181526005602052604090206001816106bb611370565b906001600160a01b03021916906106d06113d1565b505050565b600060026106e1611370565b906101000a90046001600160a01b03166001600160a01b03165a6107036113a8565b6001600160a01b0316146107485760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000818152600660205260409020610761906000611406565b50565b60006002610770611370565b906101000a90046001600160a01b03166001600160a01b03165a6107926113a8565b6001600160a01b0316146107d75760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008181526007602052604090206000906106d06113d1565b6107f86112fc565b8060018080610805611370565b816001600160a01b0302191690836001600160a01b03160217906108276113d1565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000818152600860205260408120600090610883611370565b906101000a900460ff169050919050565b600060026108a0611370565b906101000a90046001600160a01b03166001600160a01b03165a6108c26113a8565b6001600160a01b0316146109075760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000828152600760205281906040902081906109216113d1565b5050505050565b60006002610934611370565b906101000a90046001600160a01b03166001600160a01b03165a6109566113a8565b6001600160a01b03161461099b5760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000828152600360205281906040902081906109216113d1565b600060026109c1611370565b906101000a90046001600160a01b03166001600160a01b03165a6109e36113a8565b6001600160a01b031614610a285760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000818152600860205260409020600181610a41611370565b9060ff021916906106d06113d1565b60006002610a5c611370565b906101000a90046001600160a01b03166001600160a01b03165a610a7e6113a8565b6001600160a01b031614610ac35760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008281526008602052819060409020600181610ade611370565b8160ff021916908315150217906109216113d1565b600081815260066020526060906040902080610b0d611370565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610b47611370565b60018160011615610100020316600290048015610bb35780601f10610b81576101008083610b73611370565b040283529160200191610bb3565b820191906000526020600020905b81610b98611370565b81529060010190602001808311610b8f57829003601f168201915b50505050509050919050565b6000818152600560205260408120600090610bd8611370565b906101000a90046001600160a01b03169050919050565b610bf76112fc565b806002600181610c05611370565b816001600160a01b0302191690836001600160a01b0316021790610c276113d1565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610c76611370565b906101000a90046001600160a01b031681565b60006002610c95611370565b906101000a90046001600160a01b03166001600160a01b03165a610cb76113a8565b6001600160a01b031614610cfc5760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008281526005602052819060409020600181610d17611370565b816001600160a01b0302191690836001600160a01b03160217906109216113d1565b60006001610d45611370565b906101000a90046001600160a01b03166001600160a01b03165a610d676113a8565b6001600160a01b031614610dac5760405162461bcd60e51b81526004018080602001828103825260358152602001806115aa6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610dd8611370565b906101000a90046001600160a01b03166001600090610df5611370565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610e34611370565b906101000a90046001600160a01b03166000806101000a81610e54611370565b816001600160a01b0302191690836001600160a01b0316021790610e766113d1565b5050506000600160006101000a81610e8c611370565b816001600160a01b0302191690836001600160a01b03160217906106d06113d1565b60006002610eba611370565b906101000a90046001600160a01b03166001600160a01b03165a610edc6113a8565b6001600160a01b031614610f215760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008181526009602052604090206000906106d06113d1565b600080610c76611370565b6000818152600960205260408120610629611370565b60006002610f67611370565b906101000a90046001600160a01b03166001600160a01b03165a610f896113a8565b6001600160a01b031614610fce5760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b60008181526003602052604090206000906106d06113d1565b600081815260046020526060906040902080611001611370565b600181600116156101000203166002900480601f01602080910402602001604051908101604052818152919060208301828061103b611370565b60018160011615610100020316600290048015610bb35780601f10611067576101008083610b73611370565b820191906000526020600020905b8161107e611370565b815290600101906020018083116110755750939695505050505050565b600060026110a7611370565b906101000a90046001600160a01b03166001600160a01b03165a6110c96113a8565b6001600160a01b03161461110e5760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000828152600960205281906040902081906109216113d1565b60006002610c76611370565b60006002611140611370565b906101000a90046001600160a01b03166001600160a01b03165a6111626113a8565b6001600160a01b0316146111a75760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000818152600460205260409020610761906000611406565b6000818152600360205260408120610629611370565b600060026111e2611370565b906101000a90046001600160a01b03166001600160a01b03165a6112046113a8565b6001600160a01b0316146112495760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b600083815260066020528290829060409020611266929091611458565b50505050565b60006002611278611370565b906101000a90046001600160a01b03166001600160a01b03165a61129a6113a8565b6001600160a01b0316146112df5760405162461bcd60e51b815260040180806020018281038252603481526020018061160e6034913960400191505060405180910390fd5b6000838152600460205282908290604090206112669290916114f8565b600080611307611370565b906101000a90046001600160a01b03166001600160a01b03165a6113296113a8565b6001600160a01b03161461136e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806115df602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af18061139f576040513d6000823e3d81fd5b81519450505050565b6373509064598160e01b8152602081600483336000905af18061139f576040513d6000823e3d81fd5b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806106d0576040513d6000823e3d81fd5b5080611410611370565b600181600116156101000203166002900460008261142c6113d1565b505080601f1061143c5750610761565b601f016020900490600052602060002061076191810190611581565b8280611462611370565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114a95782800160ff1982351617856114a26113d1565b50506114e8565b828001600101856114b86113d1565b505082156114e8579182015b828111156114e8578235826114d76113d1565b5050916020019190600101906114c4565b506114f4929150611581565b5090565b8280611502611370565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115425782800160ff1982351617856114a26113d1565b828001600101856115516113d1565b505082156114e8579182015b828111156114e8578235826115706113d1565b50509160200191906001019061155d565b6115a691905b808211156114f4576000808261159b6113d1565b505050600101611587565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			],
			"source": {
				"keccak256": "0xcf14a782c302998462be3cf2e632b0b8cfdf3ff65e542868a1de9e42c64a74a8",
				"urls": [
					"bzz-raw://b03fd09831dc1455311d9fa6526b7687100cc9e7cf8067fea39084506a8cf387",
					"dweb:/ipfs/QmNUsMTy7egN4sBN4Vm5XVmKQcuf3pYgVfh7whW1NXLnYU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0xcf14a782c302998462be3cf2e632b0b8cfdf3ff65e542868a1de9e42c64a74a8",
						"urls": [
							"bzz-raw://b03fd09831dc1455311d9fa6526b7687100cc9e7cf8067fea39084506a8cf387",
							"dweb:/ipfs/QmNUsMTy7egN4sBN4Vm5XVmKQcuf3pYgVfh7whW1NXLnYU"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "608060405260405160a08101604090815269105c1c1c9bdd99505b1b60b21b82526d4275726e466f724164647265737360901b60208301526e4973737565466f724164647265737360881b908201526e436c61696d466f724164647265737360881b60608201527145786368616e6765466f724164647265737360701b608082015262000091906002906005620001f2565b503480156200009f57600080fd5b506040516200147e3803806200147e83398181016040526040811015620000c557600080fd5b81019080805192919060200180519250839150506001600160a01b038116620001345760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816200014462000240565b816001600160a01b0302191690836001600160a01b03160217906200016862000279565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150806007600181620001c362000240565b816001600160a01b0302191690836001600160a01b0316021790620001e762000279565b5050505050620002e1565b82600581019282156200022e579160200282015b828111156200022e578251826200021c62000279565b50509160200191906001019062000206565b506200023c929150620002b4565b5090565b6320966208598160e01b8152836004820152602081602483336000905af18062000270576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620002af576040513d6000823e3d81fd5b505050565b620002de91905b808211156200023c5760008082620002d262000279565b505050600101620002bb565b90565b61118d80620002f16000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604051901515815260200160405180910390f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661056d565b61023361058c565b60405190815260200160405180910390f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b03166105a2565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105ca565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105ef565b6102bf610611565b6040516001600160a01b03909116815260200160405180910390f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b0316610630565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661064e565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b031661066d565b6101fb6106ad565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610827565b6102bf610845565b6102bf610850565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b031661085c565b61023361087a565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661088b565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b03813581169160200135166108aa565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b0316610971565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b0316610a4d565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b0316610a6f565b610233610a89565b610233610a9f565b610233610ab8565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610acd565b60006104ec6e4973737565466f724164647265737360881b8484610aeb565b9392505050565b6104fb610bbe565b8060018080610508610f93565b816001600160a01b0302191690836001600160a01b031602179061052a610fcb565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006104ec6e436c61696d466f724164647265737360881b8484610aeb565b6e4973737565466f724164647265737360881b81565b6105c76e436c61696d466f724164647265737360881b5a6105c1611000565b83610c32565b50565b6105c76e4973737565466f724164647265737360881b5a6105e9611000565b83610d82565b6105c77145786368616e6765466f724164647265737360701b5a6105c1611000565b6000600161061d610f93565b906101000a90046001600160a01b031681565b6105c76d4275726e466f724164647265737360901b5a6105e9611000565b6105c76e436c61696d466f724164647265737360881b5a6105e9611000565b60005b60058110156106a9576106a16002826005811061068957fe5b01610692610f93565b5a61069b611000565b84610d82565b600101610670565b5050565b600060016106b9610f93565b906101000a90046001600160a01b03166001600160a01b03165a6106db611000565b6001600160a01b0316146107205760405162461bcd60e51b81526004018080602001828103825260358152602001806111296035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061074c610f93565b906101000a90046001600160a01b03166001600090610769610f93565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016107a8610f93565b906101000a90046001600160a01b03166000806101000a816107c8610f93565b816001600160a01b0302191690836001600160a01b03160217906107ea610fcb565b5050506000600160006101000a81610800610f93565b816001600160a01b0302191690836001600160a01b0316021790610822610fcb565b505050565b60006104ec6d4275726e466f724164647265737360901b8484610aeb565b60008061061d610f93565b6000600761061d610f93565b6105c76d4275726e466f724164647265737360901b5a6105c1611000565b69105c1c1c9bdd99505b1b60b21b81565b6105c76e4973737565466f724164647265737360881b5a6105c1611000565b60008060076108b7610f93565b906101000a90046001600160a01b03166001600160a01b03166317e7dd226108ed69105c1c1c9bdd99505b1b60b21b8686610f28565b6040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061091f611029565b15801561092b57600080fd5b505a610935611058565b505050505015801561094b573d6000803e3d6000fd5b505050506040513d602081101561096157600080fd5b8101908080519695505050505050565b610979610bbe565b6001600160a01b0381166109be5760405162461bcd60e51b81526004018080602001828103825260268152602001806111036026913960400191505060405180910390fd5b8060076001816109cc610f93565b816001600160a01b0302191690836001600160a01b03160217906109ee610fcb565b5050507fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a176007600090610a1f610f93565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b6105c77145786368616e6765466f724164647265737360701b5a6105e9611000565b6105c769105c1c1c9bdd99505b1b60b21b5a6105c1611000565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b6000610af783836108aa565b15610b04575060016104ec565b60006007610b10610f93565b906101000a90046001600160a01b03166001600160a01b03166317e7dd22610b39868686610f28565b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b6b611029565b158015610b7757600080fd5b505a610b81611058565b5050505050158015610b97573d6000803e3d6000fd5b505050506040513d6020811015610bad57600080fd5b810190808051979650505050505050565b600080610bc9610f93565b906101000a90046001600160a01b03166001600160a01b03165a610beb611000565b6001600160a01b031614610c305760405162461bcd60e51b815260040180806020018281038252602f81526020018061115e602f913960400191505060405180910390fd5b565b6001600160a01b038116610c8c5760405162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015260640160405180910390fd5b60006007610c98610f93565b906101000a90046001600160a01b03166001600160a01b0316633eba9ed2610cc1858585610f28565b60016040516001600160e01b031960e085901b16815260048101929092521515602482015260440160006040518083038160008780610cfe611029565b158015610d0a57600080fd5b505a610d146110ad565b505050505050158015610d2b573d6000803e3d6000fd5b50505050816001600160a01b03167f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633682856040516001600160a01b03909216825260208201526040908101905180910390a2505050565b60006007610d8e610f93565b906101000a90046001600160a01b03166001600160a01b03166317e7dd22610db7858585610f28565b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610de9611029565b158015610df557600080fd5b505a610dff611058565b5050505050158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b8101908080511592506108229150505760006007610e47610f93565b906101000a90046001600160a01b03166001600160a01b0316633cc1635c610e70858585610f28565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780610ea4611029565b158015610eb057600080fd5b505a610eba6110ad565b505050505050158015610ed1573d6000803e3d6000fd5b50505050816001600160a01b03167f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4182856040516001600160a01b03909216825260208201526040908101905180910390a2505050565b600083838360405160200180848152602001836001600160a01b03166001600160a01b031660601b8152601401826001600160a01b03166001600160a01b031660601b8152601401935050505060405160208183030381529060405280519060200120949350505050565b6320966208598160e01b8152836004820152602081602483336000905af180610fc2576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610822576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180610fc2576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af180610fc2576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101561108857808701518282016024015260200161106d565b5088888860240183336000905af1806110a7576040513d6000823e3d81fd5b98505050565b634c6d7c84598160e01b815284600482015260005b888110156110dd5780880151828201602401526020016110c2565b5089898960240183336000905af1806110fc576040513d6000823e3d81fd5b9950505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			],
			"source": {
				"keccak256": "0x5779d58d169ff3b81b6eb4a512371cef0422012ea670780e7e0e79a40691c0d8",
				"urls": [
					"bzz-raw://a839d4fa288f1e9bb26813aae49a259119c98d62d9493ba8ac3ce42b5a289560",
					"dweb:/ipfs/QmVTRMXqNTZuR8yoMVCMQFyDKsvMQ68WYhoMcqcWs6HKNd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0x5779d58d169ff3b81b6eb4a512371cef0422012ea670780e7e0e79a40691c0d8",
						"urls": [
							"bzz-raw://a839d4fa288f1e9bb26813aae49a259119c98d62d9493ba8ac3ce42b5a289560",
							"dweb:/ipfs/QmVTRMXqNTZuR8yoMVCMQFyDKsvMQ68WYhoMcqcWs6HKNd"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405260405160a0810160409081526b53797374656d53746174757360a01b8252680a6f2dce8d0cae8d2f60bb1b60208301527f457465726e616c53746f726167654c69717569646174696f6e73000000000000908201526524b9b9bab2b960d11b60608201526c45786368616e6765526174657360981b60808201526200008d9060059081620004ef565b503480156200009b57600080fd5b506040516200290a3803806200290a83398181016040526040811015620000c157600080fd5b810190808051929190602001805192508291506005905060186103006040519081016040529190610300830182845b81620000fb6200053d565b81526020019060010190808311620000f057508793505050506001600160a01b0381166200016f5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816200017f6200053d565b816001600160a01b0302191690836001600160a01b0316021790620001a362000576565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620001fc6200053d565b906101000a90046001600160a01b03166001600160a01b031614156200025c5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620002ec5760008282601881106200027857fe5b602002015114620002dd5760048282601881106200029257fe5b60200201519080600181620002a66200053d565b018082620002b362000576565b5050600092835291600019830191506020902091929101620002d462000576565b505050620002e3565b620002ec565b6001016200025f565b50816002600181620002fd6200053d565b816001600160a01b0302191690836001600160a01b03160217906200032162000576565b5050505050620003496e466c657869626c6553746f7261676560881b6200035160201b60201c565b505062000666565b80600480600181620003626200053d565b0180826200036f62000576565b50506000928352916000198301915060209020919291016200039062000576565b5050506018600480620003a26200053d565b905010620003f65760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390fd5b60006002620004046200053d565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868062000457620005b1565b1580156200046457600080fd5b505a62000470620005e1565b505050505015801562000487573d6000803e3d6000fd5b505050506040513d60208110156200049e57600080fd5b8101908080516000858152600360205290935060409250905020600181620004c56200053d565b816001600160a01b0302191690836001600160a01b0316021790620004e962000576565b50505050565b82601881019282156200052b579160200282015b828111156200052b578251826200051962000576565b50509160200191906001019062000503565b506200053992915062000639565b5090565b6320966208598160e01b8152836004820152602081602483336000905af1806200056d576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620005ac576040513d6000823e3d81fd5b505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806200056d576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101562000613578087015182820160240152602001620005f6565b5088888860240183336000905af18062000633576040513d6000823e3d81fd5b98505050565b6200066391905b808211156200053957600080826200065762000576565b50505060010162000640565b90565b61229480620006766000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063828afc4b116100c3578063ad2bc2d51161007c578063ad2bc2d514610339578063b410a0341461035f578063c49e80a614610367578063c6c9d8281461038d578063d45c0d7e146103aa578063e3235c91146103d057610158565b8063828afc4b146102945780638d1bd1be146102ba5780638da5cb5b146102c2578063974e9e7f146102ca578063a0cf7451146102f0578063ab49848c146102f857610158565b80633be99e6f116101155780633be99e6f1461022857806353a47bb71461024e578063631e1444146102565780636a0589661461027c57806374e889c91461028457806379ba50971461028c57610158565b806304f3bcec1461015d5780630ac045d5146101815780631627540c146101b65780631775765f146101de57806323f5589a146101e657806339a9df1b146101ee575b600080fd5b6101656103d8565b6040516001600160a01b03909116815260200160405180910390f35b6101a46004803603604081101561019757600080fd5b50803590602001356103f7565b60405190815260200160405180910390f35b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b0316610512565b005b6101a461058c565b6101a461059b565b6102146004803603602081101561020457600080fd5b50356001600160a01b03166105a5565b604051901515815260200160405180910390f35b6101dc6004803603602081101561023e57600080fd5b50356001600160a01b03166105cd565b61016561077c565b6102146004803603602081101561026c57600080fd5b50356001600160a01b0316610788565b6101a4610947565b6101a461095f565b6101dc610979565b6101a4600480360360208110156102aa57600080fd5b50356001600160a01b0316610af3565b6101a4610b11565b610165610bb6565b6101dc600480360360208110156102e057600080fd5b50356001600160a01b0316610bc1565b6101a4610c46565b610300610c50565b604051808261030080838360005b8381101561032657808201518382015260200161030e565b5050505090500191505060405180910390f35b6101dc6004803603602081101561034f57600080fd5b50356001600160a01b0316610cb2565b6101a4610f32565b6102146004803603602081101561037d57600080fd5b50356001600160a01b0316610f3c565b6101a4600480360360208110156103a357600080fd5b503561102e565b6101dc600480360360208110156103c057600080fd5b50356001600160a01b0316611059565b6101a461141c565b600060026103e4611f4f565b906101000a90046001600160a01b031681565b600080610402611421565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680610445611f87565b15801561045157600080fd5b505a61045b611fb6565b5050505050158015610471573d6000803e3d6000fd5b505050506040513d602081101561048757600080fd5b8101908080519350600092506104b791506104aa9050868563ffffffff6114e316565b879063ffffffff61150d16565b905060006104f36104e6856104da6104cd611569565b879063ffffffff6115e016565b9063ffffffff6114e316565b849063ffffffff61150d16565b9050610505828263ffffffff61164016565b9450505050505b92915050565b61051a61166a565b8060018080610527611f4f565b816001600160a01b0302191690836001600160a01b031602179061054961200b565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006105966116de565b905090565b6000610596611569565b60006105af612040565b6105b883611753565b90506105c4815161181c565b9150505b919050565b6105d561166a565b8060026001816105e3611f4f565b816001600160a01b0302191690836001600160a01b031602179061060561200b565b5060009150505b600480610617611f4f565b90508110156107785760006004828161062e611f4f565b811061063657fe5b90600052602060002001610648611f4f565b905060006002610656611f4f565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e67207461726765740000000000000000006064830152608490910190602090518083038186806106df611f87565b1580156106eb57600080fd5b505a6106f5612057565b505050505015801561070b573d6000803e3d6000fd5b505050506040513d602081101561072157600080fd5b8101908080516000858152600360205290935060409250905020600181610746611f4f565b816001600160a01b0302191690836001600160a01b031602179061076861200b565b50506001909201915061060c9050565b5050565b600060016103e4611f4f565b60006001600160a01b03821681600261079f611f4f565b906101000a90046001600160a01b03166001600160a01b0316146107c5575060006105c8565b60005b6004806107d3611f4f565b905081101561093e576000600482816107ea611f4f565b81106107f257fe5b90600052602060002001610804611f4f565b6000818152600360205290915060409020600090610820611f4f565b6001600160a01b036101009290920a9004166000600261083e611f4f565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061088f611f87565b15801561089b57600080fd5b505a6108a5612057565b50505050501580156108bb573d6000803e3d6000fd5b505050506040513d60208110156108d157600080fd5b8101908080516001600160a01b03169390931415925082915061092590505750600081815260036020526040812060009061090a611f4f565b906101000a90046001600160a01b03166001600160a01b0316145b15610935576000925050506105c8565b506001016107c8565b50600192915050565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b724c69717569646174696f6e446561646c696e6560681b81565b60006001610985611f4f565b906101000a90046001600160a01b03166001600160a01b03165a6109a7612086565b6001600160a01b0316146109ec5760405162461bcd60e51b815260040180806020018281038252603581526020018061214b6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610a18611f4f565b906101000a90046001600160a01b03166001600090610a35611f4f565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610a74611f4f565b906101000a90046001600160a01b03166000806101000a81610a94611f4f565b816001600160a01b0302191690836001600160a01b0316021790610ab661200b565b5050506000600160006101000a81610acc611f4f565b816001600160a01b0302191690836001600160a01b0316021790610aee61200b565b505050565b6000610afd612040565b610b0683611753565b905080519392505050565b6000610596610b1e6116de565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680610b5d611f87565b158015610b6957600080fd5b505a610b73611fb6565b5050505050158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b8101908080519392505063ffffffff611839169050565b6000806103e4611f4f565b610bc961184e565b6001600160a01b03165a610bdb612086565b6001600160a01b031614610c205760405162461bcd60e51b815260040180806020018281038252603e81526020018061220e603e913960400191505060405180910390fd5b610c28612040565b610c3182611753565b9050600081511115610778576107788261188f565b6000610596611a0b565b610c586120af565b60005b600480610c66611f4f565b9050811015610cae5760048181610c7b611f4f565b8110610c8357fe5b90600052602060002001610c95611f4f565b828260188110610ca157fe5b6020020152600101610c5b565b5090565b620a69cb60eb1b610cc1611a80565b6001600160a01b0316632528f0fe826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610d02611f87565b158015610d0e57600080fd5b505a610d18612057565b5050505050158015610d2e573d6000803e3d6000fd5b505050506040513d6020811015610d4457600080fd5b810190808051159250610da09150505760405162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015260640160405180910390fd5b610da8611acf565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680610ddb611f87565b158015610de757600080fd5b505a610df1612057565b5050505050158015610e07573d6000803e3d6000fd5b50505050610e13612040565b610e1c83611753565b90506000815111610e735760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015260640160405180910390fd5b6000610e7d611b1d565b6001600160a01b031663a311c7c2856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610ec6611f87565b158015610ed257600080fd5b505a610edc612057565b5050505050158015610ef2573d6000803e3d6000fd5b505050506040513d6020811015610f0857600080fd5b8101908080519350610f1d9250611421915050565b8111610f2c57610f2c8461188f565b50505050565b6000610596611421565b600080610f47611b1d565b6001600160a01b031663a311c7c2846040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610f90611f87565b158015610f9c57600080fd5b505a610fa6612057565b5050505050158015610fbc573d6000803e3d6000fd5b505050506040513d6020811015610fd257600080fd5b8101908080519350610fe79250611421915050565b8111610ff75760009150506105c8565b610fff612040565b61100884611753565b9050611014815161181c565b15611024576001925050506105c8565b5060009392505050565b6004818161103a611f4f565b811061104257fe5b906000526020600020019050611056611f4f565b81565b620a69cb60eb1b611068611a80565b6001600160a01b0316632528f0fe826040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806110a9611f87565b1580156110b557600080fd5b505a6110bf612057565b50505050501580156110d5573d6000803e3d6000fd5b505050506040513d60208110156110eb57600080fd5b8101908080511592506111479150505760405162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015260640160405180910390fd5b61114f611acf565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680611182611f87565b15801561118e57600080fd5b505a611198612057565b50505050501580156111ae573d6000803e3d6000fd5b5050505060006111bc6116de565b1161120d5760405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015260640160405180910390fd5b6000611217611a0b565b116112685760405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015260640160405180910390fd5b611270612040565b61127983611753565b90508051156112b95760405162461bcd60e51b815260040180806020018281038252602781526020018061226d6027913960400191505060405180910390fd5b60006112c3611b1d565b6001600160a01b031663a311c7c2856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061130c611f87565b15801561131857600080fd5b505a611322612057565b5050505050158015611338573d6000803e3d6000fd5b505050506040513d602081101561134e57600080fd5b810190808051935061136392506116de915050565b8110156113a15760405162461bcd60e51b81526004018080602001828103825260358152602001806121aa6035913960400191505060405180910390fd5b60006113c36113ae611a0b565b5a6113b76120cc565b9063ffffffff6115e016565b90506113d885825a6113d3612086565b611b68565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405190815260200160405180910390a25050505050565b601881565b600061142b611cb6565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680611493611f87565b15801561149f57600080fd5b505a6114a9612057565b50505050501580156114bf573d6000803e3d6000fd5b505050506040513d60208110156114d557600080fd5b810190808051935050505090565b6000670de0b6b3a76400006114fe848463ffffffff611d0716565b8161150557fe5b049392505050565b6000828211156115635760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6000611573611cb6565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680611493611f87565b6000828201838110156116395760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b60006116398261165e85670de0b6b3a764000063ffffffff611d0716565b9063ffffffff611d6016565b600080611675611f4f565b906101000a90046001600160a01b03166001600160a01b03165a611697612086565b6001600160a01b0316146116dc5760405162461bcd60e51b815260040180806020018281038252602f8152602001806121df602f913960400191505060405180910390fd5b565b60006116e8611cb6565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680611493611f87565b61175b612040565b611763611dc9565b6001600160a01b031663bdc963d8611791724c69717569646174696f6e446561646c696e6560681b85611e0b565b6040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806117c3611f87565b1580156117cf57600080fd5b505a6117d9612057565b50505050501580156117ef573d6000803e3d6000fd5b505050506040513d602081101561180557600080fd5b810190808051845250506000602083015250919050565b6000808211801561050c5750815a6118326120cc565b1192915050565b60006116398383670de0b6b3a7640000611e58565b60006105966524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b6020820152611e8f565b611897611dc9565b6001600160a01b03166393fe42486118c5724c69717569646174696f6e446561646c696e6560681b84611e0b565b6040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381600087806118f9611f87565b15801561190557600080fd5b505a61190f6120f5565b505050505050158015611926573d6000803e3d6000fd5b50505050611932611dc9565b6001600160a01b031663043106c061195e702634b8bab4b230ba34b7b721b0b63632b960791b84611e0b565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780611992611f87565b15801561199e57600080fd5b505a6119a86120f5565b5050505050501580156119bf573d6000803e3d6000fd5b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c875a6119f76120cc565b60405190815260200160405180910390a250565b6000611a15611cb6565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680611493611f87565b60006105966c45786368616e6765526174657360981b60405160408082019052601d81527f4d697373696e672045786368616e6765526174657320616464726573730000006020820152611e8f565b60006105966b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d5374617475732061646472657373000000006020820152611e8f565b6000610596680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152611e8f565b611b70611dc9565b6001600160a01b0316633562fd20611b9e724c69717569646174696f6e446561646c696e6560681b86611e0b565b846040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780611bd8611f87565b158015611be457600080fd5b505a611bee6120f5565b505050505050158015611c05573d6000803e3d6000fd5b50505050611c11611dc9565b6001600160a01b0316635a2bf25a611c3d702634b8bab4b230ba34b7b721b0b63632b960791b86611e0b565b836040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038160008780611c80611f87565b158015611c8c57600080fd5b505a611c966120f5565b505050505050158015611cad573d6000803e3d6000fd5b50505050505050565b60006105966e466c657869626c6553746f7261676560881b60405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152611e8f565b600082611d165750600061050c565b82820282848281611d2357fe5b04146116395760405162461bcd60e51b815260040180806020018281038252602181526020018061224c6021913960400191505060405180910390fd5b6000808211611db55760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b6000828481611dc057fe5b04949350505050565b60006105967f457465726e616c53746f726167654c69717569646174696f6e7300000000000060405160608101604052602a8082526121806020830139611e8f565b6000828260405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001209392505050565b600080611e728461165e87600a870263ffffffff611d0716565b90506005600a820610611e8357600a015b600a9004949350505050565b600082815260036020528060408120600090611ea9611f4f565b6001600160a01b036101009290920a90041690508281611f475760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f0c578082015183820152602001611ef4565b50505050905090810190601f168015611f395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6320966208598160e01b8152836004820152602081602483336000905af180611f7e576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af180611f7e576040513d6000823e3d81fd5b6345e97ddb598160e01b815284600482015260005b87811015611fe6578087015182820160240152602001611fcb565b5088888860240183336000905af180612005576040513d6000823e3d81fd5b98505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610aee576040513d6000823e3d81fd5b604051604080820190526000808252602082015290565b63fbb0f79d598160e01b8152846004820152600087811015611fe6578087015182820160240152602001611fcb565b6373509064598160e01b8152602081600483336000905af180611f7e576040513d6000823e3d81fd5b604051610300808201604052601890829080388339509192915050565b63bdbf8c36598160e01b8152602081600483336000905af180611f7e576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b8881101561212557808801518282016024015260200161210a565b5089898960240183336000905af180612144576040513d6000823e3d81fd5b9950505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e6720457465726e616c53746f726167654c69717569646174696f6e7320616464726573734163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event",
					"signature": "0xc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event",
					"signature": "0x9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c87"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a058966"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x74e889c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ac045d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad2bc2d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd45c0d7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x828afc4b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39a9df1b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isOpenForLiquidation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc49e80a6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d1bd1be"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x974e9e7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0x4318fdb6dddf0b87dbbb8bbcc0bfe213a2392a13d60491aac8aeecb556e32491",
				"urls": [
					"bzz-raw://c8f9062cd05aaf11767d7f176adf5d483c4ceec817260c84b5e753226349f83a",
					"dweb:/ipfs/QmPJmSRaBvXP3wKKmuh1MC6CP3HXBuQLiWHboaVq7fUVFK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x4318fdb6dddf0b87dbbb8bbcc0bfe213a2392a13d60491aac8aeecb556e32491",
						"urls": [
							"bzz-raw://c8f9062cd05aaf11767d7f176adf5d483c4ceec817260c84b5e753226349f83a",
							"dweb:/ipfs/QmPJmSRaBvXP3wKKmuh1MC6CP3HXBuQLiWHboaVq7fUVFK"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001ce038038062001ce0833981810160405260408110156200003757600080fd5b8101908080519291906020018051925062375f0091508390508280826001600160a01b038116620000ae5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000be62000238565b816001600160a01b0302191690836001600160a01b0316021790620000e262000271565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200013b62000238565b906101000a90046001600160a01b03166001600160a01b031614156200019b5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181620001ab62000238565b816001600160a01b0302191690836001600160a01b0316021790620001cf62000271565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a1505050805a6200021e620002ac565b0180600a6200022c62000271565b505050505050620002d6565b6320966208598160e01b8152836004820152602081602483336000905af18062000268576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620002a7576040513d6000823e3d81fd5b505050565b63bdbf8c36598160e01b8152602081600483336000905af18062000268576040513d6000823e3d81fd5b6119fa80620002e66000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d7578063bdc963d8146105f4578063c9a52d2c14610611578063f586606614610686576101cf565b8063a209a29c146104d1578063a77aa49e146104ee578063aefc4ccb14610511578063b3ffbd9e14610519576101cf565b80638267a9ee116100de5780638267a9ee146104725780638da5cb5b1461048f5780639007127b1461049757806393fe4248146104b4576101cf565b806353a47bb7146104365780635a2bf25a1461043e57806379ba50971461046a576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cf5780634c77e5ba146103d757806352f445ca14610410576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106fb565b60405190815260200160405180910390f35b6102206004803603602081101561021957600080fd5b5035610717565b005b6102206004803603602081101561023857600080fd5b50356107bd565b6102206004803603602081101561025557600080fd5b503561084c565b6102206004803603602081101561027257600080fd5b50356001600160a01b03166108d8565b61029f6004803603602081101561029857600080fd5b5035610952565b604051901515815260200160405180910390f35b610220600480360360408110156102c957600080fd5b508035906020013561097c565b610220600480360360408110156102ec57600080fd5b5080359060200135610a10565b6102206004803603602081101561030f57600080fd5b5035610a9d565b6102206004803603604081101561032c57600080fd5b50803590602001351515610b38565b6103586004803603602081101561035157600080fd5b5035610bdb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561039457808201518382015260200161037c565b50505050905090810190601f1680156103c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ca7565b6103f4600480360360208110156103ed57600080fd5b5035610cb4565b6040516001600160a01b03909116815260200160405180910390f35b6102206004803603602081101561042657600080fd5b50356001600160a01b0316610ce4565b6103f4610d5f565b6102206004803603604081101561045457600080fd5b50803590602001356001600160a01b0316610d7e565b610220610e2e565b6102206004803603602081101561048857600080fd5b5035610fa3565b6103f461102f565b6101f1600480360360208110156104ad57600080fd5b503561103a565b610220600480360360208110156104ca57600080fd5b5035611050565b610358600480360360208110156104e757600080fd5b50356110dc565b6102206004803603604081101561050457600080fd5b5080359060200135611190565b6103f461121d565b6102206004803603604081101561052f57600080fd5b810190602081018135600160201b81111561054957600080fd5b82018360208201111561055b57600080fd5b803590602001918460208302840111600160201b8311171561057c57600080fd5b919390929091602081019035600160201b81111561059957600080fd5b8201836020820111156105ab57600080fd5b803590602001918460208302840111600160201b831117156105cc57600080fd5b509092509050611229565b610220600480360360208110156105ed57600080fd5b5035611416565b6101f16004803603602081101561060a57600080fd5b50356114a2565b6102206004803603604081101561062757600080fd5b81359190810190604081016020820135600160201b81111561064857600080fd5b82018360208201111561065a57600080fd5b803590602001918460018302840111600160201b8311171561067b57600080fd5b5090925090506114b8565b6102206004803603604081101561069c57600080fd5b81359190810190604081016020820135600160201b8111156106bd57600080fd5b8201836020820111156106cf57600080fd5b803590602001918460018302840111600160201b831117156106f057600080fd5b50909250905061154e565b6000818152600760205260408120610711611652565b92915050565b60006002610723611652565b906101000a90046001600160a01b03166001600160a01b03165a61074561168a565b6001600160a01b03161461078a5760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526005602052604090206001816107a3611652565b906001600160a01b03021916906107b86116b3565b505050565b600060026107c9611652565b906101000a90046001600160a01b03166001600160a01b03165a6107eb61168a565b6001600160a01b0316146108305760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526006602052604090206108499060006116e8565b50565b60006002610858611652565b906101000a90046001600160a01b03166001600160a01b03165a61087a61168a565b6001600160a01b0316146108bf5760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526007602052604090206000906107b86116b3565b6108e06115de565b80600180806108ed611652565b816001600160a01b0302191690836001600160a01b031602179061090f6116b3565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600081815260086020526040812060009061096b611652565b906101000a900460ff169050919050565b60006002610988611652565b906101000a90046001600160a01b03166001600160a01b03165a6109aa61168a565b6001600160a01b0316146109ef5760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b600082815260076020528190604090208190610a096116b3565b5050505050565b60006002610a1c611652565b906101000a90046001600160a01b03166001600160a01b03165a610a3e61168a565b6001600160a01b031614610a835760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b600082815260036020528190604090208190610a096116b3565b60006002610aa9611652565b906101000a90046001600160a01b03166001600160a01b03165a610acb61168a565b6001600160a01b031614610b105760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b6000818152600860205260409020600181610b29611652565b9060ff021916906107b86116b3565b60006002610b44611652565b906101000a90046001600160a01b03166001600160a01b03165a610b6661168a565b6001600160a01b031614610bab5760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008281526008602052819060409020600181610bc6611652565b8160ff02191690831515021790610a096116b3565b600081815260066020526060906040902080610bf5611652565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610c2f611652565b60018160011615610100020316600290048015610c9b5780601f10610c69576101008083610c5b611652565b040283529160200191610c9b565b820191906000526020600020905b81610c80611652565b81529060010190602001808311610c7757829003601f168201915b50505050509050919050565b600a610cb1611652565b81565b6000818152600560205260408120600090610ccd611652565b906101000a90046001600160a01b03169050919050565b610cec6115de565b806002600181610cfa611652565b816001600160a01b0302191690836001600160a01b0316021790610d1c6116b3565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610d6b611652565b906101000a90046001600160a01b031681565b60006002610d8a611652565b906101000a90046001600160a01b03166001600160a01b03165a610dac61168a565b6001600160a01b031614610df15760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008281526005602052819060409020600181610e0c611652565b816001600160a01b0302191690836001600160a01b0316021790610a096116b3565b60006001610e3a611652565b906101000a90046001600160a01b03166001600160a01b03165a610e5c61168a565b6001600160a01b031614610ea15760405162461bcd60e51b81526004018080602001828103825260358152602001806119396035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610ecd611652565b906101000a90046001600160a01b03166001600090610eea611652565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610f29611652565b906101000a90046001600160a01b03166000806101000a81610f49611652565b816001600160a01b0302191690836001600160a01b0316021790610f6b6116b3565b5050506000600160006101000a81610f81611652565b816001600160a01b0302191690836001600160a01b03160217906107b86116b3565b60006002610faf611652565b906101000a90046001600160a01b03166001600160a01b03165a610fd161168a565b6001600160a01b0316146110165760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526009602052604090206000906107b86116b3565b600080610d6b611652565b6000818152600960205260408120610711611652565b6000600261105c611652565b906101000a90046001600160a01b03166001600160a01b03165a61107e61168a565b6001600160a01b0316146110c35760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526003602052604090206000906107b86116b3565b6000818152600460205260609060409020806110f6611652565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280611130611652565b60018160011615610100020316600290048015610c9b5780601f1061115c576101008083610c5b611652565b820191906000526020600020905b81611173611652565b8152906001019060200180831161116a5750939695505050505050565b6000600261119c611652565b906101000a90046001600160a01b03166001600160a01b03165a6111be61168a565b6001600160a01b0316146112035760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b600082815260096020528190604090208190610a096116b3565b60006002610d6b611652565b6112316115de565b600a61123b611652565b5a61124461173a565b106112805760405162461bcd60e51b81526004018080602001828103825260298152602001806119d16029913960400191505060405180910390fd5b8281146112c55760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640160405180910390fd5b60005b60ff8116841115610a09575a63996d79a5598160e01b8152602081600483336000905af1806112fd576040513d6000823e3d81fd5b815193505050506001600160a01b0316633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b87878560ff1681811061133857fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff1681811061139957fe5b905060200201356040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806113d9611763565b1580156113e557600080fd5b505a6113ef611792565b505050505050158015611406573d6000803e3d6000fd5b5050600190920191506112c89050565b60006002611422611652565b906101000a90046001600160a01b03166001600160a01b03165a61144461168a565b6001600160a01b0316146114895760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b60008181526004602052604090206108499060006116e8565b6000818152600360205260408120610711611652565b600060026114c4611652565b906101000a90046001600160a01b03166001600160a01b03165a6114e661168a565b6001600160a01b03161461152b5760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b6000838152600660205282908290604090206115489290916117e7565b50505050565b6000600261155a611652565b906101000a90046001600160a01b03166001600160a01b03165a61157c61168a565b6001600160a01b0316146115c15760405162461bcd60e51b815260040180806020018281038252603481526020018061199d6034913960400191505060405180910390fd5b600083815260046020528290829060409020611548929091611887565b6000806115e9611652565b906101000a90046001600160a01b03166001600160a01b03165a61160b61168a565b6001600160a01b0316146116505760405162461bcd60e51b815260040180806020018281038252602f81526020018061196e602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af180611681576040513d6000823e3d81fd5b81519450505050565b6373509064598160e01b8152602081600483336000905af180611681576040513d6000823e3d81fd5b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806107b8576040513d6000823e3d81fd5b50806116f2611652565b600181600116156101000203166002900460008261170e6116b3565b505080601f1061171e5750610849565b601f016020900490600052602060002061084991810190611910565b63bdbf8c36598160e01b8152602081600483336000905af180611681576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af180611681576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b888110156117c25780880151828201602401526020016117a7565b5089898960240183336000905af1806117e1576040513d6000823e3d81fd5b99505050565b82806117f1611652565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106118385782800160ff1982351617856118316116b3565b5050611877565b828001600101856118476116b3565b50508215611877579182015b82811115611877578235826118666116b3565b505091602001919060010190611853565b50611883929150611910565b5090565b8280611891611652565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106118d15782800160ff1982351617856118316116b3565b828001600101856118e06116b3565b50508215611877579182015b82811115611877578235826118ff6116b3565b5050916020019190600101906118ec565b61193591905b80821115611883576000808261192a6116b3565b505050600101611916565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0x245b48648e6d3b99bc176928df16f92feec91b6d59dfb62d346f621ea1f891a4",
				"urls": [
					"bzz-raw://bc3fda660fd52d71e7aed5debfb7fc474170f5fbfa95bc36d889bb414ebed63b",
					"dweb:/ipfs/QmWpF5aDRAS8xEGAY6dkXsRwM4pqY2KUbTtuZ9pt6ZGcyJ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0x245b48648e6d3b99bc176928df16f92feec91b6d59dfb62d346f621ea1f891a4",
						"urls": [
							"bzz-raw://bc3fda660fd52d71e7aed5debfb7fc474170f5fbfa95bc36d889bb414ebed63b",
							"dweb:/ipfs/QmWpF5aDRAS8xEGAY6dkXsRwM4pqY2KUbTtuZ9pt6ZGcyJ"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631cd554d160e21b600b62000018620008c6565b5050604051610160810160409081526b53797374656d53746174757360a01b8252680a6f2dce8d0cae8d2f60bb1b60208301526b466565506f6f6c537461746560a01b908201527f466565506f6f6c457465726e616c53746f72616765000000000000000000000060608201526822bc31b430b733b2b960b91b60808201526524b9b9bab2b960d11b60a08201526d53796e746865746978537461746560901b60c08201526b526577617264457363726f7760a01b60e08201527044656c6567617465417070726f76616c7360781b6101008201527f4574686572436f6c6c61746572616c73555344000000000000000000000000006101208201527f52657761726473446973747269627574696f6e000000000000000000000000006101408201526200014b90601790600b62000901565b503480156200015957600080fd5b506040516200553b3803806200553b833981810160405260608110156200017f57600080fd5b8101908080519291906020018051929190602001805192508291506017905060186103006040519081016040529190610300830182845b81620001c16200094f565b81526020019060010190808311620001b6575050505050621baf80858560006001600160a01b0316816001600160a01b03161415620002465760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620002566200094f565b816001600160a01b0302191690836001600160a01b03160217906200027a620008c6565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620002d36200094f565b906101000a90046001600160a01b03166001600160a01b03161415620003335760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181620003436200094f565b816001600160a01b0302191690836001600160a01b031602179062000367620008c6565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a15060008080620003b66200094f565b906101000a90046001600160a01b03166001600160a01b03161415620004165760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b600080620004236200094f565b906101000a90046001600160a01b0316600660016101000a81620004466200094f565b816001600160a01b0302191690836001600160a01b03160217906200046a620008c6565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53600080906200049c6200094f565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1805a620004d362000988565b01806007620004e1620008c6565b5050505060006001600160a01b031660008090620004fe6200094f565b906101000a90046001600160a01b03166001600160a01b031614156200055e5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620005ee5760008282601881106200057a57fe5b602002015114620005df57600a8282601881106200059457fe5b60200201519080600181620005a86200094f565b018082620005b5620008c6565b5050600092835291600019830191506020902091929101620005d6620008c6565b505050620005e5565b620005ee565b60010162000561565b50816008600181620005ff6200094f565b816001600160a01b0302191690836001600160a01b031602179062000623620008c6565b50505050506200064b6e466c657869626c6553746f7261676560881b620006f660201b60201c565b60016200066260006001600160e01b036200089416565b6001816200066f6200094f565b816001600160401b0302191690836001600160401b031602179062000693620008c6565b5050505a620006a162000988565b620006b660006001600160e01b036200089416565b600160801b81620006c66200094f565b816001600160401b0302191690836001600160401b0316021790620006ea620008c6565b50505050505062000a67565b80600a80600181620007076200094f565b01808262000714620008c6565b505060009283529160001983019150602090209192910162000735620008c6565b5050506018600a80620007476200094f565b9050106200079b5760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390fd5b60006008620007a96200094f565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620007fc620009b2565b1580156200080957600080fd5b505a62000815620009e2565b50505050501580156200082c573d6000803e3d6000fd5b505050506040513d60208110156200084357600080fd5b81019080805160008581526009602052909350604092509050206001816200086a6200094f565b816001600160a01b0302191690836001600160a01b03160217906200088e620008c6565b50505050565b6000600c6002836016620008a76200094f565b0181620008b057fe5b0660028110620008bc57fe5b6005020192915050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620008fc576040513d6000823e3d81fd5b505050565b82601881019282156200093d579160200282015b828111156200093d578251826200092b620008c6565b50509160200191906001019062000915565b506200094b92915062000a3a565b5090565b6320966208598160e01b8152836004820152602081602483336000905af1806200097f576040513d6000823e3d81fd5b81519450505050565b63bdbf8c36598160e01b8152602081600483336000905af1806200097f576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af1806200097f576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101562000a14578087015182820160240152602001620009f7565b5088888860240183336000905af18062000a34576040513d6000823e3d81fd5b98505050565b62000a6491905b808211156200094b576000808262000a58620008c6565b50505060010162000a41565b90565b614ac48062000a776000396000f3fe608060405234801561001057600080fd5b50600436106103155760003560e01c806386645274116101a7578063bc67f832116100ee578063d67bdd2511610097578063eb1edd6111610071578063eb1edd6114610823578063ec5568891461082b578063fd1f498d1461083357610315565b8063d67bdd251461080b578063e0e6393d14610813578063e3235c911461081b57610315565b8063c6c9d828116100c8578063c6c9d828146107c8578063cff2ddad146107e5578063d294f0931461080357610315565b8063bc67f83214610792578063bd32aa44146107b8578063c58aaae6146107c057610315565b8063ab49848c11610150578063b410a0341161012a578063b410a03414610756578063b5ddb9c71461075e578063b8225dec1461078a57610315565b8063ab49848c146106c5578063ac83419314610706578063b10090b81461070e57610315565b80639cb8a26a116101815780639cb8a26a146106ad5780639cbdaeb6146106b5578063a461fc82146106bd57610315565b8063866452741461064d5780638da5cb5b1461067f57806397107d6d1461068757610315565b8063331400161161026b578063569249d0116102145780636466f45e116101ee5780636466f45e146106175780636de813f11461063d57806379ba50971461064557610315565b8063569249d0146105af57806359a2f19f146105b7578063631e1444146105f157610315565b80633fcd2240116102455780633fcd22401461053757806346ba2d901461059f57806353a47bb7146105a757610315565b806333140016146104895780633be99e6f146105095780633ebc457a1461052f57610315565b80631627540c116102cd57806322425fa4116102a757806322425fa41461045c57806322bf55ef146104645780633278c9601461048157610315565b80631627540c1461040857806317c70de41461042e57806320714f881461043657610315565b80630813071c116102fe5780630813071c146103765780630de58615146103a2578063131b0ae7146103e057610315565b806304f3bcec1461031a57806307ea50cd1461033e575b600080fd5b610322610850565b6040516001600160a01b03909116815260200160405180910390f35b6103646004803603602081101561035457600080fd5b50356001600160a01b031661086f565b60405190815260200160405180910390f35b6103646004803603604081101561038c57600080fd5b506001600160a01b038135169060200135610970565b6103c8600480360360208110156103b857600080fd5b50356001600160a01b0316610b58565b60405191825260208201526040908101905180910390f35b610406600480360360208110156103f657600080fd5b50356001600160a01b0316610bdd565b005b6104066004803603602081101561041e57600080fd5b50356001600160a01b0316610c1b565b610364610c95565b6104066004803603602081101561044c57600080fd5b50356001600160a01b0316610ca2565b610364610d78565b6104066004803603602081101561047a57600080fd5b5035610d87565b610406610f2e565b6104af6004803603602081101561049f57600080fd5b50356001600160a01b0316610f9f565b6040516000826002835b818410156104f95782846020020151604080838360005b838110156104e85780820151838201526020016104d0565b5050505090500192600101926104b9565b9250505091505060405180910390f35b6104066004803603602081101561051f57600080fd5b50356001600160a01b0316611245565b6104066113f4565b6105546004803603602081101561054d57600080fd5b50356118e8565b60405167ffffffffffffffff97881681529587166020870152939095166040808601919091526060850192909252608084015260a083019390935260c082015260e001905180910390f35b6103646119f5565b6103226119ff565b610364611a0b565b6105dd600480360360208110156105cd57600080fd5b50356001600160a01b0316611a74565b604051901515815260200160405180910390f35b6105dd6004803603602081101561060757600080fd5b50356001600160a01b0316611a86565b6105dd6004803603602081101561062d57600080fd5b50356001600160a01b0316611c45565b610364611dd4565b610406611e1d565b6104066004803603606081101561066357600080fd5b506001600160a01b038135169060208101359060400135611f97565b61032261210e565b6104066004803603602081101561069d57600080fd5b50356001600160a01b0316612119565b610406612194565b6103226122ea565b6103646122f6565b6106cd6122fd565b604051808261030080838360005b838110156106f35780820151838201526020016106db565b5050505090500191505060405180910390f35b61036461235f565b610406600480360361010081101561072557600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c08101359060e0013561241b565b6103646126d9565b6104066004803603604081101561077457600080fd5b506001600160a01b0381351690602001356126e3565b6105dd612850565b610406600480360360208110156107a857600080fd5b50356001600160a01b0316612869565b61040661287f565b610322612901565b610364600480360360208110156107de57600080fd5b503561290d565b6107ed612935565b60405160ff909116815260200160405180910390f35b6105dd61293a565b6103226129d3565b6103646129df565b6103646129e9565b6103226129ee565b610322612a06565b6104066004803603602081101561084957600080fd5b5035612a12565b6000600861085c614687565b906101000a90046001600160a01b031681565b6000610879612af9565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061091d6146bf565b15801561092957600080fd5b505a6109336146ee565b5050505050158015610949573d6000803e3d6000fd5b505050506040513d602081101561095f57600080fd5b81019080805193505050505b919050565b6000816109c35760405162461bcd60e51b815260206004820181905260248201527f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574604482015260640160405180910390fd5b60028210610a175760405162461bcd60e51b815260206004820152601d60248201527f4578636565647320746865204645455f504552494f445f4c454e475448000000604482015260640160405180910390fd5b610a2360018303612b3b565b600890610a2e614687565b67ffffffffffffffff6101009290920a900416610a4d57506000610b52565b6000610a8a6001610a6060018603612b3b565b600890610a6b614687565b67ffffffffffffffff6101009290920a9004169063ffffffff612b6916565b9050600080610a97612bc5565b6001600160a01b031663d29c000a87856040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680610ae56146bf565b158015610af157600080fd5b505a610afb6146ee565b5050505050158015610b11573d6000803e3d6000fd5b505050506040513d6040811015610b2757600080fd5b8101908080519291906020018051939550929350610b4c925085915084905083612c24565b93505050505b92915050565b600080610b63614743565b610b6c84610f9f565b905060008060015b6002811015610bd057610b9f848260028110610b8c57fe5b602002015151849063ffffffff612d7916565b9250610bc6848260028110610bb057fe5b602002015160200151839063ffffffff612d7916565b9150600101610b74565b509093509150505b915091565b610be5612dd9565b806003600181610bf3614687565b816001600160a01b0302191690836001600160a01b0316021790610c15614770565b50505050565b610c23612dd9565b8060018080610c30614687565b816001600160a01b0302191690836001600160a01b0316021790610c52614770565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6005610c9f614687565b81565b610caa612dd9565b6001600160a01b038116610d045760405162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015260640160405180910390fd5b80600661010081610d13614687565b816001600160a01b0302191690836001600160a01b0316021790610d35614770565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53816040516001600160a01b03909116815260200160405180910390a150565b6000610d82612e4d565b905090565b6000610d91612f2e565b6001600160a01b03165a610da36147a5565b6001600160a01b0316149050600080610dba612f8d565b6001600160a01b03166316b2213f5a610dd16147a5565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e0b6146bf565b158015610e1757600080fd5b505a610e216146ee565b5050505050158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b8101908080519390931415935060009250610e6a9150612fec9050565b6001600160a01b03165a610e7c6147a5565b6001600160a01b03161490508280610e915750815b80610e995750805b610ee95760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000604482015260640160405180910390fd5b610f0e84610ef76000612b3b565b600101610f02614687565b9063ffffffff612d7916565b610f186000612b3b565b6001018190610f25614770565b50505050505050565b610f36612dd9565b6000806005610f43614770565b5050506000600660006101000a81610f59614687565b8160ff02191690831515021790610f6e614770565b5050507f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c60405160405180910390a1565b610fa7614743565b6000806000610fb4612bc5565b9050806001600160a01b031663b326f84e8660006040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401604080518083038186806110066146bf565b15801561101257600080fd5b505a61101c6146ee565b5050505050158015611032573d6000803e3d6000fd5b505050506040513d604081101561104857600080fd5b8101908080519291906020018051939650929450508315915050801561106c575082155b1561108457611079614743565b935061096b92505050565b6000806110936000868661302e565b9092509050818651528086516020015260006110ae8861086f565b905060015b801561123957600019810160006110c982612b3b565b6008906110d4614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff16905060008111801561112e575061110583612b3b565b600090611110614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff1684105b1561122e57600061114682600163ffffffff612b6916565b9050876001600160a01b031663d29c000a8d836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401604080518083038186806111976146bf565b1580156111a357600080fd5b505a6111ad6146ee565b50505050501580156111c3573d6000803e3d6000fd5b505050506040513d60408110156111d957600080fd5b8101908080519291906020018051939d50929b506111fe92508691508c90508b61302e565b9097509550868b856002811061121057fe5b602002015152858b856002811061122357fe5b602002015160200152505b5050600019016110b3565b50505050505050919050565b61124d612dd9565b80600860018161125b614687565b816001600160a01b0302191690836001600160a01b031602179061127d614770565b5060009150505b600a8061128f614687565b90508110156113f0576000600a82816112a6614687565b81106112ae57fe5b906000526020600020016112c0614687565b9050600060086112ce614687565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e67207461726765740000000000000000006064830152608490910190602090518083038186806113576146bf565b15801561136357600080fd5b505a61136d6146ee565b5050505050158015611383573d6000803e3d6000fd5b505050506040513d602081101561139957600080fd5b81019080805160008581526009602052909350604092509050206001816113be614687565b816001600160a01b0302191690836001600160a01b03160217906113e0614770565b5050600190920191506112849050565b5050565b6113fc6130c6565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061142f6146bf565b15801561143b57600080fd5b505a6114456146ee565b505050505015801561145b573d6000803e3d6000fd5b505050506000611469612e4d565b116114ba5760405162461bcd60e51b815260206004820152601b60248201527f46656520506572696f64204475726174696f6e206e6f74207365740000000000604482015260640160405180910390fd5b6114c2612e4d565b5a6114cb6147ce565b036114d66000612b3b565b6010906114e1614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff16111561154e5760405162461bcd60e51b815260206004820152601d60248201527f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000604482015260640160405180910390fd5b600061155981612b3b565b905060006115676001612b3b565b905061159f82600101611578614687565b610f0283600201611587614687565b84600101611593614687565b9063ffffffff612b6916565b6115a96000612b3b565b60010181906115b6614770565b5050506115e3826003016115c8614687565b610f02836004016115d7614687565b84600301611593614687565b6115ed6000612b3b565b60030181906115fa614770565b506116239150600290506116176001611593836016610f02614687565b9063ffffffff61312516565b80601661162e614770565b505050600c601661163d614687565b6002811061164757fe5b60050201600081600181611659614687565b9067ffffffffffffffff0219169061166f614770565b508290506801000000000000000081611686614687565b9067ffffffffffffffff0219169061169c614770565b50829050700100000000000000000000000000000000816116bb614687565b9067ffffffffffffffff021916906116d1614770565b5050600182016000906116e2614770565b5050600282016000906116f3614770565b505060038201600090611704614770565b505060048201600090611715614770565b5050505061175260016117286001612b3b565b600090611733614687565b67ffffffffffffffff6101009290920a9004169063ffffffff612d7916565b61175c6000612b3b565b600181611767614687565b8167ffffffffffffffff021916908367ffffffffffffffff1602179061178b614770565b505050611796613189565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186806117c96146bf565b1580156117d557600080fd5b505a6117df6146ee565b50505050501580156117f5573d6000803e3d6000fd5b505050506040513d602081101561180b57600080fd5b8101908080519250611821915060009050612b3b565b6801000000000000000081611834614687565b8167ffffffffffffffff021916908367ffffffffffffffff16021790611858614770565b5050505a6118646147ce565b61186e6000612b3b565b70010000000000000000000000000000000081611889614687565b8167ffffffffffffffff021916908367ffffffffffffffff160217906118ad614770565b5050506113f06118bd6001612b3b565b6000906118c8614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff166131e8565b60008060008060008060006118fb6147f7565b61190489612b3b565b60405160e08101604052908160008261191b614687565b67ffffffffffffffff6101009290920a900416815260200160088261193e614687565b67ffffffffffffffff6101009290920a9004168152602001601082611961614687565b67ffffffffffffffff6101009290920a900416815260200160018201611985614687565b815260200160028201611996614687565b8152602001600382016119a7614687565b8152602001600482016119b8614687565b9052509050805181602001518260400151836060015184608001518560a001518660c00151959f949e50929c50909a509850965090945092505050565b6007610c9f614687565b6000600161085c614687565b60008060015b6002811015611a6e57611a3e611a2682612b3b565b600101611a31614687565b839063ffffffff612d7916565b9150611a64611a4c82612b3b565b600201611a57614687565b839063ffffffff612b6916565b9150600101611a11565b50905090565b6000611a7f82613356565b5092915050565b60006001600160a01b038216816008611a9d614687565b906101000a90046001600160a01b03166001600160a01b031614611ac35750600061096b565b60005b600a80611ad1614687565b9050811015611c3c576000600a8281611ae8614687565b8110611af057fe5b90600052602060002001611b02614687565b6000818152600960205290915060409020600090611b1e614687565b6001600160a01b036101009290920a90041660006008611b3c614687565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680611b8d6146bf565b158015611b9957600080fd5b505a611ba36146ee565b5050505050158015611bb9573d6000803e3d6000fd5b505050506040513d6020811015611bcf57600080fd5b8101908080516001600160a01b031693909314159250829150611c23905057506000818152600960205260408120600090611c08614687565b906101000a90046001600160a01b03166001600160a01b0316145b15611c335760009250505061096b565b50600101611ac6565b50600192915050565b6000611c4f6130c6565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680611c826146bf565b158015611c8e57600080fd5b505a611c986146ee565b5050505050158015611cae573d6000803e3d6000fd5b50505050611cba613470565b611cc2613546565b6001600160a01b03166321f4ae578360006004611cdd614687565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680611d2e6146bf565b158015611d3a57600080fd5b505a611d446146ee565b5050505050158015611d5a573d6000803e3d6000fd5b505050506040513d6020811015611d7057600080fd5b8101908080519250611dcb9150505760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600604482015260640160405180910390fd5b610b5282613588565b60008060015b6002811015611a6e57611dfa611def82612b3b565b600301611a31614687565b9150611e13611e0882612b3b565b600401611a57614687565b9150600101611dda565b60006001611e29614687565b906101000a90046001600160a01b03166001600160a01b03165a611e4b6147a5565b6001600160a01b031614611e905760405162461bcd60e51b81526004018080602001828103825260358152602001806148ef6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611ebc614687565b906101000a90046001600160a01b03166001600090611ed9614687565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611f18614687565b906101000a90046001600160a01b03166000806101000a81611f38614687565b816001600160a01b0302191690836001600160a01b0316021790611f5a614770565b5050506000600160006101000a81611f70614687565b816001600160a01b0302191690836001600160a01b0316021790611f92614770565b505050565b611f9f612f8d565b6001600160a01b03165a611fb16147a5565b6001600160a01b03161461200b5760405162461bcd60e51b815260206004820152601f60248201527f466565506f6f6c3a204f6e6c792049737375657220417574686f726973656400604482015260640160405180910390fd5b612013612bc5565b6001600160a01b03166394e1a44884848461202e6000612b3b565b600890612039614687565b906101000a900467ffffffffffffffff166040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526024840192909252604483015267ffffffffffffffff166064820152608401600060405180830381600087806120a26146bf565b1580156120ae57600080fd5b505a6120b8614832565b5050505050501580156120cf573d6000803e3d6000fd5b50505050611f928383836120e36000612b3b565b6008906120ee614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff1661371f565b60008061085c614687565b612121612dd9565b80600260018161212f614687565b816001600160a01b0302191690836001600160a01b0316021790612151614770565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b61219c612dd9565b600060066121a8614687565b906101000a900460ff166122025760405162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015260640160405180910390fd5b5a61220b6147ce565b6224ea006005612219614687565b011061226b5760405162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015260640160405180910390fd5b7f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b760016006612298614687565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1600160066122cf614687565b906101000a90046001600160a01b03166001600160a01b0316ff5b6000600361085c614687565b6224ea0081565b612305614887565b60005b600a80612313614687565b905081101561235b57600a8181612328614687565b811061233057fe5b90600052602060002001612342614687565b82826018811061234e57fe5b6020020152600101612308565b5090565b6000610d8261240761236f613893565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806123ae6146bf565b1580156123ba57600080fd5b505a6123c46148a4565b50505050501580156123da573d6000803e3d6000fd5b505050506040513d60208110156123f057600080fd5b8101908080519392505063ffffffff612d79169050565b61240f613924565b9063ffffffff6139b516565b6124236139df565b600761242d614687565b5a6124366147ce565b106124725760405162461bcd60e51b8152600401808060200182810382526029815260200180614a536029913960400191505060405180910390fd5b61247a613189565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186806124ad6146bf565b1580156124b957600080fd5b505a6124c36146ee565b50505050501580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b810190808051891115925061254d9150505760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420696d706f727420626164206461746100000000000000000000604482015260640160405180910390fd5b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff16815260200185815260200184815260200183815260200182815250600c6125b6600260ff166116178c6016610f02614687565b600281106125c057fe5b600502018151816001816125d2614687565b8167ffffffffffffffff021916908367ffffffffffffffff160217906125f6614770565b5050506020820151816801000000000000000081612612614687565b8167ffffffffffffffff021916908367ffffffffffffffff16021790612636614770565b5050506040820151817001000000000000000000000000000000008161265a614687565b8167ffffffffffffffff021916908367ffffffffffffffff1602179061267e614770565b505050606082015181600101612692614770565b50506080820151816002016126a5614770565b505060a0820151816003016126b8614770565b505060c0820151816004016126cb614770565b505050505050505050505050565b6000610d82613924565b6126eb6139df565b6126f3613b6e565b6001600160a01b03166323b872dd6000600461270d614687565b906101000a90046001600160a01b0316612725613bcd565b846040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529190921660248201526044810191909152606401602060405180830381600087806127736146bf565b15801561277f57600080fd5b505a612789614832565b5050505050501580156127a0573d6000803e3d6000fd5b505050506040513d60208110156127b657600080fd5b810190808051506127ca9250613bcd915050565b6001600160a01b031663b5ddb9c783836040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061281b6146bf565b15801561282757600080fd5b505a612831614832565b505050505050158015612848573d6000803e3d6000fd5b505050505050565b6000600661285c614687565b906101000a900460ff1681565b612871613c2c565b806004600181610bf3614687565b612887612dd9565b5a6128906147ce565b80600561289b614770565b5050506001600660006101000a816128b1614687565b8160ff021916908315150217906128c6614770565b5050507fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a66224ea0060405190815260200160405180910390a1565b6001600661085c614687565b600a8181612919614687565b811061292157fe5b906000526020600020019050610c9f614687565b600281565b60006129446130c6565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806129776146bf565b15801561298357600080fd5b505a61298d6146ee565b50505050501580156129a3573d6000803e3d6000fd5b505050506129af613470565b610d82600060046129be614687565b906101000a90046001600160a01b0316613588565b6000600461085c614687565b6000610d82613893565b601881565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6000600261085c614687565b6000612a1c613cf3565b90506001600160a01b03811660006004612a34614687565b906101000a90046001600160a01b03166001600160a01b03161480612a725750806001600160a01b03165a612a676147a5565b6001600160a01b0316145b612ac25760405162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206973206e6f742072657761726473417574686f726974790000604482015260640160405180910390fd5b612adb82612ad06000612b3b565b600301610f02614687565b612ae56000612b3b565b6003018190612af2614770565b5050505050565b6000610d827f466565506f6f6c457465726e616c53746f726167650000000000000000000000604051606081016040526025808252614a9f6020830139613d31565b6000600c6002836016612b4c614687565b0181612b5457fe5b0660028110612b5f57fe5b6005020192915050565b600082821115612bbf5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6000610d827f466565506f6f6c5374617465000000000000000000000000000000000000000060405160408082019052601c81527f4d697373696e6720466565506f6f6c53746174652061646472657373000000006020820152613d31565b600080612c2f613189565b90506000612d6f85612d63846001600160a01b03166308d95cd5886040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680612c7c6146bf565b158015612c8857600080fd5b505a612c926146ee565b5050505050158015612ca8573d6000803e3d6000fd5b505050506040513d6020811015612cbe57600080fd5b810190808051925050506001600160a01b0386166308d95cd58b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680612d0a6146bf565b158015612d1657600080fd5b505a612d206146ee565b5050505050158015612d36573d6000803e3d6000fd5b505050506040513d6020811015612d4c57600080fd5b8101908080519392505063ffffffff613df1169050565b9063ffffffff613e0a16565b9695505050505050565b600082820183811015612dd25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b600080612de4614687565b906101000a90046001600160a01b03166001600160a01b03165a612e066147a5565b6001600160a01b031614612e4b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806149e0602f913960400191505060405180910390fd5b565b6000612e57613e23565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612ede6146bf565b158015612eea57600080fd5b505a612ef46146ee565b5050505050158015612f0a573d6000803e3d6000fd5b505050506040513d6020811015612f2057600080fd5b810190808051935050505090565b6000610d827f45786368616e676572000000000000000000000000000000000000000000000060405160408082019052601981527f4d697373696e672045786368616e6765722061646472657373000000000000006020820152613d31565b6000610d827f497373756572000000000000000000000000000000000000000000000000000060405160408082019052601681527f4d697373696e67204973737565722061646472657373000000000000000000006020820152613d31565b6000610d827f4574686572436f6c6c61746572616c7355534400000000000000000000000000604051606081016040526023808252614a7c6020830139613d31565b60008083613041575060009050806130be565b83851561306c57600061305b6001610a6060018a03612b3b565b9050613068818787612c24565b9150505b60006130868261307b89612b3b565b60010161240f614687565b905060006130a2836130978a612b3b565b60030161240f614687565b90506130ad82613e82565b6130b682613e82565b945094505050505b935093915050565b6000610d827f53797374656d537461747573000000000000000000000000000000000000000060405160408082019052601c81527f4d697373696e672053797374656d5374617475732061646472657373000000006020820152613d31565b6000816131785760405162461bcd60e51b815260206004820152601860248201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604482015260640160405180910390fd5b81838161318157fe5b069392505050565b6000610d827f53796e746865746978537461746500000000000000000000000000000000000060405160408082019052601e81527f4d697373696e672053796e7468657469785374617465206164647265737300006020820152613d31565b600060026131f4614687565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260016040517f466565506572696f64436c6f7365642875696e743235362900000000000000008152601801604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156132dd5780820151838201526020016132c5565b50505050905090810190601f16801561330a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806133296146bf565b15801561333557600080fd5b505a61333f614832565b505050505050158015612af2573d6000803e3d6000fd5b600080600080613364612f8d565b6001600160a01b031663ae3bbbbb866040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401604080518083038186806133ac6146bf565b1580156133b857600080fd5b505a6133c26146ee565b50505050501580156133d8573d6000803e3d6000fd5b505050506040513d60408110156133ee57600080fd5b81019080805192919060200180519395509293506000925061341291506139249050565b90508083101561342a5750600193509150610bd89050565b600061344761343a61236f613893565b839063ffffffff6139b516565b905080841115613461576000839550955050505050610bd8565b50600194509092505050915091565b6000600261347c614687565b906101000a90046001600160a01b03166001600160a01b03165a61349e6147a5565b6001600160a01b0316141580156134ea5750600060036134bc614687565b906101000a90046001600160a01b03166001600160a01b03165a6134de6147a5565b6001600160a01b031614155b801561352b57505a6134fa6147a5565b6001600160a01b03166000600461350f614687565b906101000a90046001600160a01b03166001600160a01b031614155b15612e4b575a6135396147a5565b6004600181611f70614687565b6000610d827f44656c6567617465417070726f76616c730000000000000000000000000000006040516060810160405260218082526149486020830139613d31565b600080808080808061359988613356565b91509150816135ee5760405162461bcd60e51b815260206004820152601f60248201527f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400604482015260640160405180910390fd5b80156136405760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015260640160405180910390fd5b61364988610b58565b90945092508315158061365c5750600083115b6136975760405162461bcd60e51b81526004018080602001828103825260408152602001806149a06040913960400191505060405180910390fd5b6136d0886136a56001612b3b565b6000906136b0614687565b906101000a900467ffffffffffffffff1667ffffffffffffffff16613ea4565b83156136eb576136df84613f58565b94506136eb888661403c565b8215613706576136fa8361423a565b9550613706888761431f565b613711888688614417565b506001979650505050505050565b6000600261372b614687565b906101000a90046001600160a01b03166001600160a01b031663907dff9784848460405160200180848152602001838152602001828152602001935050505060405160208183030381529060405260026040518060376149698239603701905060405180910390206001600160a01b0389166000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156138105780820151838201526020016137f8565b50505050905090810190601f16801561383d5780820380516001836020036101000a031916815260200191505b509750505050505050506000604051808303816000878061385c6146bf565b15801561386857600080fd5b505a613872614832565b505050505050158015613889573d6000803e3d6000fd5b5050505050505050565b600061389d613e23565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612ede6146bf565b600061392e613e23565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612ede6146bf565b6000670de0b6b3a76400006139d0848463ffffffff61455616565b816139d757fe5b049392505050565b600060026139eb614687565b906101000a90046001600160a01b03166001600160a01b03165a613a0d6147a5565b6001600160a01b031614158015613a59575060006003613a2b614687565b906101000a90046001600160a01b03166001600160a01b03165a613a4d6147a5565b6001600160a01b031614155b8015613a9a57505a613a696147a5565b6001600160a01b031660006004613a7e614687565b906101000a90046001600160a01b03166001600160a01b031614155b15613adb575a613aa86147a5565b6004600181613ab5614687565b816001600160a01b0302191690836001600160a01b0316021790613ad7614770565b5050505b600080613ae6614687565b6001600160a01b036101009290920a90041660006004613b04614687565b906101000a90046001600160a01b03166001600160a01b031614612e4b5760405162461bcd60e51b815260206004820152601360248201527f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000604482015260640160405180910390fd5b6000610d827f53796e746865746978000000000000000000000000000000000000000000000060405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152613d31565b6000610d827f526577617264457363726f77000000000000000000000000000000000000000060405160408082019052601c81527f4d697373696e6720526577617264457363726f772061646472657373000000006020820152613d31565b60006002613c38614687565b906101000a90046001600160a01b03166001600160a01b03165a613c5a6147a5565b6001600160a01b03161480613ca3575060006003613c76614687565b906101000a90046001600160a01b03166001600160a01b03165a613c986147a5565b6001600160a01b0316145b612e4b5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015260640160405180910390fd5b6000610d827f52657761726473446973747269627574696f6e00000000000000000000000000604051606081016040526023808252614a0f60208301395b600082815260096020528060408120600090613d4b614687565b6001600160a01b036101009290920a90041690508281613de95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dae578082015183820152602001613d96565b50505050905090810190601f168015613ddb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6000612dd283836b033b2e3c9fd0803ce80000006145af565b6000612dd283836b033b2e3c9fd0803ce80000006145f3565b6000610d827f466c657869626c6553746f72616765000000000000000000000000000000000060405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152613d31565b60006305f5e10082046005600a820610613e9a57600a015b600a900492915050565b613eac612af9565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120836040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303816000878061281b6146bf565b6000818160015b6002811015613de9576000613f7382612b3b565b600201613f7e614687565b90506000613f9a82613f8f85612b3b565b600101611593614687565b90508015614031576000858210613fb15785613fb3565b815b9050613fc5838263ffffffff612d7916565b613fce85612b3b565b6002018190613fdb614770565b50613ff091508790508263ffffffff612b6916565b9550614002858263ffffffff612d7916565b9450856140175784965050505050505061096b565b831580156140255750600086115b1561402f57600095505b505b505060001901613f5f565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156140ae5760405162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015260640160405180910390fd5b60006140b8612f8d565b6001600160a01b03166332608039600b6140d0614687565b6040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806141026146bf565b15801561410e57600080fd5b505a6141186146ee565b505050505015801561412e573d6000803e3d6000fd5b505050506040513d602081101561414457600080fd5b8101908080519350506001600160a01b0383169150639dc29fac905073feefeefeefeefeefeefeefeefeefeefeefeefeef856040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806141b76146bf565b1580156141c357600080fd5b505a6141cd614832565b5050505050501580156141e4573d6000803e3d6000fd5b50505050806001600160a01b031663867904b485856040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061385c6146bf565b6000818160015b6002811015613de957600061427761425883612b3b565b600401614263614687565b61426c84612b3b565b600301611593614687565b9050801561431557600084821061428e5784614290565b815b90506142aa8161429f85612b3b565b600401610f02614687565b6142b384612b3b565b60040181906142c0614770565b506142d591508690508263ffffffff612b6916565b94506142e7848263ffffffff612d7916565b9350846142fb57839550505050505061096b565b821580156143095750600085115b1561431357600094505b505b5060001901614241565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156143915760405162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015260640160405180910390fd5b614399613bcd565b6001600160a01b031663b5ddb9c784846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806143ea6146bf565b1580156143f657600080fd5b505a614400614832565b505050505050158015610f25573d6000803e3d6000fd5b60006002614423614687565b906101000a90046001600160a01b03166001600160a01b031663907dff978484846040516001600160a01b039093166020840152604080840192909252606083015260809091019051602081830303815290604052600160405180602461492482396024019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561450a5780820151838201526020016144f2565b50505050905090810190601f1680156145375780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806143ea6146bf565b60008261456557506000610b52565b8282028284828161457257fe5b0414612dd25760405162461bcd60e51b8152600401808060200182810382526021815260200180614a326021913960400191505060405180910390fd5b6000806145d5846145c987600a870263ffffffff61455616565b9063ffffffff61461e16565b90506005600a825b06106145e757600a015b600a9004949350505050565b600080600a830461460a868663ffffffff61455616565b8161461157fe5b0490506005600a826145dd565b60008082116146735760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b600082848161467e57fe5b04949350505050565b6320966208598160e01b8152836004820152602081602483336000905af1806146b6576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806146b6576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101561471e578087015182820160240152602001614703565b5088888860240183336000905af18061473d576040513d6000823e3d81fd5b98505050565b60405180604001604052806002905b61475a6148d3565b8152602001906001900390816147525790505090565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180611f92576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af1806146b6576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af1806146b6576040513d6000823e3d81fd5b60405160e081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b634c6d7c84598160e01b815284600482015260005b88811015614862578088015182820160240152602001614847565b5089898960240183336000905af180614881576040513d6000823e3d81fd5b99505050565b604051610300808201604052601890829080388339509192915050565b6345e97ddb598160e01b815284600482015260008781101561471e578087015182820160240152602001614703565b6040516040808201815260029082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697046656573436c61696d656428616464726573732c75696e743235362c75696e74323536294d697373696e672044656c6567617465417070726f76616c73206164647265737349737375616e636544656274526174696f456e74727928616464726573732c75696e743235362c75696e743235362c75696e74323536294e6f2066656573206f72207265776172647320617661696c61626c6520666f7220706572696f642c206f72206665657320616c726561647920636c61696d65644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4d697373696e672052657761726473446973747269627574696f6e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e672073657475704d697373696e67204574686572436f6c6c61746572616c7355534420616464726573734d697373696e6720466565506f6f6c457465726e616c53746f726167652061646472657373",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingDebtIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"name": "importFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb10090b8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x569249d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			],
			"source": {
				"keccak256": "0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1",
				"urls": [
					"bzz-raw://44bb3df59fea247d0a71ff6f56b1a309460bbae35262cc6724260ddb30eefff0",
					"dweb:/ipfs/QmVMGAeDR2LoGz2qX9t9f2mAoP1sVupyXJ1wezHJ9vsuq9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1",
						"urls": [
							"bzz-raw://44bb3df59fea247d0a71ff6f56b1a309460bbae35262cc6724260ddb30eefff0",
							"dweb:/ipfs/QmVMGAeDR2LoGz2qX9t9f2mAoP1sVupyXJ1wezHJ9vsuq9"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200154838038062001548833981810160405260408110156200003757600080fd5b8101908080519291906020018051925062375f0091508390506001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000bb620002aa565b816001600160a01b0302191690836001600160a01b0316021790620000df620002e3565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808062000138620002aa565b906101000a90046001600160a01b03166001600160a01b03161415620001985760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b600080620001a5620002aa565b906101000a90046001600160a01b0316600360016101000a81620001c8620002aa565b816001600160a01b0302191690836001600160a01b0316021790620001ec620002e3565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53600080906200021e620002aa565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1805a620002556200031e565b0180600462000263620002e3565b5050505080600560006101000a816200027b620002aa565b816001600160a01b0302191690836001600160a01b03160217906200029f620002e3565b505050505062000348565b6320966208598160e01b8152836004820152602081602483336000905af180620002da576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000319576040513d6000823e3d81fd5b505050565b63bdbf8c36598160e01b8152602081600483336000905af180620002da576040513d6000823e3d81fd5b6111f080620003586000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063b326f84e1161007c578063b326f84e1461036a578063b8225dec14610396578063bd32aa44146103b2578063c58aaae6146103ba578063cff2ddad146103c2578063d29c000a146103e057610137565b80638da5cb5b1461031257806394e1a4481461031a5780639cb8a26a14610352578063a461fc821461035a578063ae2e933b1461036257610137565b806339a3f63f116100ff57806339a3f63f146101d257806346ba2d901461029a57806353a47bb7146102a257806379ba5097146102c65780637de65545146102ce57610137565b80631627540c1461013c57806317c70de41461016457806319db22281461017e57806320714f88146101a45780633278c960146101ca575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b031661040c565b005b61016c610486565b60405190815260200160405180910390f35b6101626004803603602081101561019457600080fd5b50356001600160a01b0316610493565b610162600480360360208110156101ba57600080fd5b50356001600160a01b03166104d1565b6101626105a7565b610162600480360360808110156101e857600080fd5b81019060208101813564010000000081111561020357600080fd5b82018360208201111561021557600080fd5b8035906020019184602083028401116401000000008311171561023757600080fd5b91939092909160208101903564010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184602083028401116401000000008311171561028957600080fd5b919350915080359060200135610618565b61016c610813565b6102aa61081d565b6040516001600160a01b03909116815260200160405180910390f35b61016261083c565b6102fa600480360360408110156102e457600080fd5b506001600160a01b0381351690602001356109b6565b60405191825260208201526040908101905180910390f35b6102aa6109f2565b6101626004803603608081101561033057600080fd5b506001600160a01b0381351690602081013590604081013590606001356109fd565b610162610af2565b61016c610c48565b6102aa610c4f565b6102fa6004803603604081101561038057600080fd5b506001600160a01b038135169060200135610c5b565b61039e610d0a565b604051901515815260200160405180910390f35b610162610d23565b6102aa610da5565b6103ca610db1565b60405160ff909116815260200160405180910390f35b6102fa600480360360408110156103f657600080fd5b506001600160a01b038135169060200135610db6565b610414610ea6565b806001808061042161100c565b816001600160a01b0302191690836001600160a01b0316021790610443611044565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600261049061100c565b81565b61049b610ea6565b8060056001816104a961100c565b816001600160a01b0302191690836001600160a01b03160217906104cb611044565b50505050565b6104d9610ea6565b6001600160a01b0381166105335760405162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015260640160405180910390fd5b8060036101008161054261100c565b816001600160a01b0302191690836001600160a01b0316021790610564611044565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53816040516001600160a01b03909116815260200160405180910390a150565b6105af610ea6565b60008060026105bc611044565b5050506000600360006101000a816105d261100c565b8160ff021916908315150217906105e7611044565b5050507f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c60405160405180910390a1565b610620610ea6565b600461062a61100c565b5a610633611079565b1061066f5760405162461bcd60e51b81526004018080602001828103825260298152602001806111c76029913960400191505060405180910390fd5b8483146106b45760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640160405180910390fd5b60005b8581101561080a578484828181106106cb57fe5b90506020020135600660008989858181106106e257fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061071d57fe5b60020201600001819061072e611044565b505050816006600089898581811061074257fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061077d57fe5b60020201600101819061078e611044565b50505086868281811061079d57fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea8686848181106107e357fe5b905060200201358460405191825260208201526040908101905180910390a26001016106b7565b50505050505050565b600461049061100c565b6000600161082961100c565b906101000a90046001600160a01b031681565b6000600161084861100c565b906101000a90046001600160a01b03166001600160a01b03165a61086a6110a2565b6001600160a01b0316146108af5760405162461bcd60e51b815260040180806020018281038252603581526020018061110f6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806108db61100c565b906101000a90046001600160a01b031660016000906108f861100c565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161093761100c565b906101000a90046001600160a01b03166000806101000a8161095761100c565b816001600160a01b0302191690836001600160a01b0316021790610979611044565b5050506000600160006101000a8161098f61100c565b816001600160a01b0302191690836001600160a01b03160217906109b1611044565b505050565b600660205281600052604060002081600681106109cf57fe5b6002020191508190506109e061100c565b90806001016109ed61100c565b905082565b60008061082961100c565b60006005610a0961100c565b906101000a90046001600160a01b03166001600160a01b03165a610a2b6110a2565b6001600160a01b031614610a705760405162461bcd60e51b81526004018080602001828103825260318152602001806111676031913960400191505060405180910390fd5b6001600160a01b03841660009081526006602052819060409020600101610a9561100c565b1015610aa457610aa484610f1a565b6001600160a01b038416600090815260066020528390604090208190610ac8611044565b5050506001600160a01b03841660009081526006602052829060409020819060010161080a611044565b610afa610ea6565b60006003610b0661100c565b906101000a900460ff16610b605760405162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015260640160405180910390fd5b5a610b69611079565b6224ea006002610b7761100c565b0110610bc95760405162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015260640160405180910390fd5b7f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b760016003610bf661100c565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a160016003610c2d61100c565b906101000a90046001600160a01b03166001600160a01b0316ff5b6224ea0081565b6000600561082961100c565b60008060068310610c9d5760405162461bcd60e51b81526004018080602001828103825260238152602001806111446023913960400191505060405180910390fd5b6001600160a01b03841660009081526006602052604090208360068110610cc057fe5b60020201610ccc61100c565b6001600160a01b03851660009081526006602052909250604090208360068110610cf257fe5b60020201600101610d0161100c565b90509250929050565b60006003610d1661100c565b906101000a900460ff1681565b610d2b610ea6565b5a610d34611079565b806002610d3f611044565b5050506001600360006101000a81610d5561100c565b8160ff02191690831515021790610d6a611044565b5050507fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a66224ea0060405190815260200160405180910390a1565b6001600361082961100c565b600681565b600080610dc16110cb565b6001600160a01b0385166000908152600660205260409020600660c060405190810160405291906000835b82821015610e335783826002020160405160408082019052908181610e0f61100c565b815260200160018201610e2061100c565b8152505081526020019060010190610dec565b509293506000925050505b6006811015610e9c57818160068110610e5357fe5b6020020151602001518510610e9457818160068110610e6e57fe5b602002015151828260068110610e8057fe5b602002015160200151935093505050610e9f565b600101610e3e565b50505b9250929050565b600080610eb161100c565b906101000a90046001600160a01b03166001600160a01b03165a610ed36110a2565b6001600160a01b031614610f185760405162461bcd60e51b815260040180806020018281038252602f815260200180611198602f913960400191505060405180910390fd5b565b60045b6006811015611008576001600160a01b038216600090815260066020526001820190604090208260068110610f4e57fe5b60020201610f5a61100c565b6001600160a01b03841660009081526006602052604090208260068110610f7d57fe5b600202016000018190610f8e611044565b5050506001600160a01b03831660009081526006602052604090208260068110610fb457fe5b60020201600101610fc361100c565b6001600160a01b03841660009081526006602052604090208260068110610fe657fe5b600202016001018190610ff7611044565b50506000199092019150610f1d9050565b5050565b6320966208598160e01b8152836004820152602081602483336000905af18061103b576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806109b1576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af18061103b576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af18061103b576040513d6000823e3d81fd5b60405160c081016040526006815b6110e16110f7565b8152602001906001900390816110d95790505090565b60405160408082019052600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				}
			],
			"source": {
				"keccak256": "0x38521bec7362b0ac231f277974550427ae84fefab337b3baf3e7b3be41aa865b",
				"urls": [
					"bzz-raw://000c86556516ffcf7add3867a7884c66d9870fea2cfe0b95a5bfe5f9269eef47",
					"dweb:/ipfs/QmbQTSh9eUWewKHKpG5cQ3jF9JmY8mU1KDLRL5ct57K4Tg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0x38521bec7362b0ac231f277974550427ae84fefab337b3baf3e7b3be41aa865b",
						"urls": [
							"bzz-raw://000c86556516ffcf7add3867a7884c66d9870fea2cfe0b95a5bfe5f9269eef47",
							"dweb:/ipfs/QmbQTSh9eUWewKHKpG5cQ3jF9JmY8mU1KDLRL5ct57K4Tg"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200190d3803806200190d833981810160405260a08110156200003757600080fd5b81019080805192919060200180519291906020018051929190602001805192919060200180519250869150506001600160a01b038116620000be5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000ce62000230565b816001600160a01b0302191690836001600160a01b0316021790620000f262000269565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508360026001816200014d62000230565b816001600160a01b0302191690836001600160a01b03160217906200017162000269565b50505082600360006101000a816200018862000230565b816001600160a01b0302191690836001600160a01b0316021790620001ac62000269565b50505081600460006101000a81620001c362000230565b816001600160a01b0302191690836001600160a01b0316021790620001e762000269565b50505080600560006101000a81620001fe62000230565b816001600160a01b0302191690836001600160a01b03160217906200022262000269565b5050505050505050620002a4565b6320966208598160e01b8152836004820152602081602483336000905af18062000260576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806200029f576040513d6000823e3d81fd5b505050565b61165980620002b46000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c4578063bf7e214f146102cc578063c9e9cc4d146102d4578063d8297e44146102dc578063e54c16711461030257610116565b8063817a6951146102715780638da5cb5b1461028e57806395896b7614610296578063a430be6c146102bc57610116565b806359974e38116100e957806359974e38146101c05780635de39934146101f157806360eb3ff21461021757806379ba5097146102435780637a9e5e4b1461024b57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019c575b600080fd5b610123610334565b60405190815260200160405180910390f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b0316610348565b005b61017a6004803603602081101561017357600080fd5b50356103c2565b6040516001600160a01b03909216825260208201526040908101905180910390f35b6101a4610414565b6040516001600160a01b03909116815260200160405180910390f35b6101dd600480360360208110156101d657600080fd5b5035610433565b604051901515815260200160405180910390f35b61015b6004803603602081101561020757600080fd5b50356001600160a01b0316610c96565b6101dd6004803603604081101561022d57600080fd5b506001600160a01b038135169060200135610cd4565b61015b610e90565b61015b6004803603602081101561026157600080fd5b50356001600160a01b031661100a565b61015b6004803603602081101561028757600080fd5b5035611020565b6101a4611177565b61015b600480360360208110156102ac57600080fd5b50356001600160a01b0316611182565b6101a4611198565b6101a46111a4565b6101a46111b0565b6101a46111bc565b61015b600480360360208110156102f257600080fd5b50356001600160a01b03166111c8565b6101dd6004803603606081101561031857600080fd5b508035906001600160a01b0360208201351690604001356111de565b60006006806103416113a2565b9150505b90565b6103506112d2565b806001808061035d6113a2565b816001600160a01b0302191690836001600160a01b031602179061037f6113da565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600681816103ce6113a2565b81106103d657fe5b90600052602060002060029091020190506000816103f26113a2565b906101000a90046001600160a01b0316908060010161040f6113a2565b905082565b600060016104206113a2565b906101000a90046001600160a01b031681565b60008082116104805760405162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015260640160405180910390fd5b6000600261048c6113a2565b906101000a90046001600160a01b03166001600160a01b03165a6104ae61140f565b6001600160a01b0316146105085760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015260640160405180910390fd5b60008060046105156113a2565b906101000a90046001600160a01b03166001600160a01b031614156105805760405162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015260640160405180910390fd5b600080600361058d6113a2565b906101000a90046001600160a01b03166001600160a01b031614156105f85760405162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015260640160405180910390fd5b60008060056106056113a2565b906101000a90046001600160a01b03166001600160a01b031614156106705760405162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015260640160405180910390fd5b816000600361067d6113a2565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af1806106c5576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610706611438565b15801561071257600080fd5b505a61071c611467565b5050505050158015610732573d6000803e3d6000fd5b505050506040513d602081101561074857600080fd5b810190808051939093101592506107939150505760405162461bcd60e51b81526004018080602001828103825260468152602001806115e46046913960600191505060405180910390fd5b8160005b6006806107a26113a2565b9050811015610af8576000600682816107b96113a2565b81106107c157fe5b906000526020600020600091600202016107d96113a2565b906101000a90046001600160a01b03166001600160a01b031614158061082a5750600681816108066113a2565b811061080e57fe5b90600052602060002090600202016001016108276113a2565b15155b15610af05761086c6006828161083e6113a2565b811061084657fe5b906000526020600020906002020160010161085f6113a2565b839063ffffffff61134616565b91506000600361087a6113a2565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb600683816108a46113a2565b81106108ac57fe5b906000526020600020600091600202016108c46113a2565b906101000a90046001600160a01b0316600684816108e06113a2565b81106108e857fe5b90600052602060002090600202016001016109016113a2565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610942611438565b15801561094e57600080fd5b505a6109586114bc565b50505050505015801561096f573d6000803e3d6000fd5b505050506040513d602081101561098557600080fd5b810190808051506060925060069150839050816109a06113a2565b81106109a857fe5b90600052602060002090600202016001016109c16113a2565b6040516024810191909152604401604051601f19818303018152604091909152633c6b16ab60e01b6020820180516001600160e01b031690911790529050600060068381610a0d6113a2565b8110610a1557fe5b90600052602060002060009160020201610a2d6113a2565b906101000a90046001600160a01b03166001600160a01b0316826040518082805190602001908083835b60208310610a765780518252601f199092019160209182019101610a57565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865a610ab06114bc565b5050505050509150503d8060008114610ae5576040513d603f01601f191681016040523d815291503d6000602084013e610aea565b606091505b50505050505b600101610797565b5060006003610b056113a2565b6001600160a01b036101009290920a90041663a9059cbb60006004610b286113a2565b906101000a90046001600160a01b0316836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610b7a611438565b158015610b8657600080fd5b505a610b906114bc565b505050505050158015610ba7573d6000803e3d6000fd5b505050506040513d6020811015610bbd57600080fd5b810190808051506000925060059150610bd690506113a2565b906101000a90046001600160a01b03166001600160a01b031663fd1f498d826040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780610c29611438565b158015610c3557600080fd5b505a610c3f6114bc565b505050505050158015610c56573d6000803e3d6000fd5b505050507f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4428360405190815260200160405180910390a150600192915050565b610c9e6112d2565b806004600181610cac6113a2565b816001600160a01b0302191690836001600160a01b0316021790610cce6113da565b50505050565b6000610cde6112d2565b6001600160a01b038316610d385760405162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015260640160405180910390fd5b81610d825760405162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015260640160405180910390fd5b610d8a611511565b604051604080820190526001600160a01b038516815260208101849052905080600680600181610db86113a2565b018082610dc36113da565b50506000928352916000198301915060209020919291600290910201815181600181610ded6113a2565b816001600160a01b0302191690836001600160a01b0316021790610e0f6113da565b505050602082015181600101610e236113da565b50505050507f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa2086001600680610e566113a2565b90500385856040519283526001600160a01b0390911660208301526040808301919091526060909101905180910390a15060019392505050565b60006001610e9c6113a2565b906101000a90046001600160a01b03166001600160a01b03165a610ebe61140f565b6001600160a01b031614610f035760405162461bcd60e51b81526004018080602001828103825260358152602001806115af6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610f2f6113a2565b906101000a90046001600160a01b03166001600090610f4c6113a2565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610f8b6113a2565b906101000a90046001600160a01b03166000806101000a81610fab6113a2565b816001600160a01b0302191690836001600160a01b0316021790610fcd6113da565b5050506000600160006101000a81610fe36113a2565b816001600160a01b0302191690836001600160a01b03160217906110056113da565b505050565b6110126112d2565b806002600181610cac6113a2565b6110286112d2565b60016006806110356113a2565b9050038111156110815760405162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015260640160405180910390fd5b805b60016006806110906113a2565b90500381101561115857600681600101816110a96113a2565b81106110b157fe5b9060005260206000209060020201600682816110cb6113a2565b81106110d357fe5b9060005260206000206002909102016000826110ed6113a2565b6001600160a01b036101009290920a9004168160018161110b6113a2565b816001600160a01b0302191690836001600160a01b031602179061112d6113da565b5050506001820161113c6113a2565b816001016111486113da565b5050600190920191506110839050565b506006806111646113a2565b90611173906000198301611528565b5050565b6000806104206113a2565b61118a6112d2565b806003600181610cac6113a2565b600060046104206113a2565b600060036104206113a2565b600060026104206113a2565b600060056104206113a2565b6111d06112d2565b806005600181610cac6113a2565b60006111e86112d2565b60016006806111f56113a2565b9050038411156112415760405162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015260640160405180910390fd5b826006858161124e6113a2565b811061125657fe5b9060005260206000206002909102016001816112706113a2565b816001600160a01b0302191690836001600160a01b03160217906112926113da565b50505081600685816112a26113a2565b81106112aa57fe5b906000526020600020906002020160010181906112c56113da565b5060019695505050505050565b6000806112dd6113a2565b906101000a90046001600160a01b03166001600160a01b03165a6112ff61140f565b6001600160a01b0316146113445760405162461bcd60e51b815260040180806020018281038252602f81526020018061162a602f913960400191505060405180910390fd5b565b60008282111561139c5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6320966208598160e01b8152836004820152602081602483336000905af1806113d1576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180611005576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af1806113d1576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af1806113d1576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101561149757808701518282016024015260200161147c565b5088888860240183336000905af1806114b6576040513d6000823e3d81fd5b98505050565b634c6d7c84598160e01b815284600482015260005b888110156114ec5780880151828201602401526020016114d1565b5089898960240183336000905af18061150b576040513d6000823e3d81fd5b99505050565b604051604080820190526000808252602082015290565b816115316113a2565b818361153b6113da565b5050818111156110055760020281600202836000526020600020611005928101910161034591905b808211156115aa576000816001816115796113a2565b906001600160a01b030219169061158e6113da565b50506001820160009061159f6113da565b505050600201611563565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDistributionAdded",
					"type": "event",
					"signature": "0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event",
					"signature": "0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x60eb3ff2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf7e214f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59974e38"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "distributions",
					"outputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4487d3df"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x060ca250"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "editRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe54c1671"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e9cc4d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x817a6951"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa430be6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a9e5e4b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8297e44"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x95896b76"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdd12482"
				}
			],
			"source": {
				"keccak256": "0xc0afd5f853c2fd6316748378d909f09a78d6152afda964ccf6c5d1366cfcd456",
				"urls": [
					"bzz-raw://0ade0d1e747f82655d00a3723a3b5ac3e0d92567f37901ea410b2c0a383aec3f",
					"dweb:/ipfs/QmSW4ouHSzuRr4YVbqU9AKfEA4ZwYNFS9H89cq1wNjTPz1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0xc0afd5f853c2fd6316748378d909f09a78d6152afda964ccf6c5d1366cfcd456",
						"urls": [
							"bzz-raw://0ade0d1e747f82655d00a3723a3b5ac3e0d92567f37901ea410b2c0a383aec3f",
							"dweb:/ipfs/QmSW4ouHSzuRr4YVbqU9AKfEA4ZwYNFS9H89cq1wNjTPz1"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b506040516115173803806115178339818101604052602081101561003357600080fd5b81019080805192508291508190506001600160a01b03811661009b5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100a961011d565b816001600160a01b0302191690836001600160a01b03160217906100cb610155565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150505061018f565b6320966208598160e01b8152836004820152602081602483336000905af18061014c576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061018a576040513d6000823e3d81fd5b505050565b6113798061019e6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b41146104c5578063a9059cbb146104da578063d4b8399214610513578063dd62ed3e14610528576100f3565b8063776d1a01146103d357806379ba5097146104065780638da5cb5b1461041b578063907dff9714610430576100f3565b806323b872dd116100c657806323b872dd14610301578063313ce5671461034457806353a47bb71461036f57806370a08231146103a0576100f3565b806306fdde03146101cc578063095ea7b3146102585780631627540c146102a557806318160ddd146102da575b600060026100ff6111a5565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a6101266111dd565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780610162611206565b15801561016e57600080fd5b505a610178611235565b50505050505015801561018f573d6000803e3d6000fd5b50505050604051366000823760008036833460026101ab6111a5565b5a6101b4611235565b5050505050503d6000833e806101c8573d82fd5b3d82f35b3480156101d857600080fd5b506101e1610563565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561021d578082015183820152602001610205565b50505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026457600080fd5b506102916004803603604081101561027b57600080fd5b506001600160a01b0381351690602001356106bd565b604051901515815260200160405180910390f35b3480156102b157600080fd5b506102d8600480360360208110156102c857600080fd5b50356001600160a01b0316610822565b005b3480156102e657600080fd5b506102ef61089c565b60405190815260200160405180910390f35b34801561030d57600080fd5b506102916004803603606081101561032457600080fd5b506001600160a01b0381358116916020810135909116906040013561093c565b34801561035057600080fd5b50610359610aaf565b60405160ff909116815260200160405180910390f35b34801561037b57600080fd5b50610384610aff565b6040516001600160a01b03909116815260200160405180910390f35b3480156103ac57600080fd5b506102ef600480360360208110156103c357600080fd5b50356001600160a01b0316610b1e565b3480156103df57600080fd5b506102d8600480360360208110156103f657600080fd5b50356001600160a01b0316610bd5565b34801561041257600080fd5b506102d8610c50565b34801561042757600080fd5b50610384610dca565b34801561043c57600080fd5b506102d8600480360360c081101561045357600080fd5b81019060208101813564010000000081111561046e57600080fd5b82018360208201111561048057600080fd5b803590602001918460018302840111640100000000831117156104a257600080fd5b919350915080359060208101359060408101359060608101359060800135610dd5565b3480156104d157600080fd5b506101e1610f05565b3480156104e657600080fd5b50610291600480360360408110156104fd57600080fd5b506001600160a01b038135169060200135610f56565b34801561051f57600080fd5b50610384611065565b34801561053457600080fd5b506102ef6004803603604081101561054b57600080fd5b506001600160a01b0381358116916020013516611071565b6060600060026105716111a5565b906101000a90046001600160a01b03166001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186806105b4611206565b1580156105c057600080fd5b505a6105ca61128a565b50505050501580156105e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561060957600080fd5b810190808051604051939291908464010000000082111561062957600080fd5b90830190602082018581111561063e57600080fd5b825164010000000081118282018810171561065857600080fd5b825250602001908051906020019080838360005b8381101561068457808201518382015260200161066c565b50505050905090810190601f1680156106b15780820380516001836020036101000a031916815260200191505b50604052505050905090565b60008060026106ca6111a5565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a6106f16111dd565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016000604051808303816000878061072d611206565b15801561073957600080fd5b505a610743611235565b50505050505015801561075a573d6000803e3d6000fd5b50505050600260009061076b6111a5565b906101000a90046001600160a01b03166001600160a01b031663095ea7b384846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087806107cc611206565b1580156107d857600080fd5b505a6107e2611235565b5050505050501580156107f9573d6000803e3d6000fd5b505050506040513d602081101561080f57600080fd5b8101908080515060019695505050505050565b61082a611131565b80600180806108376111a5565b816001600160a01b0302191690836001600160a01b03160217906108596112df565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60008060026108a96111a5565b906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186806108ec611206565b1580156108f857600080fd5b505a61090261128a565b5050505050158015610918573d6000803e3d6000fd5b505050506040513d602081101561092e57600080fd5b810190808051935050505090565b60008060026109496111a5565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a6109706111dd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806109ac611206565b1580156109b857600080fd5b505a6109c2611235565b5050505050501580156109d9573d6000803e3d6000fd5b5050505060026000906109ea6111a5565b906101000a90046001600160a01b03166001600160a01b03166323b872dd8585856040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160206040518083038160008780610a58611206565b158015610a6457600080fd5b505a610a6e611235565b505050505050158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b810190808051506001979650505050505050565b6000806002610abc6111a5565b906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186806108ec611206565b60006001610b0b6111a5565b906101000a90046001600160a01b031681565b6000806002610b2b6111a5565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610b84611206565b158015610b9057600080fd5b505a610b9a61128a565b5050505050158015610bb0573d6000803e3d6000fd5b505050506040513d6020811015610bc657600080fd5b81019080805195945050505050565b610bdd611131565b806002600181610beb6111a5565b816001600160a01b0302191690836001600160a01b0316021790610c0d6112df565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e816040516001600160a01b03909116815260200160405180910390a150565b60006001610c5c6111a5565b906101000a90046001600160a01b03166001600160a01b03165a610c7e6111dd565b6001600160a01b031614610cc35760405162461bcd60e51b81526004018080602001828103825260358152602001806113156035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610cef6111a5565b906101000a90046001600160a01b03166001600090610d0c6111a5565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610d4b6111a5565b906101000a90046001600160a01b03166000806101000a81610d6b6111a5565b816001600160a01b0302191690836001600160a01b0316021790610d8d6112df565b5050506000600160006101000a81610da36111a5565b816001600160a01b0302191690836001600160a01b0316021790610dc56112df565b505050565b600080610b0b6111a5565b60006002610de16111a5565b906101000a90046001600160a01b03166001600160a01b03165a610e036111dd565b6001600160a01b031614610e545760405162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015260640160405180910390fd5b8560608882806020601f8201819004810201604051908101604052818152929190602084018383808284376000920191909152509293508992505081159050610ebc5760018114610ec75760028114610ed35760038114610ee05760048114610eee57610ef9565b8260208301a0610ef9565b868360208401a1610ef9565b85878460208501a2610ef9565b8486888560208601a3610ef9565b838587898660208701a45b50505050505050505050565b606060006002610f136111a5565b906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186806105b4611206565b6000806002610f636111a5565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a610f8a6111dd565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780610fc6611206565b158015610fd257600080fd5b505a610fdc611235565b505050505050158015610ff3573d6000803e3d6000fd5b5050505060026000906110046111a5565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb84846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087806107cc611206565b60006002610b0b6111a5565b600080600261107e6111a5565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806110df611206565b1580156110eb57600080fd5b505a6110f561128a565b505050505015801561110b573d6000803e3d6000fd5b505050506040513d602081101561112157600080fd5b8101908080519695505050505050565b60008061113c6111a5565b906101000a90046001600160a01b03166001600160a01b03165a61115e6111dd565b6001600160a01b0316146111a35760405162461bcd60e51b815260040180806020018281038252602f81526020018061134a602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af1806111d4576040513d6000823e3d81fd5b81519450505050565b6373509064598160e01b8152602081600483336000905af1806111d4576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af1806111d4576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b8881101561126557808801518282016024015260200161124a565b5089898960240183336000905af180611284576040513d6000823e3d81fd5b99505050565b63fbb0f79d598160e01b815284600482015260005b878110156112ba57808701518282016024015260200161129f565b5088888860240183336000905af1806112d9576040513d6000823e3d81fd5b98505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610dc5576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0x680dbc00b1b3884976ce60a5bfac4f218e89133835c193f9fe9d02b162fd2058",
				"urls": [
					"bzz-raw://8945b08428c4166fda9927854a69a70053133f1cf7b08bbc68d3876b076710a4",
					"dweb:/ipfs/QmPSQPFQRjVKyBU1U3cH9vMh5jx8xYWAgL9dTHswM6DbJN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0x680dbc00b1b3884976ce60a5bfac4f218e89133835c193f9fe9d02b162fd2058",
						"urls": [
							"bzz-raw://8945b08428c4166fda9927854a69a70053133f1cf7b08bbc68d3876b076710a4",
							"dweb:/ipfs/QmPSQPFQRjVKyBU1U3cH9vMh5jx8xYWAgL9dTHswM6DbJN"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610a56380380610a568339818101604052604081101561003357600080fd5b810190808051929190602001805192508291508390506001600160a01b0381166100a35760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100b1610201565b816001600160a01b0302191690836001600160a01b03160217906100d3610239565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808061012a610201565b906101000a90046001600160a01b03166001600160a01b031614156101895760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181610197610201565b816001600160a01b0302191690836001600160a01b03160217906101b9610239565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a1505050610273565b6320966208598160e01b8152836004820152602081602483336000905af180610230576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061026e576040513d6000823e3d81fd5b505050565b6107d4806102826000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b031661026f565b6100f96102ea565b6040516001600160a01b03909116815260200160405180910390f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b0316610309565b60405190815260200160405180910390f35b6100c9610324565b6100f961049e565b6100f96104a9565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356104b5565b6100c9600480360360608110156101a757600080fd5b506001600160a01b03813581169160208101359091169060400135610553565b61013b600480360360408110156101dd57600080fd5b506001600160a01b038135811691602001351661060b565b6101fd610631565b806001808061020a6106a5565b816001600160a01b0302191690836001600160a01b031602179061022c6106dd565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b610277610631565b8060026001816102856106a5565b816001600160a01b0302191690836001600160a01b03160217906102a76106dd565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b600060016102f66106a5565b906101000a90046001600160a01b031681565b600360205280600052604060002090506103216106a5565b81565b600060016103306106a5565b906101000a90046001600160a01b03166001600160a01b03165a610352610712565b6001600160a01b0316146103975760405162461bcd60e51b815260040180806020018281038252603581526020018061073c6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806103c36106a5565b906101000a90046001600160a01b031660016000906103e06106a5565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161041f6106a5565b906101000a90046001600160a01b03166000806101000a8161043f6106a5565b816001600160a01b0302191690836001600160a01b03160217906104616106dd565b5050506000600160006101000a816104776106a5565b816001600160a01b0302191690836001600160a01b03160217906104996106dd565b505050565b6000806102f66106a5565b600060026102f66106a5565b600060026104c16106a5565b906101000a90046001600160a01b03166001600160a01b03165a6104e3610712565b6001600160a01b0316146105285760405162461bcd60e51b81526004018080602001828103825260348152602001806107a06034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052819060409020819061054c6106dd565b5050505050565b6000600261055f6106a5565b906101000a90046001600160a01b03166001600160a01b03165a610581610712565b6001600160a01b0316146105c65760405162461bcd60e51b81526004018080602001828103825260348152602001806107a06034913960400191505060405180910390fd5b6001600160a01b038316600090815260046020528190604090206001600160a01b03841660009081526020919091526040902081906106036106dd565b505050505050565b6004602052816000526040600020602052806000526040600020915061032190506106a5565b60008061063c6106a5565b906101000a90046001600160a01b03166001600160a01b03165a61065e610712565b6001600160a01b0316146106a35760405162461bcd60e51b815260040180806020018281038252602f815260200180610771602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af1806106d4576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610499576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af1806106d4576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				}
			],
			"source": {
				"keccak256": "0xf21329a188a29886c60f6cefaba24298faee0fba7c13eac581a7b94820e9726b",
				"urls": [
					"bzz-raw://6fa9d120122b2de9215879d0bab8cbdb9a1a8e564e1ef41b81344851359f30fd",
					"dweb:/ipfs/QmWtfE2pAgSo2stHR3bZ6AaL9gA6Q2xHKk56ue3QZBvrKZ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0xf21329a188a29886c60f6cefaba24298faee0fba7c13eac581a7b94820e9726b",
						"urls": [
							"bzz-raw://6fa9d120122b2de9215879d0bab8cbdb9a1a8e564e1ef41b81344851359f30fd",
							"dweb:/ipfs/QmWtfE2pAgSo2stHR3bZ6AaL9gA6Q2xHKk56ue3QZBvrKZ"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinance": {
			"bytecode": "608060405260405160c0810160409081526b53797374656d53746174757360a01b82526822bc31b430b733b2b960b91b60208301526524b9b9bab2b960d11b908201526d537570706c795363686564756c6560901b60608201527f52657761726473446973747269627574696f6e0000000000000000000000000060808201526d53796e746865746978537461746560901b60a0820152620000a690600e9060066200066d565b50348015620000b457600080fd5b50604051620060b7380380620060b7833981810160405260a0811015620000da57600080fd5b81019080805192919060200180519291906020018051929190602001805192919060200180519250829150600e905060186103006040519081016040529190610300830182845b816200012c620006bb565b8152602001906001019080831162000121575050505050868660405160408082018152601782527f53796e746865746978204e6574776f726b20546f6b656e0000000000000000006020830152516040808201905260038152620a69cb60eb1b60208201528760128a86816001600160a01b038116620001f25760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b80600060018162000202620006bb565b816001600160a01b0302191690836001600160a01b031602179062000226620006f4565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200027f620006bb565b906101000a90046001600160a01b03166001600160a01b03161415620002df5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b600080620002ec620006bb565b906101000a90046001600160a01b0316600360016101000a816200030f620006bb565b816001600160a01b0302191690836001600160a01b031602179062000333620006f4565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c536000809062000365620006bb565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1600080806200039e620006bb565b906101000a90046001600160a01b03166001600160a01b03161415620003fe5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b8060046001816200040e620006bb565b816001600160a01b0302191690836001600160a01b031602179062000432620006f4565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a15085600760018162000483620006bb565b816001600160a01b0302191690836001600160a01b0316021790620004a7620006f4565b505050846008908051620004c09291602001906200072f565b506009848051620004d69291602001906200072f565b508280600a620004e5620006f4565b50505081600b60006101000a81620004fc620006bb565b8160ff021916908360ff1602179062000514620006f4565b5050505050505050505060006001600160a01b03166000809062000537620006bb565b906101000a90046001600160a01b03166001600160a01b03161415620005975760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b601881101562000627576000828260188110620005b357fe5b6020020151146200061857600d828260188110620005cd57fe5b60200201519080600181620005e1620006bb565b018082620005ee620006f4565b50506000928352916000198301915060209020919291016200060f620006f4565b5050506200061e565b62000627565b6001016200059a565b5081600b6101008162000639620006bb565b816001600160a01b0302191690836001600160a01b03160217906200065d620006f4565b5050505050505050505062000831565b8260188101928215620006a9579160200282015b82811115620006a95782518262000697620006f4565b50509160200191906001019062000681565b50620006b7929150620007da565b5090565b6320966208598160e01b8152836004820152602081602483336000905af180620006eb576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806200072a576040513d6000823e3d81fd5b505050565b82806200073b620006bb565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200078657805160ff191683800117856200077e620006f4565b5050620007cc565b8280016001018562000797620006f4565b50508215620007cc579182015b82811115620007cc57825182620007ba620006f4565b505091602001919060010190620007a4565b50620006b792915062000807565b6200080491905b80821115620006b75760008082620007f8620006f4565b505050600101620007e1565b90565b6200080491905b80821115620006b7576000808262000825620006f4565b5050506001016200080e565b61587680620008416000396000f3fe608060405234801561001057600080fd5b50600436106104335760003560e01c80638a29001411610236578063b8225dec1161013b578063d67bdd25116100c3578063e6203ed111610087578063e6203ed114610ccf578063e8e09b8b14610cfb578063e90dd9e214610d27578063ec55688914610d2f578063ee52a2f314610d3757610433565b8063d67bdd2514610c60578063dbf6334014610c68578063dd62ed3e14610c70578063ddd03a3f14610c9e578063e3235c9114610cc757610433565b8063c58aaae61161010a578063c58aaae614610bba578063c6c9d82814610bc2578063c836fa0a14610bdf578063d37c4d8b14610c17578063d60888e414610c4357610433565b8063b8225dec14610b58578063bc67f83214610b60578063bd32aa4414610b86578063c2bf388014610b8e57610433565b80639cbdaeb6116101be578063a5fdc5de1161018d578063a5fdc5de14610a8b578063a9059cbb14610ab1578063ab49848c14610add578063ace88afd14610b1e578063af086c7e14610b5057610433565b80639cbdaeb614610a2f5780639f76980714610a37578063a311c7c214610a5d578063a461fc8214610a8357610433565b806395d89b411161020557806395d89b41146109d457806397107d6d146109dc5780639741fb2214610a02578063987757dd14610a0a5780639cb8a26a14610a2757610433565b80638a290014146109615780638da5cb5b1461097e57806391e56b68146109865780639324cac7146109cc57610433565b80632e0f26251161033c578063631e1444116102c457806370a082311161029357806370a082311461089e57806372cb051f146108c457806379ba50971461091f578063835e119c1461092757806383d625d41461094457610433565b8063631e1444146107da5780636ac0bf9c146108005780636c00f310146108265780636f01a9861461086c57610433565b8063326080391161030b578063326080391461077f5780633278c9601461079c5780633be99e6f146107a45780634e99bda9146107ca57806353a47bb7146107d257610433565b80632e0f2625146106f557806330ead76014610713578063313ce56714610751578063320223db1461075957610433565b806317c70de4116103bf57806320714f881161038e57806320714f881461064e57806323b872dd14610674578063295da87d146106aa5780632a905318146106c75780632c955fa7146106cf57610433565b806317c70de41461061957806318160ddd1461062157806318821400146106295780631fce304d1461063157610433565b80631137aedf116104065780631137aedf146105535780631249c58b1461059d578063131b0ae7146105a55780631627540c146105cd57806316b2213f146105f357610433565b806304f3bcec1461043857806305b3c1c91461045c57806306fdde0314610494578063095ea7b314610513575b600080fd5b610440610d60565b6040516001600160a01b03909116815260200160405180910390f35b6104826004803603602081101561047257600080fd5b50356001600160a01b0316610d7f565b60405190815260200160405180910390f35b61049c610e25565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104d85780820151838201526020016104c0565b50505050905090810190601f1680156105055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61053f6004803603604081101561052957600080fd5b506001600160a01b038135169060200135610ede565b604051901515815260200160405180910390f35b6105796004803603602081101561056957600080fd5b50356001600160a01b0316610fc8565b60405180848152602001838152602001828152602001935050505060405180910390f35b61053f611087565b6105cb600480360360208110156105bb57600080fd5b50356001600160a01b0316611729565b005b6105cb600480360360208110156105e357600080fd5b50356001600160a01b0316611767565b6104826004803603602081101561060957600080fd5b50356001600160a01b03166117e1565b610482611834565b610482611841565b61049c61184b565b61053f6004803603602081101561064757600080fd5b5035611882565b6105cb6004803603602081101561066457600080fd5b50356001600160a01b031661194c565b61053f6004803603606081101561068a57600080fd5b506001600160a01b03813581169160208101359091169060400135611a22565b6105cb600480360360208110156106c057600080fd5b5035611ad1565b61049c611bed565b6105cb600480360360208110156106e557600080fd5b50356001600160a01b0316611c0a565b6106fd611cf3565b60405160ff909116815260200160405180910390f35b610482600480360360a081101561072957600080fd5b508035906020810135906040810135906001600160a01b036060820135169060800135611cf8565b6106fd611f05565b6105cb6004803603602081101561076f57600080fd5b50356001600160a01b0316611f1e565b6104406004803603602081101561079557600080fd5b5035611fb4565b6105cb611fff565b6105cb600480360360208110156107ba57600080fd5b50356001600160a01b0316612070565b61053f612220565b6104406122ad565b61053f600480360360208110156107f057600080fd5b50356001600160a01b03166122b9565b6104826004803603602081101561081657600080fd5b50356001600160a01b0316612479565b6105cb600480360360c081101561083c57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a00135166125dd565b6105cb6004803603606081101561088257600080fd5b506001600160a01b0381351690602081013590604001356127cb565b610482600480360360208110156108b457600080fd5b50356001600160a01b0316612997565b6108cc6129fd565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561090b5780820151838201526020016108f3565b505050509050019250505060405180910390f35b6105cb612b22565b6104406004803603602081101561093d57600080fd5b5035612c9c565b6104826004803603602081101561095a57600080fd5b5035612ce7565b6105cb6004803603602081101561097757600080fd5b5035612d3b565b610440612dd0565b610482600480360360c081101561099c57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612ddb565b610482612fcb565b61049c612fd6565b6105cb600480360360208110156109f257600080fd5b50356001600160a01b0316613078565b6105cb6130f3565b61057960048036036020811015610a2057600080fd5b5035613203565b6105cb6132b1565b610440613407565b6105cb60048036036020811015610a4d57600080fd5b50356001600160a01b0316613413565b61048260048036036020811015610a7357600080fd5b50356001600160a01b0316613457565b6104826134aa565b61048260048036036020811015610aa157600080fd5b50356001600160a01b03166134b1565b61053f60048036036040811015610ac757600080fd5b506001600160a01b038135169060200135613504565b610ae56135c6565b604051808261030080838360005b83811015610b0b578082015183820152602001610af3565b5050505090500191505060405180910390f35b6105cb60048036036060811015610b3457600080fd5b506001600160a01b038135169060208101359060400135613628565b6105cb6136ff565b61053f613794565b6105cb60048036036020811015610b7657600080fd5b50356001600160a01b03166137a0565b6105cb6137b6565b6105cb60048036036040811015610ba457600080fd5b506001600160a01b038135169060200135613838565b610440613961565b61048260048036036020811015610bd857600080fd5b503561396d565b61048260048036036080811015610bf557600080fd5b506001600160a01b038135169060208101359060408101359060600135613995565b61048260048036036040811015610c2d57600080fd5b506001600160a01b038135169060200135613b72565b61048260048036036020811015610c5957600080fd5b5035613c1d565b610440613c71565b610482613c7d565b61048260048036036040811015610c8657600080fd5b506001600160a01b0381358116916020013516613cba565b6105cb60048036036060811015610cb457600080fd5b5080359060208101359060400135613d28565b610482613e68565b61053f60048036036040811015610ce557600080fd5b506001600160a01b038135169060200135613e6d565b6105cb60048036036040811015610d1157600080fd5b506001600160a01b038135169060200135614017565b6104406140ad565b6104406140b9565b61048260048036036060811015610d4d57600080fd5b50803590602081013590604001356140c5565b6001600b610d6c6154c9565b906101000a90046001600160a01b031681565b6000610d896142bc565b6001600160a01b03166305b3c1c9836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dd2615501565b158015610dde57600080fd5b505a610de8615530565b5050505050158015610dfe573d6000803e3d6000fd5b505050506040513d6020811015610e1457600080fd5b81019080805193505050505b919050565b600880610e306154c9565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610e6a6154c9565b60018160011615610100020316600290048015610ed65780601f10610ea4576101008083610e966154c9565b040283529160200191610ed6565b820191906000526020600020905b81610ebb6154c9565b81529060010190602001808311610eb257829003601f168201915b505050505081565b6000610ee8614302565b6000806006610ef56154c9565b906101000a90046001600160a01b031690506007600090610f146154c9565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160006040518083038160008780610f82615501565b158015610f8e57600080fd5b505a610f98615585565b505050505050158015610faf573d6000803e3d6000fd5b50505050610fbe8185856143d8565b5060019392505050565b6000806000610fd56142bc565b6001600160a01b0316631137aedf856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401606060405180830381868061101e615501565b15801561102a57600080fd5b505a611034615530565b505050505015801561104a573d6000803e3d6000fd5b505050506040513d606081101561106057600080fd5b81019080805192919060200180519291906020018051949993985093965091945050505050565b60006110916144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806110c4615501565b1580156110d057600080fd5b505a6110da615530565b50505050501580156110f0573d6000803e3d6000fd5b5050505060006001600160a01b0316611107614509565b6001600160a01b031614156111625760405162461bcd60e51b815260206004820152601b60248201527f52657761726473446973747269627574696f6e206e6f74207365740000000000604482015260640160405180910390fd5b600061116c614541565b90506000611178614509565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186806111b0615501565b1580156111bc57600080fd5b505a6111c6615530565b50505050501580156111dc573d6000803e3d6000fd5b505050506040513d60208110156111f257600080fd5b8101908080519350505081151590506112495760405162461bcd60e51b81526020600482015260156024820152744e6f20737570706c79206973206d696e7461626c6560581b604482015260640160405180910390fd5b826001600160a01b0316637e7961d7826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303816000878061128d615501565b15801561129957600080fd5b505a6112a3615585565b5050505050501580156112ba573d6000803e3d6000fd5b505050506040513d60208110156112d057600080fd5b810190808051506000925050506001600160a01b038416639bdd7ac76040518163ffffffff1660e01b81526004016020604051808303818680611311615501565b15801561131d57600080fd5b505a611327615530565b505050505015801561133d573d6000803e3d6000fd5b505050506040513d602081101561135357600080fd5b81019080805193506000925061137391508490508363ffffffff61459116565b9050600060076113816154c9565b6001600160a01b036101009290920a90041663b46310f68561145b84600060076113a96154c9565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611402615501565b15801561140e57600080fd5b505a611418615530565b505050505015801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b8101908080519392505063ffffffff6145ed169050565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061149c615501565b1580156114a857600080fd5b505a6114b2615585565b5050505050501580156114c9573d6000803e3d6000fd5b505050506115085a63996d79a5598160e01b8152602081600483336000905af1806114fa576040513d6000823e3d81fd5b81519350505050858361464d565b836001600160a01b03166359974e38826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303816000878061154c615501565b15801561155857600080fd5b505a611562615585565b505050505050158015611579573d6000803e3d6000fd5b505050506040513d602081101561158f57600080fd5b8101908080515060009250600791506115a890506154c9565b906101000a90046001600160a01b03166001600160a01b031663b46310f65a6115cf6155da565b61164085600060076115df6154c9565b906101000a90046001600160a01b03166001600160a01b03166370a082315a6116066155da565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611402615501565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780611681615501565b15801561168d57600080fd5b505a611697615585565b5050505050501580156116ae573d6000803e3d6000fd5b505050506116f55a63996d79a5598160e01b8152602081600483336000905af1806116df576040513d6000823e3d81fd5b815193505050505a6116ef6155da565b8461464d565b61170f83600a6117036154c9565b9063ffffffff6145ed16565b80600a61171a615603565b50505060019550505050505090565b6117316146ba565b80600560018161173f6154c9565b816001600160a01b0302191690836001600160a01b0316021790611761615603565b50505050565b61176f6146ba565b806001808061177c6154c9565b816001600160a01b0302191690836001600160a01b031602179061179e615603565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006117eb6142bc565b6001600160a01b03166316b2213f836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dd2615501565b600261183e6154c9565b81565b600a61183e6154c9565b60405160408082019052601781527f53796e746865746978204e6574776f726b20546f6b656e000000000000000000602082015281565b60008061188d61472c565b6001600160a01b031663059c29ec600060066118a76154c9565b906101000a90046001600160a01b0316856040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806118f7615501565b15801561190357600080fd5b505a61190d615530565b5050505050158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b8101908080519390931195945050505050565b6119546146ba565b6001600160a01b0381166119ae5760405162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015260640160405180910390fd5b806003610100816119bd6154c9565b816001600160a01b0302191690836001600160a01b03160217906119df615603565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53816040516001600160a01b03909116815260200160405180910390a150565b6000611a2c614302565b611a346144bb565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680611a67615501565b158015611a7357600080fd5b505a611a7d615530565b5050505050158015611a93573d6000803e3d6000fd5b50505050611aa18483614777565b50611ac960006006611ab16154c9565b906101000a90046001600160a01b0316858585614a29565b949350505050565b611ad96144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680611b0c615501565b158015611b1857600080fd5b505a611b22615530565b5050505050158015611b38573d6000803e3d6000fd5b50505050611b44614302565b611b4c6142bc565b6001600160a01b031663b06e8c6560006006611b666154c9565b906101000a90046001600160a01b0316836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780611bb8615501565b158015611bc457600080fd5b505a611bce615585565b505050505050158015611be5573d6000803e3d6000fd5b505050505b50565b6040516040808201905260038152620a69cb60eb1b602082015281565b611c126144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680611c45615501565b158015611c5157600080fd5b505a611c5b615530565b5050505050158015611c71573d6000803e3d6000fd5b50505050611c7d614302565b611c856142bc565b6001600160a01b0316632b3f41aa8260006006611ca06154c9565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160006040518083038160008780611bb8615501565b601281565b60008584611d046144bb565b6001600160a01b0316637118d4316040518163ffffffff1660e01b81526004016000604051808303818680611d37615501565b158015611d4357600080fd5b505a611d4d615530565b5050505050158015611d63573d6000803e3d6000fd5b50505050611d6f6144bb565b6001600160a01b0316636132eba483836040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680611db6615501565b158015611dc257600080fd5b505a611dcc615530565b5050505050158015611de2573d6000803e3d6000fd5b50505050611dee614302565b611df661472c565b6001600160a01b03166386baa45c60006006611e106154c9565b906101000a90046001600160a01b03168a8a8a6006600090611e306154c9565b906101000a90046001600160a01b03168b8b6040516001600160e01b031960e08a901b1681526001600160a01b0397881660048201526024810196909652604486019490945260648501929092528416608484015290921660a482015260c481019190915260e40160206040518083038160008780611ead615501565b158015611eb957600080fd5b505a611ec3615585565b505050505050158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b8101908080519b9a5050505050505050505050565b6000600b611f116154c9565b906101000a900460ff1681565b611f266144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680611f59615501565b158015611f6557600080fd5b505a611f6f615530565b5050505050158015611f85573d6000803e3d6000fd5b50505050611f91614302565b611f996142bc565b6001600160a01b031663fd864ccf8260006006611ca06154c9565b6000611fbe6142bc565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610dd2615501565b6120076146ba565b6000806002612014615603565b5050506000600360006101000a8161202a6154c9565b8160ff0219169083151502179061203f615603565b5050507f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c60405160405180910390a1565b6120786146ba565b80600b610100816120876154c9565b816001600160a01b0302191690836001600160a01b03160217906120a9615603565b5060009150505b600d806120bb6154c9565b905081101561221c576000600d82816120d26154c9565b81106120da57fe5b906000526020600020016120ec6154c9565b90506001600b6120fa6154c9565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680612183615501565b15801561218f57600080fd5b505a612199615530565b50505050501580156121af573d6000803e3d6000fd5b505050506040513d60208110156121c557600080fd5b8101908080516000858152600c602052909350604092509050206001816121ea6154c9565b816001600160a01b0302191690836001600160a01b031602179061220c615603565b5050600190920191506120b09050565b5050565b600061222a6142bc565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b8152600401602060405180830381868061225d615501565b15801561226957600080fd5b505a612273615530565b5050505050158015612289573d6000803e3d6000fd5b505050506040513d602081101561229f57600080fd5b810190808051935050505090565b60006001610d6c6154c9565b60006001600160a01b0382166001600b6122d16154c9565b906101000a90046001600160a01b03166001600160a01b0316146122f757506000610e20565b60005b600d806123056154c9565b9050811015612470576000600d828161231c6154c9565b811061232457fe5b906000526020600020016123366154c9565b6000818152600c602052909150604090206000906123526154c9565b6001600160a01b036101009290920a9004166001600b6123706154c9565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806123c1615501565b1580156123cd57600080fd5b505a6123d7615530565b50505050501580156123ed573d6000803e3d6000fd5b505050506040513d602081101561240357600080fd5b8101908080516001600160a01b031693909314159250829150612457905057506000818152600c6020526040812060009061243c6154c9565b906101000a90046001600160a01b03166001600160a01b0316145b1561246757600092505050610e20565b506001016122fa565b50600192915050565b60006124836142bc565b6001600160a01b0316636bed0415836000600761249e6154c9565b906101000a90046001600160a01b03166001600160a01b03166370a08231866040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806124f7615501565b15801561250357600080fd5b505a61250d615530565b5050505050158015612523573d6000803e3d6000fd5b505050506040513d602081101561253957600080fd5b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680612582615501565b15801561258e57600080fd5b505a612598615530565b50505050501580156125ae573d6000803e3d6000fd5b505050506040513d60408110156125c457600080fd5b8101908080519291906020018051509295945050505050565b6125e561472c565b6001600160a01b03165a6125f76155da565b6001600160a01b03161461263f5760405162461bcd60e51b815260206004820152601e60248201526000805160206156dc833981519152604482015260640160405180910390fd5b6000600461264b6154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff9786868686866040516020810195909552604080860194909452606085019290925260808401526001600160a01b031660a083015260c09091019051602081830303815290604052600260405180603e6156fc8239603e01905060405180910390206126d38b614ba2565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561274657808201518382015260200161272e565b50505050905090810190601f1680156127735780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780612792615501565b15801561279e57600080fd5b505a6127a8615585565b5050505050501580156127bf573d6000803e3d6000fd5b50505050505050505050565b6127d361472c565b6001600160a01b03165a6127e56155da565b6001600160a01b03161461282d5760405162461bcd60e51b815260206004820152601e60248201526000805160206156dc833981519152604482015260640160405180910390fd5b600060046128396154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff978383604051602001808381526020018281526020019250505060405160208183030381529060405260026040518060276157d38239602701905060405180910390206128a288614ba2565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156129155780820151838201526020016128fd565b50505050905090810190601f1680156129425780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780612961615501565b15801561296d57600080fd5b505a612977615585565b50505050505015801561298e573d6000803e3d6000fd5b50505050505050565b60008060076129a46154c9565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dd2615501565b6060612a076142bc565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680612a3a615501565b158015612a4657600080fd5b505a612a50615530565b5050505050158015612a66573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612a8f57600080fd5b8101908080516040519392919084640100000000821115612aaf57600080fd5b908301906020820185811115612ac457600080fd5b8251866020820283011164010000000082111715612ae157600080fd5b825250602001908051906020019060200280838360005b83811015612b10578082015183820152602001612af8565b50505050905001604052505050905090565b60006001612b2e6154c9565b906101000a90046001600160a01b03166001600160a01b03165a612b506155da565b6001600160a01b031614612b955760405162461bcd60e51b815260040180806020018281038252603581526020018061567f6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080612bc16154c9565b906101000a90046001600160a01b03166001600090612bde6154c9565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001612c1d6154c9565b906101000a90046001600160a01b03166000806101000a81612c3d6154c9565b816001600160a01b0302191690836001600160a01b0316021790612c5f615603565b5050506000600160006101000a81612c756154c9565b816001600160a01b0302191690836001600160a01b0316021790612c97615603565b505050565b6000612ca66142bc565b6001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610dd2615501565b6000612cf16142bc565b6001600160a01b0316637b1001b78360006040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610dd2615501565b612d436144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680612d76615501565b158015612d8257600080fd5b505a612d8c615530565b5050505050158015612da2573d6000803e3d6000fd5b50505050612dae614302565b612db66142bc565b6001600160a01b031663042e068860006006611b666154c9565b600080610d6c6154c9565b60008584612de76144bb565b6001600160a01b0316637118d4316040518163ffffffff1660e01b81526004016000604051808303818680612e1a615501565b158015612e2657600080fd5b505a612e30615530565b5050505050158015612e46573d6000803e3d6000fd5b50505050612e526144bb565b6001600160a01b0316636132eba483836040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680612e99615501565b158015612ea557600080fd5b505a612eaf615530565b5050505050158015612ec5573d6000803e3d6000fd5b50505050612ed1614302565b612ed961472c565b6001600160a01b031663dfffca768a60006006612ef46154c9565b906101000a90046001600160a01b03168b8b8b8b8b6040516001600160e01b031960e08a901b1681526001600160a01b039788166004820152958716602487015260448601949094526064850192909252608484015290921660a482015260c481019190915260e40160206040518083038160008780612f72615501565b158015612f7e57600080fd5b505a612f88615585565b505050505050158015612f9f573d6000803e3d6000fd5b505050506040513d6020811015612fb557600080fd5b8101908080519c9b505050505050505050505050565b631cd554d160e21b81565b600980612fe16154c9565b600181600116156101000203166002900480601f01602080910402602001604051908101604052818152919060208301828061301b6154c9565b60018160011615610100020316600290048015610ed65780601f10613047576101008083610e966154c9565b820191906000526020600020905b8161305e6154c9565b815290600101906020018083116130555750859350505050565b6130806146ba565b80600460018161308e6154c9565b816001600160a01b0302191690836001600160a01b03160217906130b0615603565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b6130fb6144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061312e615501565b15801561313a57600080fd5b505a613144615530565b505050505015801561315a573d6000803e3d6000fd5b50505050613166614302565b61316e6142bc565b6001600160a01b031663497d704a600060066131886154c9565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806131d4615501565b1580156131e057600080fd5b505a6131ea615585565b505050505050158015611761573d6000803e3d6000fd5b565b6000806000613210614302565b61321861472c565b6001600160a01b0316631b16802c600060066132326154c9565b906101000a90046001600160a01b0316866040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780613284615501565b15801561329057600080fd5b505a61329a615585565b50505050505015801561104a573d6000803e3d6000fd5b6132b96146ba565b600060036132c56154c9565b906101000a900460ff1661331f5760405162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015260640160405180910390fd5b5a613328615638565b6224ea0060026133366154c9565b01106133885760405162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015260640160405180910390fd5b7f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7600160036133b56154c9565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1600160036133ec6154c9565b906101000a90046001600160a01b03166001600160a01b0316ff5b60006005610d6c6154c9565b61341b614bae565b8060076001816134296154c9565b816001600160a01b0302191690836001600160a01b031602179061344b615603565b505050611bea81614d33565b60006134616142bc565b6001600160a01b031663a311c7c2836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dd2615501565b6224ea0081565b60006134bb6142bc565b6001600160a01b031663a5fdc5de836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dd2615501565b600061350e614302565b6135166144bb565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680613549615501565b15801561355557600080fd5b505a61355f615530565b5050505050158015613575573d6000803e3d6000fd5b5050505061359f60066000906135896154c9565b906101000a90046001600160a01b031683614777565b50610fbe600060066135af6154c9565b906101000a90046001600160a01b03168484614e7b565b6135ce615661565b60005b600d806135dc6154c9565b905081101561362457600d81816135f16154c9565b81106135f957fe5b9060005260206000200161360b6154c9565b82826018811061361757fe5b60200201526001016135d1565b5090565b61363061472c565b6001600160a01b03165a6136426155da565b6001600160a01b03161461368a5760405162461bcd60e51b815260206004820152601e60248201526000805160206156dc833981519152604482015260640160405180910390fd5b600060046136966154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff978383604051602001808381526020018281526020019250505060405160208183030381529060405260026040518060286156b48239602801905060405180910390206128a288614ba2565b6137076144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061373a615501565b15801561374657600080fd5b505a613750615530565b5050505050158015613766573d6000803e3d6000fd5b50505050613772614302565b61377a6142bc565b6001600160a01b031663c8977132600060066131886154c9565b60006003611f116154c9565b6137a8614e88565b80600660018161173f6154c9565b6137be6146ba565b5a6137c7615638565b8060026137d2615603565b5050506001600360006101000a816137e86154c9565b8160ff021916908315150217906137fd615603565b5050507fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a66224ea0060405190815260200160405180910390a1565b6138406144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680613873615501565b15801561387f57600080fd5b505a613889615530565b505050505015801561389f573d6000803e3d6000fd5b505050506138ab614302565b6138b36142bc565b6001600160a01b0316639a5154b483600060066138ce6154c9565b906101000a90046001600160a01b0316846040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061392c615501565b15801561393857600080fd5b505a613942615585565b505050505050158015613959573d6000803e3d6000fd5b505050505050565b60016003610d6c6154c9565b600d81816139796154c9565b811061398157fe5b90600052602060002001905061183e6154c9565b600083826139a16144bb565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186806139d4615501565b1580156139e057600080fd5b505a6139ea615530565b5050505050158015613a00573d6000803e3d6000fd5b50505050613a0c6144bb565b6001600160a01b0316636132eba483836040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680613a53615501565b158015613a5f57600080fd5b505a613a69615530565b5050505050158015613a7f573d6000803e3d6000fd5b50505050613a8b614302565b613a9361472c565b6001600160a01b0316636a1c47588860006006613aae6154c9565b906101000a90046001600160a01b03168989896040516001600160e01b031960e088901b1681526001600160a01b03958616600482015293909416602484015260448301919091526064820152608481019190915260a40160206040518083038160008780613b1b615501565b158015613b2757600080fd5b505a613b31615585565b505050505050158015613b48573d6000803e3d6000fd5b505050506040513d6020811015613b5e57600080fd5b8101908080519a9950505050505050505050565b6000613b7c6142bc565b6001600160a01b031663d37c4d8b84846040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680613bcb615501565b158015613bd757600080fd5b505a613be1615530565b5050505050158015613bf7573d6000803e3d6000fd5b505050506040513d6020811015613c0d57600080fd5b8101908080519695505050505050565b6000613c276142bc565b6001600160a01b0316637b1001b78360016040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610dd2615501565b60006006610d6c6154c9565b6000613c876142bc565b6001600160a01b031663dbf633406040518163ffffffff1660e01b8152600401602060405180830381868061225d615501565b6000806007613cc76154c9565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680613bcb615501565b613d3061472c565b6001600160a01b03165a613d426155da565b6001600160a01b031614613d8a5760405162461bcd60e51b815260206004820152601e60248201526000805160206156dc833981519152604482015260640160405180910390fd5b60006004613d966154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff978383604051602001808381526020018281526020019250505060405160208183030381529060405260026040518060296157fa823960290190506040518091039020876000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051602090910190808383600083156129155780820151838201526020016128fd565b601881565b6000613e776144bb565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680613eaa615501565b158015613eb657600080fd5b505a613ec0615530565b5050505050158015613ed6573d6000803e3d6000fd5b50505050613ee2614302565b600080613eed6142bc565b6001600160a01b031663a63c4df4868660006006613f096154c9565b906101000a90046001600160a01b03166040516001600160e01b031960e086901b1681526001600160a01b03938416600482015260248101929092529091166044820152606401604080518083038160008780613f64615501565b158015613f7057600080fd5b505a613f7a615585565b505050505050158015613f91573d6000803e3d6000fd5b505050506040513d6040811015613fa757600080fd5b8101908080519291906020018051939550929350613fe892508791508490508360006006613fd36154c9565b906101000a90046001600160a01b0316614f4f565b61400e8560006006613ff86154c9565b906101000a90046001600160a01b031684614e7b565b95945050505050565b61401f6144bb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680614052615501565b15801561405e57600080fd5b505a614068615530565b505050505015801561407e573d6000803e3d6000fd5b5050505061408a614302565b6140926142bc565b6001600160a01b03166344ec6b6283600060066138ce6154c9565b60006007610d6c6154c9565b60006004610d6c6154c9565b600083826140d16144bb565b6001600160a01b0316637118d4316040518163ffffffff1660e01b81526004016000604051808303818680614104615501565b15801561411057600080fd5b505a61411a615530565b5050505050158015614130573d6000803e3d6000fd5b5050505061413c6144bb565b6001600160a01b0316636132eba483836040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680614183615501565b15801561418f57600080fd5b505a614199615530565b50505050501580156141af573d6000803e3d6000fd5b505050506141bb614302565b6141c361472c565b6001600160a01b0316630a1e187d600060066141dd6154c9565b906101000a90046001600160a01b031688888860066000906141fd6154c9565b906101000a90046001600160a01b03166040516001600160e01b031960e088901b1681526001600160a01b039586166004820152602481019490945260448401929092526064830152909116608482015260a40160206040518083038160008780614266615501565b15801561427257600080fd5b505a61427c615585565b505050505050158015614293573d6000803e3d6000fd5b505050506040513d60208110156142a957600080fd5b8101908080519998505050505050505050565b60006142fd6524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b60208201526150ca565b905090565b6000600461430e6154c9565b906101000a90046001600160a01b03166001600160a01b03165a6143306155da565b6001600160a01b03161415801561437c57506000600561434e6154c9565b906101000a90046001600160a01b03166001600160a01b03165a6143706155da565b6001600160a01b031614155b80156143bd57505a61438c6155da565b6001600160a01b0316600060066143a16154c9565b906101000a90046001600160a01b03166001600160a01b031614155b15613201575a6143cb6155da565b6006600181612c756154c9565b600060046143e46154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff978260405160200180828152602001915050604051602081830303815290604052600360405180602161578f82396021019050604051809103902061444588614ba2565b61444e88614ba2565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051602090910190808383600083156129155780820151838201526020016128fd565b60006142fd6b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d53746174757320616464726573730000000060208201526150ca565b60006142fd722932bbb0b93239a234b9ba3934b13aba34b7b760691b6040516060810160405260238082526157b060208301396150ca565b60006142fd6d537570706c795363686564756c6560901b60405160408082019052601e81527f4d697373696e6720537570706c795363686564756c652061646472657373000060208201526150ca565b6000828211156145e75760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6000828201838110156146465760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b600060046146596154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff978260405160200180828152602001915050604051602081830303815290604052600360405180602161585582396021019050604051809103902061444588614ba2565b6000806146c56154c9565b906101000a90046001600160a01b03166001600160a01b03165a6146e76155da565b6001600160a01b0316146132015760405162461bcd60e51b815260040180806020018281038252602f815260200180615760602f913960400191505060405180910390fd5b60006142fd6822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e67657220616464726573730000000000000060208201526150ca565b60008061478261518a565b6001600160a01b0316638b3f8088856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401604080518083038186806147ca615501565b1580156147d657600080fd5b505a6147e0615530565b50505050501580156147f6573d6000803e3d6000fd5b505050506040513d604081101561480c57600080fd5b8101908080519291906020018051509293505082159150610fbe9050576000806148346142bc565b6001600160a01b0316636bed0415876000600761484f6154c9565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806148a8615501565b1580156148b457600080fd5b505a6148be615530565b50505050501580156148d4573d6000803e3d6000fd5b505050506040513d60208110156148ea57600080fd5b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680614933615501565b15801561493f57600080fd5b505a614949615530565b505050505015801561495f573d6000803e3d6000fd5b505050506040513d604081101561497557600080fd5b8101908080519291906020018051939550929350505050818511156149cb5760405162461bcd60e51b815260040180806020018281038252602681526020018061573a6026913960400191505060405180910390fd5b8015614a1d5760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015260640160405180910390fd5b50600195945050505050565b6000806007614a366154c9565b6001600160a01b036101009290920a90041663da46098c8587614b198660006007614a5f6154c9565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e8b8d6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680614ac0615501565b158015614acc57600080fd5b505a614ad6615530565b5050505050158015614aec573d6000803e3d6000fd5b505050506040513d6020811015614b0257600080fd5b8101908080519392505063ffffffff614591169050565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160006040518083038160008780614b66615501565b158015614b7257600080fd5b505a614b7c615585565b505050505050158015614b93573d6000803e3d6000fd5b5050505061400e8484846151da565b6001600160a01b031690565b60006004614bba6154c9565b906101000a90046001600160a01b03166001600160a01b03165a614bdc6155da565b6001600160a01b031614158015614c28575060006005614bfa6154c9565b906101000a90046001600160a01b03166001600160a01b03165a614c1c6155da565b6001600160a01b031614155b8015614c6957505a614c386155da565b6001600160a01b031660006006614c4d6154c9565b906101000a90046001600160a01b03166001600160a01b031614155b15614caa575a614c776155da565b6006600181614c846154c9565b816001600160a01b0302191690836001600160a01b0316021790614ca6615603565b5050505b600080614cb56154c9565b6001600160a01b036101009290920a90041660006006614cd36154c9565b906101000a90046001600160a01b03166001600160a01b0316146132015760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015260640160405180910390fd5b60006004614d3f6154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015614e2f578082015183820152602001614e17565b50505050905090810190601f168015614e5c5780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780611bb8615501565b6000611ac98484846151da565b60006004614e946154c9565b906101000a90046001600160a01b03166001600160a01b03165a614eb66155da565b6001600160a01b03161480614eff575060006005614ed26154c9565b906101000a90046001600160a01b03166001600160a01b03165a614ef46155da565b6001600160a01b0316145b6132015760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015260640160405180910390fd5b60006004614f5b6154c9565b906101000a90046001600160a01b03166001600160a01b031663907dff9784848460405160208101939093526040808401929092526001600160a01b03166060830152608090910190516020818303038152906040526002604051806032615823823960320190506040518091039020614fd489614ba2565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561504757808201518382015260200161502f565b50505050905090810190601f1680156150745780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780615093615501565b15801561509f57600080fd5b505a6150a9615585565b5050505050501580156150c0573d6000803e3d6000fd5b5050505050505050565b6000828152600c60205280604081206000906150e46154c9565b6001600160a01b036101009290920a900416905082816151825760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561514757808201518382015260200161512f565b50505050905090810190601f1680156151745780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60006142fd6d53796e746865746978537461746560901b60405160408082019052601e81527f4d697373696e672053796e74686574697853746174652061646472657373000060208201526150ca565b60006001600160a01b0383161580159061523657505a63996d79a5598160e01b8152602081600483336000905af180615219576040513d6000823e3d81fd5b815193505050506001600160a01b0316836001600160a01b031614155b801561526f5750600060046152496154c9565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b6152bf5760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015260640160405180910390fd5b600060076152cb6154c9565b6001600160a01b036101009290920a90041663b46310f68561534c85600060076152f36154c9565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680614ac0615501565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061538d615501565b15801561539957600080fd5b505a6153a3615585565b5050505050501580156153ba573d6000803e3d6000fd5b5050505060076000906153cb6154c9565b6001600160a01b036101009290920a90041663b46310f68461544c85600060076153f36154c9565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611402615501565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061548d615501565b15801561549957600080fd5b505a6154a3615585565b5050505050501580156154ba573d6000803e3d6000fd5b50505050610fbe84848461464d565b6320966208598160e01b8152836004820152602081602483336000905af1806154f8576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806154f8576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b87811015615560578087015182820160240152602001615545565b5088888860240183336000905af18061557f576040513d6000823e3d81fd5b98505050565b634c6d7c84598160e01b815284600482015260005b888110156155b557808801518282016024015260200161559a565b5089898960240183336000905af1806155d4576040513d6000823e3d81fd5b99505050565b6373509064598160e01b8152602081600483336000905af1806154f8576040513d6000823e3d81fd5b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180612c97576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af1806154f8576040513d6000823e3d81fd5b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e67655265636c61696d28616464726573732c627974657333322c75696e74323536294f6e6c792045786368616e6765722063616e20696e766f6b652074686973000053796e746845786368616e676528616464726573732c627974657333322c75696e743235362c627974657333322c75696e743235362c616464726573732943616e6e6f74207472616e73666572207374616b6564206f7220657363726f77656420534e584f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294d697373696e672052657761726473446973747269627574696f6e206164647265737345786368616e676552656261746528616464726573732c627974657333322c75696e743235362945786368616e6765547261636b696e6728627974657333322c627974657333322c75696e74323536294163636f756e744c69717569646174656428616464726573732c75696e743235362c75696e743235362c61646472657373295472616e7366657228616464726573732c616464726573732c75696e7432353629",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "PynthExchange",
					"type": "event",
					"signature": "0x65b6972c94204d84cffd3a95615743e31270f04fdf251f3dccc705cfbad44776"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x295da87d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2bf3880"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9741fb22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c955fa7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c00f310"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf086c7e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x320223db"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8a290014"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe8e09b8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9324cac7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd60888e4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6ac0bf9c"
				}
			],
			"source": {
				"keccak256": "0xe489180771df2254dea1463f319ffa57140d35f815baf70b19d82a894fa384e1",
				"urls": [
					"bzz-raw://9b67cb0d15a31e6e401f0d1b547e17ee129aadb1d662b7b9c0e463e1b902f9b8",
					"dweb:/ipfs/QmdzoXCVzMkJzq3H4D6Evd2TV8Y4yuDEa6kjMW7CH3ASw9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinance.sol": "PeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinance.sol": {
						"keccak256": "0xe489180771df2254dea1463f319ffa57140d35f815baf70b19d82a894fa384e1",
						"urls": [
							"bzz-raw://9b67cb0d15a31e6e401f0d1b547e17ee129aadb1d662b7b9c0e463e1b902f9b8",
							"dweb:/ipfs/QmdzoXCVzMkJzq3H4D6Evd2TV8Y4yuDEa6kjMW7CH3ASw9"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "6080604052604051610120810160409081526b53797374656d53746174757360a01b82526c45786368616e6765537461746560981b60208301526c45786368616e6765526174657360981b90820152680a6f2dce8d0cae8d2f60bb1b606082015266119959541bdbdb60ca1b60808201526d54726164696e675265776172647360901b60a08201527044656c6567617465417070726f76616c7360781b60c08201526524b9b9bab2b960d11b60e08201526844656274436163686560b81b610100820152620000d39060069060096200058d565b50348015620000ec57600080620000e9620005db565b50505b5060405162005c4d38038062005c4d833981810160405260408110156200011d576000806200011a620005db565b50505b810190808051929190602001805192508291506006905060186103006040519081016040529190610300830182845b816200015762000648565b815260200190600101908083116200014c57508793505050506001600160a01b038116620001d65760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620001d3620005db565b50505b806000600181620001e662000648565b816001600160a01b0302191690836001600160a01b03160217906200020a620006aa565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200026362000648565b906101000a90046001600160a01b03166001600160a01b03161415620002ce5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620002cb620005db565b50505b60005b60188110156200035e576000828260188110620002ea57fe5b6020020151146200034f5760048282601881106200030457fe5b602002015190806001816200031862000648565b01808262000325620006aa565b505060009283529160001983019150602090209192910162000346620006aa565b50505062000355565b6200035e565b600101620002d1565b508160026001816200036f62000648565b816001600160a01b0302191690836001600160a01b031602179062000393620006aa565b5050505050620003bb6e466c657869626c6553746f7261676560881b620003c360201b60201c565b505062000827565b80600480600181620003d462000648565b018082620003e1620006aa565b505060009283529160001983019150602090209192910162000402620006aa565b50505060186004806200041462000648565b905010620004735760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d6574000000000060448201526064016040518091039062000470620005db565b50505b600060026200048162000648565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620004d4620006f9565b158015620004ec57600080620004e9620005db565b50505b505a620004f862000746565b50505050501580156200051a573d6000803e3d600062000517620005db565b50505b505050506040513d60208110156200053c5760008062000539620005db565b50505b81019080805160008581526003602052909350604092509050206001816200056362000648565b816001600160a01b0302191690836001600160a01b031602179062000587620006aa565b50505050565b8260188101928215620005c9579160200282015b82811115620005c957825182620005b7620006aa565b505091602001919060010190620005a1565b50620005d7929150620007fa565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101562000615578086015182820160400152602001620005f8565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620006a5576000828201526020016200068c565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200068c565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206200068c565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b888110156200078c57808801518282015260200162000772565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b81811015620007ef5760008152602001620007d9565b50919b505050505050565b6200082491905b80821115620005d7576000808262000818620006aa565b50505060010162000801565b90565b61541680620008376000396000f3fe608060405234801561001957600080610016614eee565b50505b50600436106101e35760003560e01c80636a1c47581161010d578063c193f0d8116100ab578063dfffca761161007a578063dfffca761461065b578063e3235c91146106b4578063f3995224146106bc578063f450aa341461072c576101e3565b8063c193f0d8146105cc578063c6c9d828146105d4578063ce096940146105fa578063d6f32e0614610626576101e3565b806386baa45c116100e757806386baa45c14610522578063892571171461057b5780638da5cb5b14610583578063ab49848c1461058b576101e3565b80636a1c4758146104a957806379ba5097146104f45780637dd1a57a146104fc576101e3565b80631b16802c116101855780634c268fc8116101545780634c268fc8146103f757806353a47bb71461043857806357af302c14610440578063631e14441461047a576101e3565b80631b16802c14610383578063372a395a146103b85780633be99e6f146103c05780633fa70f45146103ef576101e3565b80630b9e31c9116101c15780630b9e31c9146102a75780631627540c146102cf57806319d5c665146102fe5780631a5c609514610357576101e3565b806304f3bcec146101f1578063059c29ec146102155780630a1e187d1461025c575b6000806101ee614eee565b50505b6101f961075e565b6040516001600160a01b03909116815260200160405180910390f35b61024a6004803603604081101561023457600080610231614eee565b50505b506001600160a01b03813516906020013561077d565b60405190815260200160405180910390f35b61024a600480360360a081101561027b57600080610278614eee565b50505b506001600160a01b0381358116916020810135916040820135916060810135916080909101351661084f565b6102cd600480360360208110156102c6576000806102c3614eee565b50505b50356109b0565b005b6102cd600480360360208110156102ee576000806102eb614eee565b50505b50356001600160a01b0316610ce2565b6103336004803603604081101561031d5760008061031a614eee565b50505b506001600160a01b038135169060200135610d5c565b60405180848152602001838152602001828152602001935050505060405180910390f35b61024a6004803603604081101561037657600080610373614eee565b50505b5080359060200135610d7a565b610333600480360360408110156103a25760008061039f614eee565b50505b506001600160a01b038135169060200135610d86565b61024a610e2f565b6102cd600480360360208110156103df576000806103dc614eee565b50505b50356001600160a01b0316610e3e565b61024a611008565b61024a6004803603608081101561041657600080610413614eee565b50505b506001600160a01b03813516906020810135906040810135906060013561100d565b6101f96111a1565b6104666004803603602081101561045f5760008061045c614eee565b50505b50356111ad565b604051901515815260200160405180910390f35b6104666004803603602081101561049957600080610496614eee565b50505b50356001600160a01b0316611204565b61024a600480360360a08110156104c8576000806104c5614eee565b50505b506001600160a01b038135811691602081013590911690604081013590606081013590608001356113de565b6102cd61164e565b61024a6004803603602081101561051b57600080610518614eee565b50505b50356117d1565b61024a600480360360e08110156105415760008061053e614eee565b50505b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356117ec565b61024a61195a565b6101f9611964565b61059361196f565b604051808261030080838360005b838110156105b95780820151838201526020016105a1565b5050505090500191505060405180910390f35b6104666119d1565b61024a600480360360208110156105f3576000806105f0614eee565b50505b50356119db565b6102cd6004803603604081101561061957600080610616614eee565b50505b5080359060200135611a03565b6104666004803603604081101561064557600080610642614eee565b50505b506001600160a01b038135169060200135611afb565b61024a600480360360e081101561067a57600080610677614eee565b50505b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135611b2d565b61024a611da8565b61070b600480360360c08110156106db576000806106d8614eee565b50505b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611dad565b6040519182526001600160a01b031660208201526040908101905180910390f35b6103336004803603606081101561074b57600080610748614eee565b50505b5080359060208101359060400135611f25565b6000600261076a614f59565b906101000a90046001600160a01b031681565b600061084661078a611f45565b6001600160a01b031663f1406dc885856040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806107d9614fb4565b1580156107ee576000806107eb614eee565b50505b505a6107f8615000565b5050505050158015610817573d6000803e3d6000610814614eee565b50505b505050506040513d602081101561083657600080610833614eee565b50505b8101908080519250611f94915050565b90505b92915050565b60008061085a612003565b9050806001600160a01b03165a61086f6150b0565b6001600160a01b03161480610940575060006001600160a01b0382166316b2213f5a6108996150b0565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806108d3614fb4565b1580156108e8576000806108e5614eee565b50505b505a6108f2615000565b5050505050158015610911573d6000803e3d600061090e614eee565b50505b505050506040513d60208110156109305760008061092d614eee565b50505b8101908080519390931415925050505b6109845760405162461bcd60e51b815260040180806020018281038252604581526020018061533c6045913960600191505060405180910390610981614eee565b50505b60006109958888888888600061204e565b5090935090506109a58185612551565b505095945050505050565b6109b861261d565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186806109eb614fb4565b158015610a00576000806109fd614eee565b50505b505a610a0a615000565b5050505050158015610a29573d6000803e3d6000610a26614eee565b50505b5050505060006001600160a01b0316610a4061266b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610a81614fb4565b158015610a9657600080610a93614eee565b50505b505a610aa0615000565b5050505050158015610abf573d6000803e3d6000610abc614eee565b50505b505050506040513d6020811015610ade57600080610adb614eee565b50505b8101908080516001600160a01b031693909314159250610b409150505760405162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015260640160405180910390610b3d614eee565b50505b610bfa81610b4c6126ac565b6001600160a01b031663ac82f608846040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b8d614fb4565b158015610ba257600080610b9f614eee565b50505b505a610bac615000565b5050505050158015610bcb573d6000803e3d6000610bc8614eee565b50505b505050506040513d6020811015610bea57600080610be7614eee565b50505b81019080805192506126fb915050565b610c4a5760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015260640160405180910390610c47614eee565b50505b610c5261261d565b6001600160a01b031663abc0bb6e8260416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780610c9c614fb4565b158015610cb157600080610cae614eee565b50505b505a610cbb6150f6565b505050505050158015610cdb573d6000803e3d6000610cd8614eee565b50505b5050505050565b610cea6129bd565b8060018080610cf7614f59565b816001600160a01b0302191690836001600160a01b0316021790610d196151a6565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806000610d6b8585612a37565b50919790965090945092505050565b60006108468383612d60565b6000806000610d9361261d565b6001600160a01b03166342a28e21856040516001600160e01b031960e084901b16815260048101919091526024016000604051808303818680610dd4614fb4565b158015610de957600080610de6614eee565b50505b505a610df3615000565b5050505050158015610e12573d6000803e3d6000610e0f614eee565b50505b50505050610e2285856001612d6b565b9250925092509250925092565b6000610e39613131565b905090565b610e466129bd565b806002600181610e54614f59565b816001600160a01b0302191690836001600160a01b0316021790610e766151a6565b5060009150505b600480610e88614f59565b905081101561100457600060048281610e9f614f59565b8110610ea757fe5b90600052602060002001610eb9614f59565b905060006002610ec7614f59565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680610f50614fb4565b158015610f6557600080610f62614eee565b50505b505a610f6f615000565b5050505050158015610f8e573d6000803e3d6000610f8b614eee565b50505b505050506040513d6020811015610fad57600080610faa614eee565b50505b8101908080516000858152600360205290935060409250905020600181610fd2614f59565b816001600160a01b0302191690836001600160a01b0316021790610ff46151a6565b505060019092019150610e7d9050565b5050565b604181565b81600061101861266b565b6001600160a01b03166332608039866040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680611059614fb4565b15801561106e5760008061106b614eee565b50505b505a611078615000565b5050505050158015611097573d6000803e3d6000611094614eee565b50505b505050506040513d60208110156110b6576000806110b3614eee565b50505b8101908080516001600160a01b031692506370a0823191508890506040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061110b614fb4565b1580156111205760008061111d614eee565b50505b505a61112a615000565b5050505050158015611149573d6000803e3d6000611146614eee565b50505b505050506040513d602081101561116857600080611165614eee565b50505b81019080805193505050508082111561117f578091505b821561119857611195828463ffffffff61321e16565b91505b50949350505050565b6000600161076a614f59565b60006111fc826111bb6126ac565b6001600160a01b031663ac82f608856040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b8d614fb4565b90505b919050565b60006001600160a01b03821681600261121b614f59565b906101000a90046001600160a01b03166001600160a01b031614611241575060006111ff565b60005b60048061124f614f59565b90508110156113d557600060048281611266614f59565b811061126e57fe5b90600052602060002001611280614f59565b600081815260036020529091506040902060009061129c614f59565b6001600160a01b036101009290920a900416600060026112ba614f59565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061130b614fb4565b1580156113205760008061131d614eee565b50505b505a61132a615000565b5050505050158015611349573d6000803e3d6000611346614eee565b50505b505050506040513d602081101561136857600080611365614eee565b50505b8101908080516001600160a01b0316939093141592508291506113bc9050575060008181526003602052604081206000906113a1614f59565b906101000a90046001600160a01b03166001600160a01b0316145b156113cc576000925050506111ff565b50600101611244565b50600192915050565b6000806113e9612003565b9050806001600160a01b03165a6113fe6150b0565b6001600160a01b031614806114cf575060006001600160a01b0382166316b2213f5a6114286150b0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611462614fb4565b15801561147757600080611474614eee565b50505b505a611481615000565b50505050501580156114a0573d6000803e3d600061149d614eee565b50505b505050506040513d60208110156114bf576000806114bc614eee565b50505b8101908080519390931415925050505b6115135760405162461bcd60e51b815260040180806020018281038252604581526020018061533c6045913960600191505060405180910390611510614eee565b50505b61151b613286565b6001600160a01b031663faf431bb88886040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061156c614fb4565b1580156115815760008061157e614eee565b50505b505a61158b615000565b50505050501580156115aa573d6000803e3d60006115a7614eee565b50505b505050506040513d60208110156115c9576000806115c6614eee565b50505b810190808051925061162d9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c6600000060448201526064016040518091039061162a614eee565b50505b600061163e888787878c600061204e565b5090935090506109a58189612551565b6000600161165a614f59565b906101000a90046001600160a01b03166001600160a01b03165a61167c6150b0565b6001600160a01b0316146116ca5760405162461bcd60e51b81526004018080602001828103825260358152602001806152e660359139604001915050604051809103906116c7614eee565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806116f6614f59565b906101000a90046001600160a01b03166001600090611713614f59565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611752614f59565b906101000a90046001600160a01b03166000806101000a81611772614f59565b816001600160a01b0302191690836001600160a01b03160217906117946151a6565b5050506000600160006101000a816117aa614f59565b816001600160a01b0302191690836001600160a01b03160217906117cc6151a6565b505050565b600560205280600052604060002090506117e9614f59565b81565b6000806117f7612003565b9050806001600160a01b03165a61180c6150b0565b6001600160a01b031614806118dd575060006001600160a01b0382166316b2213f5a6118366150b0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611870614fb4565b15801561188557600080611882614eee565b50505b505a61188f615000565b50505050501580156118ae573d6000803e3d60006118ab614eee565b50505b505050506040513d60208110156118cd576000806118ca614eee565b50505b8101908080519390931415925050505b6119215760405162461bcd60e51b815260040180806020018281038252604581526020018061533c604591396060019150506040518091039061191e614eee565b50505b60006119328a8a8a8a8a600061204e565b5090935090506119428186612551565b61194d8488856132bc565b5050979650505050505050565b6000610e3961335d565b60008061076a614f59565b6119776151f4565b60005b600480611985614f59565b90508110156119cd576004818161199a614f59565b81106119a257fe5b906000526020600020016119b4614f59565b8282601881106119c057fe5b602002015260010161197a565b5090565b6000610e396133d3565b600481816119e7614f59565b81106119ef57fe5b9060005260206000200190506117e9614f59565b6000611a0d6126ac565b9050806001600160a01b03165a611a226150b0565b6001600160a01b031614611a855760405162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015260640160405180910390611a82614eee565b50505b60008211611ad95760405162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015260640160405180910390611ad6614eee565b50505b600083815260056020528290604090208190611af36151a6565b505050505050565b6000611b07838361077d565b15611b1457506001610849565b6000611b208484612a37565b5050501515949350505050565b600080611b38612003565b9050806001600160a01b03165a611b4d6150b0565b6001600160a01b03161480611c1e575060006001600160a01b0382166316b2213f5a611b776150b0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611bb1614fb4565b158015611bc657600080611bc3614eee565b50505b505a611bd0615000565b5050505050158015611bef573d6000803e3d6000611bec614eee565b50505b505050506040513d6020811015611c0e57600080611c0b614eee565b50505b8101908080519390931415925050505b611c625760405162461bcd60e51b815260040180806020018281038252604581526020018061533c6045913960600191505060405180910390611c5f614eee565b50505b611c6a613286565b6001600160a01b031663faf431bb8a8a6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680611cbb614fb4565b158015611cd057600080611ccd614eee565b50505b505a611cda615000565b5050505050158015611cf9573d6000803e3d6000611cf6614eee565b50505b505050506040513d6020811015611d1857600080611d15614eee565b50505b8101908080519250611d7c9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390611d79614eee565b50505b6000611d8d8a8989898e600061204e565b509093509050611d9d8186612551565b61194d8487856132bc565b601881565b6000806000611dba612003565b9050806001600160a01b03165a611dcf6150b0565b6001600160a01b03161480611ea0575060006001600160a01b0382166316b2213f5a611df96150b0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611e33614fb4565b158015611e4857600080611e45614eee565b50505b505a611e52615000565b5050505050158015611e71573d6000803e3d6000611e6e614eee565b50505b505050506040513d6020811015611e9057600080611e8d614eee565b50505b8101908080519390931415925050505b611ee45760405162461bcd60e51b815260040180806020018281038252604581526020018061533c6045913960600191505060405180910390611ee1614eee565b50505b6000611ef58a8a8a8a8a600161204e565b9195509093509050611f078187612551565b8415611f1857611f188588866132bc565b5050965096945050505050565b6000806000611f3586868661344d565b5092999198509650945050505050565b6000610e396c45786368616e6765537461746560981b60405160408082019052601d81527f4d697373696e672045786368616e6765537461746520616464726573730000006020820152613566565b600080611f9f61335d565b9050821580611fc55750611fb9838263ffffffff61321e16565b5a611fc2615211565b10155b15611fd45760009150506111ff565b611ffc5a611fe0615211565b611ff0858463ffffffff61321e16565b9063ffffffff61362f16565b9392505050565b6000610e39680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152613566565b600080600061205e888888613694565b600061206b888b8b6138ca565b905080612082575060009250829150819050612545565b6000806000612092848d8c61344d565b939a509198509450925090506120a88c83613900565b806120b857506120b88a82613900565b156120d157506000955085945084935061254592505050565b6120e08c8e868d8b8e8e6139d2565b94506001600160a01b038516156120f5578498505b8515612443576121036126ac565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381868061215a614fb4565b15801561216f5760008061216c614eee565b50505b505a612179615000565b5050505050158015612198573d6000803e3d6000612195614eee565b50505b505050506040513d60208110156121b7576000806121b4614eee565b50505b81019080805198506121cc925061266b915050565b6001600160a01b03166332608039631cd554d160e21b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680612214614fb4565b15801561222957600080612226614eee565b50505b505a612233615000565b5050505050158015612252573d6000803e3d600061224f614eee565b50505b505050506040513d60208110156122715760008061226e614eee565b50505b8101908080516001600160a01b0316925063867904b491506122939050613dbd565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186806122c6614fb4565b1580156122db576000806122d8614eee565b50505b505a6122e5615000565b5050505050158015612304573d6000803e3d6000612301614eee565b50505b505050506040513d602081101561232357600080612320614eee565b50505b81019080805192508a915060409050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612371614fb4565b15801561238657600080612383614eee565b50505b505a6123906150f6565b5050505050501580156123b0573d6000803e3d60006123ad614eee565b50505b505050506123bc613dbd565b6001600160a01b03166322bf55ef876040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381600087806123ff614fb4565b15801561241457600080612411614eee565b50505b505a61241e6150f6565b50505050505015801561243e573d6000803e3d600061243b614eee565b50505b505050505b612472604051604080820181528e8252602082018d905251806040016040528085815260200184815250613e06565b61247a612003565b6001600160a01b0316636c00f3108e8e878e8c8f6040516001600160e01b031960e089901b1681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152608483015290911660a482015260c401600060405180830381600087806124ef614fb4565b15801561250457600080612501614eee565b50505b505a61250e6150f6565b50505050505015801561252e573d6000803e3d600061252b614eee565b50505b50505050612540898d868d8b88614113565b505050505b96509650969350505050565b60008211801561256957506001600160a01b03811615155b801561257857506125786133d3565b15611004576125856143d0565b6001600160a01b03166321cad77483836040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087806125d7614fb4565b1580156125ec576000806125e9614eee565b50505b505a6125f66150f6565b505050505050158015611af3573d6000803e3d6000612613614eee565b5050505050505050565b6000610e396b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d5374617475732061646472657373000000006020820152613566565b6000610e396524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b6020820152613566565b6000610e396c45786368616e6765526174657360981b60405160408082019052601d81527f4d697373696e672045786368616e6765526174657320616464726573730000006020820152613566565b60008161270a57506001610849565b6000838152600560205260408120612720614f59565b9050801561273a576127328184614420565b915050610849565b60606127446126ac565b6001600160a01b0316632d7371e18660046040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381868061278c614fb4565b1580156127a15760008061279e614eee565b50505b505a6127ab615000565b50505050501580156127ca573d6000803e3d60006127c7614eee565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156127fc576000806127f9614eee565b50505b810190808051604051939291908464010000000082111561282557600080612822614eee565b50505b90830190602082018581111561284357600080612840614eee565b50505b825186602082028301116401000000008211171561286957600080612866614eee565b50505b825250602001908051906020019060200280838360005b83811015612898578082015183820152602001612880565b50505050905001604052602001805160405193929190846401000000008211156128ca576000806128c7614eee565b50505b9083019060208201858111156128e8576000806128e5614eee565b50505b825186602082028301116401000000008211171561290e5760008061290b614eee565b50505b825250602001908051906020019060200280838360005b8381101561293d578082015183820152602001612925565b505050509050016040525050505090506000600190505b81518110156129b157600082828151811061296b57fe5b6020026020010151118015612998575061299882828151811061298a57fe5b602002602001015186614420565b156129a95760019350505050610849565b600101612954565b50600095945050505050565b6000806129c8614f59565b906101000a90046001600160a01b03166001600160a01b03165a6129ea6150b0565b6001600160a01b031614612a355760405162461bcd60e51b815260040180806020018281038252602f815260200180615381602f913960400191505060405180910390611004614eee565b565b60008060006060612a46611f45565b6001600160a01b031663b44e975387876040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680612a95614fb4565b158015612aaa57600080612aa7614eee565b50505b505a612ab4615000565b5050505050158015612ad3573d6000803e3d6000612ad0614eee565b50505b505050506040513d6020811015612af257600080612aef614eee565b50505b8101908080519450606092508491506040905051908082528060200260200182016040528015612b3c57816020015b612b29615257565b815260200190600190039081612b215790505b50905060005b83811015612d5457600080612b55615257565b612b608b8b8661447f565b9050600080612b6e836145f1565b915091506000612b7c6126ac565b6001600160a01b031663266da16b85518660200151876040015187876040516001600160e01b031960e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a4016020604051808303818680612be4614fb4565b158015612bf957600080612bf6614eee565b50505b505a612c03615000565b5050505050158015612c22573d6000803e3d6000612c1f614eee565b50505b505050506040513d6020811015612c4157600080612c3e614eee565b50505b810190808051935060009250612c5f915083905060808701516147a8565b9050612c6f856060015182614420565b612ce3578085606001511115612cad57612c948186606001519063ffffffff61362f16565b9650612ca68d8863ffffffff61321e16565b9c50612ce3565b8460600151811115612ce357612cce8560600151829063ffffffff61362f16565b9550612ce08c8763ffffffff61321e16565b9b505b6040516101008101604052808651815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a001519052898981518110612d3557fe5b6020026020010181905250505050505050508080600101915050612b42565b50905092959194509250565b600061084682614871565b6000806000612d7a868661077d565b15612dbf5760405162461bcd60e51b81526004018080602001828103825260238152602001806153f36023913960400191505060405180910390612dbc614eee565b50505b60008060006060612dd08a8a612a37565b935093509350935082841115612e0257612df0848463ffffffff61362f16565b9650612dfd8a8a8961497f565b612e27565b83831115612e2757612e1a838563ffffffff61362f16565b9550612e278a8a88614b27565b8715612f425760606001604051908082528060200260200182016040528015612e5a578160200160208202803883390190505b5090508981600081518110612e6b57fe5b602002602001018181525050612e7f614ccf565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612edd578082015183820152602001612ec5565b505050509050019250505060006040518083038160008780612efd614fb4565b158015612f1257600080612f0f614eee565b50505b505a612f1c6150f6565b505050505050158015612f3c573d6000803e3d6000612f39614eee565b50505b50505050505b60005b8151811015613084578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110612f8557fe5b602002602001015151848481518110612f9a57fe5b602002602001015160200151858581518110612fb257fe5b602002602001015160400151868681518110612fca57fe5b602002602001015160600151878781518110612fe257fe5b602002602001015160800151888881518110612ffa57fe5b602002602001015160a0015189898151811061301257fe5b602002602001015160c001518a8a8151811061302a57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612f45565b50819450613090611f45565b6001600160a01b031663d0d3d62a8b8b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806130e1614fb4565b1580156130f6576000806130f3614eee565b50505b505a6131006150f6565b505050505050158015613120573d6000803e3d600061311d614eee565b50505b505050505050505093509350939050565b600061313b614d1a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131b3614fb4565b1580156131c8576000806131c5614eee565b50505b505a6131d2615000565b50505050501580156131f1573d6000803e3d60006131ee614eee565b50505b505050506040513d60208110156132105760008061320d614eee565b50505b810190808051935050505090565b6000828201838110156108465760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016040518091039061327d614eee565b50509392505050565b6000610e397044656c6567617465417070726f76616c7360781b60405160608101604052602180825261531b6020830139613566565b6132c4612003565b6001600160a01b031663ddd03a3f8484846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780613316614fb4565b15801561332b57600080613328614eee565b50505b505a6133356150f6565b505050505050158015610cd8573d6000803e3d6000613352614eee565b505050505050505050565b6000613367614d1a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131b3614fb4565b60006133dd614d1a565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131b3614fb4565b60008060008060008061345e6126ac565b6001600160a01b0316638295016a898b8a6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160606040518083038186806134ae614fb4565b1580156134c3576000806134c0614eee565b50505b505a6134cd615000565b50505050501580156134ec573d6000803e3d60006134e9614eee565b50505b505050506040513d606081101561350b57600080613508614eee565b50505b8101908080519291906020018051929190602001805193975092955092935061353a92508a9150899050612d60565b935061354681856147a8565b9550613558818763ffffffff61362f16565b945050939792965093509350565b600082815260036020528060408120600090613580614f59565b6001600160a01b036101009290920a900416905082816136275760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135e35780820151838201526020016135cb565b50505050905090810190601f1680156136105780820380516001836020036101000a031916815260200191505b509250505060405180910390613624614eee565b50505b509392505050565b60008282111561368e5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061368b614eee565b50505b50900390565b808314156136e75760405162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b6044820152606401604051809103906136e4614eee565b50505b600082116137325760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b60448201526064016040518091039061372f614eee565b50505b6060600260405190808252806020026020018201604052801561375f578160200160208202803883390190505b509050838160008151811061377057fe5b602002602001018181525050818160018151811061378a57fe5b60200260200101818152505061379e6126ac565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156137fc5780820151838201526020016137e4565b5050505090500192505050602060405180830381868061381a614fb4565b15801561382f5760008061382c614eee565b50505b505a613839615000565b5050505050158015613858573d6000803e3d6000613855614eee565b50505b505050506040513d602081101561387757600080613874614eee565b50505b8101908080511592506138c49150505760405162461bcd60e51b81526004018080602001828103825260228152602001806153d16022913960400191505060405180910390611af3614eee565b50505050565b60008060006138db85856000612d6b565b889550909350915050801561327d576138f68585888561100d565b9695505050505050565b600061390c83836126fb565b156139af5761391961261d565b6001600160a01b031663abc0bb6e8460416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780613963614fb4565b15801561397857600080613975614eee565b50505b505a6139826150f6565b5050505050501580156139a2573d6000803e3d600061399f614eee565b50505b5050505060019050610849565b6000838152600560205282906040902081906139c96151a6565b50505092915050565b60006139dc61266b565b6001600160a01b03166332608039896040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613a1d614fb4565b158015613a3257600080613a2f614eee565b50505b505a613a3c615000565b5050505050158015613a5b573d6000803e3d6000613a58614eee565b50505b505050506040513d6020811015613a7a57600080613a77614eee565b50505b8101908080516001600160a01b03169250639dc29fac9150899050886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613ad7614fb4565b158015613aec57600080613ae9614eee565b50505b505a613af66150f6565b505050505050158015613b16573d6000803e3d6000613b13614eee565b50505b505050506000613b2461266b565b6001600160a01b03166332608039876040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613b65614fb4565b158015613b7a57600080613b77614eee565b50505b505a613b84615000565b5050505050158015613ba3573d6000803e3d6000613ba0614eee565b50505b505050506040513d6020811015613bc257600080613bbf614eee565b50505b81019080805193505084159150613d1b90505780613c7e6001600160a01b03821663ec5568896040518163ffffffff1660e01b81526004016020604051808303818680613c0d614fb4565b158015613c2257600080613c1f614eee565b50505b505a613c2c615000565b5050505050158015613c4b573d6000803e3d6000613c48614eee565b50505b505050506040513d6020811015613c6a57600080613c67614eee565b50505b81019080805192508891508990508a614d6b565b9250816001600160a01b031663867904b484886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613cd2614fb4565b158015613ce757600080613ce4614eee565b50505b505a613cf16150f6565b505050505050158015613d11573d6000803e3d6000613d0e614eee565b50505b5050505050613db1565b806001600160a01b031663867904b485876040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613d6d614fb4565b158015613d8257600080613d7f614eee565b50505b505a613d8c6150f6565b505050505050158015613dac573d6000803e3d6000613da9614eee565b50505b505050505b50979650505050505050565b6000610e3966119959541bdbdb60ca1b60405160408082019052601781527f4d697373696e6720466565506f6f6c20616464726573730000000000000000006020820152613566565b6000631cd554d160e21b83511480613e285750631cd554d160e21b6020840151145b9050600081613e38576003613e3b565b60025b60ff169050606081604051908082528060200260200182016040528015613e6c578160200160208202803883390190505b509050845181600081518110613e7e57fe5b6020908102919091010152846001602002015181600181518110613e9e57fe5b602002602001018181525050606082604051908082528060200260200182016040528015613ed6578160200160208202803883390190505b509050845181600081518110613ee857fe5b6020908102919091010152846001602002015181600181518110613f0857fe5b60200260200101818152505083613ffc57631cd554d160e21b82600281518110613f2e57fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680613f79614fb4565b158015613f8e57600080613f8b614eee565b50505b505a613f986152a2565b5050505050158015613fb7573d6000803e3d6000613fb4614eee565b50505b505050506040513d6020811015613fd657600080613fd3614eee565b50505b81019080805192508391506002905081518110613fef57fe5b6020026020010181815250505b614004614ccf565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561406757808201518382015260200161404f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156140a657808201518382015260200161408e565b50505050905001945050505050600060405180830381600087806140c8614fb4565b1580156140dd576000806140da614eee565b50505b505a6140e76150f6565b505050505050158015614107573d6000803e3d6000614104614eee565b50505b50505050505050505050565b600061411d6126ac565b90506000816001600160a01b0316637a018a1e886040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614163614fb4565b15801561417857600080614175614eee565b50505b505a614182615000565b50505050501580156141a1573d6000803e3d600061419e614eee565b50505b505050506040513d60208110156141c0576000806141bd614eee565b50505b81019080805193506000925050506001600160a01b038316637a018a1e876040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614210614fb4565b15801561422557600080614222614eee565b50505b505a61422f615000565b505050505015801561424e573d6000803e3d600061424b614eee565b50505b505050506040513d602081101561426d5760008061426a614eee565b50505b81019080805193506142829250611f45915050565b6001600160a01b0316633ca9d85c8a8a8a8a8a8a5a61429f615211565b8a8a6040516001600160e01b031960e08c901b1681526001600160a01b0390991660048a0152602489019790975260448801959095526064870193909352608486019190915260a485015260c484015260e48301526101048201526101240160006040518083038160008780614313614fb4565b15801561432857600080614325614eee565b50505b505a6143326150f6565b505050505050158015614352573d6000803e3d600061434f614eee565b50505b50505050886001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce94623988989898989888860405196875260208701959095526040808701949094526060860192909252608085015260a084015260c083019190915260e0909101905180910390a2505050505050505050565b6000610e396d54726164696e675265776172647360901b60405160408082019052601e81527f4d697373696e672054726164696e6752657761726473206164647265737300006020820152613566565b600082158061442d575081155b1561443a57506001610849565b60008383111561445b57614454838563ffffffff614dc916565b905061446e565b61446b848463ffffffff614dc916565b90505b614476613131565b11159392505050565b614487615257565b60008060008060008060008061449b611f45565b6001600160a01b03166315987eb68d8d8d6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064016101006040518083038186806144f4614fb4565b15801561450957600080614506614eee565b50505b505a614513615000565b5050505050158015614532573d6000803e3d600061452f614eee565b50505b505050506040513d6101008110156145525760008061454f614eee565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051929190602001805192919060200180519291906020018051906020019092919050505097509750975097509750975097509750604051610100810160409081529881526020810197909752968601949094526060850192909252608084015260a083015260c082015260e0810191909152949350505050565b60008060006145fe6126ac565b9050600061460a61335d565b90506001600160a01b03821663109e46a286518760c001518860a00151856040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526064820152608401602060405180830381868061466c614fb4565b1580156146815760008061467e614eee565b50505b505a61468b615000565b50505050501580156146aa573d6000803e3d60006146a7614eee565b50505b505050506040513d60208110156146c9576000806146c6614eee565b50505b810190808051965050506001600160a01b038316905063109e46a260408701518760e001518860a00151856040516001600160e01b031960e087901b16815260048101949094526024840192909252604483015260648201526084016020604051808303818680614738614fb4565b15801561474d5760008061474a614eee565b50505b505a614757615000565b5050505050158015614776573d6000803e3d6000614773614eee565b50505b505050506040513d602081101561479557600080614792614eee565b50505b8101908080519698969750505050505050565b60006108466148648373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806147f0614fb4565b15801561480557600080614802614eee565b50505b505a61480f6152a2565b505050505015801561482e573d6000803e3d600061482b614eee565b50505b505050506040513d602081101561484d5760008061484a614eee565b50505b8101908080519392505063ffffffff61362f169050565b849063ffffffff614df316565b600061487b614d1a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680614913614fb4565b15801561492857600080614925614eee565b50505b505a614932615000565b5050505050158015614951573d6000803e3d600061494e614eee565b50505b505050506040513d60208110156149705760008061496d614eee565b50505b81019080805195945050505050565b61498761266b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806149c8614fb4565b1580156149dd576000806149da614eee565b50505b505a6149e7615000565b5050505050158015614a06573d6000803e3d6000614a03614eee565b50505b505050506040513d6020811015614a2557600080614a22614eee565b50505b8101908080516001600160a01b03169250639dc29fac9150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614a82614fb4565b158015614a9757600080614a94614eee565b50505b505a614aa16150f6565b505050505050158015614ac1573d6000803e3d6000614abe614eee565b50505b50505050614acd612003565b6001600160a01b031663ace88afd8484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613316614fb4565b614b2f61266b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614b70614fb4565b158015614b8557600080614b82614eee565b50505b505a614b8f615000565b5050505050158015614bae573d6000803e3d6000614bab614eee565b50505b505050506040513d6020811015614bcd57600080614bca614eee565b50505b8101908080516001600160a01b0316925063867904b49150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614c2a614fb4565b158015614c3f57600080614c3c614eee565b50505b505a614c496150f6565b505050505050158015614c69573d6000803e3d6000614c66614eee565b50505b50505050614c75612003565b6001600160a01b0316636f01a9868484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613316614fb4565b6000610e396844656274436163686560b81b60405160408082019052601981527f4d697373696e67204465627443616368652061646472657373000000000000006020820152613566565b6000610e396e466c657869626c6553746f7261676560881b60405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152613566565b600060405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015260640160405180910390614dbf614eee565b5050949350505050565b600061084682614de785670de0b6b3a764000063ffffffff614e1d16565b9063ffffffff614e7c16565b6000670de0b6b3a7640000614e0e848463ffffffff614e1d16565b81614e1557fe5b049392505050565b600082614e2c57506000610849565b82820282848281614e3957fe5b04146108465760405162461bcd60e51b81526004018080602001828103825260218152602001806153b0602191396040019150506040518091039061327d614eee565b6000808211614eda5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614ed7614eee565b50505b6000828481614ee557fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614f26578086015182820160400152602001614f0b565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156117cc57600082820152602001614f9d565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f9d565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561504457808801518282015260200161502c565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b818110156150a55760008152602001615091565b50919b505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f9d565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561513a578089015182820152602001615122565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059845b8181101561519b5760008152602001615187565b50919c505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614f9d565b604051610300808201604052601890829080388339509192915050565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f9d565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b63ffe73914598160e01b8152836004820152846024820152606060448201528660648201526084810160008881101561504457808801518282015260200161502c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57af302c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce096940"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b9e31c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xac44c9b87209df02d5fc610dc652b358ac99c66f111f9ac891dda95f99218605",
				"urls": [
					"bzz-raw://a70ade570a39b1772ecbc16e5722bf5b917cb11cc66c22b037f33598c519998a",
					"dweb:/ipfs/QmNVkFgHVFHhQyyX7af7EYXLSKywfP3PFKYV1QaELqGpoo"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0xac44c9b87209df02d5fc610dc652b358ac99c66f111f9ac891dda95f99218605",
						"urls": [
							"bzz-raw://a70ade570a39b1772ecbc16e5722bf5b917cb11cc66c22b037f33598c519998a",
							"dweb:/ipfs/QmNVkFgHVFHhQyyX7af7EYXLSKywfP3PFKYV1QaELqGpoo"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60046200001262000222565b50503480156200002157600080fd5b506040516200106238038062001062833981810160405260408110156200004757600080fd5b810190808051929190602001805192508291508390506001600160a01b038116620000b85760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620000c86200025d565b816001600160a01b0302191690836001600160a01b0316021790620000ec62000222565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620001456200025d565b906101000a90046001600160a01b03166001600160a01b03161415620001a55760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806002600181620001b56200025d565b816001600160a01b0302191690836001600160a01b0316021790620001d962000222565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150505062000296565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000258576040513d6000823e3d81fd5b505050565b6320966208598160e01b8152836004820152602081602483336000905af1806200028d576040513d6000823e3d81fd5b81519450505050565b610dbc80620002a66000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610296578063cd8b94dc146102c2578063d0d3d62a146102df578063f1406dc81461030b576100ea565b806379ba50971461027e5780638da5cb5b14610286578063aefc4ccb1461028e576100ea565b80633ca9d85c116100c85780633ca9d85c146101aa57806352f445ca1461020257806353a47bb7146102285780636e13fe761461024c576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c14610182575b600080fd5b6100f7610337565b60405190815260200160405180910390f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610344565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b6101a86004803603602081101561019857600080fd5b50356001600160a01b0316610411565b005b6101a860048036036101208110156101c157600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e081013590610100013561048b565b6101a86004803603602081101561021857600080fd5b50356001600160a01b03166106c0565b61023061073b565b6040516001600160a01b03909116815260200160405180910390f35b61013b6004803603606081101561026257600080fd5b506001600160a01b03813516906020810135906040013561075a565b6101a8610804565b61023061097e565b610230610989565b6100f7600480360360408110156102ac57600080fd5b506001600160a01b038135169060200135610995565b6101a8600480360360208110156102d857600080fd5b50356109cd565b6101a8600480360360408110156102f557600080fd5b506001600160a01b0381351690602001356109e7565b6100f76004803603604081101561032157600080fd5b506001600160a01b038135169060200135610a90565b6004610341610bb8565b81565b6001600160a01b0383166000908152600360205280808080808080806040812060008c8152602091909152604090208a8161037d610bb8565b811061038557fe5b90600052602060002060089091020190508061039f610bb8565b816001016103ab610bb8565b826002016103b7610bb8565b836003016103c3610bb8565b846004016103cf610bb8565b856005016103db610bb8565b866006016103e7610bb8565b876007016103f3610bb8565b98509850985098509850985098509850509397509397509397509397565b610419610b44565b8060018080610426610bb8565b816001600160a01b0302191690836001600160a01b0316021790610448610bf0565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006002610497610bb8565b906101000a90046001600160a01b03166001600160a01b03165a6104b9610c25565b6001600160a01b0316146104fe5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d886034913960400191505060405180910390fd5b6004610508610bb8565b6001600160a01b038a16600090815260036020526040902060008881526020919091526040902080610538610bb8565b90501061058b5760405162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015260640160405180910390fd5b6001600160a01b03891660009081526003602052604090206000878152602091909152604090206040518061010001604052808a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381525090806001816105f9610bb8565b018082610604610bf0565b5050600092835291600019830191506020902091929160089091020181518161062b610bf0565b505060208201518160010161063e610bf0565b5050604082015181600201610651610bf0565b5050606082015181600301610664610bf0565b5050608082015181600401610677610bf0565b505060a08201518160050161068a610bf0565b505060c08201518160060161069d610bf0565b505060e0820151816007016106b0610bf0565b5050505050505050505050505050565b6106c8610b44565b8060026001816106d6610bb8565b816001600160a01b0302191690836001600160a01b03160217906106f8610bf0565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610747610bb8565b906101000a90046001600160a01b031681565b6003602052826000526040600020602052816000526040600020818161077e610bb8565b811061078657fe5b90600052602060002060089091020192508291506107a49050610bb8565b90806001016107b1610bb8565b90806002016107be610bb8565b90806003016107cb610bb8565b90806004016107d8610bb8565b90806005016107e5610bb8565b90806006016107f2610bb8565b90806007016107ff610bb8565b905088565b60006001610810610bb8565b906101000a90046001600160a01b03166001600160a01b03165a610832610c25565b6001600160a01b0316146108775760405162461bcd60e51b8152600401808060200182810382526035815260200180610d246035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806108a3610bb8565b906101000a90046001600160a01b031660016000906108c0610bb8565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016108ff610bb8565b906101000a90046001600160a01b03166000806101000a8161091f610bb8565b816001600160a01b0302191690836001600160a01b0316021790610941610bf0565b5050506000600160006101000a81610957610bb8565b816001600160a01b0302191690836001600160a01b0316021790610979610bf0565b505050565b600080610747610bb8565b60006002610747610bb8565b6001600160a01b0382166000908152600360205260408120600083815260209190915260409020806109c5610bb8565b949350505050565b6109d5610b44565b808060046109e1610bf0565b50505050565b600060026109f3610bb8565b906101000a90046001600160a01b03166001600160a01b03165a610a15610c25565b6001600160a01b031614610a5a5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d886034913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020600082815260209190915260409020610a8c906000610c4e565b5050565b6001600160a01b03821660009081526003602052806040812060008481526020919091526040902090506000805b8280610ac8610bb8565b9050811015610b3b5781838281610add610bb8565b8110610ae557fe5b9060005260206000209060080201600501610afe610bb8565b1115610b3357828181610b0f610bb8565b8110610b1757fe5b9060005260206000209060080201600501610b30610bb8565b91505b600101610abe565b50949350505050565b600080610b4f610bb8565b906101000a90046001600160a01b03166001600160a01b03165a610b71610c25565b6001600160a01b031614610bb65760405162461bcd60e51b815260040180806020018281038252602f815260200180610d59602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af180610be7576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180610979576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180610be7576040513d6000823e3d81fd5b5080610c58610bb8565b600082610c63610bf0565b5050600802906000526020600020610c7d91810190610c80565b50565b610d2091905b80821115610d1c5760008082610c9a610bf0565b505060018201600090610cab610bf0565b505060028201600090610cbc610bf0565b505060038201600090610ccd610bf0565b505060048201600090610cde610bf0565b505060058201600090610cef610bf0565b505060068201600090610d00610bf0565b505060078201600090610d11610bf0565b505050600801610c86565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			],
			"source": {
				"keccak256": "0xcefbe7bf11aadcbe99336f442c2ae4186a3f9b6f7687e1b50e7b2343f15b55fd",
				"urls": [
					"bzz-raw://705225b9707d5c261cd0c4980f23cc5021239026e6dab1814b0bc61f08487cab",
					"dweb:/ipfs/QmSQ3V3HhrgfowvNQeXpPXcqenywi877ZSeuDnh2z9eRym"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0xcefbe7bf11aadcbe99336f442c2ae4186a3f9b6f7687e1b50e7b2343f15b55fd",
						"urls": [
							"bzz-raw://705225b9707d5c261cd0c4980f23cc5021239026e6dab1814b0bc61f08487cab",
							"dweb:/ipfs/QmSQ3V3HhrgfowvNQeXpPXcqenywi877ZSeuDnh2z9eRym"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040526040516101a081016040908152680a6f2dce8d0cae8d2f60bb1b82526822bc31b430b733b2b960b91b60208301526c45786368616e6765526174657360981b908201526d53796e746865746978537461746560901b606082015266119959541bdbdb60ca1b60808201527044656c6567617465417070726f76616c7360781b60a08201526e115d1a195c90dbdb1b185d195c985b608a1b60c08201527f4574686572436f6c6c61746572616c735553440000000000000000000000000060e08201526b526577617264457363726f7760a01b6101008201526e53796e746865746978457363726f7760881b6101208201526b4c69717569646174696f6e7360a01b6101408201526e466c657869626c6553746f7261676560881b6101608201526844656274436163686560b81b6101808201526200014790600890600d62000601565b5034801562000160576000806200015d6200064f565b50505b50604051620062e3380380620062e38339818101604052604081101562000191576000806200018e6200064f565b50505b810190808051929190602001805192508291506008905060186103006040519081016040529190610300830182845b81620001cb620006bc565b81526020019060010190808311620001c057508793505050506001600160a01b0381166200024a5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620002476200064f565b50505b8060006001816200025a620006bc565b816001600160a01b0302191690836001600160a01b03160217906200027e6200071e565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620002d7620006bc565b906101000a90046001600160a01b03166001600160a01b03161415620003425760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906200033f6200064f565b50505b60005b6018811015620003d25760008282601881106200035e57fe5b602002015114620003c35760048282601881106200037857fe5b602002015190806001816200038c620006bc565b018082620003996200071e565b5050600092835291600019830191506020902091929101620003ba6200071e565b505050620003c9565b620003d2565b60010162000345565b50816002600181620003e3620006bc565b816001600160a01b0302191690836001600160a01b0316021790620004076200071e565b50505050506200042f6e466c657869626c6553746f7261676560881b6200043760201b60201c565b50506200089b565b8060048060018162000448620006bc565b018082620004556200071e565b5050600092835291600019830191506020902091929101620004766200071e565b505050601860048062000488620006bc565b905010620004e75760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390620004e46200064f565b50505b60006002620004f5620006bc565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620005486200076d565b15801562000560576000806200055d6200064f565b50505b505a6200056c620007ba565b50505050501580156200058e573d6000803e3d60006200058b6200064f565b50505b505050506040513d6020811015620005b057600080620005ad6200064f565b50505b8101908080516000858152600360205290935060409250905020600181620005d7620006bc565b816001600160a01b0302191690836001600160a01b0316021790620005fb6200071e565b50505050565b82601881019282156200063d579160200282015b828111156200063d578251826200062b6200071e565b50509160200191906001019062000615565b506200064b9291506200086e565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620006895780860151828201604001526020016200066c565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620007195760008282015260200162000700565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000700565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000700565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101562000800578088015182820152602001620007e6565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b818110156200086357600081526020016200084d565b50919b505050505050565b6200089891905b808211156200064b57600080826200088c6200071e565b50505060010162000875565b90565b615a3880620008ab6000396000f3fe60806040523480156100195760008061001661552e565b50505b50600436106102725760003560e01c806372cb051f1161015a578063ae3bbbbb116100cc578063c897713211610090578063c897713214610a39578063d37c4d8b14610a68578063dbf6334014610a9d578063dd3d2b2e14610aa5578063e3235c9114610ad4578063fd864ccf14610adc57610272565b8063ae3bbbbb14610978578063b06e8c65146109a7578063b410a034146109dc578063bff4fdfc146109e4578063c6c9d82814610a1357610272565b80638da5cb5b1161011e5780638da5cb5b1461083b5780639a5154b414610843578063a311c7c214610882578063a5fdc5de146108b1578063a63c4df4146108e0578063ab49848c1461093757610272565b806372cb051f146107a857806379ba5097146107b05780637b1001b7146107b8578063835e119c146107e6578063849cf5881461080c57610272565b80633b6afe40116101f35780634e99bda9116101b75780634e99bda91461066c57806353a47bb714610688578063614d08f814610690578063631e1444146106985780636bed0415146106c75780637168d2c21461071657610272565b80633b6afe40146104585780633be99e6f1461053d57806344ec6b621461056c57806347a9b6db146105ab578063497d704a1461063d57610272565b80631627540c1161023a5780631627540c1461039557806316b2213f146103c4578063242df9e1146103f35780632b3f41aa146103fb578063326080391461043257610272565b8063042e06881461028057806304f3bcec146102b757806305b3c1c9146102db5780630b887dae1461031c5780631137aedf14610342575b60008061027d61552e565b50505b6102b56004803603604081101561029f5760008061029c61552e565b50505b506001600160a01b038135169060200135610b13565b005b6102bf610b2b565b6040516001600160a01b03909116815260200160405180910390f35b61030a600480360360208110156102fa576000806102f761552e565b50505b50356001600160a01b0316610b4a565b60405190815260200160405180910390f35b6102b56004803603602081101561033b5760008061033861552e565b50505b5035610b60565b610371600480360360208110156103615760008061035e61552e565b50505b50356001600160a01b0316610c93565b60405180848152602001838152602001828152602001935050505060405180910390f35b6102b5600480360360208110156103b4576000806103b161552e565b50505b50356001600160a01b0316610caf565b61030a600480360360208110156103e3576000806103e061552e565b50505b50356001600160a01b0316610d29565b61030a610d44565b6102b56004803603604081101561041a5760008061041761552e565b50505b506001600160a01b0381358116916020013516610d54565b6102bf600480360360208110156104515760008061044e61552e565b50505b5035610d73565b6104ea600480360360208110156104775760008061047461552e565b50505b810190602081018135600160201b81111561049a5760008061049761552e565b50505b8201836020820111156104b5576000806104b261552e565b50505b803590602001918460208302840111600160201b831117156104df576000806104dc61552e565b50505b509092509050610d8d565b60405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610529578082015183820152602001610511565b505050509050019250505060405180910390f35b6102b56004803603602081101561055c5760008061055961552e565b50505b50356001600160a01b0316610e40565b6102b56004803603606081101561058b5760008061058861552e565b50505b506001600160a01b03813581169160208101359091169060400135611006565b6102b5600480360360208110156105ca576000806105c761552e565b50505b810190602081018135600160201b8111156105ed576000806105ea61552e565b50505b8201836020820111156106085760008061060561552e565b50505b803590602001918460208302840111600160201b831117156106325760008061062f61552e565b50505b509092509050611029565b6102b56004803603602081101561065c5760008061065961552e565b50505b50356001600160a01b03166110fe565b610674611116565b604051901515815260200160405180910390f35b6102bf6112c7565b61030a6112d3565b610674600480360360208110156106b7576000806106b461552e565b50505b50356001600160a01b03166112e0565b6106fc600480360360408110156106e6576000806106e361552e565b50505b506001600160a01b0381351690602001356114ba565b604051918252151560208201526040908101905180910390f35b6102b5600480360360208110156107355760008061073261552e565b50505b810190602081018135600160201b8111156107585760008061075561552e565b50505b8201836020820111156107735760008061077061552e565b50505b803590602001918460208302840111600160201b8311171561079d5760008061079a61552e565b50505b50909250905061151e565b6104ea611715565b6102b5611721565b61030a600480360360408110156107d7576000806107d461552e565b50505b5080359060200135151561189f565b6102bf600480360360208110156108055760008061080261552e565b50505b50356118b3565b6102b56004803603602081101561082b5760008061082861552e565b50505b50356001600160a01b03166118dd565b6102bf61197d565b6102b5600480360360608110156108625760008061085f61552e565b50505b506001600160a01b03813581169160208101359091169060400135611988565b61030a600480360360208110156108a15760008061089e61552e565b50505b50356001600160a01b03166119a6565b61030a600480360360208110156108d0576000806108cd61552e565b50505b50356001600160a01b03166119b8565b61091f600480360360608110156108ff576000806108fc61552e565b50505b506001600160a01b038135811691602081013591604090910135166119c3565b60405191825260208201526040908101905180910390f35b61093f6121b0565b604051808261030080838360005b8381101561096557808201518382015260200161094d565b5050505090500191505060405180910390f35b6106fc600480360360208110156109975760008061099461552e565b50505b50356001600160a01b0316612212565b6102b5600480360360408110156109c6576000806109c361552e565b50505b506001600160a01b038135169060200135612228565b61030a61223c565b61067460048036036020811015610a0357600080610a0061552e565b50505b50356001600160a01b0316612246565b61030a60048036036020811015610a3257600080610a2f61552e565b50505b5035612251565b6102b560048036036020811015610a5857600080610a5561552e565b50505b50356001600160a01b0316612279565b61030a60048036036040811015610a8757600080610a8461552e565b50505b506001600160a01b03813516906020013561228e565b61030a612381565b61030a60048036036020811015610ac457600080610ac161552e565b50505b50356001600160a01b0316612394565b61030a61239f565b6102b560048036036040811015610afb57600080610af861552e565b50505b506001600160a01b03813581169160200135166123a4565b610b1b6123c3565b610b278282600061242a565b5050565b60006002610b37615599565b906101000a90046001600160a01b031681565b600080610b56836126cc565b509150505b919050565b610b686127c4565b6000610b7261283c565b9050806001600160a01b031663d685743a8360006040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780610bbf6155f4565b158015610bd457600080610bd161552e565b50505b505a610bde615640565b505050505050158015610bfe573d6000803e3d6000610bfb61552e565b50505b50505050806001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780610c476155f4565b158015610c5c57600080610c5961552e565b50505b505a610c66615640565b505050505050158015610c86573d6000803e3d6000610c8361552e565b50505b50505050610b2782612887565b6000806000610ca184612c4f565b509196909550909350915050565b610cb76127c4565b8060018080610cc4615599565b816001600160a01b0302191690836001600160a01b0316021790610ce66156f0565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60076020528060005260406000209050610d41615599565b81565b6000610d4e612cb7565b90505b90565b610d5c6123c3565b610d668282612d97565b610b278260006001612eb4565b600660205280600052604060002060009150610b37615599565b6060818181604051908082528060200260200182016040528015610dbb578160200160208202803883390190505b50905060005b82811015610e355760066000878784818110610dd957fe5b905060200201358152602001908152602001600020600090610df9615599565b906101000a90046001600160a01b0316828281518110610e1557fe5b6001600160a01b0390921660209283029190910190910152600101610dc1565b509150505b92915050565b610e486127c4565b806002600181610e56615599565b816001600160a01b0302191690836001600160a01b0316021790610e786156f0565b5060009150505b600480610e8a615599565b9050811015610b2757600060048281610ea1615599565b8110610ea957fe5b90600052602060002001610ebb615599565b905060006002610ec9615599565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680610f526155f4565b158015610f6757600080610f6461552e565b50505b505a610f7161573e565b5050505050158015610f90573d6000803e3d6000610f8d61552e565b50505b505050506040513d6020811015610faf57600080610fac61552e565b50505b8101908080516000858152600360205290935060409250905020600181610fd4615599565b816001600160a01b0302191690836001600160a01b0316021790610ff66156f0565b505060019092019150610e7f9050565b61100e6123c3565b611018838361324c565b6110248382600061242a565b505050565b6110316127c4565b8060005b818110156110695761106184848381811061104c57fe5b905060200201356001600160a01b03166132a5565b600101611035565b5061107261283c565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b1681529015156004820152602401600060405180830381600087806110b66155f4565b1580156110cb576000806110c861552e565b50505b505a6110d5615640565b5050505050501580156110f5573d6000803e3d60006110f261552e565b50505b50505050505050565b6111066123c3565b6111138160006001612eb4565b50565b600061112061354c565b6001600160a01b031663c8e5bbd5611138600161359b565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561118757808201518382015260200161116f565b505050509050019250505060006040518083038186806111a56155f4565b1580156111ba576000806111b761552e565b50505b505a6111c461573e565b50505050501580156111e3573d6000803e3d60006111e061552e565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156112155760008061121261552e565b50505b8101908080516040519392919084600160201b82111561123d5760008061123a61552e565b50505b90830190602082018581111561125b5760008061125861552e565b50505b82518660208202830111600160201b821117156112805760008061127d61552e565b50505b825250602001908051906020019060200280838360005b838110156112af578082015183820152602001611297565b50505050905001604052602001805195945050505050565b60006001610b37615599565b6524b9b9bab2b960d11b81565b60006001600160a01b0382168160026112f7615599565b906101000a90046001600160a01b03166001600160a01b03161461131d57506000610b5b565b60005b60048061132b615599565b90508110156114b157600060048281611342615599565b811061134a57fe5b9060005260206000200161135c615599565b6000818152600360205290915060409020600090611378615599565b6001600160a01b036101009290920a90041660006002611396615599565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806113e76155f4565b1580156113fc576000806113f961552e565b50505b505a61140661573e565b5050505050158015611425573d6000803e3d600061142261552e565b50505b505050506040513d60208110156114445760008061144161552e565b50505b8101908080516001600160a01b03169390931415925082915061149890505750600081815260036020526040812060009061147d615599565b906101000a90046001600160a01b03166001600160a01b0316145b156114a857600092505050610b5b565b50600101611320565b50600192915050565b60008060006114cf85620a69cb60eb1b6136bd565b9350909150600090506114f06114e3613943565b839063ffffffff6139b516565b90508481106115025760009350611515565b611512858263ffffffff6139d116565b93505b50509250929050565b6115266127c4565b80600061153161283c565b905060608260405190808252806020026020018201604052801561155f578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b81526004018080602001806020018381038352868682818152602001925060200280828437600083820152601f01601f19169091018481038352905084818151815260200191508051906020019060200280838360005b838110156115f05780820151838201526020016115d8565b5050505090500195505050505050600060405180830381600087806116136155f4565b1580156116285760008061162561552e565b50505b505a611632615640565b505050505050158015611652573d6000803e3d600061164f61552e565b50505b50505050816001600160a01b03166304bd11e560016040516001600160e01b031960e084901b16815290151560048201526024016000604051808303816000878061169b6155f4565b1580156116b0576000806116ad61552e565b50505b505a6116ba615640565b5050505050501580156116da573d6000803e3d60006116d761552e565b50505b506000925050505b8381101561170d576117058686838181106116f957fe5b90506020020135612887565b6001016116e2565b505050505050565b6060610d4e600061359b565b6000600161172d615599565b906101000a90046001600160a01b03166001600160a01b03165a61174f6157ee565b6001600160a01b03161461179d5760405162461bcd60e51b8152600401808060200182810382526035815260200180615934603591396040019150506040518091039061179a61552e565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806117c9615599565b906101000a90046001600160a01b031660016000906117e6615599565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611825615599565b906101000a90046001600160a01b03166000806101000a81611845615599565b816001600160a01b0302191690836001600160a01b03160217906118676156f0565b5050506000600160006101000a8161187d615599565b816001600160a01b0302191690836001600160a01b03160217906110246156f0565b60006118ab8383613a36565b509392505050565b600581816118bf615599565b81106118c757fe5b9060005260206000200160009150610b37615599565b6118e56127c4565b6118ee816132a5565b6118f661283c565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b16815290151560048201526024016000604051808303816000878061193a6155f4565b15801561194f5760008061194c61552e565b50505b505a611959615640565b505050505050158015611976573d6000803e3d60006110f561552e565b5050505050565b600080610b37615599565b6119906123c3565b61199a8383612d97565b61102483826000612eb4565b60006119b182613e6f565b5092915050565b6000610e3a82613ec9565b6000806119ce6123c3565b6119d661408e565b6001600160a01b031663d6f32e0684631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680611a2c6155f4565b158015611a4157600080611a3e61552e565b50505b505a611a4b61573e565b5050505050158015611a6a573d6000803e3d6000611a6761552e565b50505b505050506040513d6020811015611a8957600080611a8661552e565b50505b810190808051159250611aee9150505760405162461bcd60e51b815260206004820152601860248201527f73555344206e6565647320746f20626520736574746c65640000000000000000604482015260640160405180910390611aeb61552e565b50505b611af66140d9565b6001600160a01b031663c49e80a6866040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611b3f6155f4565b158015611b5457600080611b5161552e565b50505b505a611b5e61573e565b5050505050158015611b7d573d6000803e3d6000611b7a61552e565b50505b505050506040513d6020811015611b9c57600080611b9961552e565b50505b8101908080519250611c009150505760405162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015260640160405180910390611bfd61552e565b50505b631cd554d160e21b60009081526006602052849060409020600090611c23615599565b906101000a90046001600160a01b03166001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611c7c6155f4565b158015611c9157600080611c8e61552e565b50505b505a611c9b61573e565b5050505050158015611cba573d6000803e3d6000611cb761552e565b50505b505050506040513d6020811015611cd957600080611cd661552e565b50505b81019080805193909310159250611d349150505760405162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081cd554d1608a1b604482015260640160405180910390611d3161552e565b50505b6000611d3e6140d9565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b81526004016020604051808303818680611d716155f4565b158015611d8657600080611d8361552e565b50505b505a611d9061573e565b5050505050158015611daf573d6000803e3d6000611dac61552e565b50505b505050506040513d6020811015611dce57600080611dcb61552e565b50505b810190808051935060009250829150819050611df189631cd554d160e21b6136bd565b925092509250600080611e0261354c565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680611e486155f4565b158015611e5d57600080611e5a61552e565b50505b505a611e6761573e565b5050505050158015611e86573d6000803e3d6000611e8361552e565b50505b505050506040513d6040811015611ea557600080611ea261552e565b50505b8101908080519291906020018051939550929350611ed09250859150819050611ecb5750815b614127565b6000611edb8c613ec9565b90506000611ee76140d9565b6001600160a01b0316630ac045d588611f00858861417f565b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680611f376155f4565b158015611f4c57600080611f4961552e565b50505b505a611f5661573e565b5050505050158015611f75573d6000803e3d6000611f7261552e565b50505b505050506040513d6020811015611f9457600080611f9161552e565b50505b810190808051935050508c82109050611fad578b611faf565b805b98506000611fbd8a86614191565b90506120866120798a73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806120056155f4565b15801561201a5760008061201761552e565b50505b505a612024615834565b5050505050158015612043573d6000803e3d600061204061552e565b50505b505050506040513d60208110156120625760008061205f61552e565b50505b8101908080519392505063ffffffff6141a3169050565b829063ffffffff61420b16565b9a50828b11156120f257829a506120ef6120e96120dc8b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806120056155f4565b859063ffffffff61423516565b8661417f565b99505b6120ff8e8d8c8b8b61425f565b50818a141561219f576121106140d9565b6001600160a01b031663974e9e7f8f6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016000604051808303816000878061215b6155f4565b1580156121705760008061216d61552e565b50505b505a61217a615640565b50505050505015801561219a573d6000803e3d600061219761552e565b50505b505050505b505050505050505050935093915050565b6121b8615877565b60005b6004806121c6615599565b905081101561220e57600481816121db615599565b81106121e357fe5b906000526020600020016121f5615599565b82826018811061220157fe5b60200201526001016121bb565b5090565b60008061221e83613e6f565b915091505b915091565b6122306123c3565b610b2782826000612eb4565b6000610d4e613943565b6000610e3a82614496565b6004818161225d615599565b811061226557fe5b906000526020600020019050610d41615599565b6122816123c3565b611113816000600161242a565b6000806122996144c9565b90506000816001600160a01b0316638b3f8088866040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401604080518083038186806122e66155f4565b1580156122fb576000806122f861552e565b50505b505a61230561573e565b5050505050158015612324573d6000803e3d600061232161552e565b50505b505050506040513d60408110156123435760008061234061552e565b50505b8101908080519291906020018051509293505050811515905061236b57600092505050610e3a565b61237585856136bd565b50909695505050505050565b600060058061238e615599565b91505090565b6000610e3a82614519565b601881565b6123ac6123c3565b6123b6828261324c565b610b27826000600161242a565b6123cb614633565b6001600160a01b03165a6123dd6157ee565b6001600160a01b0316146124285760405162461bcd60e51b815260040180806020018281038252603b81526020018061598a603b913960400191505060405180910390610b2761552e565b565b60008060008061243987612c4f565b935093509350935061244a81614127565b846124a4578386111561249f5760405162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b60448201526064016040518091039061249c61552e565b50505b6124a8565b8395505b6124b48787858561467e565b6124bd87614bb6565b631cd554d160e21b60009081526006602052604090206000906124de615599565b906101000a90046001600160a01b03166001600160a01b031663867904b488886040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061253f6155f4565b1580156125545760008061255161552e565b50505b505a61255e615640565b50505050505015801561257e573d6000803e3d600061257b61552e565b50505b5050505061258a61283c565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806125df6155f4565b1580156125f4576000806125f161552e565b50505b505a6125fe615834565b505050505015801561261d573d6000803e3d600061261a61552e565b50505b505050506040513d602081101561263c5760008061263961552e565b50505b81019080805192506040915050516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806126806155f4565b1580156126955760008061269261552e565b50505b505a61269f615640565b5050505050501580156126bf573d6000803e3d60006126bc61552e565b50505b505050506110f587614c75565b6000806000806126da61354c565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b1681526004810191909152602401604080518083038186806127206155f4565b1580156127355760008061273261552e565b50505b505a61273f61573e565b505050505015801561275e573d6000803e3d600061275b61552e565b50505b505050506040513d604081101561277d5760008061277a61552e565b50505b8101908080519291906020018051939550929350600092506127ab91506127a5905087613ec9565b8461417f565b90506127b8612079613943565b94509092505050915091565b6000806127cf615599565b906101000a90046001600160a01b03166001600160a01b03165a6127f16157ee565b6001600160a01b0316146124285760405162461bcd60e51b815260040180806020018281038252602f8152602001806159c5602f913960400191505060405180910390610b2761552e565b6000610d4e6844656274436163686560b81b60405160408082019052601981527f4d697373696e67204465627443616368652061646472657373000000000000006020820152614da0565b60008181526006602052604081206000906128a0615599565b6001600160a01b036101009290920a9004169050806129055760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016040518091039061290261552e565b50505b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186806129396155f4565b15801561294e5760008061294b61552e565b50505b505a61295861573e565b5050505050158015612977573d6000803e3d600061297461552e565b50505b505050506040513d60208110156129965760008061299361552e565b50505b8101908080511592506129f19150505760405162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b6044820152606401604051809103906129ee61552e565b50505b631cd554d160e21b821415612a4b5760405162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015260640160405180910390612a4861552e565b50505b60005b600580612a59615599565b9050811015612bb257816001600160a01b031660058281612a78615599565b8110612a8057fe5b90600052602060002001600090612a95615599565b906101000a90046001600160a01b03166001600160a01b03161415612baa5760058181612ac0615599565b8110612ac857fe5b90600052602060002001600181612add615599565b906001600160a01b0302191690612af26156f0565b505060056001600580612b03615599565b90500381612b0f615599565b8110612b1757fe5b90600052602060002001600090612b2c615599565b906101000a90046001600160a01b031660058281612b48615599565b8110612b5057fe5b90600052602060002001600181612b65615599565b816001600160a01b0302191690836001600160a01b0316021790612b876156f0565b505050600580612b95615599565b90612ba4906000198301615894565b50612bb2565b600101612a4e565b506001600160a01b0381166000908152600760205260409020600090612bd66156f0565b50506000828152600660205260409020600181612bf1615599565b906001600160a01b0302191690612c066156f0565b50507f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d082826040519182526001600160a01b031660208201526040908101905180910390a15050565b600080600080612c6685631cd554d160e21b6136bd565b91945092509050600080612c79876126cc565b915091508195508280612c895750805b9250858510612c9b5760009550612cae565b612cab868663ffffffff6139d116565b95505b50509193509193565b6000612cc1614e69565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612d2c6155f4565b158015612d4157600080612d3e61552e565b50505b505a612d4b61573e565b5050505050158015612d6a573d6000803e3d6000612d6761552e565b50505b505050506040513d6020811015612d8957600080612d8661552e565b50505b810190808051935050505090565b612d9f614eba565b6001600160a01b0316637d3f0ba283836040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612df06155f4565b158015612e0557600080612e0261552e565b50505b505a612e0f61573e565b5050505050158015612e2e573d6000803e3d6000612e2b61552e565b50505b505050506040513d6020811015612e4d57600080612e4a61552e565b50505b8101908080519250610b279150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390612eae61552e565b50505050565b806130dd57612ec283614496565b612f1b5760405162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015260640160405180910390612f1861552e565b50505b600080612f2661408e565b6001600160a01b0316631b16802c86631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780612f7e6155f4565b158015612f9357600080612f9061552e565b50505b505a612f9d615640565b505050505050158015612fbd573d6000803e3d6000612fba61552e565b50505b505050506040513d6060811015612fdc57600080612fd961552e565b50505b8101908080519291906020018051929190602001805193965092945050831592506130da9150505761300c61408e565b6001600160a01b0316634c268fc886631cd554d160e21b87866040516001600160e01b031960e087901b1681526001600160a01b03909416600485015260248401929092526044830152606482015260840160206040518083038186806130716155f4565b1580156130865760008061308361552e565b50505b505a61309061573e565b50505050501580156130af573d6000803e3d60006130ac61552e565b50505b505050506040513d60208110156130ce576000806130cb61552e565b50505b81019080805196505050505b50505b60008060006130f386631cd554d160e21b6136bd565b925092509250600080613105886126cc565b915091506131198380611ecb575081614127565b6000851161316b5760405162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b60448201526064016040518091039061316861552e565b50505b851561318457613181858363ffffffff6139d116565b96505b6000613193898a8a898961425f565b9050826131a6878363ffffffff6139d116565b116110f2576131b36140d9565b6001600160a01b031663974e9e7f8a6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806131fe6155f4565b1580156132135760008061321061552e565b50505b505a61321d615640565b50505050505015801561323d573d6000803e3d600061323a61552e565b50505b50505050505050505050505050565b613254614eba565b6001600160a01b0316630487261783836040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612df06155f4565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186806132db6155f4565b1580156132f0576000806132ed61552e565b50505b505a6132fa61573e565b5050505050158015613319573d6000803e3d600061331661552e565b50505b505050506040513d60208110156133385760008061333561552e565b50505b8101908080516000818152600660205290945092506040915082905020600090613360615599565b906101000a90046001600160a01b03166001600160a01b0316146133c25760405162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b6044820152606401604051809103906133bf61552e565b50505b6001600160a01b03821660009081526007602052604081206133e2615599565b1461343c5760405162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c7265616479206578697374730000000060448201526064016040518091039061343961552e565b50505b8160058060018161344b615599565b0180826134566156f0565b5050600092835291600019830191506020902091929101600181613478615599565b816001600160a01b0302191690836001600160a01b031602179061349a6156f0565b50505060008281526006602052839150604090206001816134b9615599565b816001600160a01b0302191690836001600160a01b03160217906134db6156f0565b5050506001600160a01b0382166000908152600760205281906040902081906135026156f0565b5050507f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c6288481836040519182526001600160a01b031660208201526040908101905180910390a15050565b6000610d4e6c45786368616e6765526174657360981b60405160408082019052601d81527f4d697373696e672045786368616e6765526174657320616464726573730000006020820152614da0565b606080826135aa5760006135ad565b60015b60ff166005806135bb615599565b9050016040519080825280602002602001820160405280156135e7578160200160208202803883390190505b50905060005b6005806135f8615599565b9050811015613685576007600060058381613611615599565b811061361957fe5b9060005260206000200160009061362e615599565b906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020613666615599565b82828151811061367257fe5b60209081029190910101526001016135ed565b508215610e3a57620a69cb60eb1b8160058061369f615599565b9050815181106136ab57fe5b60200260200101818152505092915050565b6000806000806136cb6144c9565b9050600080826001600160a01b0316638b3f8088896040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401604080518083038186806137196155f4565b15801561372e5760008061372b61552e565b50505b505a61373861573e565b5050505050158015613757573d6000803e3d600061375461552e565b50505b505050506040513d60408110156137765760008061377361552e565b50505b810190808051929190602001805193955092935061379b925089915060019050613a36565b9095509350816137b257506000945061393c915050565b60006139188361390c866001600160a01b03166308d95cd5866040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806137fd6155f4565b1580156138125760008061380f61552e565b50505b505a61381c61573e565b505050505015801561383b573d6000803e3d600061383861552e565b50505b505050506040513d602081101561385a5760008061385761552e565b50505b810190808051925050506001600160a01b03881663463177126040518163ffffffff1660e01b815260040160206040518083038186806138986155f4565b1580156138ad576000806138aa61552e565b50505b505a6138b761573e565b50505050501580156138d6573d6000803e3d60006138d361552e565b50505b505050506040513d60208110156138f5576000806138f261552e565b50505b8101908080519392505063ffffffff614ef0169050565b9063ffffffff614f0916565b905060006139298261390c89614f22565b905061393481614f38565b975050505050505b9250925092565b600061394d614e69565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612d2c6155f4565b60006139ca8383670de0b6b3a7640000614f5a565b9392505050565b600082821115613a305760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613a2d61552e565b50505b50900390565b6000806000806000613a4661283c565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b81526004016080604051808303818680613a796155f4565b158015613a8e57600080613a8b61552e565b50505b505a613a9861573e565b5050505050158015613ab7573d6000803e3d6000613ab461552e565b50505b505050506040513d6080811015613ad657600080613ad361552e565b50505b810190808051929190602001805192919060200180519291906020018051959850929650939450859350839250613b0d9150505750805b93506000613b1961354c565b905086613d6e57613bd2613b2b614f92565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613b5e6155f4565b158015613b7357600080613b7061552e565b50505b505a613b7d61573e565b5050505050158015613b9c573d6000803e3d6000613b9961552e565b50505b505050506040513d6020811015613bbb57600080613bb861552e565b50505b81019080805188935091505063ffffffff6141a316565b9350600080826001600160a01b0316630c71cd23630e68aa8960e31b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680613c1f6155f4565b158015613c3457600080613c3161552e565b50505b505a613c3e61573e565b5050505050158015613c5d573d6000803e3d6000613c5a61552e565b50505b505050506040513d6040811015613c7c57600080613c7961552e565b50505b810190808051929190602001805193955092935060009250613d4b9150849050613ca4614fca565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613cd76155f4565b158015613cec57600080613ce961552e565b50505b505a613cf661573e565b5050505050158015613d15573d6000803e3d6000613d1261552e565b50505b505050506040513d6020811015613d3457600080613d3161552e565b50505b8101908080519392505063ffffffff61501b169050565b9050613d5d878263ffffffff6141a316565b96508780613d685750815b97505050505b631cd554d160e21b881415613d895750919350613e68915050565b600080826001600160a01b0316630c71cd238b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680613dcd6155f4565b158015613de257600080613ddf61552e565b50505b505a613dec61573e565b5050505050158015613e0b573d6000803e3d6000613e0861552e565b50505b505050506040513d6040811015613e2a57600080613e2761552e565b50505b8101908080519291906020018051939550929350613e54925088915084905063ffffffff6139b516565b8780613e5d5750815b975097505050505050505b9250929050565b6000806000613e7d84613ec9565b9050600080613e9286620a69cb60eb1b6136bd565b92505091508260001415613eae57600094509250612223915050565b613ebe828463ffffffff6139b516565b945092505050915091565b600080613ed4614633565b6001600160a01b03166370a08231846040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680613f1d6155f4565b158015613f3257600080613f2f61552e565b50505b505a613f3c61573e565b5050505050158015613f5b573d6000803e3d6000613f5861552e565b50505b505050506040513d6020811015613f7a57600080613f7761552e565b50505b810190808051935060009250613f9291506150309050565b6001600160a01b03161461406b57614068613fab615030565b6001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680613ff46155f4565b1580156140095760008061400661552e565b50505b505a61401361573e565b5050505050158015614032573d6000803e3d600061402f61552e565b50505b505050506040513d60208110156140515760008061404e61552e565b50505b81019080805185935091505063ffffffff6141a316565b90505b6000614075615081565b6001600160a01b031614610e3a576139ca613fab615081565b6000610d4e6822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e6765722061646472657373000000000000006020820152614da0565b6000610d4e6b4c69717569646174696f6e7360a01b60405160408082019052601c81527f4d697373696e67204c69717569646174696f6e732061646472657373000000006020820152614da0565b80156111135760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c6964000060448201526064016040518091039061102461552e565b60006139ca838363ffffffff61501b16565b60006139ca838363ffffffff6139b516565b6000828201838110156139ca5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016040518091039061420261552e565b50509392505050565b6000670de0b6b3a7640000614226848463ffffffff6150cf16565b8161422d57fe5b049392505050565b60006139ca8261425385670de0b6b3a764000063ffffffff6150cf16565b9063ffffffff61512e16565b600083831061426e5783614270565b825b905061427e868285856151a0565b631cd554d160e21b600090815260066020526040902060009061429f615599565b906101000a90046001600160a01b03166001600160a01b0316639dc29fac86836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806143006155f4565b1580156143155760008061431261552e565b50505b505a61431f615640565b50505050505015801561433f573d6000803e3d600061433c61552e565b50505b5050505061434b61283c565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806143a06155f4565b1580156143b5576000806143b261552e565b50505b505a6143bf615834565b50505050501580156143de573d6000803e3d60006143db61552e565b50505b505050506040513d60208110156143fd576000806143fa61552e565b50505b81019080805192506040915050516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806144416155f4565b1580156144565760008061445361552e565b50505b505a614460615640565b505050505050158015614480573d6000803e3d600061447d61552e565b50505b5050505061448d86614c75565b95945050505050565b60006144b86144a3612cb7565b6144ac84614519565b9063ffffffff6141a316565b5a6144c16158c8565b101592915050565b6000610d4e6d53796e746865746978537461746560901b60405160408082019052601e81527f4d697373696e672053796e7468657469785374617465206164647265737300006020820152614da0565b6000614523614e69565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806145c76155f4565b1580156145dc576000806145d961552e565b50505b505a6145e661573e565b5050505050158015614605573d6000803e3d600061460261552e565b50505b505050506040513d60208110156146245760008061462161552e565b50505b81019080805195945050505050565b6000610d4e680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152614da0565b60006146886144c9565b9050600061469c858463ffffffff6141a316565b905060006146b0868363ffffffff614ef016565b9050600061476b8273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806146f76155f4565b15801561470c5760008061470961552e565b50505b505a614716615834565b5050505050158015614735573d6000803e3d600061473261552e565b50505b505050506040513d60208110156147545760008061475161552e565b50505b8101908080519392505063ffffffff6139d1169050565b9050851561479a5761479383614787898963ffffffff6141a316565b9063ffffffff614ef016565b9150614814565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087806147d06155f4565b1580156147e5576000806147e261552e565b50505b505a6147ef615640565b50505050505015801561480f573d6000803e3d600061480c61552e565b50505b505050505b836001600160a01b031663a764eb4589846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806148666155f4565b15801561487b5760008061487861552e565b50505b505a614885615640565b5050505050501580156148a5573d6000803e3d60006148a261552e565b50505b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186806148df6155f4565b1580156148f4576000806148f161552e565b50505b505a6148fe61573e565b505050505015801561491d573d6000803e3d600061491a61552e565b50505b505050506040513d602081101561493c5760008061493961552e565b50505b81019080805193909311159250614a7e915050576001600160a01b038416633d31e97b614a02838363463177126040518163ffffffff1660e01b8152600401602060405180830381868061498e6155f4565b1580156149a3576000806149a061552e565b50505b505a6149ad61573e565b50505050501580156149cc573d6000803e3d60006149c961552e565b50505b505050506040513d60208110156149eb576000806149e861552e565b50505b8101908080519392505063ffffffff614f09169050565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614a366155f4565b158015614a4b57600080614a4861552e565b50505b505a614a55615640565b505050505050158015614a75573d6000803e3d6000614a7261552e565b50505b50505050614bac565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614acc6155f4565b158015614ae157600080614ade61552e565b50505b505a614aeb615834565b5050505050158015614b0a573d6000803e3d6000614b0761552e565b50505b505050506040513d6020811015614b2957600080614b2661552e565b50505b81019080805192506040915050516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614b686155f4565b158015614b7d57600080614b7a61552e565b50505b505a614b87615640565b505050505050158015614ba7573d6000803e3d6000614ba461552e565b50505b505050505b5050505050505050565b614bbe614e69565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001205a614c346158c8565b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061193a6155f4565b600080614c806144c9565b6001600160a01b0316638b3f8088846040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680614cc86155f4565b158015614cdd57600080614cda61552e565b50505b505a614ce761573e565b5050505050158015614d06573d6000803e3d6000614d0361552e565b50505b505050506040513d6040811015614d2557600080614d2261552e565b50505b8101908080519291906020018051939550929350614d4692506154ba915050565b6001600160a01b031663866452748484846040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087806110b66155f4565b600082815260036020528060408120600090614dba615599565b6001600160a01b036101009290920a900416905082816118ab5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614e1d578082015183820152602001614e05565b50505050905090810190601f168015614e4a5780820380516001836020036101000a031916815260200191505b509250505060405180910390614e5e61552e565b505050905092915050565b6000610d4e6e466c657869626c6553746f7261676560881b60405160408082019052601f81527f4d697373696e6720466c657869626c6553746f726167652061646472657373006020820152614da0565b6000610d4e7044656c6567617465417070726f76616c7360781b6040516060810160405260218082526159696020830139614da0565b60006139ca83836b033b2e3c9fd0803ce8000000614f5a565b60006139ca83836b033b2e3c9fd0803ce8000000615503565b6000610e3a82633b9aca0063ffffffff6150cf16565b60006305f5e10082046005600a820610614f5057600a015b600a900492915050565b600080614f748461425387600a870263ffffffff6150cf16565b90506005600a825b0610614f8657600a015b600a9004949350505050565b6000610d4e72115d1a195c90dbdb1b185d195c985b1cd554d1606a1b604051606081016040526023808252615a156020830139614da0565b6000610d4e6e115d1a195c90dbdb1b185d195c985b608a1b60405160408082019052601f81527f4d697373696e67204574686572436f6c6c61746572616c2061646472657373006020820152614da0565b60006139ca8383670de0b6b3a7640000615503565b6000610d4e6e53796e746865746978457363726f7760881b60405160408082019052601f81527f4d697373696e672053796e746865746978457363726f772061646472657373006020820152614da0565b6000610d4e6b526577617264457363726f7760a01b60405160408082019052601c81527f4d697373696e6720526577617264457363726f772061646472657373000000006020820152614da0565b6000826150de57506000610e3a565b828202828482816150eb57fe5b04146139ca5760405162461bcd60e51b81526004018080602001828103825260218152602001806159f4602191396040019150506040518091039061420261552e565b600080821161518c5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016040518091039061518961552e565b50505b600082848161519757fe5b04949350505050565b60006151aa6144c9565b905060006151be838663ffffffff6139d116565b9050600081156152235760006151da878463ffffffff614ef016565b905061521f8173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806120056155f4565b9150505b8486141561533f57826001600160a01b031663a764eb458860006040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061527e6155f4565b1580156152935760008061529061552e565b50505b505a61529d615640565b5050505050501580156152bd573d6000803e3d60006152ba61552e565b50505b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087806152f76155f4565b15801561530c5760008061530961552e565b50505b505a615316615640565b505050505050158015615336573d6000803e3d600061533361552e565b50505b505050506153ff565b6000615351868863ffffffff6139d116565b90506000615365828563ffffffff614ef016565b9050846001600160a01b031663a764eb458a836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806153b96155f4565b1580156153ce576000806153cb61552e565b50505b505a6153d8615640565b5050505050501580156153f8573d6000803e3d60006153f561552e565b50505b5050505050505b6001600160a01b038316633d31e97b61543d838363463177126040518163ffffffff1660e01b8152600401602060405180830381868061498e6155f4565b6040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381600087806154716155f4565b1580156154865760008061548361552e565b50505b505a615490615640565b5050505050501580156154ad573d6000803e3d600061323d61552e565b5050505050505050505050565b6000610d4e66119959541bdbdb60ca1b60405160408082019052601781527f4d697373696e6720466565506f6f6c20616464726573730000000000000000006020820152614da0565b600080600a830461551a868663ffffffff6150cf16565b8161552157fe5b0490506005600a82614f7c565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561556657808601518282016040015260200161554b565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015611024576000828201526020016155dd565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206155dd565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561568457808901518282015260200161566c565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059845b818110156156e557600081526020016156d1565b50919c505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206155dd565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561578257808801518282015260200161576a565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b818110156157e357600081526020016157cf565b50919b505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206155dd565b63ffe73914598160e01b8152836004820152846024820152606060448201528660648201526084810160008881101561578257808801518282015260200161576a565b604051610300808201604052601890829080388339509192915050565b8161589d615599565b81836158a76156f0565b5050818111156110245781836000526020600020611024928101910161590e565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206155dd565b610d5191905b8082111561220e57600080826159286156f0565b50505060010161591456fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c7320616464726573734973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d697373696e67204574686572436f6c6c61746572616c735553442061646472657373",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "addPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x849cf588"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x47a9b6db"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb06e8c65"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9a5154b4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x497d704a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2b3f41aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbff4fdfc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getPynths",
					"outputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b6afe40"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8977132"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd864ccf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x042e0688"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44ec6b62"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b887dae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7168d2c2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b1001b7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bed0415"
				}
			],
			"source": {
				"keccak256": "0x76181684676a3e2dafd69acdad3f28446d47ac45bf853be8fa3b2432b1ffc9a6",
				"urls": [
					"bzz-raw://f45e1b7b7ac746e66b1fc3529fca25fe2900e30ad24d82ca1830213750827cff",
					"dweb:/ipfs/QmbpgtZYeoxqHBXAJCq2WdRjwJHBrwwMK44sTq5xFoNzqu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0x76181684676a3e2dafd69acdad3f28446d47ac45bf853be8fa3b2432b1ffc9a6",
						"urls": [
							"bzz-raw://f45e1b7b7ac746e66b1fc3529fca25fe2900e30ad24d82ca1830213750827cff",
							"dweb:/ipfs/QmbpgtZYeoxqHBXAJCq2WdRjwJHBrwwMK44sTq5xFoNzqu"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "6080604052604051604080820190526822bc31b430b733b2b960b91b8152680a6f2dce8d0cae8d2f60bb1b60208201526200003f90600b906002620003fd565b503480156200004d57600080fd5b5060405162002e2538038062002e25833981810160405260608110156200007357600080fd5b810190808051929190602001805192919060200180519250829150600b905060186103006040519081016040529190610300830182845b81620000b56200044b565b81526020019060010190808311620000aa57505050505084600160008190620000dd62000484565b5050506001600160a01b0381166200013b5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b80600180806200014a6200044b565b816001600160a01b0302191690836001600160a01b03160217906200016e62000484565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000806001620001c86200044b565b906101000a90046001600160a01b03166001600160a01b03161415620002285760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b6000806001620002376200044b565b906101000a90046001600160a01b03166001600160a01b03161415620002975760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b601881101562000327576000828260188110620002b357fe5b60200201511462000318576006828260188110620002cd57fe5b60200201519080600181620002e16200044b565b018082620002ee62000484565b50506000928352916000198301915060209020919291016200030f62000484565b5050506200031e565b62000327565b6001016200029a565b5081600461010081620003396200044b565b816001600160a01b0302191690836001600160a01b03160217906200035d62000484565b50505050506001600160a01b038216620003bd5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015260640160405180910390fd5b81600a600181620003cd6200044b565b816001600160a01b0302191690836001600160a01b0316021790620003f162000484565b505050505050620004ec565b826018810192821562000439579160200282015b8281111562000439578251826200042762000484565b50509160200191906001019062000411565b5062000447929150620004bf565b5090565b6320966208598160e01b8152836004820152602081602483336000905af1806200047b576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620004ba576040513d6000823e3d81fd5b505050565b620004e991905b80821115620004475760008082620004dd62000484565b505050600101620004c6565b90565b61292980620004fc6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063706848d211610125578063c6c9d828116100ad578063e3235c911161007c578063e3235c911461056b578063f32ffd6914610573578063f61f5df6146105e3578063f6b584791461060f578063fc9c99ac1461068f57610211565b8063c6c9d8281461051a578063ccb6e043146102e6578063ce7fccba14610537578063dea021a51461056357610211565b8063937ffb8f116100f4578063937ffb8f1461046b5780639865fdb714610488578063ab49848c14610490578063ae934a7a146104d1578063b225dbaa146104fd57610211565b8063706848d21461043657806379ba5097146104535780638da5cb5b1461045b57806391b4ded91461046357610211565b806338dfa8cf116101a857806353a47bb71161017757806353a47bb7146103db57806355aa41bf146103e35780635c975abb14610400578063631e1444146104085780636fe4136b1461042e57610211565b806338dfa8cf146103435780633be99e6f146103695780633dbf12fa1461038f57806352d5999f146103b557610211565b806316841952116101e457806316841952146102aa57806316c38b3c146102c7578063175c5189146102e657806321cad7741461031757610211565b806304f3bcec14610216578063056097ac1461023a578063086146d21461026a5780631627540c14610284575b600080fd5b61021e610697565b6040516001600160a01b03909116815260200160405180910390f35b6102686004803603604081101561025057600080fd5b506001600160a01b03813581169160200135166106b6565b005b6102726108b9565b60405190815260200160405180910390f35b6102686004803603602081101561029a57600080fd5b50356001600160a01b03166108ca565b610268600480360360208110156102c057600080fd5b5035610945565b610268600480360360208110156102dd57600080fd5b50351515610c46565b610303600480360360208110156102fc57600080fd5b5035610d1c565b604051901515815260200160405180910390f35b6102686004803603604081101561032d57600080fd5b50803590602001356001600160a01b0316610d47565b6102686004803603602081101561035957600080fd5b50356001600160a01b0316610e9d565b6102686004803603602081101561037f57600080fd5b50356001600160a01b0316611091565b610268600480360360208110156103a557600080fd5b50356001600160a01b0316611241565b610268600480360360208110156103cb57600080fd5b50356001600160a01b0316611316565b61021e6113b5565b610272600480360360208110156103f957600080fd5b50356113c1565b6103036113e0565b6103036004803603602081101561041e57600080fd5b50356001600160a01b03166113f9565b61021e6115b9565b6102726004803603602081101561044c57600080fd5b50356115c3565b6102686115dc565b61021e611758565b610272611764565b6102726004803603602081101561048157600080fd5b5035611771565b61027261178a565b610498611873565b604051808261030080838360005b838110156104be5780820151838201526020016104a6565b5050505090500191505060405180910390f35b610268600480360360408110156104e757600080fd5b506001600160a01b0381351690602001356118d5565b6102686004803603602081101561051357600080fd5b5035611ab7565b6102726004803603602081101561053057600080fd5b5035611ba4565b6102726004803603604081101561054d57600080fd5b506001600160a01b038135169060200135611bcc565b61021e611bdf565b610272611c01565b6102686004803603602081101561058957600080fd5b8101906020810181356401000000008111156105a457600080fd5b8201836020820111156105b657600080fd5b803590602001918460208302840111640100000000831117156105d857600080fd5b509092509050611c06565b610272600480360360408110156105f957600080fd5b506001600160a01b038135169060200135611d1f565b6102726004803603604081101561062557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561065057600080fd5b82018360208201111561066257600080fd5b8035906020019184602083028401116401000000008311171561068457600080fd5b509092509050611d51565b610272611da1565b600160046106a3612688565b906101000a90046001600160a01b031681565b6106be611dad565b6106c781611e22565b6106cf611eca565b6001600160a01b0316826001600160a01b031614156107345760405162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015260640160405180910390fd5b8160006001600160a01b0382166370a082315a63996d79a5598160e01b8152602081600483336000905af180610770576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806107b16126c0565b1580156107bd57600080fd5b505a6107c76126ef565b50505050501580156107dd573d6000803e3d6000fd5b505050506040513d60208110156107f357600080fd5b8101908080519350505081151590506108495760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015260640160405180910390fd5b6108636001600160a01b038316848363ffffffff611f1516565b7f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe68484836040516001600160a01b039384168152919092166020820152604080820192909252606001905180910390a150505050565b600060076108c5612688565b905090565b6108d2611dad565b8060026001816108e0612688565b816001600160a01b0302191690836001600160a01b0316021790610902612744565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000600a610951612688565b906101000a90046001600160a01b03166001600160a01b03165a610973612779565b6001600160a01b0316146109cd5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015260640160405180910390fd5b60006109d7611eca565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af180610a0f576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610a506126c0565b158015610a5c57600080fd5b505a610a666126ef565b5050505050158015610a7c573d6000803e3d6000fd5b505050506040513d6020811015610a9257600080fd5b810190808051935060009250610abc915060089050610aaf612688565b839063ffffffff611f7116565b905080831115610b125760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015260640160405180910390fd5b6000600960006007610b22612688565b81526020019081526020016000209050838060028301610b40612744565b50505083816003018190610b52612744565b50600191508290508181610b64612688565b8160ff02191690831515021790610b79612744565b505050610b96846008610b8a612688565b9063ffffffff611fcd16565b806008610ba1612744565b5050507ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f6007610bcf612688565b8560405191825260208201526040908101905180910390a1610bf660016007610b8a612688565b806007610c01612744565b5050507f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307326007610c2f612688565b60405190815260200160405180910390a150505050565b610c4e611dad565b60006004610c5a612688565b906101000a900460ff1615158115151415610c7457610d19565b806004600181610c82612688565b8160ff02191690831515021790610c97612744565b5050506004600090610ca7612688565b906101000a900460ff1615610cce575a610cbf6127a2565b806003610cca612744565b5050505b7f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec560006004610cfb612688565b906101000a900460ff16604051901515815260200160405180910390a15b50565b6000818152600960205260408120600090610d35612688565b906101000a900460ff1690505b919050565b610d4f612026565b6001600160a01b03165a610d61612779565b6001600160a01b031614610dbb5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015260640160405180910390fd5b6000600960006007610dcb612688565b81526020019081526020016000206001600160a01b038316600090815260048201602052909150610e0490849060409020610b8a612688565b6001600160a01b038316600090815260048301602052604090208190610e28612744565b505050610e3b8382600101610b8a612688565b8060018301610e48612744565b505050816001600160a01b03167f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866846007610e81612688565b60405191825260208201526040908101905180910390a2505050565b610ea5611dad565b610eae81611e22565b6000610eb8611eca565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af180610ef0576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610f316126c0565b158015610f3d57600080fd5b505a610f476126ef565b5050505050158015610f5d573d6000803e3d6000fd5b505050506040513d6020811015610f7357600080fd5b810190808051935050508115159050610fc95760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015260640160405180910390fd5b6000610fd86008610aaf612688565b9050600081116110255760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015260640160405180910390fd5b6110488382611032611eca565b6001600160a01b0316919063ffffffff611f1516565b7f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee383826040516001600160a01b03909216825260208201526040908101905180910390a1505050565b611099611dad565b806004610100816110a8612688565b816001600160a01b0302191690836001600160a01b03160217906110ca612744565b5060009150505b6006806110dc612688565b905081101561123d576000600682816110f3612688565b81106110fb57fe5b9060005260206000200161110d612688565b90506001600461111b612688565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e67207461726765740000000000000000006064830152608490910190602090518083038186806111a46126c0565b1580156111b057600080fd5b505a6111ba6126ef565b50505050501580156111d0573d6000803e3d6000fd5b505050506040513d60208110156111e657600080fd5b810190808051600085815260056020529093506040925090502060018161120b612688565b816001600160a01b0302191690836001600160a01b031602179061122d612744565b5050600190920191506110d19050565b5050565b611249611dad565b6001600160a01b0381166112a35760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015260640160405180910390fd5b80600a6001816112b1612688565b816001600160a01b0302191690836001600160a01b03160217906112d3612744565b5050507fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc816040516001600160a01b03909116815260200160405180910390a150565b61131e611dad565b61132781611e22565b476001600160a01b03821681156108fc02826040516000604051808303818588886113506127cb565b505050505050935050505015801561136c573d6000803e3d6000fd5b507f8e274e42262a7f013b700b35c2b4629ccce1702f8fe83f8dfb7eacbb26a4382c82826040516001600160a01b03909216825260208201526040908101905180910390a15050565b600060026106a3612688565b60008181526009602052604081206001016113da612688565b92915050565b600060046113ec612688565b906101000a900460ff1681565b60006001600160a01b03821660016004611411612688565b906101000a90046001600160a01b03166001600160a01b03161461143757506000610d42565b60005b600680611445612688565b90508110156115b05760006006828161145c612688565b811061146457fe5b90600052602060002001611476612688565b6000818152600560205290915060409020600090611492612688565b6001600160a01b036101009290920a900416600160046114b0612688565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806115016126c0565b15801561150d57600080fd5b505a6115176126ef565b505050505015801561152d573d6000803e3d6000fd5b505050506040513d602081101561154357600080fd5b8101908080516001600160a01b03169390931415925082915061159790505750600081815260056020526040812060009061157c612688565b906101000a90046001600160a01b03166001600160a01b0316145b156115a757600092505050610d42565b5060010161143a565b50600192915050565b60006108c5611eca565b60008181526009602052604081206003016113da612688565b600060026115e8612688565b906101000a90046001600160a01b03166001600160a01b03165a61160a612779565b6001600160a01b03161461164f5760405162461bcd60e51b815260040180806020018281038252603581526020018061283e6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000600161167c612688565b906101000a90046001600160a01b03166002600090611699612688565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060026116d8612688565b906101000a90046001600160a01b0316600160006101000a816116f9612688565b816001600160a01b0302191690836001600160a01b031602179061171b612744565b5050506000600260006101000a81611731612688565b816001600160a01b0302191690836001600160a01b0316021790611753612744565b505050565b600060016106a3612688565b600361176e612688565b81565b60008181526009602052604081206002016113da612688565b60006108c56008611799612688565b6117a1611eca565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af1806117d9576040513d6000823e3d81fd5b815193505050506040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061181a6126c0565b15801561182657600080fd5b505a6118306126ef565b5050505050158015611846573d6000803e3d6000fd5b505050506040513d602081101561185c57600080fd5b8101908080519392505063ffffffff611f71169050565b61187b612820565b60005b600680611889612688565b90508110156118d1576006818161189e612688565b81106118a657fe5b906000526020600020016118b8612688565b8282601881106118c457fe5b602002015260010161187e565b5090565b6118dd611dad565b6118e682611e22565b60076118f0612688565b81106119425760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015260640160405180910390fd5b60008181526009602052604081209050600081600301611960612688565b116119b15760405162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015260640160405180910390fd5b6000816003016119bf612688565b90506119ce8482611032611eca565b6119e88160086119dc612688565b9063ffffffff611f7116565b8060086119f3612744565b5050506000838152600960205260409020600081600181611a12612688565b9060ff02191690611a21612744565b505060018201600090611a32612744565b505060028201600090611a43612744565b505060038201600090611a54612744565b505050507f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c84828560405180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060405180910390a150505050565b60016000808282611ac6612688565b019250508190611ad4612744565b505050600080611ae2612688565b905060006004611af0612688565b906101000a900460ff1615611b365760405162461bcd60e51b815260040180806020018281038252603c8152602001806128c3603c913960400191505060405180910390fd5b611b485a611b42612779565b83612071565b6000611b52612688565b811461123d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b60068181611bb0612688565b8110611bb857fe5b90600052602060002001905061176e612688565b6000611bd883836121f9565b9392505050565b600080600a611bec612688565b906101000a90046001600160a01b0316905090565b601881565b60016000808282611c15612688565b019250508190611c23612744565b505050600080611c31612688565b905060006004611c3f612688565b906101000a900460ff1615611c855760405162461bcd60e51b815260040180806020018281038252603c8152602001806128c3603c913960400191505060405180910390fd5b60005b82811015611cc2576000848483818110611c9e57fe5b905060200201359050611cb95a611cb3612779565b82612071565b50600101611c88565b506000611ccd612688565b81146117535760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b60008181526009602052604081206001600160a01b038416600090815260049190910160205260409020611bd8612688565b6000805b82811015611d99576000848483818110611d6b57fe5b905060200201359050611d8e611d8187836121f9565b849063ffffffff611fcd16565b925050600101611d55565b509392505050565b600060086108c5612688565b60006001611db9612688565b906101000a90046001600160a01b03166001600160a01b03165a611ddb612779565b6001600160a01b031614611e205760405162461bcd60e51b815260040180806020018281038252602f815260200180612873602f913960400191505060405180910390fd5b565b6001600160a01b0381161580611e7957505a63996d79a5598160e01b8152602081600483336000905af180611e5d576040513d6000823e3d81fd5b815193505050506001600160a01b0316816001600160a01b0316145b15610d195760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015260640160405180910390fd5b60006108c5680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e74686574697820616464726573730000000000000060208201526122d1565b6117538363a9059cbb60e01b84846040516001600160a01b0390921660248301526044820152606401604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03169091179052612389565b600082821115611fc75760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b600082820183811015611bd85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b60006108c56822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e67657220616464726573730000000000000060208201526122d1565b6000818152600960205260408120905060008161208c612688565b906101000a900460ff166120e65760405162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015260640160405180910390fd5b60006120f284846121f9565b90506000811161213f5760405162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015260640160405180910390fd5b6001600160a01b038416600090815260048301602052604081208190612163612744565b50505061217681836003016119dc612688565b8060038401612183612744565b5050506121948160086119dc612688565b80600861219f612744565b5050506121af8482611032611eca565b836001600160a01b03167fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325828560405191825260208201526040908101905180910390a250505050565b600081815260096020528060408120905080600301612216612688565b158061222b575080600101612229612688565b155b80612248575060008161223c612688565b906101000a900460ff16155b156122575760009150506113da565b6001600160a01b03841660009081526004820160205260408120612279612688565b90508061228b576000925050506113da565b60006122a98360010161229c612688565b839063ffffffff61255d16565b90506122c7836002016122ba612688565b829063ffffffff61258716565b9695505050505050565b6000828152600560205280604081206000906122eb612688565b6001600160a01b036101009290920a90041690508281611d995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561234e578082015183820152602001612336565b50505050905090810190601f16801561237b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61239b826001600160a01b03166125b1565b6123eb5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640160405180910390fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106124295780518252601f19909201916020918201910161240a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865a6124636127cb565b5050505050509150503d8060008114612498576040513d603f01601f191681016040523d815291503d6000602084013e61249d565b606091505b5091509150816124f35760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640160405180910390fd5b60008151111561255757602081018151602081101561251157600080fd5b81019080805192506125579150505760405162461bcd60e51b815260040180806020018281038252602a8152602001806128ff602a913960400191505060405180910390fd5b50505050565b6000611bd88261257b85670de0b6b3a764000063ffffffff6125c616565b9063ffffffff61261f16565b6000670de0b6b3a76400006125a2848463ffffffff6125c616565b816125a957fe5b049392505050565b600080826125bd6126c0565b15159392505050565b6000826125d5575060006113da565b828202828482816125e257fe5b0414611bd85760405162461bcd60e51b81526004018080602001828103825260218152602001806128a26021913960400191505060405180910390fd5b60008082116126745760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b600082848161267f57fe5b04949350505050565b6320966208598160e01b8152836004820152602081602483336000905af1806126b7576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806126b7576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101561271f578087015182820160240152602001612704565b5088888860240183336000905af18061273e576040513d6000823e3d81fd5b98505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180611753576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af1806126b7576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af1806126b7576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b888110156127fb5780880151828201602401526020016127e0565b5089898960240183336000905af18061281a576040513d6000823e3d81fd5b99505050565b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "periodController",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "AssignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "EtherRecovered",
					"type": "event",
					"signature": "0x8e274e42262a7f013b700b35c2b4629ccce1702f8fe83f8dfb7eacbb26a4382c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeRecorded",
					"type": "event",
					"signature": "0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "NewPeriodStarted",
					"type": "event",
					"signature": "0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "PeriodControllerChanged",
					"type": "event",
					"signature": "0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "PeriodFinalizedWithRewards",
					"type": "event",
					"signature": "0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "RewardsClaimed",
					"type": "event",
					"signature": "0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "TokensRecovered",
					"type": "event",
					"signature": "0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "UnassignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "claimRewardsForPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb225dbaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "claimRewardsForPeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf32ffd69"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "closeCurrentPeriodWithRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16841952"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9c99ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce7fccba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf6b58479"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086146d2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x706848d2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPeriodController",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdea021a5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x175c5189"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsFinalized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xccb6e043"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodRecordedFees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55aa41bf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodTotalRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x937ffb8f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardsToken",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6fe4136b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getUnaccountedFeesForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf61f5df6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getUnassignedRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9865fdb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdFeeAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "recordExchangeFeeForAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x21cad774"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "recoverAssignedRewardTokensAndDestroyPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xae934a7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverEther",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52d5999f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x056097ac"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverUnassignedRewardTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38dfa8cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "setPeriodController",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3dbf12fa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0x11ce0e6d9d2500070637ee16a6f3be479b92eefdb58e5a026413b9e934f0e860",
				"urls": [
					"bzz-raw://f4863af118b21e00ff11560b8cb0fb15ead21bc1612e9eb0d9f4cfaeb60a5ea1",
					"dweb:/ipfs/QmPE9y6kp6jDttBkVwobdWQ8mMhJYuvN1mthxj7JaNKp6L"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0x11ce0e6d9d2500070637ee16a6f3be479b92eefdb58e5a026413b9e934f0e860",
						"urls": [
							"bzz-raw://f4863af118b21e00ff11560b8cb0fb15ead21bc1612e9eb0d9f4cfaeb60a5ea1",
							"dweb:/ipfs/QmPE9y6kp6jDttBkVwobdWQ8mMhJYuvN1mthxj7JaNKp6L"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516104a23803806104a28339818101604052602081101561003357600080fd5b81019080805192508291506000905060018161004d610078565b816001600160a01b0302191690836001600160a01b031602179061006f6100b0565b505050506100ea565b6320966208598160e01b8152836004820152602081602483336000905af1806100a7576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806100e5576040513d6000823e3d81fd5b505050565b6103a9806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780639514c2321461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757808201518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610297565b6040516001600160a01b03909116815260200160405180910390f35b6100c66102b5565b6100ce6102b5565b600080806100da6102d2565b906101000a90046001600160a01b03166001600160a01b031663204b676a856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061013361030a565b15801561013f57600080fd5b505a610149610339565b505050505015801561015f573d6000803e3d6000fd5b505050506040513d602081101561017557600080fd5b81019080805193506000925050505b8181101561028e5761019461038e565b60008061019f6102d2565b906101000a90046001600160a01b03166001600160a01b031663da7bd3e987846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401604080518083038186806101fd61030a565b15801561020957600080fd5b505a610213610339565b5050505050158015610229573d6000803e3d6000fd5b50505050604051601f3d908101601f19168201604090815281101561024d57600080fd5b509050805184836002026010811061026157fe5b6020020152806001602002015184836002026001016010811061028057fe5b602002015250600101610184565b50909392505050565b6000806102a26102d2565b906101000a90046001600160a01b031681565b604051610200808201604052601090829080388339509192915050565b6320966208598160e01b8152836004820152602081602483336000905af180610301576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af180610301576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b8781101561036957808701518282016024015260200161034e565b5088888860240183336000905af180610388576040513d6000823e3d81fd5b98505050565b6040516040808201815260029082908038833950919291505056",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9514c232"
				}
			],
			"source": {
				"keccak256": "0xd217f5593ebea71380272bbf2d1fbdf77dfb233f12eb347b251b97037dbdf3c7",
				"urls": [
					"bzz-raw://7635521588341cd368590c1603d9e5ad6a841c3f71a9754bd9dc7839a794cace",
					"dweb:/ipfs/QmeuH2vrRQ2xZQ2RCXyKHuk6BoEupdmna9S35Y5uUwe5jJ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0xd217f5593ebea71380272bbf2d1fbdf77dfb233f12eb347b251b97037dbdf3c7",
						"urls": [
							"bzz-raw://7635521588341cd368590c1603d9e5ad6a841c3f71a9754bd9dc7839a794cace",
							"dweb:/ipfs/QmeuH2vrRQ2xZQ2RCXyKHuk6BoEupdmna9S35Y5uUwe5jJ"
						]
					}
				},
				"version": 1
			}
		},
		"FixedSupplySchedule": {
			"bytecode": "608060405262093a8060086200001462000521565b50506201518060096200002662000521565b505060405160208101604052680a6f2dce8d0cae8d2f60bb1b81526200005190600d9060016200055c565b503480156200005f57600080fd5b506040516200197f3803806200197f83398181016040526101408110156200008657600080fd5b81019080805192919060200180519291906020018051929190602001805192919060200180519291906020018051929190602001805192919060200180519291906020018051929190602001805192508a9150600d905060186103006040519081016040529190610300830182845b8162000100620005aa565b81526020019060010190808311620000f557508f93505050506001600160a01b038116620001745760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b80600060018162000184620005aa565b816001600160a01b0302191690836001600160a01b0316021790620001a862000521565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808062000201620005aa565b906101000a90046001600160a01b03166001600160a01b03161415620002615760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620002f15760008282601881106200027d57fe5b602002015114620002e25760048282601881106200029757fe5b60200201519080600181620002ab620005aa565b018082620002b862000521565b5050600092835291600019830191506020902091929101620002d962000521565b505050620002e8565b620002f1565b60010162000264565b5081600260018162000302620005aa565b816001600160a01b0302191690836001600160a01b03160217906200032662000521565b5050505050876000146200034b57878060056200034262000521565b50505062000367565b5a62000356620005e3565b8060056200036362000521565b5050505b8615620003fa5760056200037a620005aa565b8711620003b95760405162461bcd60e51b815260040180806020018281038252602f815260200180620018de602f913960400191505060405180910390fd5b60008611620003fa5760405162461bcd60e51b815260040180806020018281038252602a81526020018062001955602a913960400191505060405180910390fd5b848411156200043b5760405162461bcd60e51b8152600401808060200182810382526023815260200180620019326023913960400191505060405180910390fd5b680ad78ebc5ac6200000811115620004855760405162461bcd60e51b81526004018080602001828103825260258152602001806200190d6025913960400191505060405180910390fd5b868060066200049362000521565b5050508560078190620004a562000521565b50505082600a8190620004b762000521565b50505083600014620004d55783806009620004d162000521565b5050505b8415620004ee5784806008620004ea62000521565b5050505b8180600b620004fc62000521565b50505080600c81906200050e62000521565b505050505050505050505050506200063a565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18062000557576040513d6000823e3d81fd5b505050565b826018810192821562000598579160200282015b8281111562000598578251826200058662000521565b50509160200191906001019062000570565b50620005a69291506200060d565b5090565b6320966208598160e01b8152836004820152602081602483336000905af180620005da576040513d6000823e3d81fd5b81519450505050565b63bdbf8c36598160e01b8152602081600483336000905af180620005da576040513d6000823e3d81fd5b6200063791905b80821115620005a657600080826200062b62000521565b50505060010162000614565b90565b611294806200064a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063957ddd82116100de578063be801f0111610097578063cbb74bf711610071578063cbb74bf714610359578063cc5c095c14610361578063e3235c9114610369578063e6d7d72d146103715761018e565b8063be801f011461032c578063c4b388ca14610334578063c6c9d8281461033c5761018e565b8063957ddd82146102c35780639bdd7ac7146102cb5780639cb081b2146102d3578063ab49848c146102db578063aec383fc1461031c578063afb33185146103245761018e565b80634ae265211161014b57806379ba50971161012557806379ba50971461028e5780637e7961d7146102965780638da5cb5b146102b35780638f3a7a49146102bb5761018e565b80634ae265211461024357806353a47bb714610260578063631e1444146102685761018e565b806304f3bcec146101935780631627540c146101b757806322af2bab146101df57806326f75e05146101f95780633be99e6f1461020157806346b45af714610227575b600080fd5b61019b610379565b6040516001600160a01b03909116815260200160405180910390f35b6101dd600480360360208110156101cd57600080fd5b50356001600160a01b0316610398565b005b6101e7610412565b60405190815260200160405180910390f35b6101e761041f565b6101dd6004803603602081101561021757600080fd5b50356001600160a01b031661042c565b61022f6105db565b604051901515815260200160405180910390f35b6101dd6004803603602081101561025957600080fd5b5035610610565b61019b6106ae565b61022f6004803603602081101561027e57600080fd5b50356001600160a01b03166106ba565b6101dd61087b565b61022f600480360360208110156102ac57600080fd5b50356109f5565b61019b610b3e565b6101e7610b49565b6101e7610b53565b6101e7610b5d565b6101e7610b67565b6102e3610bd1565b604051808261030080838360005b838110156103095780820151838201526020016102f1565b5050505090500191505060405180910390f35b6101e7610c33565b6101e7610c3d565b6101e7610c44565b6101e7610c4e565b6101e76004803603602081101561035257600080fd5b5035610c58565b6101e7610c80565b6101e7610c8a565b6101e7610d36565b6101e7610d3b565b60006002610385611046565b906101000a90046001600160a01b031681565b6103a0610d42565b80600180806103ad611046565b816001600160a01b0302191690836001600160a01b03160217906103cf61107e565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b680ad78ebc5ac620000081565b6005610429611046565b81565b610434610d42565b806002600181610442611046565b816001600160a01b0302191690836001600160a01b031602179061046461107e565b5060009150505b600480610476611046565b90508110156105d75760006004828161048d611046565b811061049557fe5b906000526020600020016104a7611046565b9050600060026104b5611046565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e672074617267657400000000000000000060648301526084909101906020905180830381868061053e6110b3565b15801561054a57600080fd5b505a6105546110e2565b505050505015801561056a573d6000803e3d6000fd5b505050506040513d602081101561058057600080fd5b81019080805160008581526003602052909350604092509050206001816105a5611046565b816001600160a01b0302191690836001600160a01b03160217906105c761107e565b50506001909201915061046b9050565b5050565b600060086105e7611046565b60066105f1611046565b5a6105fa611137565b0311156106095750600161060d565b5060005b90565b610618610d42565b680ad78ebc5ac62000008111156106605760405162461bcd60e51b815260040180806020018281038252602581526020018061121f6025913960400191505060405180910390fd5b8080600c61066c61107e565b5050507f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30600c61069a611046565b60405190815260200160405180910390a150565b60006001610385611046565b60006001600160a01b0382168160026106d1611046565b906101000a90046001600160a01b03166001600160a01b0316146106f757506000610876565b60005b600480610705611046565b90508110156108705760006004828161071c611046565b811061072457fe5b90600052602060002001610736611046565b6000818152600360205290915060409020600090610752611046565b6001600160a01b036101009290920a90041660006002610770611046565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806107c16110b3565b1580156107cd57600080fd5b505a6107d76110e2565b50505050501580156107ed573d6000803e3d6000fd5b505050506040513d602081101561080357600080fd5b8101908080516001600160a01b03169390931415925082915061085790505750600081815260036020526040812060009061083c611046565b906101000a90046001600160a01b03166001600160a01b0316145b1561086757600092505050610876565b506001016106fa565b50600190505b919050565b60006001610887611046565b906101000a90046001600160a01b03166001600160a01b03165a6108a9611160565b6001600160a01b0316146108ee5760405162461bcd60e51b81526004018080602001828103825260358152602001806111a76035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061091a611046565b906101000a90046001600160a01b03166001600090610937611046565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610976611046565b906101000a90046001600160a01b03166000806101000a81610996611046565b816001600160a01b0302191690836001600160a01b03160217906109b861107e565b5050506000600160006101000a816109ce611046565b816001600160a01b0302191690836001600160a01b03160217906109f061107e565b505050565b60006109ff610db6565b6001600160a01b03165a610a11611160565b6001600160a01b031614610a565760405162461bcd60e51b81526004018080602001828103825260438152602001806111dc6043913960600191505060405180910390fd5b6000610a60610b67565b9050610a7c816007610a70611046565b9063ffffffff610e0616565b806007610a8761107e565b505050610ac76009610a97611046565b610a70610abd6008610aa7611046565b6007610ab1611046565b9063ffffffff610e6816565b6005610a70611046565b806006610ad261107e565b5050507f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab83826006610b02611046565b5a610b0b611137565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a150600192915050565b600080610385611046565b6008610429611046565b6007610429611046565b600c610429611046565b60008060006006610b76611046565b11610ba257610b9d6005610b88611046565b5a610b91611137565b9063ffffffff610ec116565b610baf565b610baf6006610b88611046565b9050610bcb6008610bbe611046565b829063ffffffff610f1d16565b91505090565b610bd9611189565b60005b600480610be7611046565b9050811015610c2f5760048181610bfc611046565b8110610c0457fe5b90600052602060002001610c16611046565b828260188110610c2257fe5b6020020152600101610bdc565b5090565b6009610429611046565b6201518081565b6006610429611046565b600b610429611046565b60048181610c64611046565b8110610c6c57fe5b906000526020600020019050610429611046565b600a610429611046565b600080610c956105db565b1580610ca85750600a610ca6611046565b155b15610cb757600091505061060d565b6000610cc1610b67565b905060006007610ccf611046565b90505b8115610d2e57610ce981600163ffffffff610e0616565b9050600b610cf5611046565b811015610d1d57610d16600a610d09611046565b849063ffffffff610e0616565b9250610d22565b610d2e565b60001990910190610cd2565b509091505090565b601881565b62093a8081565b600080610d4d611046565b906101000a90046001600160a01b03166001600160a01b03165a610d6f611160565b6001600160a01b031614610db45760405162461bcd60e51b815260040180806020018281038252602f815260200180611244602f913960400191505060405180910390fd5b565b6000610e01680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152610f86565b905090565b600082820183811015610e5f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b600082610e7757506000610e62565b82820282848281610e8457fe5b0414610e5f5760405162461bcd60e51b81526004018080602001828103825260218152602001806112736021913960400191505060405180910390fd5b600082821115610f175760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6000808211610f725760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b6000828481610f7d57fe5b04949350505050565b600082815260036020528060408120600090610fa0611046565b6001600160a01b036101009290920a9004169050828161103e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611003578082015183820152602001610feb565b50505050905090810190601f1680156110305780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6320966208598160e01b8152836004820152602081602483336000905af180611075576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806109f0576040513d6000823e3d81fd5b63c3382d0f598160e01b8152836004820152602081602483336000905af180611075576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b878110156111125780870151828201602401526020016110f7565b5088888860240183336000905af180611131576040513d6000823e3d81fd5b98505050565b63bdbf8c36598160e01b8152602081600483336000905af180611075576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180611075576040513d6000823e3d81fd5b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970537570706c795363686564756c653a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e277420657863656564206d6178206d696e746572207265776172644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d696e74206576656e742063616e27742068617070656e206265666f726520696e666c6174696f6e207374617274735265776172642063616e277420657863656564206d6178206d696e746572207265776172644275666665722063616e27742062652067726561746572207468616e20706572696f644174206c656173742061206d696e74206576656e742068617320616c7265616479206f63637572726564",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_inflationStartDate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_lastMintEvent",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_mintPeriodCounter",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_mintPeriodDuration",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_mintBuffer",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_fixedPeriodicSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_supplyEnd",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minterReward",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event",
					"signature": "0x036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "numberOfPeriodsIssued",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastMintEvent",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SupplyMinted",
					"type": "event",
					"signature": "0x601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DEFAULT_MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xafb33185"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DEFAULT_MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe6d7d72d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22af2bab"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fixedPeriodicSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcbb74bf7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inflationStartDate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x26f75e05"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe801f01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintBuffer",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaec383fc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintPeriodCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x957ddd82"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintPeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8f3a7a49"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodsSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cb081b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e7961d7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4ae26521"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "supplyEnd",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4b388ca"
				}
			],
			"source": {
				"keccak256": "0x7f6b493628926e40b72bfc16414f9afea5d777cc001bc140b1804597dfd4cf3f",
				"urls": [
					"bzz-raw://c8d5630678d62bc1e3288bb6fddc3dc5f18301b55e3871a25793f261a3e6c998",
					"dweb:/ipfs/QmVNjWiXGJpoGD12KTh7tMhZ7PueRFbuBm1iMxwW2mFJ8q"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FixedSupplySchedule.sol": "FixedSupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FixedSupplySchedule.sol": {
						"keccak256": "0x7f6b493628926e40b72bfc16414f9afea5d777cc001bc140b1804597dfd4cf3f",
						"urls": [
							"bzz-raw://c8d5630678d62bc1e3288bb6fddc3dc5f18301b55e3871a25793f261a3e6c998",
							"dweb:/ipfs/QmVNjWiXGJpoGD12KTh7tMhZ7PueRFbuBm1iMxwW2mFJ8q"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040526040516080810160409081526b53797374656d53746174757360a01b82526822bc31b430b733b2b960b91b60208301526524b9b9bab2b960d11b9082015266119959541bdbdb60ca1b60608201526200006290600f9060046200080b565b503480156200007057600080fd5b50604051620042463803806200424683398181016040526101008110156200009757600080fd5b810190808051929190602001805192919060200180516040519392919084640100000000821115620000c857600080fd5b908301906020820185811115620000de57600080fd5b8251640100000000811182820188101715620000f957600080fd5b825250602001908051906020019080838360005b83811015620001275780820151838201526020016200010d565b50505050905090810190601f168015620001555780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200017957600080fd5b9083019060208201858111156200018f57600080fd5b8251640100000000811182820188101715620001aa57600080fd5b825250602001908051906020019080838360005b83811015620001d8578082015183820152602001620001be565b50505050905090810190601f168015620002065780820380516001836020036101000a031916815260200191505b5060405260200180519291906020018051929190602001805192919060200180519250829150600f905060186103006040519081016040529190610300830182845b816200025362000859565b8152602001906001019080831162000248575050505050898989898760128b868160006001600160a01b0316816001600160a01b03161415620002dc5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b806000600181620002ec62000859565b816001600160a01b0302191690836001600160a01b03160217906200031062000892565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200036962000859565b906101000a90046001600160a01b03166001600160a01b03161415620003c95760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b600080620003d662000859565b906101000a90046001600160a01b0316600360016101000a81620003f962000859565b816001600160a01b0302191690836001600160a01b03160217906200041d62000892565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53600080906200044f62000859565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a1600080806200048862000859565b906101000a90046001600160a01b03166001600160a01b03161415620004e85760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b806004600181620004f862000859565b816001600160a01b0302191690836001600160a01b03160217906200051c62000892565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a1508560076001816200056d62000859565b816001600160a01b0302191690836001600160a01b03160217906200059162000892565b505050846008908051620005aa929160200190620008cd565b506009848051620005c0929160200190620008cd565b508280600a620005cf62000892565b50505081600b60006101000a81620005e662000859565b8160ff021916908360ff16021790620005fe62000892565b5050505050505050505060006001600160a01b0316600080906200062162000859565b906101000a90046001600160a01b03166001600160a01b03161415620006815760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620007115760008282601881106200069d57fe5b6020020151146200070257600d828260188110620006b757fe5b60200201519080600181620006cb62000859565b018082620006d862000892565b5050600092835291600019830191506020902091929101620006f962000892565b50505062000708565b62000711565b60010162000684565b5081600b610100816200072362000859565b816001600160a01b0302191690836001600160a01b03160217906200074762000892565b50505050506001600160a01b0388166200079c5760405162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015260640160405180910390fd5b6001600160a01b038416620007ec5760405162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015260640160405180910390fd5b8280600e620007fa62000892565b5050505050505050505050620009cf565b826018810192821562000847579160200282015b8281111562000847578251826200083562000892565b5050916020019190600101906200081f565b506200085592915062000978565b5090565b6320966208598160e01b8152836004820152602081602483336000905af18062000889576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180620008c8576040513d6000823e3d81fd5b505050565b8280620008d962000859565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200092457805160ff191683800117856200091c62000892565b50506200096a565b828001600101856200093562000892565b505082156200096a579182015b828111156200096a578251826200095862000892565b50509160200191906001019062000942565b5062000855929150620009a5565b620009a291905b808211156200085557600080826200099662000892565b5050506001016200097f565b90565b620009a291905b80821115620008555760008082620009c362000892565b505050600101620009ac565b61386780620009df6000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80639cbdaeb611610151578063c6c9d828116100c3578063e73cced311610087578063e73cced3146106de578063e90dd9e214610714578063eb1edd611461071c578063ec55688914610724578063f7ea7a3d1461072c578063ffff51d61461074957610274565b8063c6c9d8281461067b578063d67bdd2514610698578063dbd06c85146106a0578063dd62ed3e146106a8578063e3235c91146106d657610274565b8063ab49848c11610115578063ab49848c146105d0578063b014c3a314610611578063b8225dec1461063d578063bc67f83214610645578063bd32aa441461066b578063c58aaae61461067357610274565b80639cbdaeb6146105425780639dc29fac1461054a5780639f76980714610576578063a461fc821461059c578063a9059cbb146105a457610274565b80633278c960116101ea57806379ba5097116101ae57806379ba5097146104d0578063867904b4146104d85780638da5cb5b1461050457806395d89b411461050c57806397107d6d146105145780639cb8a26a1461053a57610274565b80633278c9601461044e5780633be99e6f1461045657806353a47bb71461047c578063631e14441461048457806370a08231146104aa57610274565b806317c70de41161023c57806317c70de4146103aa57806318160ddd146103c457806320714f88146103cc57806323b872dd146103f25780632e0f262514610428578063313ce5671461044657610274565b806304f3bcec1461027957806306fdde031461029d578063095ea7b31461031c578063131b0ae71461035c5780631627540c14610384575b600080fd5b61028161076f565b6040516001600160a01b03909116815260200160405180910390f35b6102a561078e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102e15780820151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103486004803603604081101561033257600080fd5b506001600160a01b038135169060200135610847565b604051901515815260200160405180910390f35b6103826004803603602081101561037257600080fd5b50356001600160a01b0316610933565b005b6103826004803603602081101561039a57600080fd5b50356001600160a01b0316610971565b6103b26109eb565b60405190815260200160405180910390f35b6103b26109f8565b610382600480360360208110156103e257600080fd5b50356001600160a01b0316610a02565b6103486004803603606081101561040857600080fd5b506001600160a01b03813581169160208101359091169060400135610ad8565b610430610aff565b60405160ff909116815260200160405180910390f35b610430610b04565b610382610b1d565b6103826004803603602081101561046c57600080fd5b50356001600160a01b0316610b8e565b610281610d3e565b6103486004803603602081101561049a57600080fd5b50356001600160a01b0316610d4a565b6103b2600480360360208110156104c057600080fd5b50356001600160a01b0316610f0c565b610382610fc3565b610382600480360360408110156104ee57600080fd5b506001600160a01b03813516906020013561113d565b610281611212565b6102a561121d565b6103826004803603602081101561052a57600080fd5b50356001600160a01b03166112bf565b61038261133a565b610281611490565b6103826004803603604081101561056057600080fd5b506001600160a01b03813516906020013561149c565b6103826004803603602081101561058c57600080fd5b50356001600160a01b0316611572565b6103b26115b9565b610348600480360360408110156105ba57600080fd5b506001600160a01b0381351690602001356115c0565b6105d8611685565b604051808261030080838360005b838110156105fe5780820151838201526020016105e6565b5050505090500191505060405180910390f35b6103486004803603604081101561062757600080fd5b506001600160a01b0381351690602001356116e7565b6103486118e1565b6103826004803603602081101561065b57600080fd5b50356001600160a01b03166118ed565b610382611903565b610281611985565b6103b26004803603602081101561069157600080fd5b5035611991565b6102816119b9565b6103b26119c5565b6103b2600480360360408110156106be57600080fd5b506001600160a01b03813581169160200135166119cf565b6103b2611a8f565b610348600480360360608110156106f457600080fd5b506001600160a01b03813581169160208101359091169060400135611a94565b610281611c46565b610281611c52565b610281611c6a565b6103826004803603602081101561074257600080fd5b5035611c76565b6103b26004803603602081101561075f57600080fd5b50356001600160a01b0316611c8a565b6001600b61077b613584565b906101000a90046001600160a01b031681565b600880610799613584565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806107d3613584565b6001816001161561010002031660029004801561083f5780601f1061080d5761010080836107ff613584565b04028352916020019161083f565b820191906000526020600020905b81610824613584565b8152906001019060200180831161081b57829003601f168201915b505050505081565b6000610851611e30565b600080600661085e613584565b906101000a90046001600160a01b03169050600760009061087d613584565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529190921660248201526044810191909152606401600060405180830381600087806108eb6135bc565b1580156108f757600080fd5b505a6109016135eb565b505050505050158015610918573d6000803e3d6000fd5b50505050610927818585611f08565b60019150505b92915050565b61093b61206f565b806005600181610949613584565b816001600160a01b0302191690836001600160a01b031602179061096b613640565b50505050565b61097961206f565b8060018080610986613584565b816001600160a01b0302191690836001600160a01b03160217906109a8613640565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60026109f5613584565b81565b600a6109f5613584565b610a0a61206f565b6001600160a01b038116610a645760405162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015260640160405180910390fd5b80600361010081610a73613584565b816001600160a01b0302191690836001600160a01b0316021790610a95613640565b5050507fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53816040516001600160a01b03909116815260200160405180910390a150565b6000610ae2611e30565b610aec84836120e1565b610af784848461228f565b949350505050565b601281565b6000600b610b10613584565b906101000a900460ff1681565b610b2561206f565b6000806002610b32613640565b5050506000600360006101000a81610b48613584565b8160ff02191690831515021790610b5d613640565b5050507f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c60405160405180910390a1565b610b9661206f565b80600b61010081610ba5613584565b816001600160a01b0302191690836001600160a01b0316021790610bc7613640565b5060009150505b600d80610bd9613584565b9050811015610d3a576000600d8281610bf0613584565b8110610bf857fe5b90600052602060002001610c0a613584565b90506001600b610c18613584565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e6720746172676574000000000000000000606483015260849091019060209051808303818680610ca16135bc565b158015610cad57600080fd5b505a610cb7613675565b5050505050158015610ccd573d6000803e3d6000fd5b505050506040513d6020811015610ce357600080fd5b8101908080516000858152600c60205290935060409250905020600181610d08613584565b816001600160a01b0302191690836001600160a01b0316021790610d2a613640565b505060019092019150610bce9050565b5050565b6000600161077b613584565b60006001600160a01b0382166001600b610d62613584565b906101000a90046001600160a01b03166001600160a01b031614610d8857506000610f07565b60005b600d80610d96613584565b9050811015610f01576000600d8281610dad613584565b8110610db557fe5b90600052602060002001610dc7613584565b6000818152600c60205290915060409020600090610de3613584565b6001600160a01b036101009290920a9004166001600b610e01613584565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610e526135bc565b158015610e5e57600080fd5b505a610e68613675565b5050505050158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b8101908080516001600160a01b031693909314159250829150610ee8905057506000818152600c60205260408120600090610ecd613584565b906101000a90046001600160a01b03166001600160a01b0316145b15610ef857600092505050610f07565b50600101610d8b565b50600190505b919050565b6000806007610f19613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610f726135bc565b158015610f7e57600080fd5b505a610f88613675565b5050505050158015610f9e573d6000803e3d6000fd5b505050506040513d6020811015610fb457600080fd5b81019080805195945050505050565b60006001610fcf613584565b906101000a90046001600160a01b03166001600160a01b03165a610ff16136ca565b6001600160a01b0316146110365760405162461bcd60e51b815260040180806020018281038252603581526020018061373a6035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611062613584565b906101000a90046001600160a01b0316600160009061107f613584565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016110be613584565b906101000a90046001600160a01b03166000806101000a816110de613584565b816001600160a01b0302191690836001600160a01b0316021790611100613640565b5050506000600160006101000a81611116613584565b816001600160a01b0302191690836001600160a01b0316021790611138613640565b505050565b6000611147612512565b6001600160a01b03165a6111596136ca565b6001600160a01b0316149050600061116f612560565b6001600160a01b03165a6111816136ca565b6001600160a01b031614905060006111976125ab565b6001600160a01b03165a6111a96136ca565b6001600160a01b031614905082806111be5750815b806111c65750805b6112015760405162461bcd60e51b815260040180806020018281038252603381526020018061379e6033913960400191505060405180910390fd5b61120b85856125ec565b5050505050565b60008061077b613584565b600980611228613584565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280611262613584565b6001816001161561010002031660029004801561083f5780601f1061128e5761010080836107ff613584565b820191906000526020600020905b816112a5613584565b8152906001019060200180831161129c5750859350505050565b6112c761206f565b8060046001816112d5613584565b816001600160a01b0302191690836001600160a01b03160217906112f7613640565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b61134261206f565b6000600361134e613584565b906101000a900460ff166113a85760405162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015260640160405180910390fd5b5a6113b16136f3565b6224ea0060026113bf613584565b01106114115760405162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015260640160405180910390fd5b7f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b76001600361143e613584565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a160016003611475613584565b906101000a90046001600160a01b03166001600160a01b0316ff5b6000600561077b613584565b60006114a6612512565b6001600160a01b03165a6114b86136ca565b6001600160a01b031614905060006114ce612560565b6001600160a01b03165a6114e06136ca565b6001600160a01b031614905060006114f66125ab565b6001600160a01b03165a6115086136ca565b6001600160a01b0316149050828061151d5750815b806115255750805b6115605760405162461bcd60e51b815260040180806020018281038252603381526020018061379e6033913960400191505060405180910390fd5b61156a8585612782565b505050505050565b61157a6128c9565b806007600181611588613584565b816001600160a01b0302191690836001600160a01b03160217906115aa613640565b5050506115b681612a4e565b50565b6224ea0081565b60006115ca611e30565b6115ef600060066115d9613584565b906101000a90046001600160a01b0316836120e1565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156116255761161e8383612bc3565b905061092d565b6001600160a01b0383166116585761161e60006006611642613584565b906101000a90046001600160a01b031683612782565b61167e60006006611667613584565b906101000a90046001600160a01b03168484612d94565b9392505050565b61168d61371c565b60005b600d8061169b613584565b90508110156116e357600d81816116b0613584565b81106116b857fe5b906000526020600020016116ca613584565b8282601881106116d657fe5b6020020152600101611690565b5090565b60006116f1611e30565b60006116fb612560565b6001600160a01b0316631b16802c60006006611715613584565b906101000a90046001600160a01b0316600e61172f613584565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401606060405180830381600087806117706135bc565b15801561177c57600080fd5b505a6117866135eb565b50505050505015801561179d573d6000803e3d6000fd5b505050506040513d60608110156117b357600080fd5b81019080805192919060200180519291906020018051955087945050841592506118a191505057600060076117e6613584565b6001600160a01b036101009290920a9004166370a0823160006006611809613584565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806118536135bc565b15801561185f57600080fd5b505a611869613675565b505050505015801561187f573d6000803e3d6000fd5b505050506040513d602081101561189557600080fd5b81019080805193505050505b8084116118ae57836118b0565b805b93506118d8600060066118c1613584565b906101000a90046001600160a01b03168686612d94565b95945050505050565b60006003610b10613584565b6118f561308d565b806006600181610949613584565b61190b61206f565b5a6119146136f3565b80600261191f613640565b5050506001600360006101000a81611935613584565b8160ff0219169083151502179061194a613640565b5050507fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a66224ea0060405190815260200160405180910390a1565b6001600361077b613584565b600d818161199d613584565b81106119a557fe5b9060005260206000200190506109f5613584565b6000600661077b613584565b600e6109f5613584565b60008060076119dc613584565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680611a3d6135bc565b158015611a4957600080fd5b505a611a53613675565b5050505050158015611a69573d6000803e3d6000fd5b505050506040513d6020811015611a7f57600080fd5b8101908080519695505050505050565b601881565b6000611a9e611e30565b6000611aa8612560565b6001600160a01b0316631b16802c86600e611ac1613584565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780611b026135bc565b158015611b0e57600080fd5b505a611b186135eb565b505050505050158015611b2f573d6000803e3d6000fd5b505050506040513d6060811015611b4557600080fd5b8101908080519291906020018051929190602001805195508794505084159250611c1f9150505760006007611b78613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231876040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611bd16135bc565b158015611bdd57600080fd5b505a611be7613675565b5050505050158015611bfd573d6000803e3d6000fd5b505050506040513d6020811015611c1357600080fd5b81019080805193505050505b80841015611c2d5783611c2f565b805b9350611c3c86868661228f565b9695505050505050565b6000600761077b613584565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6000600461077b613584565b611c7e6128c9565b8080600a61096b613640565b600080611c95612560565b6001600160a01b03166319d5c66584600e611cae613584565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016060604051808303818680611ced6135bc565b158015611cf957600080fd5b505a611d03613675565b5050505050158015611d19573d6000803e3d6000fd5b505050506040513d6060811015611d2f57600080fd5b81019080805192919060200180519291906020018051509394506000935083925060079150611d5e9050613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611db76135bc565b158015611dc357600080fd5b505a611dcd613675565b5050505050158015611de3573d6000803e3d6000fd5b505050506040513d6020811015611df957600080fd5b810190808051935050505080821115611e1757600092505050610f07565b611e27818363ffffffff61315416565b92505050610f07565b60006004611e3c613584565b906101000a90046001600160a01b03166001600160a01b03165a611e5e6136ca565b6001600160a01b031614158015611eaa575060006005611e7c613584565b906101000a90046001600160a01b03166001600160a01b03165a611e9e6136ca565b6001600160a01b031614155b8015611eeb57505a611eba6136ca565b6001600160a01b031660006006611ecf613584565b906101000a90046001600160a01b03166001600160a01b031614155b15611f06575a611ef96136ca565b6006600181611116613584565b565b60006004611f14613584565b906101000a90046001600160a01b03166001600160a01b031663907dff9782604051602001808281526020019150506040516020818303038152906040526003604051806021613800823960210190506040518091039020611f75886131b0565b611f7e886131b0565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611fed578082015183820152602001611fd5565b50505050905090810190601f16801561201a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806120396135bc565b15801561204557600080fd5b505a61204f6135eb565b505050505050158015612066573d6000803e3d6000fd5b50505050505050565b60008061207a613584565b906101000a90046001600160a01b03166001600160a01b03165a61209c6136ca565b6001600160a01b031614611f065760405162461bcd60e51b815260040180806020018281038252602f8152602001806137d1602f913960400191505060405180910390fd5b6120e9612560565b6001600160a01b031663059c29ec83600e612102613584565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806121416135bc565b15801561214d57600080fd5b505a612157613675565b505050505015801561216d573d6000803e3d6000fd5b505050506040513d602081101561218357600080fd5b8101908080511592506121ca9150505760405162461bcd60e51b81526004018080602001828103825260258152602001806138216025913960400191505060405180910390fd5b806121d483611c8a565b10156122115760405162461bcd60e51b815260040180806020018281038252602f81526020018061376f602f913960400191505060405180910390fd5b6122196131bc565b6001600160a01b03166342a28e21600e612231613584565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038186806122636135bc565b15801561226f57600080fd5b505a612279613675565b505050505015801561156a573d6000803e3d6000fd5b600060001981600761229f613584565b6001600160a01b036101009290920a90041663dd62ed3e86600060066122c3613584565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806123146135bc565b15801561232057600080fd5b505a61232a613675565b5050505050158015612340573d6000803e3d6000fd5b505050506040513d602081101561235657600080fd5b8101908080519390931492506125079150505760006007612375613584565b6001600160a01b036101009290920a90041663da46098c8560006006612399613584565b906101000a90046001600160a01b03166124888660076000906123ba613584565b6001600160a01b036101009290920a90041663dd62ed3e8b600060066123de613584565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061242f6135bc565b15801561243b57600080fd5b505a612445613675565b505050505015801561245b573d6000803e3d6000fd5b505050506040513d602081101561247157600080fd5b8101908080519392505063ffffffff613154169050565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529190921660248201526044810191909152606401600060405180830381600087806124d56135bc565b1580156124e157600080fd5b505a6124eb6135eb565b505050505050158015612502573d6000803e3d6000fd5b505050505b610af7848484612d94565b600061255b66119959541bdbdb60ca1b60405160408082019052601781527f4d697373696e6720466565506f6f6c20616464726573730000000000000000006020820152613206565b905090565b600061255b6822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e6765722061646472657373000000000000006020820152613206565b600061255b6524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b6020820152613206565b600060076125f8613584565b6001600160a01b036101009290920a90041663b46310f6836126d28460006007612620613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806126796135bc565b15801561268557600080fd5b505a61268f613675565b50505050501580156126a5573d6000803e3d6000fd5b505050506040513d60208110156126bb57600080fd5b8101908080519392505063ffffffff6132c6169050565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806127136135bc565b15801561271f57600080fd5b505a6127296135eb565b505050505050158015612740573d6000803e3d6000fd5b5050505061275e81600a612752613584565b9063ffffffff6132c616565b80600a612769613640565b5050506127786000838361331f565b610d3a828261338c565b600080600761278f613584565b6001600160a01b036101009290920a90041663b46310f68461281085600060076127b7613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061242f6135bc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806128516135bc565b15801561285d57600080fd5b505a6128676135eb565b50505050505015801561287e573d6000803e3d6000fd5b5050505061289c82600a612890613584565b9063ffffffff61315416565b80600a6128a7613640565b5050506128b68360008461331f565b6128c083836134fe565b50600192915050565b600060046128d5613584565b906101000a90046001600160a01b03166001600160a01b03165a6128f76136ca565b6001600160a01b031614158015612943575060006005612915613584565b906101000a90046001600160a01b03166001600160a01b03165a6129376136ca565b6001600160a01b031614155b801561298457505a6129536136ca565b6001600160a01b031660006006612968613584565b906101000a90046001600160a01b03166001600160a01b031614155b156129c5575a6129926136ca565b600660018161299f613584565b816001600160a01b0302191690836001600160a01b03160217906129c1613640565b5050505b6000806129d0613584565b6001600160a01b036101009290920a900416600060066129ee613584565b906101000a90046001600160a01b03166001600160a01b031614611f065760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015260640160405180910390fd5b60006004612a5a613584565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612b4a578082015183820152602001612b32565b50505050905090810190601f168015612b775780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780612b966135bc565b158015612ba257600080fd5b505a612bac6135eb565b50505050505015801561120b573d6000803e3d6000fd5b600080600e612bd0613584565b631cd554d160e21b1415612c0c575081612c0660006006612bef613584565b906101000a90046001600160a01b03168585612d94565b50612d0e565b612c14612560565b6001600160a01b0316630a1e187d60006006612c2e613584565b906101000a90046001600160a01b0316600e612c48613584565b8673feefeefeefeefeefeefeefeefeefeefeefeefeef6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015260248101939093526044830191909152631cd554d160e21b6064830152909116608482015260a40160206040518083038160008780612cbf6135bc565b158015612ccb57600080fd5b505a612cd56135eb565b505050505050158015612cec573d6000803e3d6000fd5b505050506040513d6020811015612d0257600080fd5b81019080805193505050505b612d16612512565b6001600160a01b03166322bf55ef826040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780612d596135bc565b158015612d6557600080fd5b505a612d6f6135eb565b505050505050158015612d86573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b03831615801590612df057505a63996d79a5598160e01b8152602081600483336000905af180612dd3576040513d6000823e3d81fd5b815193505050506001600160a01b0316836001600160a01b031614155b8015612e29575060006004612e03613584565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b612e795760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015260640160405180910390fd5b60006007612e85613584565b6001600160a01b036101009290920a90041663b46310f685612f068560006007612ead613584565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061242f6135bc565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612f476135bc565b158015612f5357600080fd5b505a612f5d6135eb565b505050505050158015612f74573d6000803e3d6000fd5b505050506007600090612f85613584565b6001600160a01b036101009290920a90041663b46310f6846130068560006007612fad613584565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806126796135bc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806130476135bc565b15801561305357600080fd5b505a61305d6135eb565b505050505050158015613074573d6000803e3d6000fd5b5050505061308384848461331f565b5060019392505050565b60006004613099613584565b906101000a90046001600160a01b03166001600160a01b03165a6130bb6136ca565b6001600160a01b031614806131045750600060056130d7613584565b906101000a90046001600160a01b03166001600160a01b03165a6130f96136ca565b6001600160a01b0316145b611f065760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015260640160405180910390fd5b6000828211156131aa5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6001600160a01b031690565b600061255b6b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d53746174757320616464726573730000000060208201525b6000828152600c6020528060408120600090613220613584565b6001600160a01b036101009290920a900416905082816132be5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561328357808201518382015260200161326b565b50505050905090810190601f1680156132b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60008282018381101561167e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b6000600461332b613584565b906101000a90046001600160a01b03166001600160a01b031663907dff9782604051602001808281526020019150506040516020818303038152906040526003604051806021613846823960210190506040518091039020611f75886131b0565b60006004613398613584565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f49737375656428616464726573732c75696e743235362900000000000000000081526017016040518091039020613412876131b0565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561348557808201518382015260200161346d565b50505050905090810190601f1680156134b25780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806134d16135bc565b1580156134dd57600080fd5b505a6134e76135eb565b50505050505015801561156a573d6000803e3d6000fd5b6000600461350a613584565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f4275726e656428616464726573732c75696e743235362900000000000000000081526017016040518091039020613412876131b0565b6320966208598160e01b8152836004820152602081602483336000905af1806135b3576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806135b3576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b8881101561361b578088015182820160240152602001613600565b5089898960240183336000905af18061363a576040513d6000823e3d81fd5b99505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af180611138576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b878110156136a557808701518282016024015260200161368a565b5088888860240183336000905af1806136c4576040513d6000823e3d81fd5b98505050565b6373509064598160e01b8152602081600483336000905af1806135b3576040513d6000823e3d81fd5b63bdbf8c36598160e01b8152602081600483336000905af1806135b3576040513d6000823e3d81fd5b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x8da9e910f3b5084a5cd123a4ae91d1760daf39f835316ead2eb8b3e7b1a5e486",
				"urls": [
					"bzz-raw://3edededa993339f9ed6b1f7aecd3f04cbe5ae8e15d37019dc1326cb359a71127",
					"dweb:/ipfs/QmdY3BCrwacQrPtKQrQVxez4os2vhL765SCYjbVtBikojB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Pynth.sol": "Pynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Pynth.sol": {
						"keccak256": "0x8da9e910f3b5084a5cd123a4ae91d1760daf39f835316ead2eb8b3e7b1a5e486",
						"urls": [
							"bzz-raw://3edededa993339f9ed6b1f7aecd3f04cbe5ae8e15d37019dc1326cb359a71127",
							"dweb:/ipfs/QmdY3BCrwacQrPtKQrQVxez4os2vhL765SCYjbVtBikojB"
						]
					}
				},
				"version": 1
			}
		},
		"EmptyEtherCollateral": {
			"bytecode": "6080604052348015600f57600080fd5b50604a80601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ee5f3f5c14602d575b600080fd5b60336045565b60408051918252519081900360200190f35b60009056",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xee5f3f5c"
				}
			],
			"source": {
				"keccak256": "0xc8f8ad82d5057f273812f5530fd020a245f3aae7fc6a7331f7eb7028667a7e23",
				"urls": [
					"bzz-raw://7d5f680e4f7557b98a7ba81f591a32a08dd06ed0fa233aa9609c7bd6c059ae9c",
					"dweb:/ipfs/QmY2Jm424hDVnEnErEko4UDCUH4gPsaqdH3u46e2M44VDv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EmptyEtherCollateral.sol": "EmptyEtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EmptyEtherCollateral.sol": {
						"keccak256": "0xc8f8ad82d5057f273812f5530fd020a245f3aae7fc6a7331f7eb7028667a7e23",
						"urls": [
							"bzz-raw://7d5f680e4f7557b98a7ba81f591a32a08dd06ed0fa233aa9609c7bd6c059ae9c",
							"dweb:/ipfs/QmY2Jm424hDVnEnErEko4UDCUH4gPsaqdH3u46e2M44VDv"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b506040516117083803806117088339818101604052602081101561003357600080fd5b81019080805192508291506000905060018161004d610078565b816001600160a01b0302191690836001600160a01b031602179061006f6100b0565b505050506100ea565b6320966208598160e01b8152836004820152602081602483336000905af1806100a7576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806100e5576040513d6000823e3d81fd5b505050565b61160f806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630120be331461006757806327fe55a6146100a5578063492dbcdd14610146578063a827bf481461022c578063d18ab37614610252578063eade6d2d14610276575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b0381351690602001356102d1565b60405190815260200160405180910390f35b6100ad6105d3565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100f15780820151838201526020016100d9565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610130578082015183820152602001610118565b5050505090500194505050505060405180910390f35b61014e610869565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561019657808201518382015260200161017e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d55780820151838201526020016101bd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156102145780820151838201526020016101fc565b50505050905001965050505050505060405180910390f35b61014e6004803603602081101561024257600080fd5b50356001600160a01b0316610c67565b61025a61107c565b6040516001600160a01b03909116815260200160405180910390f35b61027e61109a565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102bd5780820151838201526020016102a5565b505050509050019250505060405180910390f35b6000806102dc6113c1565b905060006102e86114b2565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b81526004016020604051808303818680610320611553565b15801561032c57600080fd5b505a61033661158b565b505050505015801561034c573d6000803e3d6000fd5b505050506040513d602081101561036257600080fd5b81019080805193506000925050505b818110156105c9576000846001600160a01b031663835e119c836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806103bd611553565b1580156103c957600080fd5b505a6103d361158b565b50505050501580156103e9573d6000803e3d6000fd5b505050506040513d60208110156103ff57600080fd5b8101908080519350506001600160a01b03808716925063654a60ac9150831663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680610448611553565b15801561045457600080fd5b505a61045e61158b565b5050505050158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b810190808051925050506001600160a01b0384166370a082318c6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806104de611553565b1580156104ea57600080fd5b505a6104f461158b565b505050505015801561050a573d6000803e3d6000fd5b505050506040513d602081101561052057600080fd5b81019080805192508c915060409050516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381868061056c611553565b15801561057857600080fd5b505a61058261158b565b5050505050158015610598573d6000803e3d6000fd5b505050506040513d60208110156105ae57600080fd5b81019080805198909801975050600190920191506103719050565b5050505092915050565b60608060606105e06113c1565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680610613611553565b15801561061f57600080fd5b505a61062961158b565b505050505015801561063f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561066857600080fd5b810190808051604051939291908464010000000082111561068857600080fd5b90830190602082018581111561069d57600080fd5b82518660208202830111640100000000821117156106ba57600080fd5b825250602001908051906020019060200280838360005b838110156106e95780820151838201526020016106d1565b505050509050016040525050509050806107016114b2565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561075f578082015183820152602001610747565b5050505090500192505050600060405180830381868061077d611553565b15801561078957600080fd5b505a61079361158b565b50505050501580156107a9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156107d257600080fd5b81019080805160405193929190846401000000008211156107f257600080fd5b90830190602082018581111561080757600080fd5b825186602082028301116401000000008211171561082457600080fd5b825250602001908051906020019060200280838360005b8381101561085357808201518382015260200161083b565b5050505090500160405250505092509250509091565b606080606060006108786113c1565b905060006108846114b2565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186806108bc611553565b1580156108c857600080fd5b505a6108d261158b565b50505050501580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b8101908080519350606092508391506040905051908082528060200260200182016040528015610938578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610967578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610996578160200160208202803883390190505b50905060005b84811015610c57576000876001600160a01b031663835e119c836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806109e8611553565b1580156109f457600080fd5b505a6109fe61158b565b5050505050158015610a14573d6000803e3d6000fd5b505050506040513d6020811015610a2a57600080fd5b8101908080519350506001600160a01b038316915063dbd06c8590506040518163ffffffff1660e01b81526004016020604051808303818680610a6b611553565b158015610a7757600080fd5b505a610a8161158b565b5050505050158015610a97573d6000803e3d6000fd5b505050506040513d6020811015610aad57600080fd5b810190808051925087915084905081518110610ac557fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680610b05611553565b158015610b1157600080fd5b505a610b1b61158b565b5050505050158015610b31573d6000803e3d6000fd5b505050506040513d6020811015610b4757600080fd5b810190808051925086915084905081518110610b5f57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610b8657fe5b6020026020010151868581518110610b9a57fe5b6020026020010151631cd554d160e21b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016020604051808303818680610be9611553565b158015610bf557600080fd5b505a610bff61158b565b5050505050158015610c15573d6000803e3d6000fd5b505050506040513d6020811015610c2b57600080fd5b810190808051925085915084905081518110610c4357fe5b60209081029190910101525060010161099c565b5091975095509350505050909192565b60608060606000610c766113c1565b90506000610c826114b2565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b81526004016020604051808303818680610cba611553565b158015610cc657600080fd5b505a610cd061158b565b5050505050158015610ce6573d6000803e3d6000fd5b505050506040513d6020811015610cfc57600080fd5b8101908080519350606092508391506040905051908082528060200260200182016040528015610d36578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610d65578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610d94578160200160208202803883390190505b50905060005b8481101561106b576000876001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610de6611553565b158015610df257600080fd5b505a610dfc61158b565b5050505050158015610e12573d6000803e3d6000fd5b505050506040513d6020811015610e2857600080fd5b8101908080519350506001600160a01b038316915063dbd06c8590506040518163ffffffff1660e01b81526004016020604051808303818680610e69611553565b158015610e7557600080fd5b505a610e7f61158b565b5050505050158015610e95573d6000803e3d6000fd5b505050506040513d6020811015610eab57600080fd5b810190808051925087915084905081518110610ec357fe5b602002602001018181525050806001600160a01b03166370a082318d6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610f19611553565b158015610f2557600080fd5b505a610f2f61158b565b5050505050158015610f45573d6000803e3d6000fd5b505050506040513d6020811015610f5b57600080fd5b810190808051925086915084905081518110610f7357fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610f9a57fe5b6020026020010151868581518110610fae57fe5b6020026020010151631cd554d160e21b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016020604051808303818680610ffd611553565b15801561100957600080fd5b505a61101361158b565b5050505050158015611029573d6000803e3d6000fd5b505050506040513d602081101561103f57600080fd5b81019080805192508591508490508151811061105757fe5b602090810291909101015250600101610d9a565b509199909850909650945050505050565b6000806110876115e0565b906101000a90046001600160a01b031681565b606060006110a66113c1565b905060006110b26114b2565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186806110ea611553565b1580156110f657600080fd5b505a61110061158b565b5050505050158015611116573d6000803e3d6000fd5b505050506040513d602081101561112c57600080fd5b8101908080519350606092508391506040905051908082528060200260200182016040528015611166578160200160208202803883390190505b50905060005b828110156113b8576000856001600160a01b031663835e119c836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806111b8611553565b1580156111c457600080fd5b505a6111ce61158b565b50505050501580156111e4573d6000803e3d6000fd5b505050506040513d60208110156111fa57600080fd5b8101908080519350506001600160a01b03808816925063af3aea869150831663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680611243611553565b15801561124f57600080fd5b505a61125961158b565b505050505015801561126f573d6000803e3d6000fd5b505050506040513d602081101561128557600080fd5b81019080805192506040915050516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806112c2611553565b1580156112ce57600080fd5b505a6112d861158b565b50505050501580156112ee573d6000803e3d6000fd5b505050506040513d602081101561130457600080fd5b8101908080511592506113af91505057806001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680611348611553565b15801561135457600080fd5b505a61135e61158b565b5050505050158015611374573d6000803e3d6000fd5b505050506040513d602081101561138a57600080fd5b8101908080519250859150849050815181106113a257fe5b6020026020010181815250505b5060010161116c565b50935050505090565b600080806113cd6115e0565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01680a6f2dce8d0cae8d2f60bb1b6040516001600160e01b031960e084901b1681526004810191909152604060248201819052601960448301527f4d697373696e672053796e746865746978206164647265737300000000000000606483015260849091019060209051808303818680611462611553565b15801561146e57600080fd5b505a61147861158b565b505050505015801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b810190808051935050505090565b600080806114be6115e0565b906101000a90046001600160a01b03166001600160a01b031663dacb2d016c45786368616e6765526174657360981b6040516001600160e01b031960e084901b1681526004810191909152604060248201819052601d60448301527f4d697373696e672045786368616e6765526174657320616464726573730000006064830152608490910190602090518083038186806114625b63c3382d0f598160e01b8152836004820152602081602483336000905af180611582576040513d6000823e3d81fd5b81519450505050565b63fbb0f79d598160e01b815284600482015260005b878110156115bb5780870151828201602401526020016115a0565b5088888860240183336000905af1806115da576040513d6000823e3d81fd5b98505050565b6320966208598160e01b8152836004820152602081602483336000905af180611582576040513d6000823e3d81fd",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd18ab376"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeade6d2d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa827bf48"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27fe55a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x492dbcdd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0120be33"
				}
			],
			"source": {
				"keccak256": "0xab16e851e11066e708768d227250ac10e4ccdfb8f8a7d148afc91d6db81c49ef",
				"urls": [
					"bzz-raw://2a592d5998ef3b5f66ecd403d0c4ff2aedaccfb490d0f87a572ab44233a225ae",
					"dweb:/ipfs/QmWQ93dhawRQNMQNk2RaGsMnaZKYJz8tuwZbBpASiBwcYY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PynthUtil.sol": "PynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PynthUtil.sol": {
						"keccak256": "0xab16e851e11066e708768d227250ac10e4ccdfb8f8a7d148afc91d6db81c49ef",
						"urls": [
							"bzz-raw://2a592d5998ef3b5f66ecd403d0c4ff2aedaccfb490d0f87a572ab44233a225ae",
							"dweb:/ipfs/QmWQ93dhawRQNMQNk2RaGsMnaZKYJz8tuwZbBpASiBwcYY"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "608060405260006001600160a01b8161001661021f565b8160ff0219169083151502179061002b610257565b5050506000600160156101000a8161004161021f565b8160ff02191690831515021790610056610257565b50505034801561006557600080fd5b5060405161098d38038061098d8339818101604052602081101561008857600080fd5b8101908080519250829150506001600160a01b0381166100ee5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816100fc61021f565b816001600160a01b0302191690836001600160a01b031602179061011e610257565b50505060008051602061096d8339815191526000826040516001600160a01b039283168152911660208201526040908101905180910390a1506001600160a01b0381166101b15760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816101bf61021f565b816001600160a01b0302191690836001600160a01b03160217906101e1610257565b50505060008051602061096d8339815191526000826040516001600160a01b039283168152911660208201526040908101905180910390a150610291565b6320966208598160e01b8152836004820152602081602483336000905af18061024e576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061028c576040513d6000823e3d81fd5b505050565b6106cd806102a06000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101ef565b6100e76102b7565b6040516001600160a01b03909116815260200160405180910390f35b6100be6102d6565b6100e7610450565b61011b61045b565b604051901515815260200160405180910390f35b6100be6004803603602081101561014557600080fd5b50351515610474565b61011b6104f3565b6100be6004803603602081101561016c57600080fd5b503515156104ff565b61017d61055e565b806001808061018a6105d2565b816001600160a01b0302191690836001600160a01b03160217906101ac61060a565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6101f761055e565b806001600160a01b816102086105d2565b8160ff0219169083151502179061021d61060a565b50505080600160156101000a816102326105d2565b8160ff0219169083151502179061024761060a565b5050507f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea3281604051901515815260200160405180910390a17f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c681604051901515815260200160405180910390a150565b600060016102c36105d2565b906101000a90046001600160a01b031681565b600060016102e26105d2565b906101000a90046001600160a01b03166001600160a01b03165a61030461063f565b6001600160a01b0316146103495760405162461bcd60e51b81526004018080602001828103825260358152602001806106696035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806103756105d2565b906101000a90046001600160a01b031660016000906103926105d2565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016103d16105d2565b906101000a90046001600160a01b03166000806101000a816103f16105d2565b816001600160a01b0302191690836001600160a01b031602179061041361060a565b5050506000600160006101000a816104296105d2565b816001600160a01b0302191690836001600160a01b031602179061044b61060a565b505050565b6000806102c36105d2565b601560016104676105d2565b906101000a900460ff1681565b61047c61055e565b806001600160a01b8161048d6105d2565b8160ff021916908315150217906104a261060a565b5050507f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea3260016014906104d36105d2565b906101000a900460ff16604051901515815260200160405180910390a150565b601460016104676105d2565b61050761055e565b806001600160a81b816105186105d2565b8160ff0219169083151502179061052d61060a565b5050507f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c660016015906104d36105d2565b6000806105696105d2565b906101000a90046001600160a01b03166001600160a01b03165a61058b61063f565b6001600160a01b0316146105d05760405162461bcd60e51b815260040180806020018281038252602f81526020018061069e602f913960400191505060405180910390fd5b565b6320966208598160e01b8152836004820152602081602483336000905af180610601576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061044b576040513d6000823e3d81fd5b6373509064598160e01b8152602081600483336000905af180610601576040513d6000823e3d81fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6eb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0xe967ee4aaefe48b46edfb9a62689a660d5fd07a7c4df571feb527b29bb547480",
				"urls": [
					"bzz-raw://4749fa2efb80b288ecdb632ecc6bf09bc7f15f7792ec2c88e6c9eb63c8f81e25",
					"dweb:/ipfs/QmPBuW4bbU35ntkdymoxMUoaXKRKaNBRMkXcCKhGGxd8RY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0xe967ee4aaefe48b46edfb9a62689a660d5fd07a7c4df571feb527b29bb547480",
						"urls": [
							"bzz-raw://4749fa2efb80b288ecdb632ecc6bf09bc7f15f7792ec2c88e6c9eb63c8f81e25",
							"dweb:/ipfs/QmPBuW4bbU35ntkdymoxMUoaXKRKaNBRMkXcCKhGGxd8RY"
						]
					}
				},
				"version": 1
			}
		},
		"MintablePeriFinance": {
			"bytecode": "608060405260405160c0810160409081526b53797374656d53746174757360a01b82526822bc31b430b733b2b960b91b60208301526524b9b9bab2b960d11b908201526d537570706c795363686564756c6560901b60608201527f52657761726473446973747269627574696f6e0000000000000000000000000060808201526d53796e746865746978537461746560901b60a0820152620000a690600c9060066200078a565b50348015620000bf57600080620000bc620007d8565b50505b50604051620052df380380620052df833981810160405260a0811015620000f057600080620000ed620007d8565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051925086915085905084848480600c60186103006040519081016040529190610300830182845b816200014762000845565b815260200190600101908083116200013c575050505050868660405160408082018152601782527f53796e746865746978204e6574776f726b20546f6b656e0000000000000000006020830152516040808201905260038152620a69cb60eb1b60208201528760128a86816001600160a01b038116620002185760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064016040518091039062000215620007d8565b50505b8060006001816200022862000845565b816001600160a01b0302191690836001600160a01b03160217906200024c620008a7565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620002a562000845565b906101000a90046001600160a01b03166001600160a01b03161415620003105760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906200030d620007d8565b50505b8060026001816200032062000845565b816001600160a01b0302191690836001600160a01b031602179062000344620008a7565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a1508560056001816200039562000845565b816001600160a01b0302191690836001600160a01b0316021790620003b9620008a7565b505050846006908051620003d2929160200190620008f6565b506007848051620003e8929160200190620008f6565b5082806008620003f7620008a7565b50505081600960006101000a816200040e62000845565b8160ff021916908360ff1602179062000426620008a7565b5050505050505050505060006001600160a01b0316600080906200044962000845565b906101000a90046001600160a01b03166001600160a01b03161415620004b45760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620004b1620007d8565b50505b60005b601881101562000544576000828260188110620004d057fe5b6020020151146200053557600b828260188110620004ea57fe5b60200201519080600181620004fe62000845565b0180826200050b620008a7565b50506000928352916000198301915060209020919291016200052c620008a7565b5050506200053b565b62000544565b600101620004b7565b50816009610100816200055662000845565b816001600160a01b0302191690836001600160a01b03160217906200057a620008a7565b50505050505050505050620005b57f53796e746865746978427269646765546f426173650000000000000000000000620005c060201b60201c565b505050505062000af9565b80600b80600181620005d162000845565b018082620005de620008a7565b5050600092835291600019830191506020902091929101620005ff620008a7565b5050506018600b806200061162000845565b905010620006705760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d657400000000006044820152606401604051809103906200066d620007d8565b50505b600160096200067e62000845565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620006d1620009a1565b158015620006e957600080620006e6620007d8565b50505b505a620006f5620009ee565b505050505015801562000717573d6000803e3d600062000714620007d8565b50505b505050506040513d6020811015620007395760008062000736620007d8565b50505b8101908080516000858152600a602052909350604092509050206001816200076062000845565b816001600160a01b0302191690836001600160a01b031602179062000784620008a7565b50505050565b8260188101928215620007c6579160200282015b82811115620007c657825182620007b4620008a7565b5050916020019190600101906200079e565b50620007d492915062000aa2565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101562000812578086015182820160400152602001620007f5565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620008a25760008282015260200162000889565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000889565b82806200090262000845565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200094d57805160ff1916838001178562000945620008a7565b505062000993565b828001600101856200095e620008a7565b5050821562000993579182015b82811115620009935782518262000981620008a7565b5050916020019190600101906200096b565b50620007d492915062000acf565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000889565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101562000a3457808801518282015260200162000a1a565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b8181101562000a97576000815260200162000a81565b50919b505050505050565b62000acc91905b80821115620007d4576000808262000ac0620008a7565b50505060010162000aa9565b90565b62000acc91905b80821115620007d4576000808262000aed620008a7565b50505060010162000ad6565b6147d68062000b096000396000f3fe608060405234801561001957600080610016614359565b50505b50600436106103e45760003560e01c806383d625d411610213578063bc67f8321161012e578063dbf63340116100c1578063e8e09b8b11610090578063e8e09b8b14610d73578063e90dd9e214610da8578063ec55688914610db0578063edef719a14610db8578063ee52a2f314610ded576103e4565b8063dbf6334014610cf7578063dd62ed3e14610cff578063e3235c9114610d36578063e6203ed114610d3e576103e4565b8063d37c4d8b116100fd578063d37c4d8b14610c6e578063d60888e414610ca3578063d67bdd2514610cc9578063d8a1f76f14610cd1576103e4565b8063bc67f83214610ba3578063c2bf388014610bd2578063c6c9d82814610c07578063c836fa0a14610c2d576103e4565b8063987757dd116101a6578063a5fdc5de11610175578063a5fdc5de14610af6578063a9059cbb14610b25578063ab49848c14610b5a578063af086c7e14610b9b576103e4565b8063987757dd14610a6a5780639cbdaeb614610a905780639f76980714610a98578063a311c7c214610ac7576103e4565b80639324cac7116101e25780639324cac714610a2357806395d89b4114610a2b57806397107d6d14610a335780639741fb2214610a62576103e4565b806383d625d4146109805780638a290014146109a65780638da5cb5b146109cc57806391e56b68146109d4576103e4565b80632c955fa71161030357806353a47bb71161029657806370a082311161026557806370a08231146108c857806372cb051f146108f757806379ba509714610952578063835e119c1461095a576103e4565b806353a47bb71461082d578063631e144414610835578063666ed4f1146108645780636ac0bf9c14610899576103e4565b8063320223db116102d2578063320223db146107a157806332608039146107d05780633be99e6f146107f65780634e99bda914610825576103e4565b80632c955fa7146107055780632e0f26251461073457806330ead76014610752578063313ce56714610799576103e4565b80631627540c1161037b5780631fce304d1161034a5780631fce304d1461067257806323b872dd14610698578063295da87d146106d75780632a905318146106fd576103e4565b80631627540c1461060457806316b2213f1461063357806318160ddd14610662578063188214001461066a576103e4565b80630e30963c116103b75780630e30963c1461051f5780631137aedf146105785780631249c58b146105cb578063131b0ae7146105d3576103e4565b806304f3bcec146103f257806305b3c1c91461041657806306fdde0314610457578063095ea7b3146104d6575b6000806103ef614359565b50505b6103fa610e1f565b6040516001600160a01b03909116815260200160405180910390f35b6104456004803603602081101561043557600080610432614359565b50505b50356001600160a01b0316610e3e565b60405190815260200160405180910390f35b61045f610eff565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561049b578082015183820152602001610483565b50505050905090810190601f1680156104c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61050b600480360360408110156104f5576000806104f2614359565b50505b506001600160a01b038135169060200135610fb8565b604051901515815260200160405180910390f35b6105576004803603608081101561053e5760008061053b614359565b50505b50803590602081013590604081013590606001356110b6565b6040519182526001600160a01b031660208201526040908101905180910390f35b6105a76004803603602081101561059757600080610594614359565b50505b50356001600160a01b03166110ca565b60405180848152602001838152602001828152602001935050505060405180910390f35b61050b6111a7565b610602600480360360208110156105f2576000806105ef614359565b50505b50356001600160a01b03166111b4565b005b6106026004803603602081101561062357600080610620614359565b50505b50356001600160a01b03166111f2565b610445600480360360208110156106525760008061064f614359565b50505b50356001600160a01b031661126c565b6104456112bf565b61045f6112cc565b61050b600480360360208110156106915760008061068e614359565b50505b5035611303565b61050b600480360360608110156106b7576000806106b4614359565b50505b506001600160a01b038135811691602081013590911690604001356113e8565b610602600480360360208110156106f6576000806106f3614359565b50505b50356114ab565b61045f6115eb565b6106026004803603602081101561072457600080610721614359565b50505b50356001600160a01b0316611608565b61073c611703565b60405160ff909116815260200160405180910390f35b610445600480360360a08110156107715760008061076e614359565b50505b508035906020810135906040810135906001600160a01b036060820135169060800135611708565b61073c61171b565b610602600480360360208110156107c0576000806107bd614359565b50505b50356001600160a01b0316611734565b6103fa600480360360208110156107ef576000806107ec614359565b50505b50356117dc565b6106026004803603602081101561081557600080610812614359565b50505b50356001600160a01b0316611827565b61050b6119f2565b6103fa611a9a565b61050b6004803603602081101561085457600080610851614359565b50505b50356001600160a01b0316611aa6565b6106026004803603604081101561088357600080610880614359565b50505b506001600160a01b038135169060200135611c81565b610445600480360360208110156108b8576000806108b5614359565b50505b50356001600160a01b0316611c93565b610445600480360360208110156108e7576000806108e4614359565b50505b50356001600160a01b0316611e2d565b6108ff611e93565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561093e578082015183820152602001610926565b505050509050019250505060405180910390f35b610602611fee565b6103fa6004803603602081101561097957600080610976614359565b50505b5035612171565b6104456004803603602081101561099f5760008061099c614359565b50505b50356121bc565b610602600480360360208110156109c5576000806109c2614359565b50505b5035612210565b6103fa6122b7565b610445600480360360c08110156109f3576000806109f0614359565b50505b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a001356122c2565b6104456122d6565b61045f6122e1565b61060260048036036020811015610a5257600080610a4f614359565b50505b50356001600160a01b0316612383565b6106026123fe565b6105a760048036036020811015610a8957600080610a86614359565b50505b5035612536565b6103fa612543565b61060260048036036020811015610ab757600080610ab4614359565b50505b50356001600160a01b031661254f565b61044560048036036020811015610ae657600080610ae3614359565b50505b50356001600160a01b0316612593565b61044560048036036020811015610b1557600080610b12614359565b50505b50356001600160a01b03166125e6565b61050b60048036036040811015610b4457600080610b41614359565b50505b506001600160a01b038135169060200135612639565b610b62612717565b604051808261030080838360005b83811015610b88578082015183820152602001610b70565b5050505090500191505060405180910390f35b610602612779565b61060260048036036020811015610bc257600080610bbf614359565b50505b50356001600160a01b0316612820565b61060260048036036040811015610bf157600080610bee614359565b50505b506001600160a01b038135169060200135612836565b61044560048036036020811015610c2657600080610c23614359565b50505b5035612982565b61044560048036036080811015610c4c57600080610c49614359565b50505b506001600160a01b0381351690602081013590604081013590606001356129aa565b61044560048036036040811015610c8d57600080610c8a614359565b50505b506001600160a01b0381351690602001356129bc565b61044560048036036020811015610cc257600080610cbf614359565b50505b5035612a82565b6103fa612ad6565b61060260048036036020811015610cf057600080610ced614359565b50505b5035612ae2565b610445612bb0565b61044560048036036040811015610d1e57600080610d1b614359565b50505b506001600160a01b0381358116916020013516612bed565b610445612c5b565b61050b60048036036040811015610d5d57600080610d5a614359565b50505b506001600160a01b038135169060200135612c60565b61060260048036036040811015610d9257600080610d8f614359565b50505b506001600160a01b038135169060200135612c6a565b6103fa612d12565b6103fa612d1e565b61060260048036036040811015610dd757600080610dd4614359565b50505b506001600160a01b038135169060200135612d2a565b61044560048036036060811015610e0c57600080610e09614359565b50505b5080359060208101359060400135612ee8565b60016009610e2b6143c4565b906101000a90046001600160a01b031681565b6000610e48612ef2565b6001600160a01b03166305b3c1c9836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e9161441f565b158015610ea657600080610ea3614359565b50505b505a610eb061446b565b5050505050158015610ecf573d6000803e3d6000610ecc614359565b50505b505050506040513d6020811015610eee57600080610eeb614359565b50505b81019080805193505050505b919050565b600680610f0a6143c4565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610f446143c4565b60018160011615610100020316600290048015610fb05780601f10610f7e576101008083610f706143c4565b040283529160200191610fb0565b820191906000526020600020905b81610f956143c4565b81529060010190602001808311610f8c57829003601f168201915b505050505081565b6000610fc2612f38565b6000806004610fcf6143c4565b906101000a90046001600160a01b031690506005600090610fee6143c4565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061105c61441f565b1580156110715760008061106e614359565b50505b505a61107b61451b565b50505050505015801561109b573d6000803e3d6000611098614359565b50505b505050506110aa81858561300e565b60019150505b92915050565b6000806110c1613186565b94509492505050565b60008060006110d7612ef2565b6001600160a01b0316631137aedf856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401606060405180830381868061112061441f565b15801561113557600080611132614359565b50505b505a61113f61446b565b505050505015801561115e573d6000803e3d600061115b614359565b50505b505050506040513d606081101561117d5760008061117a614359565b50505b810190808051929190602001805192919060200180519497509295509293505050505b9193909250565b60006111b1613186565b90565b6111bc6131d8565b8060036001816111ca6143c4565b816001600160a01b0302191690836001600160a01b03160217906111ec6145cb565b50505050565b6111fa6131d8565b80600180806112076143c4565b816001600160a01b0302191690836001600160a01b03160217906112296145cb565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000611276612ef2565b6001600160a01b03166316b2213f836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e9161441f565b60086112c96143c4565b81565b60405160408082019052601781527f53796e746865746978204e6574776f726b20546f6b656e000000000000000000602082015281565b60008061130e613250565b6001600160a01b031663059c29ec600060046113286143c4565b906101000a90046001600160a01b0316856040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381868061137861441f565b15801561138d5760008061138a614359565b50505b505a61139761446b565b50505050501580156113b6573d6000803e3d60006113b3614359565b50505b505050506040513d60208110156113d5576000806113d2614359565b50505b8101908080519390931195945050505050565b60006113f2612f38565b6113fa61329b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061142d61441f565b1580156114425760008061143f614359565b50505b505a61144c61446b565b505050505015801561146b573d6000803e3d6000611468614359565b50505b5050505061147984836132e9565b506114a1600060046114896143c4565b906101000a90046001600160a01b03168585856135fe565b90505b9392505050565b6114b361329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806114e661441f565b1580156114fb576000806114f8614359565b50505b505a61150561446b565b5050505050158015611524573d6000803e3d6000611521614359565b50505b50505050611530612f38565b611538612ef2565b6001600160a01b031663b06e8c65600060046115526143c4565b906101000a90046001600160a01b0316836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806115a461441f565b1580156115b9576000806115b6614359565b50505b505a6115c361451b565b5050505050501580156115e3573d6000803e3d60006115e0614359565b50505b505050505b50565b6040516040808201905260038152620a69cb60eb1b602082015281565b61161061329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061164361441f565b15801561165857600080611655614359565b50505b505a61166261446b565b5050505050158015611681573d6000803e3d600061167e614359565b50505b5050505061168d612f38565b611695612ef2565b6001600160a01b0316632b3f41aa82600060046116b06143c4565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087806115a461441f565b601281565b6000611712613186565b95945050505050565b600060096117276143c4565b906101000a900460ff1681565b61173c61329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061176f61441f565b15801561178457600080611781614359565b50505b505a61178e61446b565b50505050501580156117ad573d6000803e3d60006117aa614359565b50505b505050506117b9612f38565b6117c1612ef2565b6001600160a01b031663fd864ccf82600060046116b06143c4565b60006117e6612ef2565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610e9161441f565b61182f6131d8565b8060096101008161183e6143c4565b816001600160a01b0302191690836001600160a01b03160217906118606145cb565b5060009150505b600b806118726143c4565b90508110156119ee576000600b82816118896143c4565b811061189157fe5b906000526020600020016118a36143c4565b9050600160096118b16143c4565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e672074617267657400000000000000000060648301526084909101906020905180830381868061193a61441f565b15801561194f5760008061194c614359565b50505b505a61195961446b565b5050505050158015611978573d6000803e3d6000611975614359565b50505b505050506040513d602081101561199757600080611994614359565b50505b8101908080516000858152600a602052909350604092509050206001816119bc6143c4565b816001600160a01b0302191690836001600160a01b03160217906119de6145cb565b5050600190920191506118679050565b5050565b60006119fc612ef2565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b81526004016020604051808303818680611a2f61441f565b158015611a4457600080611a41614359565b50505b505a611a4e61446b565b5050505050158015611a6d573d6000803e3d6000611a6a614359565b50505b505050506040513d6020811015611a8c57600080611a89614359565b50505b810190808051935050505090565b60006001610e2b6143c4565b60006001600160a01b03821660016009611abe6143c4565b906101000a90046001600160a01b03166001600160a01b031614611ae457506000610efa565b60005b600b80611af26143c4565b9050811015611c78576000600b8281611b096143c4565b8110611b1157fe5b90600052602060002001611b236143c4565b6000818152600a60205290915060409020600090611b3f6143c4565b6001600160a01b036101009290920a90041660016009611b5d6143c4565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680611bae61441f565b158015611bc357600080611bc0614359565b50505b505a611bcd61446b565b5050505050158015611bec573d6000803e3d6000611be9614359565b50505b505050506040513d6020811015611c0b57600080611c08614359565b50505b8101908080516001600160a01b031693909314159250829150611c5f905057506000818152600a60205260408120600090611c446143c4565b906101000a90046001600160a01b03166001600160a01b0316145b15611c6f57600092505050610efa565b50600101611ae7565b50600192915050565b611c89613730565b6119ee8282613795565b6000611c9d612ef2565b6001600160a01b0316636bed04158360006005611cb86143c4565b906101000a90046001600160a01b03166001600160a01b03166370a08231866040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611d1161441f565b158015611d2657600080611d23614359565b50505b505a611d3061446b565b5050505050158015611d4f573d6000803e3d6000611d4c614359565b50505b505050506040513d6020811015611d6e57600080611d6b614359565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680611db761441f565b158015611dcc57600080611dc9614359565b50505b505a611dd661446b565b5050505050158015611df5573d6000803e3d6000611df2614359565b50505b505050506040513d6040811015611e1457600080611e11614359565b50505b8101908080519291906020018051509295945050505050565b6000806005611e3a6143c4565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e9161441f565b6060611e9d612ef2565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680611ed061441f565b158015611ee557600080611ee2614359565b50505b505a611eef61446b565b5050505050158015611f0e573d6000803e3d6000611f0b614359565b50505b505050506040513d6000823e601f3d908101601f191682016040526020811015611f4057600080611f3d614359565b50505b8101908080516040519392919084640100000000821115611f6957600080611f66614359565b50505b908301906020820185811115611f8757600080611f84614359565b50505b8251866020820283011164010000000082111715611fad57600080611faa614359565b50505b825250602001908051906020019060200280838360005b83811015611fdc578082015183820152602001611fc4565b50505050905001604052505050905090565b60006001611ffa6143c4565b906101000a90046001600160a01b03166001600160a01b03165a61201c614619565b6001600160a01b03161461206a5760405162461bcd60e51b815260040180806020018281038252603581526020018061467d6035913960400191505060405180910390612067614359565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806120966143c4565b906101000a90046001600160a01b031660016000906120b36143c4565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016120f26143c4565b906101000a90046001600160a01b03166000806101000a816121126143c4565b816001600160a01b0302191690836001600160a01b03160217906121346145cb565b5050506000600160006101000a8161214a6143c4565b816001600160a01b0302191690836001600160a01b031602179061216c6145cb565b505050565b600061217b612ef2565b6001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610e9161441f565b60006121c6612ef2565b6001600160a01b0316637b1001b78360006040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610e9161441f565b61221861329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061224b61441f565b1580156122605760008061225d614359565b50505b505a61226a61446b565b5050505050158015612289573d6000803e3d6000612286614359565b50505b50505050612295612f38565b61229d612ef2565b6001600160a01b031663042e0688600060046115526143c4565b600080610e2b6143c4565b60006122cc613186565b9695505050505050565b631cd554d160e21b81565b6007806122ec6143c4565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806123266143c4565b60018160011615610100020316600290048015610fb05780601f10612352576101008083610f706143c4565b820191906000526020600020905b816123696143c4565b815290600101906020018083116123605750859350505050565b61238b6131d8565b8060026001816123996143c4565b816001600160a01b0302191690836001600160a01b03160217906123bb6145cb565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b61240661329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061243961441f565b15801561244e5760008061244b614359565b50505b505a61245861446b565b5050505050158015612477573d6000803e3d6000612474614359565b50505b50505050612483612f38565b61248b612ef2565b6001600160a01b031663497d704a600060046124a56143c4565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806124f161441f565b15801561250657600080612503614359565b50505b505a61251061451b565b5050505050501580156111ec573d6000803e3d600061252d614359565b5050505050505b565b60008060006111a0613186565b60006003610e2b6143c4565b612557613997565b8060056001816125656143c4565b816001600160a01b0302191690836001600160a01b03160217906125876145cb565b5050506115e881613b22565b600061259d612ef2565b6001600160a01b031663a311c7c2836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e9161441f565b60006125f0612ef2565b6001600160a01b031663a5fdc5de836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e9161441f565b6000612643612f38565b61264b61329b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061267e61441f565b15801561269357600080612690614359565b50505b505a61269d61446b565b50505050501580156126bc573d6000803e3d60006126b9614359565b50505b505050506126e660046000906126d06143c4565b906101000a90046001600160a01b0316836132e9565b5061270d600060046126f66143c4565b906101000a90046001600160a01b03168484613c6a565b5060019392505050565b61271f61465f565b60005b600b8061272d6143c4565b905081101561277557600b81816127426143c4565b811061274a57fe5b9060005260206000200161275c6143c4565b82826018811061276857fe5b6020020152600101612722565b5090565b61278161329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806127b461441f565b1580156127c9576000806127c6614359565b50505b505a6127d361446b565b50505050501580156127f2573d6000803e3d60006127ef614359565b50505b505050506127fe612f38565b612806612ef2565b6001600160a01b031663c8977132600060046124a56143c4565b612828613c77565b8060046001816111ca6143c4565b61283e61329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b8152600401600060405180830381868061287161441f565b15801561288657600080612883614359565b50505b505a61289061446b565b50505050501580156128af573d6000803e3d60006128ac614359565b50505b505050506128bb612f38565b6128c3612ef2565b6001600160a01b0316639a5154b483600060046128de6143c4565b906101000a90046001600160a01b0316846040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061293c61441f565b1580156129515760008061294e614359565b50505b505a61295b61451b565b50505050505015801561252d573d6000803e3d6000612978614359565b5050505050505050565b600b818161298e6143c4565b811061299657fe5b9060005260206000200190506112c96143c4565b60006129b4613186565b949350505050565b60006129c6612ef2565b6001600160a01b031663d37c4d8b84846040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680612a1561441f565b158015612a2a57600080612a27614359565b50505b505a612a3461446b565b5050505050158015612a53573d6000803e3d6000612a50614359565b50505b505050506040513d6020811015612a7257600080612a6f614359565b50505b8101908080519695505050505050565b6000612a8c612ef2565b6001600160a01b0316637b1001b78360016040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610e9161441f565b60006004610e2b6143c4565b612aea613730565b6000612af4613d44565b9050612b008183613795565b806001600160a01b03166359974e38836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038160008780612b4461441f565b158015612b5957600080612b56614359565b50505b505a612b6361451b565b505050505050158015612b83573d6000803e3d6000612b80614359565b50505b505050506040513d6020811015612ba257600080612b9f614359565b50505b810190808051505050505050565b6000612bba612ef2565b6001600160a01b031663dbf633406040518163ffffffff1660e01b81526004016020604051808303818680611a2f61441f565b6000806005612bfa6143c4565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612a1561441f565b601881565b60006110b0613186565b612c7261329b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680612ca561441f565b158015612cba57600080612cb7614359565b50505b505a612cc461446b565b5050505050158015612ce3573d6000803e3d6000612ce0614359565b50505b50505050612cef612f38565b612cf7612ef2565b6001600160a01b03166344ec6b6283600060046128de6143c4565b60006005610e2b6143c4565b60006002610e2b6143c4565b612d32613730565b60006005612d3e6143c4565b6001600160a01b036101009290920a90041663b46310f683612e338460006005612d666143c4565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612dbf61441f565b158015612dd457600080612dd1614359565b50505b505a612dde61446b565b5050505050158015612dfd573d6000803e3d6000612dfa614359565b50505b505050506040513d6020811015612e1c57600080612e19614359565b50505b8101908080519392505063ffffffff613d7c169050565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612e7461441f565b158015612e8957600080612e86614359565b50505b505a612e9361451b565b505050505050158015612eb3573d6000803e3d6000612eb0614359565b50505b50505050612ec382600083613de1565b612edd816008612ed16143c4565b9063ffffffff613d7c16565b8060086115e36145cb565b60006114a4613186565b6000612f336524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b6020820152613e4e565b905090565b60006002612f446143c4565b906101000a90046001600160a01b03166001600160a01b03165a612f66614619565b6001600160a01b031614158015612fb2575060006003612f846143c4565b906101000a90046001600160a01b03166001600160a01b03165a612fa6614619565b6001600160a01b031614155b8015612ff357505a612fc2614619565b6001600160a01b031660006004612fd76143c4565b906101000a90046001600160a01b03166001600160a01b031614155b15612534575a613001614619565b600460018161214a6143c4565b6000600261301a6143c4565b906101000a90046001600160a01b03166001600160a01b031663907dff978260405160200180828152602001915050604051602081830303815290604052600360405180602161474082396021019050604051809103902061307b88613f17565b61308488613f17565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156130f35780820151838201526020016130db565b50505050905090810190601f1680156131205780820380516001836020036101000a031916815260200191505b509750505050505050506000604051808303816000878061313f61441f565b15801561315457600080613151614359565b50505b505a61315e61451b565b5050505050501580156115e0573d6000803e3d600061317b614359565b505050505050505050565b60405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c6179657200000000006044820152606401604051809103906119ee614359565b6000806131e36143c4565b906101000a90046001600160a01b03166001600160a01b03165a613205614619565b6001600160a01b0316146125345760405162461bcd60e51b815260040180806020018281038252602f8152602001806146d8602f9139604001915050604051809103906119ee614359565b6000612f336822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e6765722061646472657373000000000000006020820152613e4e565b6000612f336b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d5374617475732061646472657373000000006020820152613e4e565b6000806132f4613f23565b6001600160a01b0316638b3f8088856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016040805180830381868061333c61441f565b1580156133515760008061334e614359565b50505b505a61335b61446b565b505050505015801561337a573d6000803e3d6000613377614359565b50505b505050506040513d604081101561339957600080613396614359565b50505b81019080805192919060200180515092935050821591506110aa9050576000806133c1612ef2565b6001600160a01b0316636bed041587600060056133dc6143c4565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061343561441f565b15801561344a57600080613447614359565b50505b505a61345461446b565b5050505050158015613473573d6000803e3d6000613470614359565b50505b505050506040513d60208110156134925760008061348f614359565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401604080518083038186806134db61441f565b1580156134f0576000806134ed614359565b50505b505a6134fa61446b565b5050505050158015613519573d6000803e3d6000613516614359565b50505b505050506040513d604081101561353857600080613535614359565b50505b8101908080519291906020018051939550929350505050818511156135975760405162461bcd60e51b81526004018080602001828103825260268152602001806146b26026913960400191505060405180910390613594614359565b50505b80156135f25760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c696400006044820152606401604051809103906135ef614359565b50505b50600195945050505050565b600080600561360b6143c4565b6001600160a01b036101009290920a90041663da46098c858761369586600060056136346143c4565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e8b8d6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612dbf61441f565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529190921660248201526044810191909152606401600060405180830381600087806136e261441f565b1580156136f7576000806136f4614359565b50505b505a61370161451b565b505050505050158015613721573d6000803e3d600061371e614359565b50505b50505050611712848484613f73565b6137386142b7565b6001600160a01b03165a61374a614619565b6001600160a01b0316146125345760405162461bcd60e51b815260040180806020018281038252603981526020018061470760399139604001915050604051809103906119ee614359565b600060056137a16143c4565b6001600160a01b036101009290920a90041663b46310f68361389684600060056137c96143c4565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061382261441f565b15801561383757600080613834614359565b50505b505a61384161446b565b5050505050158015613860573d6000803e3d600061385d614359565b50505b505050506040513d602081101561387f5760008061387c614359565b50505b8101908080519392505063ffffffff6142f1169050565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806138d761441f565b1580156138ec576000806138e9614359565b50505b505a6138f661451b565b505050505050158015613916573d6000803e3d6000613913614359565b50505b5050505061397d5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156139735760008282015260200161395c565b5050508383613de1565b612edd81600861398b6143c4565b9063ffffffff6142f116565b600060026139a36143c4565b906101000a90046001600160a01b03166001600160a01b03165a6139c5614619565b6001600160a01b031614158015613a115750600060036139e36143c4565b906101000a90046001600160a01b03166001600160a01b03165a613a05614619565b6001600160a01b031614155b8015613a5257505a613a21614619565b6001600160a01b031660006004613a366143c4565b906101000a90046001600160a01b03166001600160a01b031614155b15613a93575a613a60614619565b6004600181613a6d6143c4565b816001600160a01b0302191690836001600160a01b0316021790613a8f6145cb565b5050505b600080613a9e6143c4565b6001600160a01b036101009290920a90041660006004613abc6143c4565b906101000a90046001600160a01b03166001600160a01b0316146125345760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b6044820152606401604051809103906119ee614359565b60006002613b2e6143c4565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613c1e578082015183820152602001613c06565b50505050905090810190601f168015613c4b5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806115a461441f565b60006114a1848484613f73565b60006002613c836143c4565b906101000a90046001600160a01b03166001600160a01b03165a613ca5614619565b6001600160a01b03161480613cee575060006003613cc16143c4565b906101000a90046001600160a01b03166001600160a01b03165a613ce3614619565b6001600160a01b0316145b6125345760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c0000000000000000006044820152606401604051809103906119ee614359565b6000612f33722932bbb0b93239a234b9ba3934b13aba34b7b760691b6040516060810160405260238082526147616020830139613e4e565b600082821115613ddb5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613dd8614359565b50505b50900390565b60006002613ded6143c4565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260036040518060216147b582396021019050604051809103902061307b88613f17565b6000828152600a6020528060408120600090613e686143c4565b6001600160a01b036101009290920a90041690508281613f0f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613ecb578082015183820152602001613eb3565b50505050905090810190601f168015613ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390613f0c614359565b50505b509392505050565b6001600160a01b031690565b6000612f336d53796e746865746978537461746560901b60405160408082019052601e81527f4d697373696e672053796e7468657469785374617465206164647265737300006020820152613e4e565b60006001600160a01b03831615801590613ff757505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b6040811015613fde57600082820152602001613fc7565b5050506001600160a01b0316836001600160a01b031614155b801561403057506000600261400a6143c4565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b6140895760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015260640160405180910390614086614359565b50505b600060056140956143c4565b6001600160a01b036101009290920a90041663b46310f68561411685600060056140bd6143c4565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612dbf61441f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061415761441f565b15801561416c57600080614169614359565b50505b505a61417661451b565b505050505050158015614196573d6000803e3d6000614193614359565b50505b5050505060056000906141a76143c4565b6001600160a01b036101009290920a90041663b46310f68461422885600060056141cf6143c4565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061382261441f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061426961441f565b15801561427e5760008061427b614359565b50505b505a61428861451b565b5050505050501580156142a8573d6000803e3d60006142a5614359565b50505b5050505061270d848484613de1565b6000612f337453796e746865746978427269646765546f4261736560581b6040516060810160405260318082526147846020830139613e4e565b6000828201838110156114a45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390614350614359565b50509392505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614391578086015182820160400152602001614376565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561216c57600082820152602001614408565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614408565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b888110156144af578088015182820152602001614497565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b8181101561451057600081526020016144fc565b50919b505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561455f578089015182820152602001614547565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059845b818110156145c057600081526020016145ac565b50919c505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614408565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614408565b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f74207472616e73666572207374616b6564206f7220657363726f77656420534e584f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920626520696e766f6b6564206279207468652053796e746865746978427269646765546f4261736520636f6e7472616374417070726f76616c28616464726573732c616464726573732c75696e74323536294d697373696e672052657761726473446973747269627574696f6e20616464726573735265736f6c766572206973206d697373696e672053796e746865746978427269646765546f4261736520616464726573735472616e7366657228616464726573732c616464726573732c75696e7432353629",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x295da87d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2bf3880"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9741fb22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c955fa7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf086c7e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x320223db"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8a290014"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe8e09b8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9324cac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd60888e4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6ac0bf9c"
				}
			],
			"source": {
				"keccak256": "0xb4bd3a4ea9eef2f305fdef11979cf0570075bc6df9e3b31137c2cf3f58517f86",
				"urls": [
					"bzz-raw://e08a7516ecbb652c006cceb37d3073ad6e331ebbea946a3a70ce459ad8fbeb0e",
					"dweb:/ipfs/QmPgRpKvAEuAgDTwY9RVukYbtVJNRs2aNtALr9aze8S7V1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MintablePeriFinance.sol": "MintablePeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MintablePeriFinance.sol": {
						"keccak256": "0xb4bd3a4ea9eef2f305fdef11979cf0570075bc6df9e3b31137c2cf3f58517f86",
						"urls": [
							"bzz-raw://e08a7516ecbb652c006cceb37d3073ad6e331ebbea946a3a70ce459ad8fbeb0e",
							"dweb:/ipfs/QmPgRpKvAEuAgDTwY9RVukYbtVJNRs2aNtALr9aze8S7V1"
						]
					}
				},
				"version": 1
			}
		},
		"IssuerWithoutUpdatableCache": {
			"bytecode": "60806040526040516101a081016040908152680a6f2dce8d0cae8d2f60bb1b82526822bc31b430b733b2b960b91b60208301526c45786368616e6765526174657360981b908201526d53796e746865746978537461746560901b606082015266119959541bdbdb60ca1b60808201527044656c6567617465417070726f76616c7360781b60a08201526e115d1a195c90dbdb1b185d195c985b608a1b60c08201527f4574686572436f6c6c61746572616c735553440000000000000000000000000060e08201526b526577617264457363726f7760a01b6101008201526e53796e746865746978457363726f7760881b6101208201526b4c69717569646174696f6e7360a01b6101408201526e466c657869626c6553746f7261676560881b6101608201526b53797374656d53746174757360a01b6101808201526200014a90600890600d620005b0565b503480156200015857600080fd5b50604051620066de380380620066de833981810160405260408110156200017e57600080fd5b8101908080519291906020018051925083915082905080600860186103006040519081016040529190610300830182845b81620001ba620005fe565b81526020019060010190808311620001af57508793505050506001600160a01b0381166200022e5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b8060006001816200023e620005fe565b816001600160a01b0302191690836001600160a01b03160217906200026262000637565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620002bb620005fe565b906101000a90046001600160a01b03166001600160a01b031614156200031b5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390fd5b60005b6018811015620003ab5760008282601881106200033757fe5b6020020151146200039c5760048282601881106200035157fe5b6020020151908060018162000365620005fe565b0180826200037262000637565b50506000928352916000198301915060209020919291016200039362000637565b505050620003a2565b620003ab565b6001016200031e565b50816002600181620003bc620005fe565b816001600160a01b0302191690836001600160a01b0316021790620003e062000637565b5050505050620004086e466c657869626c6553746f7261676560881b6200041260201b60201c565b5050505062000727565b8060048060018162000423620005fe565b0180826200043062000637565b50506000928352916000198301915060209020919291016200045162000637565b505050601860048062000463620005fe565b905010620004b75760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390fd5b60006002620004c5620005fe565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806200051862000672565b1580156200052557600080fd5b505a62000531620006a2565b505050505015801562000548573d6000803e3d6000fd5b505050506040513d60208110156200055f57600080fd5b810190808051600085815260036020529093506040925090502060018162000586620005fe565b816001600160a01b0302191690836001600160a01b0316021790620005aa62000637565b50505050565b8260188101928215620005ec579160200282015b82811115620005ec57825182620005da62000637565b505091602001919060010190620005c4565b50620005fa929150620006fa565b5090565b6320966208598160e01b8152836004820152602081602483336000905af1806200062e576040513d6000823e3d81fd5b81519450505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af1806200066d576040513d6000823e3d81fd5b505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af1806200062e576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b87811015620006d4578087015182820160240152602001620006b7565b5088888860240183336000905af180620006f4576040513d6000823e3d81fd5b98505050565b6200072491905b80821115620005fa57600080826200071862000637565b50505060010162000701565b90565b615fa780620007376000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80637b1001b711610182578063af5355d8116100e9578063c8977132116100a2578063dd3d2b2e1161007c578063dd3d2b2e14610a56578063e3235c9114610a7c578063fd864ccf14610a84578063fe1d77e714610ab2576102d6565b8063c8977132146109fc578063d37c4d8b14610a22578063dbf6334014610a4e576102d6565b8063af5355d814610975578063b06e8c651461097d578063b410a034146109a9578063be843515146109b1578063bff4fdfc146109b9578063c6c9d828146109df576102d6565b80639e342f711161013b5780639e342f7114610854578063a311c7c214610874578063a5fdc5de1461089a578063a63c4df4146108c0578063ab49848c1461090e578063ae3bbbbb1461094f576102d6565b80637b1001b7146107915780637d74e85d146107b6578063835e119c146107d3578063849cf588146107f05780638da5cb5b146108165780639a5154b41461081e576102d6565b8063364fb765116102415780634e99bda9116101fa578063631e1444116101d4578063631e14441461072f5780636bed04151461075557806372cb051f1461078157806379ba509714610789576102d6565b80634e99bda91461070357806353a47bb71461071f578063614d08f814610727576102d6565b8063364fb765146104955780633973a2bb146104c35780633be99e6f146105c057806344ec6b62146105e6578063497d704a1461061c57806349e4c7b714610642576102d6565b806316b2213f1161029357806316b2213f146103f2578063172058f71461041857806321428aa014610420578063242df9e1146104425780632b3f41aa1461044a5780633260803914610478576102d6565b8063042e0688146102db57806304f3bcec1461030957806305b3c1c91461032d5780630b887dae146103655780631137aedf146103825780631627540c146103cc575b600080fd5b610307600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610b20565b005b610311610b38565b6040516001600160a01b03909116815260200160405180910390f35b6103536004803603602081101561034357600080fd5b50356001600160a01b0316610b57565b60405190815260200160405180910390f35b6103076004803603602081101561037b57600080fd5b5035610b6d565b6103a86004803603602081101561039857600080fd5b50356001600160a01b0316610f24565b60405180848152602001838152602001828152602001935050505060405180910390f35b610307600480360360208110156103e257600080fd5b50356001600160a01b0316610f40565b6103536004803603602081101561040857600080fd5b50356001600160a01b0316610fba565b610307610fd5565b610428611148565b604051918252151560208201526040908101905180910390f35b6103536111b1565b6103076004803603604081101561046057600080fd5b506001600160a01b03813581169160200135166111c1565b6103116004803603602081101561048e57600080fd5b50356111e0565b61049d6111fa565b604051928352602083019190915215156040808301919091526060909101905180910390f35b610564600480360360208110156104d957600080fd5b810190602081018135600160201b8111156104f357600080fd5b82018360208201111561050557600080fd5b803590602001918460208302840111600160201b8311171561052657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611233945050505050565b604051811515602082015260408082528190810184818151815260200191508051906020019060200280838360005b838110156105ab578082015183820152602001610593565b50505050905001935050505060405180910390f35b610307600480360360208110156105d657600080fd5b50356001600160a01b03166113c3565b610307600480360360608110156105fc57600080fd5b506001600160a01b0381358116916020810135909116906040013561156e565b6103076004803603602081101561063257600080fd5b50356001600160a01b0316611591565b6106b06004803603602081101561065857600080fd5b810190602081018135600160201b81111561067257600080fd5b82018360208201111561068457600080fd5b803590602001918460208302840111600160201b831117156106a557600080fd5b5090925090506115a6565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156106ef5780820151838201526020016106d7565b505050509050019250505060405180910390f35b61070b611717565b604051901515815260200160405180910390f35b610311611892565b61035361189e565b61070b6004803603602081101561074557600080fd5b50356001600160a01b03166118ab565b6104286004803603604081101561076b57600080fd5b506001600160a01b038135169060200135611a6a565b6106b0611ace565b610307611ada565b610353600480360360408110156107a757600080fd5b50803590602001351515611c4f565b610307600480360360208110156107cc57600080fd5b5035611c63565b610311600480360360208110156107e957600080fd5b5035611d0c565b6103076004803603602081101561080657600080fd5b50356001600160a01b0316611d36565b610311611f59565b6103076004803603606081101561083457600080fd5b506001600160a01b03813581169160208101359091169060400135611f64565b6103076004803603608081101561086a57600080fd5b5060408101610b34565b6103536004803603602081101561088a57600080fd5b50356001600160a01b0316611f82565b610353600480360360208110156108b057600080fd5b50356001600160a01b0316611f94565b6108f6600480360360608110156108d657600080fd5b506001600160a01b03813581169160208101359160409091013516611f9f565b60405191825260208201526040908101905180910390f35b6109166126a2565b604051808261030080838360005b8381101561093c578082015183820152602001610924565b5050505090500191505060405180910390f35b6104286004803603602081101561096557600080fd5b50356001600160a01b0316612704565b610353612719565b6103076004803603604081101561099357600080fd5b506001600160a01b038135169060200135612723565b610353612737565b61070b612741565b61070b600480360360208110156109cf57600080fd5b50356001600160a01b031661281f565b610353600480360360208110156109f557600080fd5b503561282a565b61030760048036036020811015610a1257600080fd5b50356001600160a01b0316612852565b61035360048036036040811015610a3857600080fd5b506001600160a01b038135169060200135612867565b61035361293f565b61035360048036036020811015610a6c57600080fd5b50356001600160a01b0316612952565b61035361295d565b61030760048036036040811015610a9a57600080fd5b506001600160a01b0381358116916020013516612962565b61030760048036036020811015610ac857600080fd5b810190602081018135600160201b811115610ae257600080fd5b820183602082011115610af457600080fd5b803590602001918460208302840111600160201b83111715610b1557600080fd5b509092509050610b34565b610b28612981565b610b34828260006129e2565b5050565b60006002610b44615c42565b906101000a90046001600160a01b031681565b600080610b6383612b7b565b509150505b919050565b610b75612c58565b6000818152600660205260408120600090610b8e615c42565b6001600160a01b036101009290920a900416905080610bea5760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015260640160405180910390fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680610c1e615c7a565b158015610c2a57600080fd5b505a610c34615ca9565b5050505050158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b810190808051159250610cb29150505760405162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015260640160405180910390fd5b631cd554d160e21b821415610d035760405162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015260640160405180910390fd5b610d0e826000612cca565b610d20610d19612d70565b6001612dc1565b60005b600580610d2e615c42565b9050811015610e8757816001600160a01b031660058281610d4d615c42565b8110610d5557fe5b90600052602060002001600090610d6a615c42565b906101000a90046001600160a01b03166001600160a01b03161415610e7f5760058181610d95615c42565b8110610d9d57fe5b90600052602060002001600181610db2615c42565b906001600160a01b0302191690610dc7615cfe565b505060056001600580610dd8615c42565b90500381610de4615c42565b8110610dec57fe5b90600052602060002001600090610e01615c42565b906101000a90046001600160a01b031660058281610e1d615c42565b8110610e2557fe5b90600052602060002001600181610e3a615c42565b816001600160a01b0302191690836001600160a01b0316021790610e5c615cfe565b505050600580610e6a615c42565b90610e79906000198301615d33565b50610e87565b600101610d23565b506001600160a01b0381166000908152600760205260409020600090610eab615cfe565b50506000828152600660205260409020600181610ec6615c42565b906001600160a01b0302191690610edb615cfe565b50507f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d082826040519182526001600160a01b031660208201526040908101905180910390a15050565b6000806000610f3284612ebc565b509196909550909350915050565b610f48612c58565b8060018080610f55615c42565b816001600160a01b0302191690836001600160a01b0316021790610f77615cfe565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60076020528060005260406000209050610fd2615c42565b81565b610fdd612f24565b6000610fe7612d70565b9050611085631cd554d160e21b73__$012b109f13094d29c4767dbda215a49cf7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611033615c7a565b15801561103f57600080fd5b505a611049615d67565b505050505015801561105f573d6000803e3d6000fd5b505050506040513d602081101561107557600080fd5b8101908080519250612cca915050565b806001600160a01b0316631d5b277f6524b9b9bab2b960d11b7f636163686564534e584973737565644465627454696d657374616d70000000005a6110c8615d96565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611109615c7a565b15801561111557600080fd5b505a61111f615dbf565b505050505050158015611136573d6000803e3d6000fd5b50505050611145816000612dc1565b50565b6000806060600061116161115c6000612fc6565b611233565b915091506000825190506000805b828110156111a55761119b85828151811061118657fe5b6020026020010151839063ffffffff6130e816565b915060010161116f565b50945090925050509091565b60006111bb613148565b90505b90565b6111c9612981565b6111d3828261320d565b610b348260006001613303565b600660205280600052604060002060009150610b44615c42565b600080600080611208612d70565b905060008061121683613642565b91509150818161122585613887565b955095509550505050909192565b606060006060600061124361394b565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156112a1578082015183820152602001611289565b505050509050019250505060006040518083038186806112bf615c7a565b1580156112cb57600080fd5b505a6112d5615ca9565b50505050501580156112eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561131457600080fd5b8101908080516040519392919084600160201b82111561133357600080fd5b90830190602082018581111561134857600080fd5b82518660208202830111600160201b8211171561136457600080fd5b825250602001908051906020019060200280838360005b8381101561139357808201518382015260200161137b565b5050505090500160405260200180519395509293506113b8925087915084905061399a565b93509150505b915091565b6113cb612c58565b8060026001816113d9615c42565b816001600160a01b0302191690836001600160a01b03160217906113fb615cfe565b5060009150505b60048061140d615c42565b9050811015610b3457600060048281611424615c42565b811061142c57fe5b9060005260206000200161143e615c42565b90506000600261144c615c42565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e67207461726765740000000000000000006064830152608490910190602090518083038186806114d5615c7a565b1580156114e157600080fd5b505a6114eb615ca9565b5050505050158015611501573d6000803e3d6000fd5b505050506040513d602081101561151757600080fd5b810190808051600085815260036020529093506040925090502060018161153c615c42565b816001600160a01b0302191690836001600160a01b031602179061155e615cfe565b5050600190920191506114029050565b611576612981565b6115808383613bc8565b61158c838260006129e2565b505050565b611599612981565b6111458160006001613303565b60606115b0612d70565b6001600160a01b031663b67fa7ed6524b9b9bab2b960d11b85856040518463ffffffff1660e01b8152600401808481526020018060200182810382528484828181526020019250602002808284376000838201819052601f909101601f19169092019650909450604093505050505180830381868061162d615c7a565b15801561163957600080fd5b505a611643615ca9565b5050505050158015611659573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561168257600080fd5b8101908080516040519392919084600160201b8211156116a157600080fd5b9083019060208201858111156116b657600080fd5b82518660208202830111600160201b821117156116d257600080fd5b825250602001908051906020019060200280838360005b838110156117015780820151838201526020016116e9565b5050505090500160405250505090505b92915050565b600061172161394b565b6001600160a01b031663c8e5bbd56117396001612fc6565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611788578082015183820152602001611770565b505050509050019250505060006040518083038186806117a6615c7a565b1580156117b257600080fd5b505a6117bc615ca9565b50505050501580156117d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156117fb57600080fd5b8101908080516040519392919084600160201b82111561181a57600080fd5b90830190602082018581111561182f57600080fd5b82518660208202830111600160201b8211171561184b57600080fd5b825250602001908051906020019060200280838360005b8381101561187a578082015183820152602001611862565b50505050905001604052602001805195945050505050565b60006001610b44615c42565b6524b9b9bab2b960d11b81565b60006001600160a01b0382168160026118c2615c42565b906101000a90046001600160a01b03166001600160a01b0316146118e857506000610b68565b60005b6004806118f6615c42565b9050811015611a615760006004828161190d615c42565b811061191557fe5b90600052602060002001611927615c42565b6000818152600360205290915060409020600090611943615c42565b6001600160a01b036101009290920a90041660006002611961615c42565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806119b2615c7a565b1580156119be57600080fd5b505a6119c8615ca9565b50505050501580156119de573d6000803e3d6000fd5b505050506040513d60208110156119f457600080fd5b8101908080516001600160a01b031693909314159250829150611a48905057506000818152600360205260408120600090611a2d615c42565b906101000a90046001600160a01b03166001600160a01b0316145b15611a5857600092505050610b68565b506001016118eb565b50600192915050565b6000806000611a7f85620a69cb60eb1b613c21565b935090915060009050611aa0611a93613e56565b839063ffffffff613ec816565b9050848110611ab25760009350611ac5565b611ac2858263ffffffff613edd16565b93505b50509250929050565b60606111bb6000612fc6565b60006001611ae6615c42565b906101000a90046001600160a01b03166001600160a01b03165a611b08615e14565b6001600160a01b031614611b4d5760405162461bcd60e51b8152600401808060200182810382526035815260200180615e806035913960400191505060405180910390fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611b79615c42565b906101000a90046001600160a01b03166001600090611b96615c42565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611bd5615c42565b906101000a90046001600160a01b03166000806101000a81611bf5615c42565b816001600160a01b0302191690836001600160a01b0316021790611c17615cfe565b5050506000600160006101000a81611c2d615c42565b816001600160a01b0302191690836001600160a01b031602179061158c615cfe565b6000611c5b8383613f39565b509392505050565b611c6b612c58565b611c7481614281565b611c7c612d70565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b8360006040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611cd8615c7a565b158015611ce457600080fd5b505a611cee615dbf565b505050505050158015611d05573d6000803e3d6000fd5b5050505050565b60058181611d18615c42565b8110611d2057fe5b9060005260206000200160009150610b44615c42565b611d3e612c58565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680611d74615c7a565b158015611d8057600080fd5b505a611d8a615ca9565b5050505050158015611da0573d6000803e3d6000fd5b505050506040513d6020811015611db657600080fd5b8101908080519350611dcd92508391506142819050565b6001600160a01b0382166000908152600760205260408120611ded615c42565b14611e3e5760405162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015260640160405180910390fd5b611e49610d19612d70565b81600580600181611e58615c42565b018082611e63615cfe565b5050600092835291600019830191506020902091929101600181611e85615c42565b816001600160a01b0302191690836001600160a01b0316021790611ea7615cfe565b5050506000828152600660205283915060409020600181611ec6615c42565b816001600160a01b0302191690836001600160a01b0316021790611ee8615cfe565b5050506001600160a01b038216600090815260076020528190604090208190611f0f615cfe565b5050507f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c6288481836040519182526001600160a01b031660208201526040908101905180910390a15050565b600080610b44615c42565b611f6c612981565b611f76838361320d565b61158c83826000613303565b6000611f8d826142f3565b5092915050565b60006117118261434d565b600080611faa612981565b611fb26144dc565b6001600160a01b031663d6f32e0684631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680612008615c7a565b15801561201457600080fd5b505a61201e615ca9565b5050505050158015612034573d6000803e3d6000fd5b505050506040513d602081101561204a57600080fd5b8101908080511592506120a69150505760405162461bcd60e51b815260206004820152601860248201527f73555344206e6565647320746f20626520736574746c65640000000000000000604482015260640160405180910390fd5b6120ae614527565b6001600160a01b031663c49e80a6866040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806120f7615c7a565b15801561210357600080fd5b505a61210d615ca9565b5050505050158015612123573d6000803e3d6000fd5b505050506040513d602081101561213957600080fd5b81019080805192506121949150505760405162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015260640160405180910390fd5b631cd554d160e21b600090815260066020528490604090206000906121b7615c42565b906101000a90046001600160a01b03166001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612210615c7a565b15801561221c57600080fd5b505a612226615ca9565b505050505015801561223c573d6000803e3d6000fd5b505050506040513d602081101561225257600080fd5b810190808051939093101592506122a49150505760405162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081cd554d1608a1b604482015260640160405180910390fd5b60006122ae614527565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186806122e1615c7a565b1580156122ed57600080fd5b505a6122f7615ca9565b505050505015801561230d573d6000803e3d6000fd5b505050506040513d602081101561232357600080fd5b81019080805193506000925082915081905061234689631cd554d160e21b613c21565b92509250925060008061235761394b565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b16815260048101919091526024016040805180830381868061239d615c7a565b1580156123a957600080fd5b505a6123b3615ca9565b50505050501580156123c9573d6000803e3d6000fd5b505050506040513d60408110156123df57600080fd5b810190808051929190602001805193955092935061240a92508591508190506124055750815b614575565b60006124158c61434d565b90506000612421614527565b6001600160a01b0316630ac045d58861243a85886145c7565b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612471615c7a565b15801561247d57600080fd5b505a612487615ca9565b505050505015801561249d573d6000803e3d6000fd5b505050506040513d60208110156124b357600080fd5b810190808051935050508c821090506124cc578b6124ce565b805b985060006124dc8a866145d9565b905061258a61257d8a73__$012b109f13094d29c4767dbda215a49cf7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680612524615c7a565b15801561253057600080fd5b505a61253a615d67565b5050505050158015612550573d6000803e3d6000fd5b505050506040513d602081101561256657600080fd5b8101908080519392505063ffffffff6130e8169050565b829063ffffffff6145eb16565b9a50828b11156125f657829a506125f36125ed6125e08b73__$012b109f13094d29c4767dbda215a49cf7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680612524615c7a565b859063ffffffff61461516565b866145c7565b99505b6126038e8d8c8b8b61463f565b50818a141561269157612614614527565b6001600160a01b031663974e9e7f8f6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016000604051808303816000878061265f615c7a565b15801561266b57600080fd5b505a612675615dbf565b50505050505015801561268c573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b6126aa615e3d565b60005b6004806126b8615c42565b905081101561270057600481816126cd615c42565b81106126d557fe5b906000526020600020016126e7615c42565b8282601881106126f357fe5b60200201526001016126ad565b5090565b600080612710836142f3565b91509150915091565b60006111bb61476d565b61272b612981565b610b3482826000613303565b60006111bb613e56565b600061274b612d70565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b7f636163686564534e584973737565644465627454696d657374616d70000000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127bb615c7a565b1580156127c757600080fd5b505a6127d1615ca9565b50505050501580156127e7573d6000803e3d6000fd5b505050506040513d60208110156127fd57600080fd5b810190808051925050505a612810615d96565b0361281961476d565b10905090565b6000611711826147e7565b60048181612836615c42565b811061283e57fe5b906000526020600020019050610fd2615c42565b61285a612981565b61114581600060016129e2565b60008061287261481a565b90506000816001600160a01b0316638b3f8088866040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401604080518083038186806128bf615c7a565b1580156128cb57600080fd5b505a6128d5615ca9565b50505050501580156128eb573d6000803e3d6000fd5b505050506040513d604081101561290157600080fd5b8101908080519291906020018051509293505050811515905061292957600092505050611711565b6129338585613c21565b50909695505050505050565b600060058061294c615c42565b91505090565b60006117118261486a565b601881565b61296a612981565b6129748282613bc8565b610b3482600060016129e2565b612989614918565b6001600160a01b03165a61299b615e14565b6001600160a01b0316146129e05760405162461bcd60e51b815260040180806020018281038252603b815260200180615ed6603b913960400191505060405180910390fd5b565b6000806000806129f187612ebc565b9350935093509350612a0281614575565b84612a535783861115612a4e5760405162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015260640160405180910390fd5b612a57565b8395505b612a6387878585614963565b612a6c87614de7565b631cd554d160e21b6000908152600660205260409020600090612a8d615c42565b906101000a90046001600160a01b03166001600160a01b031663867904b488886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612aee615c7a565b158015612afa57600080fd5b505a612b04615dbf565b505050505050158015612b1b573d6000803e3d6000fd5b50505050612b69631cd554d160e21b73__$012b109f13094d29c4767dbda215a49cf7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611033615c7a565b612b7287614ea6565b50505050505050565b600080600080612b8961394b565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680612bcf615c7a565b158015612bdb57600080fd5b505a612be5615ca9565b5050505050158015612bfb573d6000803e3d6000fd5b505050506040513d6040811015612c1157600080fd5b810190808051929190602001805193955092935060009250612c3f9150612c3990508761434d565b846145c7565b9050612c4c61257d613e56565b94509092505050915091565b600080612c63615c42565b906101000a90046001600160a01b03166001600160a01b03165a612c85615e14565b6001600160a01b0316146129e05760405162461bcd60e51b815260040180806020018281038252602f815260200180615f11602f913960400191505060405180910390fd5b60606001604051908082528060200260200182016040528015612cf7578160200160208202803883390190505b5090508281600081518110612d0857fe5b60200260200101818152505060606001604051908082528060200260200182016040528015612d41578160200160208202803883390190505b5090508281600081518110612d5257fe5b602002602001018181525050612d6a82826000614fe3565b50505050565b60006111bb6e466c657869626c6553746f7261676560881b60405160408082019052601f81527f4d697373696e6720466c657869626c6553746f72616765206164647265737300602082015261551c565b6000612dcc83613887565b90508115158115151461158c57826001600160a01b0316633f28a6fc6524b9b9bab2b960d11b7f636163686564534e5849737375656444656274496e76616c6964000000000000856040516001600160e01b031960e086901b168152600481019390935260248301919091521515604482015260640160006040518083038160008780612e57615c7a565b158015612e6357600080fd5b505a612e6d615dbf565b505050505050158015612e84573d6000803e3d6000fd5b505050508115157f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a760405160405180910390a2505050565b600080600080612ed385631cd554d160e21b613c21565b91945092509050600080612ee687612b7b565b915091508195508280612ef65750805b9250858510612f085760009550612f1b565b612f18868663ffffffff613edd16565b95505b50509193509193565b600080612f2f615c42565b906101000a90046001600160a01b03166001600160a01b03165a612f51615e14565b6001600160a01b0316146129e057612f676155d4565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680612f9a615c7a565b158015612fa657600080fd5b505a612fb0615ca9565b5050505050158015612d6a573d6000803e3d6000fd5b60608082612fd5576000612fd8565b60015b60ff16600580612fe6615c42565b905001604051908082528060200260200182016040528015613012578160200160208202803883390190505b50905060005b600580613023615c42565b90508110156130b057600760006005838161303c615c42565b811061304457fe5b90600052602060002001600090613059615c42565b906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020613091615c42565b82828151811061309d57fe5b6020908102919091010152600101613018565b50821561171157620a69cb60eb1b816005806130ca615c42565b9050815181106130d657fe5b60200260200101818152505092915050565b6000828201838110156131415760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b6000613152612d70565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131bd615c7a565b1580156131c957600080fd5b505a6131d3615ca9565b50505050501580156131e9573d6000803e3d6000fd5b505050506040513d60208110156131ff57600080fd5b810190808051935050505090565b613215615622565b6001600160a01b0316637d3f0ba283836040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680613266615c7a565b15801561327257600080fd5b505a61327c615ca9565b5050505050158015613292573d6000803e3d6000fd5b505050506040513d60208110156132a857600080fd5b8101908080519250610b349150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390fd5b806134ed57613311836147e7565b6133615760405162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015260640160405180910390fd5b60008061336c6144dc565b6001600160a01b0316631b16802c86631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401606060405180830381600087806133c4615c7a565b1580156133d057600080fd5b505a6133da615dbf565b5050505050501580156133f1573d6000803e3d6000fd5b505050506040513d606081101561340757600080fd5b8101908080519291906020018051929190602001805193965092945050831592506134ea915050576134376144dc565b6001600160a01b0316634c268fc886631cd554d160e21b87866040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602484019290925260448301526064820152608401602060405180830381868061349c615c7a565b1580156134a857600080fd5b505a6134b2615ca9565b50505050501580156134c8573d6000803e3d6000fd5b505050506040513d60208110156134de57600080fd5b81019080805196505050505b50505b600080600061350386631cd554d160e21b613c21565b92509250925060008061351588612b7b565b915091506135298380612405575081614575565b600085116135725760405162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015260640160405180910390fd5b851561358b57613588858363ffffffff613edd16565b96505b600061359a898a8a898961463f565b9050826135ad878363ffffffff613edd16565b11613637576135ba614527565b6001600160a01b031663974e9e7f8a6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780613605615c7a565b15801561361157600080fd5b505a61361b615dbf565b505050505050158015613632573d6000803e3d6000fd5b505050505b505050505050505050565b60008060606002604051908082528060200260200182016040528015613672578160200160208202803883390190505b5090507218d858da195914d396125cdcdd59591119589d606a1b8160008151811061369957fe5b6020026020010181815250507f636163686564534e584973737565644465627454696d657374616d7000000000816001815181106136d357fe5b6020026020010181815250506060846001600160a01b031663b67fa7ed6524b9b9bab2b960d11b846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015613750578082015183820152602001613738565b505050509050019350505050600060405180830381868061376f615c7a565b15801561377b57600080fd5b505a613785615ca9565b505050505015801561379b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156137c457600080fd5b8101908080516040519392919084600160201b8211156137e357600080fd5b9083019060208201858111156137f857600080fd5b82518660208202830111600160201b8211171561381457600080fd5b825250602001908051906020019060200280838360005b8381101561384357808201518382015260200161382b565b5050505090500160405250505090508060008151811061385f57fe5b60200260200101518160018151811061387457fe5b6020026020010151935093505050915091565b6000816001600160a01b031663d994502d6524b9b9bab2b960d11b7f636163686564534e5849737375656444656274496e76616c69640000000000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806138fa615c7a565b15801561390657600080fd5b505a613910615ca9565b5050505050158015613926573d6000803e3d6000fd5b505050506040513d602081101561393c57600080fd5b81019080805195945050505050565b60006111bb6c45786368616e6765526174657360981b60405160408082019052601d81527f4d697373696e672045786368616e676552617465732061646472657373000000602082015261551c565b60606000835190506060816040519080825280602002602001820160405280156139ce578160200160208202803883390190505b50905060005b82811015613bbf5760008682815181106139ea57fe5b60200260200101516000818152600660205290915060408120600090613a0e615c42565b906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680613a51615c7a565b158015613a5d57600080fd5b505a613a67615ca9565b5050505050158015613a7d573d6000803e3d6000fd5b505050506040513d6020811015613a9357600080fd5b81019080805193505050631cd554d160e21b831490508080613abb5750630e68aa8960e31b83145b15613b7957600081613ad457613acf615658565b613adc565b613adc6156a9565b90506000816001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613b14615c7a565b158015613b2057600080fd5b505a613b2a615ca9565b5050505050158015613b40573d6000803e3d6000fd5b505050506040513d6020811015613b5657600080fd5b8101908080519350613b74925086915083905063ffffffff613edd16565b935050505b613b9d888581518110613b8857fe5b6020026020010151839063ffffffff6156e116565b858581518110613ba957fe5b60209081029190910101525050506001016139d4565b50949350505050565b613bd0615622565b6001600160a01b0316630487261783836040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680613266615c7a565b600080600080613c2f61481a565b9050600080826001600160a01b0316638b3f8088896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680613c7d615c7a565b158015613c8957600080fd5b505a613c93615ca9565b5050505050158015613ca9573d6000803e3d6000fd5b505050506040513d6040811015613cbf57600080fd5b8101908080519291906020018051939550929350613ce4925089915060019050613f39565b909550935081613cfb575060009450613e4f915050565b6000613e2b83613e1f866001600160a01b03166308d95cd5866040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613d46615c7a565b158015613d5257600080fd5b505a613d5c615ca9565b5050505050158015613d72573d6000803e3d6000fd5b505050506040513d6020811015613d8857600080fd5b810190808051925050506001600160a01b03881663463177126040518163ffffffff1660e01b81526004016020604051808303818680613dc6615c7a565b158015613dd257600080fd5b505a613ddc615ca9565b5050505050158015613df2573d6000803e3d6000fd5b505050506040513d6020811015613e0857600080fd5b8101908080519392505063ffffffff6156f6169050565b9063ffffffff61570f16565b90506000613e3c82613e1f89615728565b9050613e478161573e565b975050505050505b9250925092565b6000613e60612d70565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131bd615c7a565b60006131418383670de0b6b3a7640000615760565b600082821115613f335760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390fd5b50900390565b6000806000613f46612d70565b9050600080613f5483613642565b915091506000815a613f64615d96565b03613f6d61476d565b1090508080613f805750613f8084613887565b80613f89575081155b94506000613f9561394b565b90508761419957614033613fa76156a9565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613fda615c7a565b158015613fe657600080fd5b505a613ff0615ca9565b5050505050158015614006573d6000803e3d6000fd5b505050506040513d602081101561401c57600080fd5b81019080805188935091505063ffffffff6130e816565b9350600080826001600160a01b0316630c71cd23630e68aa8960e31b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680614080615c7a565b15801561408c57600080fd5b505a614096615ca9565b50505050501580156140ac573d6000803e3d6000fd5b505050506040513d60408110156140c257600080fd5b81019080805192919060200180519395509293506000925061417691508490506140ea615658565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b8152600401602060405180830381868061411d615c7a565b15801561412957600080fd5b505a614133615ca9565b5050505050158015614149573d6000803e3d6000fd5b505050506040513d602081101561415f57600080fd5b8101908080519392505063ffffffff6156e1169050565b9050614188878263ffffffff6130e816565b965088806141935750815b98505050505b631cd554d160e21b8914156141b5575091945061427a92505050565b600080826001600160a01b0316630c71cd238c6040516001600160e01b031960e084901b1681526004810191909152602401604080518083038186806141f9615c7a565b15801561420557600080fd5b505a61420f615ca9565b5050505050158015614225573d6000803e3d6000fd5b505050506040513d604081101561423b57600080fd5b8101908080519291906020018051939550929350614265925088915084905063ffffffff613ec816565b888061426e5750815b98509850505050505050505b9250929050565b600081815260066020526040812060009061429a615c42565b906101000a90046001600160a01b03166001600160a01b0316146111455760405162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015260640160405180910390fd5b60008060006143018461434d565b905060008061431686620a69cb60eb1b613c21565b92505091508260001415614332576000945092506113be915050565b614342828463ffffffff613ec816565b945092505050915091565b600080614358614918565b6001600160a01b03166370a08231846040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806143a1615c7a565b1580156143ad57600080fd5b505a6143b7615ca9565b50505050501580156143cd573d6000803e3d6000fd5b505050506040513d60208110156143e357600080fd5b8101908080519350600092506143fb91506157989050565b6001600160a01b0316146144b9576144b6614414615798565b6001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061445d615c7a565b15801561446957600080fd5b505a614473615ca9565b5050505050158015614489573d6000803e3d6000fd5b505050506040513d602081101561449f57600080fd5b81019080805185935091505063ffffffff6130e816565b90505b60006144c36157e9565b6001600160a01b031614611711576131416144146157e9565b60006111bb6822bc31b430b733b2b960b91b60405160408082019052601981527f4d697373696e672045786368616e676572206164647265737300000000000000602082015261551c565b60006111bb6b4c69717569646174696f6e7360a01b60405160408082019052601c81527f4d697373696e67204c69717569646174696f6e73206164647265737300000000602082015261551c565b80156111455760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015260640160405180910390fd5b6000613141838363ffffffff6156e116565b6000613141838363ffffffff613ec816565b6000670de0b6b3a7640000614606848463ffffffff61583716565b8161460d57fe5b049392505050565b60006131418261463385670de0b6b3a764000063ffffffff61583716565b9063ffffffff61589016565b600083831061464e5783614650565b825b905061465e868285856158f9565b631cd554d160e21b600090815260066020526040902060009061467f615c42565b906101000a90046001600160a01b03166001600160a01b0316639dc29fac86836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806146e0615c7a565b1580156146ec57600080fd5b505a6146f6615dbf565b50505050505015801561470d573d6000803e3d6000fd5b5050505061475b631cd554d160e21b73__$012b109f13094d29c4767dbda215a49cf7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611033615c7a565b61476486614ea6565b95945050505050565b6000614777612d70565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806131bd615c7a565b60006148096147f4613148565b6147fd8461486a565b9063ffffffff6130e816565b5a614812615d96565b101592915050565b60006111bb6d53796e746865746978537461746560901b60405160408082019052601e81527f4d697373696e672053796e746865746978537461746520616464726573730000602082015261551c565b6000614874612d70565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806138fa615c7a565b60006111bb680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e746865746978206164647265737300000000000000602082015261551c565b600061496d61481a565b90506000614981858463ffffffff6130e816565b90506000614995868363ffffffff6156f616565b90506000614a358273__$012b109f13094d29c4767dbda215a49cf7$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806149dc615c7a565b1580156149e857600080fd5b505a6149f2615d67565b5050505050158015614a08573d6000803e3d6000fd5b505050506040513d6020811015614a1e57600080fd5b8101908080519392505063ffffffff613edd169050565b90508515614a6457614a5d83614a51898963ffffffff6130e816565b9063ffffffff6156f616565b9150614acc565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b815260040160006040518083038160008780614a9a615c7a565b158015614aa657600080fd5b505a614ab0615dbf565b505050505050158015614ac7573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614b1e615c7a565b158015614b2a57600080fd5b505a614b34615dbf565b505050505050158015614b4b573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b81526004016020604051808303818680614b85615c7a565b158015614b9157600080fd5b505a614b9b615ca9565b5050505050158015614bb1573d6000803e3d6000fd5b505050506040513d6020811015614bc757600080fd5b81019080805193909311159250614cdc915050576001600160a01b038416633d31e97b614c72838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614c19615c7a565b158015614c2557600080fd5b505a614c2f615ca9565b5050505050158015614c45573d6000803e3d6000fd5b505050506040513d6020811015614c5b57600080fd5b8101908080519392505063ffffffff61570f169050565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614ca6615c7a565b158015614cb257600080fd5b505a614cbc615dbf565b505050505050158015614cd3573d6000803e3d6000fd5b50505050614ddd565b836001600160a01b0316633d31e97b73__$012b109f13094d29c4767dbda215a49cf7$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614d2a615c7a565b158015614d3657600080fd5b505a614d40615d67565b5050505050158015614d56573d6000803e3d6000fd5b505050506040513d6020811015614d6c57600080fd5b81019080805192506040915050516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614dab615c7a565b158015614db757600080fd5b505a614dc1615dbf565b505050505050158015614dd8573d6000803e3d6000fd5b505050505b5050505050505050565b614def612d70565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001205a614e65615d96565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611cd8615c7a565b600080614eb161481a565b6001600160a01b0316638b3f8088846040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680614ef9615c7a565b158015614f0557600080fd5b505a614f0f615ca9565b5050505050158015614f25573d6000803e3d6000fd5b505050506040513d6040811015614f3b57600080fd5b8101908080519291906020018051939550929350614f5c9250615bce915050565b6001600160a01b031663866452748484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780614fb6615c7a565b158015614fc257600080fd5b505a614fcc615dbf565b505050505050158015612b72573d6000803e3d6000fd5b6000835190508251811461503d5760405162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015260640160405180910390fd5b6000615047612d70565b90506060816001600160a01b031663b67fa7ed6524b9b9bab2b960d11b886040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156150ba5780820151838201526020016150a2565b50505050905001935050505060006040518083038186806150d9615c7a565b1580156150e557600080fd5b505a6150ef615ca9565b5050505050158015615105573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561512e57600080fd5b8101908080516040519392919084600160201b82111561514d57600080fd5b90830190602082018581111561516257600080fd5b82518660208202830111600160201b8211171561517e57600080fd5b825250602001908051906020019060200280838360005b838110156151ad578082015183820152602001615195565b50505050905001604052505050905060606151c8878761399a565b9050826001600160a01b03166303cdc0176524b9b9bab2b960d11b89846040518463ffffffff1660e01b8152600401808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561523e578082015183820152602001615226565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561527d578082015183820152602001615265565b5050505090500195505050505050600060405180830381600087806152a0615c7a565b1580156152ac57600080fd5b505a6152b6615dbf565b5050505050501580156152cd573d6000803e3d6000fd5b5050505060008060008090505b86811015615321576153068582815181106152f157fe5b6020026020010151849063ffffffff6130e816565b925061531784828151811061118657fe5b91506001016152da565b5080821461550c576000856001600160a01b03166323257c2b6524b9b9bab2b960d11b7218d858da195914d396125cdcdd59591119589d606a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680615392615c7a565b15801561539e57600080fd5b505a6153a8615ca9565b50505050501580156153be573d6000803e3d6000fd5b505050506040513d60208110156153d457600080fd5b81019080805193505050508083111561541e5760405162461bcd60e51b8152600401808060200182810382526023815260200180615f616023913960400191505060405180910390fd5b615432826147fd838663ffffffff613edd16565b9050856001600160a01b0316631d5b277f6524b9b9bab2b960d11b7218d858da195914d396125cdcdd59591119589d606a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806154a6615c7a565b1580156154b257600080fd5b505a6154bc615dbf565b5050505050501580156154d3573d6000803e3d6000fd5b505050507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5998160405190815260200160405180910390a1505b8615613637576136378588612dc1565b600082815260036020528060408120600090615536615c42565b6001600160a01b036101009290920a90041690508281611c5b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615599578082015183820152602001615581565b50505050905090810190601f1680156155c65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006111bb6b53797374656d53746174757360a01b60405160408082019052601c81527f4d697373696e672053797374656d537461747573206164647265737300000000602082015261551c565b60006111bb7044656c6567617465417070726f76616c7360781b604051606081016040526021808252615eb5602083013961551c565b60006111bb6e115d1a195c90dbdb1b185d195c985b608a1b60405160408082019052601f81527f4d697373696e67204574686572436f6c6c61746572616c206164647265737300602082015261551c565b60006111bb72115d1a195c90dbdb1b185d195c985b1cd554d1606a1b604051606081016040526023808252615f84602083013961551c565b60006131418383670de0b6b3a7640000615c17565b600061314183836b033b2e3c9fd0803ce8000000615760565b600061314183836b033b2e3c9fd0803ce8000000615c17565b600061171182633b9aca0063ffffffff61583716565b60006305f5e10082046005600a82061061575657600a015b600a900492915050565b60008061577a8461463387600a870263ffffffff61583716565b90506005600a825b061061578c57600a015b600a9004949350505050565b60006111bb6e53796e746865746978457363726f7760881b60405160408082019052601f81527f4d697373696e672053796e746865746978457363726f77206164647265737300602082015261551c565b60006111bb6b526577617264457363726f7760a01b60405160408082019052601c81527f4d697373696e6720526577617264457363726f77206164647265737300000000602082015261551c565b60008261584657506000611711565b8282028284828161585357fe5b04146131415760405162461bcd60e51b8152600401808060200182810382526021815260200180615f406021913960400191505060405180910390fd5b60008082116158e55760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390fd5b60008284816158f057fe5b04949350505050565b600061590361481a565b90506000615917838663ffffffff613edd16565b90506000811561597c576000615933878463ffffffff6156f616565b90506159788173__$012b109f13094d29c4767dbda215a49cf7$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680612524615c7a565b9150505b84861415615a7457826001600160a01b031663a764eb458860006040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806159d7615c7a565b1580156159e357600080fd5b505a6159ed615dbf565b505050505050158015615a04573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b815260040160006040518083038160008780615a3e615c7a565b158015615a4a57600080fd5b505a615a54615dbf565b505050505050158015615a6b573d6000803e3d6000fd5b50505050615b22565b6000615a86868863ffffffff613edd16565b90506000615a9a828563ffffffff6156f616565b9050846001600160a01b031663a764eb458a836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780615aee615c7a565b158015615afa57600080fd5b505a615b04615dbf565b505050505050158015615b1b573d6000803e3d6000fd5b5050505050505b6001600160a01b038316633d31e97b615b60838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614c19615c7a565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780615b94615c7a565b158015615ba057600080fd5b505a615baa615dbf565b505050505050158015615bc1573d6000803e3d6000fd5b5050505050505050505050565b60006111bb66119959541bdbdb60ca1b60405160408082019052601781527f4d697373696e6720466565506f6f6c2061646472657373000000000000000000602082015261551c565b600080600a8304615c2e868663ffffffff61583716565b81615c3557fe5b0490506005600a82615782565b6320966208598160e01b8152836004820152602081602483336000905af180615c71576040513d6000823e3d81fd5b81519450505050565b63c3382d0f598160e01b8152836004820152602081602483336000905af180615c71576040513d6000823e3d81fd5b63fbb0f79d598160e01b815284600482015260005b87811015615cd9578087015182820160240152602001615cbe565b5088888860240183336000905af180615cf8576040513d6000823e3d81fd5b98505050565b6328dcb2a0598160e01b8152836004820152846024820152600081604483336000905af18061158c576040513d6000823e3d81fd5b81615d3c615c42565b8183615d46615cfe565b50508181111561158c578183600052602060002061158c9281019101615e5a565b6345e97ddb598160e01b8152846004820152600087811015615cd9578087015182820160240152602001615cbe565b63bdbf8c36598160e01b8152602081600483336000905af180615c71576040513d6000823e3d81fd5b634c6d7c84598160e01b815284600482015260005b88811015615def578088015182820160240152602001615dd4565b5089898960240183336000905af180615e0e576040513d6000823e3d81fd5b99505050565b6373509064598160e01b8152602081600483336000905af180615c71576040513d6000823e3d81fd5b604051610300808201604052601890829080388339509192915050565b6111be91905b808211156127005760008082615e74615cfe565b505050600101615e6056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c7320616464726573734973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774361636865642073796e74682073756d206578636565647320746f74616c20646562744d697373696e67204574686572436f6c6c61746572616c735553442061646472657373",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSynchronised",
					"type": "event",
					"signature": "0x6eddff7d81afa874124321780c7eeb5b2af804fa8e16ef689f9f042a8f63e1fc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "addPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x849cf588"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb06e8c65"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9a5154b4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x497d704a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2b3f41aa"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "cachePERIIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x172058f7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPERIIssuedDebtForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "periIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x49e4c7b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedPERIIssuedDebtInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x364fb765"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbff4fdfc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentPERIIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "periIssuedDebt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21428aa0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPERIIssuedDebtForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "periIssuedDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3973a2bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtCacheIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe843515"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8977132"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd864ccf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x042e0688"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44ec6b62"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeDebtCacheForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7d74e85d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b887dae"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b1001b7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bed0415"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updatePERIIssuedDebtForCurrencies",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe1d77e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[2]",
							"name": "currencyKeys",
							"type": "bytes32[2]"
						},
						{
							"internalType": "uint256[2]",
							"name": "currencyRates",
							"type": "uint256[2]"
						}
					],
					"name": "updatePERIIssuedDebtOnExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9e342f71"
				}
			],
			"source": {
				"keccak256": "0x40c5331e1d5a861572022b0f9aa8dcbb4c40c9447fd29567bc9709b7ff67015d",
				"urls": [
					"bzz-raw://b8ba8e0771c8c1b0aabebeda45edf956ea271a5c2c8babeaedd7d455b2723dee",
					"dweb:/ipfs/QmU1Pkggc5ga1cBKipjeTAh5f4bQ1REjXaF5k68p377nzu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.ff18a1b2"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"IssuerWithoutUpdatableCache.sol": "IssuerWithoutUpdatableCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"IssuerWithoutUpdatableCache.sol": {
						"keccak256": "0x40c5331e1d5a861572022b0f9aa8dcbb4c40c9447fd29567bc9709b7ff67015d",
						"urls": [
							"bzz-raw://b8ba8e0771c8c1b0aabebeda45edf956ea271a5c2c8babeaedd7d455b2723dee",
							"dweb:/ipfs/QmU1Pkggc5ga1cBKipjeTAh5f4bQ1REjXaF5k68p377nzu"
						]
					}
				},
				"version": 1
			}
		},
		"RealtimeDebtCache": {
			"bytecode": "6080604052600160088181620000146200058e565b8160ff021916908315150217906200002b620005f0565b50505060405160c0810160409081526524b9b9bab2b960d11b82526822bc31b430b733b2b960b91b60208301526c45786368616e6765526174657360981b908201526b53797374656d53746174757360a01b60608201526e115d1a195c90dbdb1b185d195c985b608a1b60808201527f4574686572436f6c6c61746572616c735553440000000000000000000000000060a0820152620000d09060099060066200063f565b50348015620000e957600080620000e66200068d565b50505b50604051620026c8380380620026c8833981810160405260408110156200011a57600080620001176200068d565b50505b8101908080519291906020018051925083915082905080600960186103006040519081016040529190610300830182845b81620001566200058e565b815260200190600101908083116200014b57508793505050506001600160a01b038116620001d55760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620001d26200068d565b50505b806000600181620001e56200058e565b816001600160a01b0302191690836001600160a01b031602179062000209620005f0565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620002626200058e565b906101000a90046001600160a01b03166001600160a01b03161415620002cd5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620002ca6200068d565b50505b60005b60188110156200035d576000828260188110620002e957fe5b6020020151146200034e5760048282601881106200030357fe5b60200201519080600181620003176200058e565b01808262000324620005f0565b505060009283529160001983019150602090209192910162000345620005f0565b50505062000354565b6200035d565b600101620002d0565b508160026001816200036e6200058e565b816001600160a01b0302191690836001600160a01b031602179062000392620005f0565b5050505050620003ba6e466c657869626c6553746f7261676560881b620003c460201b60201c565b5050505062000828565b80600480600181620003d56200058e565b018082620003e2620005f0565b505060009283529160001983019150602090209192910162000403620005f0565b5050506018600480620004156200058e565b905010620004745760405162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015260640160405180910390620004716200068d565b50505b60006002620004826200058e565b906101000a90046001600160a01b03166001600160a01b03166321f8a721826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680620004d5620006fa565b158015620004ed57600080620004ea6200068d565b50505b505a620004f962000747565b50505050501580156200051b573d6000803e3d6000620005186200068d565b50505b505050506040513d60208110156200053d576000806200053a6200068d565b50505b8101908080516000858152600360205290935060409250905020600181620005646200058e565b816001600160a01b0302191690836001600160a01b031602179062000588620005f0565b50505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620005eb57600082820152602001620005d2565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620005d2565b82601881019282156200067b579160200282015b828111156200067b5782518262000669620005f0565b50509160200191906001019062000653565b5062000689929150620007fb565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620006c7578086015182820160400152602001620006aa565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020620005d2565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b888110156200078d57808801518282015260200162000773565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b81811015620007f05760008152602001620007da565b50919b505050505050565b6200082591905b8082111562000689576000808262000819620005f0565b50505060010162000802565b90565b611e9080620008386000396000f3fe608060405234801561001957600080610016611b2e565b50505b50600436106101975760003560e01c80638da5cb5b116100e7578063c6c9d828116100a0578063d685743a1161007a578063d685743a1461074b578063e3235c9114610777578063e3476cd41461077f578063fc5247731461078757610197565b8063c6c9d8281461068b578063cda218c7146106b1578063d0fffafd1461074357610197565b80638da5cb5b146105275780638dd5bfbc1461052f578063a5f27edb14610555578063ab49848c1461055d578063af5355d81461059e578063b13cd785146105a657610197565b80633a900a2e11610154578063631e14441161012e578063631e1444146103cc5780636bf7c4351461040f578063759076e5146104fd57806379ba50971461051f57610197565b80633a900a2e1461035f5780633be99e6f1461039557806353a47bb7146103c457610197565b806304bd11e5146101a557806304f3bcec146101cf57806305393262146101f35780630fb384651461020d5780631627540c1461023357806317b38db414610262575b6000806101a2611b2e565b50505b6101cd600480360360208110156101c4576000806101c1611b2e565b50505b5035151561078f565b005b6101d7610792565b6040516001600160a01b03909116815260200160405180910390f35b6101fb6107b1565b60405190815260200160405180910390f35b6101fb6004803603602081101561022c57600080610229611b2e565b50505b50356107c3565b6101cd600480360360208110156102525760008061024f611b2e565b50505b50356001600160a01b031661083c565b6101cd600480360360408110156102815760008061027e611b2e565b50505b810190602081018135600160201b8111156102a4576000806102a1611b2e565b50505b8201836020820111156102bf576000806102bc611b2e565b50505b803590602001918460208302840111600160201b831117156102e9576000806102e6611b2e565b50505b919390929091602081019035600160201b81111561030f5760008061030c611b2e565b50505b82018360208201111561032a57600080610327611b2e565b50505b803590602001918460208302840111600160201b8311171561035457600080610351611b2e565b50505b5090925090506108b6565b6103676108bc565b6040519384526020840192909252151560408084019190915290151560608301526080909101905180910390f35b6101cd600480360360208110156103b4576000806103b1611b2e565b50505b50356001600160a01b03166108ec565b6101d7610ab6565b6103fb600480360360208110156103eb576000806103e8611b2e565b50505b50356001600160a01b0316610ac2565b604051901515815260200160405180910390f35b6104a16004803603602081101561042e5760008061042b611b2e565b50505b810190602081018135600160201b8111156104515760008061044e611b2e565b50505b82018360208201111561046c57600080610469611b2e565b50505b803590602001918460208302840111600160201b8311171561049657600080610493611b2e565b50505b509092509050610c9c565b604051811515602082015260408082528190810184818151815260200191508051906020019060200280838360005b838110156104e85780820151838201526020016104d0565b50505050905001935050505060405180910390f35b610505610ce7565b604051918252151560208201526040908101905180910390f35b6101cd610cfa565b6101d7610e7d565b6101cd6004803603602081101561054e5760008061054b611b2e565b50505b503561078f565b6103fb610e88565b610565610e9a565b604051808261030080838360005b8381101561058b578082015183820152602001610573565b5050505090500191505060405180910390f35b6101fb610efc565b610638600480360360208110156105c5576000806105c2611b2e565b50505b810190602081018135600160201b8111156105e8576000806105e5611b2e565b50505b82018360208201111561060357600080610600611b2e565b50505b803590602001918460208302840111600160201b8311171561062d5760008061062a611b2e565b50505b509092509050610f02565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561067757808201518382015260200161065f565b505050509050019250505060405180910390f35b6101fb600480360360208110156106aa576000806106a7611b2e565b50505b5035610f4c565b6101cd600480360360208110156106d0576000806106cd611b2e565b50505b810190602081018135600160201b8111156106f3576000806106f0611b2e565b50505b82018360208201111561070e5760008061070b611b2e565b50505b803590602001918460208302840111600160201b8311171561073857600080610735611b2e565b50505b509092509050610ab2565b6101fb610f77565b6101cd6004803603604081101561076a57600080610767611b2e565b50505b5080359060200135610ab2565b6101fb610f87565b6101cd610f8c565b6103fb610f8e565b50565b6000600261079e611b99565b906101000a90046001600160a01b031681565b6000806107bc610f93565b5091505090565b6000606060016040519080825280602002602001820160405280156107f2578160200160208202803883390190505b509050828160008151811061080357fe5b602002602001018181525050606061081a82611144565b5090508060008151811061082a57fe5b6020026020010151925050505b919050565b610844611309565b8060018080610851611b99565b816001600160a01b0302191690836001600160a01b0316021790610873611bf4565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b50505050565b6000806000806000806108cd610f93565b91509150815a6108db611c42565b909790965090945060009350915050565b6108f4611309565b806002600181610902611b99565b816001600160a01b0302191690836001600160a01b0316021790610924611bf4565b5060009150505b600480610936611b99565b9050811015610ab25760006004828161094d611b99565b811061095557fe5b90600052602060002001610967611b99565b905060006002610975611b99565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040516001600160e01b031960e084901b1681526004810191909152604060248201819052601760448301527f5265736f6c766572206d697373696e67207461726765740000000000000000006064830152608490910190602090518083038186806109fe611c88565b158015610a1357600080610a10611b2e565b50505b505a610a1d611cd4565b5050505050158015610a3c573d6000803e3d6000610a39611b2e565b50505b505050506040513d6020811015610a5b57600080610a58611b2e565b50505b8101908080516000858152600360205290935060409250905020600181610a80611b99565b816001600160a01b0302191690836001600160a01b0316021790610aa2611bf4565b50506001909201915061092b9050565b5050565b6000600161079e611b99565b60006001600160a01b038216816002610ad9611b99565b906101000a90046001600160a01b03166001600160a01b031614610aff57506000610837565b60005b600480610b0d611b99565b9050811015610c9357600060048281610b24611b99565b8110610b2c57fe5b90600052602060002001610b3e611b99565b6000818152600360205290915060409020600090610b5a611b99565b6001600160a01b036101009290920a90041660006002610b78611b99565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610bc9611c88565b158015610bde57600080610bdb611b2e565b50505b505a610be8611cd4565b5050505050158015610c07573d6000803e3d6000610c04611b2e565b50505b505050506040513d6020811015610c2657600080610c23611b2e565b50505b8101908080516001600160a01b031693909314159250829150610c7a905057506000818152600360205260408120600090610c5f611b99565b906101000a90046001600160a01b03166001600160a01b0316145b15610c8a57600092505050610837565b50600101610b02565b50600192915050565b60606000610cdc84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061114492505050565b915091509250929050565b600080610cf2610f93565b915091509091565b60006001610d06611b99565b906101000a90046001600160a01b03166001600160a01b03165a610d28611d84565b6001600160a01b031614610d765760405162461bcd60e51b8152600401808060200182810382526035815260200180611de86035913960400191505060405180910390610d73611b2e565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610da2611b99565b906101000a90046001600160a01b03166001600090610dbf611b99565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610dfe611b99565b906101000a90046001600160a01b03166000806101000a81610e1e611b99565b816001600160a01b0302191690836001600160a01b0316021790610e40611bf4565b5050506000600160006101000a81610e56611b99565b816001600160a01b0302191690836001600160a01b0316021790610e78611bf4565b505050565b60008061079e611b99565b600080610e93610f93565b9250505090565b610ea2611dca565b60005b600480610eb0611b99565b9050811015610ef85760048181610ec5611b99565b8110610ecd57fe5b90600052602060002001610edf611b99565b828260188110610eeb57fe5b6020020152600101610ea5565b5090565b60001990565b606080610f4184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061114492505050565b509150505b92915050565b60048181610f58611b99565b8110610f6057fe5b906000526020600020019050610f74611b99565b81565b60005a610f82611c42565b905090565b601881565b565b600090565b600080606060006110f4610fa5611381565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680610fd8611c88565b158015610fed57600080610fea611b2e565b50505b505a610ff7611cd4565b5050505050158015611016573d6000803e3d6000611013611b2e565b50505b505050506040513d6000823e601f3d908101601f19168201604052602081101561104857600080611045611b2e565b50505b8101908080516040519392919084600160201b8211156110705760008061106d611b2e565b50505b90830190602082018581111561108e5760008061108b611b2e565b50505b82518660208202830111600160201b821117156110b3576000806110b0611b2e565b50505b825250602001908051906020019060200280838360005b838110156110e25780820151838201526020016110ca565b50505050905001604052505050611144565b915091506000825190506000805b828110156111385761112e85828151811061111957fe5b6020026020010151839063ffffffff6113c216565b9150600101611102565b50945090925050509091565b606060006060600061115461142b565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156111b257808201518382015260200161119a565b505050509050019250505060006040518083038186806111d0611c88565b1580156111e5576000806111e2611b2e565b50505b505a6111ef611cd4565b505050505015801561120e573d6000803e3d600061120b611b2e565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156112405760008061123d611b2e565b50505b8101908080516040519392919084600160201b82111561126857600080611265611b2e565b50505b90830190602082018581111561128657600080611283611b2e565b50505b82518660208202830111600160201b821117156112ab576000806112a8611b2e565b50505b825250602001908051906020019060200280838360005b838110156112da5780820151838201526020016112c2565b5050505090500160405260200180519395509293506112ff925087915084905061147a565b9350915050915091565b600080611314611b99565b906101000a90046001600160a01b03166001600160a01b03165a611336611d84565b6001600160a01b031614610f8c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611e1d602f913960400191505060405180910390610ab2611b2e565b6000610f826524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b60208201526118d2565b6000828201838110156114245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390611421611b2e565b50505b9392505050565b6000610f826c45786368616e6765526174657360981b60405160408082019052601d81527f4d697373696e672045786368616e67655261746573206164647265737300000060208201526118d2565b60606000835190506060816040519080825280602002602001820160405280156114ae578160200160208202803883390190505b50905060606114bb611381565b6001600160a01b0316633b6afe40876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611519578082015183820152602001611501565b50505050905001925050506000604051808303818680611537611c88565b15801561154c57600080611549611b2e565b50505b505a611556611cd4565b5050505050158015611575573d6000803e3d6000611572611b2e565b50505b505050506040513d6000823e601f3d908101601f1916820160405260208110156115a7576000806115a4611b2e565b50505b8101908080516040519392919084600160201b8211156115cf576000806115cc611b2e565b50505b9083019060208201858111156115ed576000806115ea611b2e565b50505b82518660208202830111600160201b821117156116125760008061160f611b2e565b50505b825250602001908051906020019060200280838360005b83811015611641578082015183820152602001611629565b50505050905001604052505050905060008090505b838110156118c757600087828151811061166c57fe5b60200260200101519050600083838151811061168457fe5b602002602001015190506001600160a01b0381166116e85760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401604051809103906116e5611b2e565b50505b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381868061171e611c88565b15801561173357600080611730611b2e565b50505b505a61173d611cd4565b505050505015801561175c573d6000803e3d6000611759611b2e565b50505b505050506040513d602081101561177b57600080611778611b2e565b50505b81019080805193505050631cd554d160e21b8414905080806117a35750630e68aa8960e31b84145b1561187c576000816117bc576117b761199b565b6117c4565b6117c46119ec565b90506000816001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186806117fc611c88565b1580156118115760008061180e611b2e565b50505b505a61181b611cd4565b505050505015801561183a573d6000803e3d6000611837611b2e565b50505b505050506040513d602081101561185957600080611856611b2e565b50505b8101908080519350611877925086915083905063ffffffff611a2416565b935050505b6118a08a868151811061188b57fe5b6020026020010151839063ffffffff611a8916565b8786815181106118ac57fe5b60209081029190910101525050600190920191506116569050565b509095945050505050565b6000828152600360205280604081206000906118ec611b99565b6001600160a01b036101009290920a900416905082816119935760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561194f578082015183820152602001611937565b50505050905090810190601f16801561197c5780820380516001836020036101000a031916815260200191505b509250505060405180910390611990611b2e565b50505b509392505050565b6000610f826e115d1a195c90dbdb1b185d195c985b608a1b60405160408082019052601f81527f4d697373696e67204574686572436f6c6c61746572616c20616464726573730060208201526118d2565b6000610f8272115d1a195c90dbdb1b185d195c985b1cd554d1606a1b604051606081016040526023808252611e6d60208301396118d2565b600082821115611a835760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390611a80611b2e565b50505b50900390565b60006114248383670de0b6b3a7640000848067016345785d8a0000611aae8686611ad3565b81611ab557fe5b0490506005600a820610611ac757600a015b600a9004949350505050565b600082611ae257506000610f46565b82820282848281611aef57fe5b04146114245760405162461bcd60e51b8152600401808060200182810382526021815260200180611e4c60219139604001915050604051809103906114215b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015611b66578086015182820160400152602001611b4b565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610e7857600082820152602001611bdd565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611bdd565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611bdd565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611bdd565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b88811015611d18578088015182820152602001611d00565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b81811015611d795760008152602001611d65565b50919b505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611bdd565b60405161030080820160405260189082908038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d697373696e67204574686572436f6c6c61746572616c735553442061646472657373",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event",
					"signature": "0xc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a900a2e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5f27edb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc524773"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0fffafd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05393262"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedPynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fb38465"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb13cd785"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759076e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bf7c435"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedPynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8dd5bfbc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe3476cd4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedPynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd685743a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedPynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcda218c7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedPynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17b38db4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04bd11e5"
				}
			],
			"source": {
				"keccak256": "0xaba212f8ed4e4e32e531b64ac13e2a56795dbc7d160d2fba10813f8c83f5f810",
				"urls": [
					"bzz-raw://f29118929aba870a7bac8ea12f86bbbb030c06c1cea1399bb46354e003728456",
					"dweb:/ipfs/QmPtrqczfpNVs2GdS7pMavusGCZujPLDX9aYeH5d1eDqu3"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RealtimeDebtCache.sol": "RealtimeDebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RealtimeDebtCache.sol": {
						"keccak256": "0xaba212f8ed4e4e32e531b64ac13e2a56795dbc7d160d2fba10813f8c83f5f810",
						"urls": [
							"bzz-raw://f29118929aba870a7bac8ea12f86bbbb030c06c1cea1399bb46354e003728456",
							"dweb:/ipfs/QmPtrqczfpNVs2GdS7pMavusGCZujPLDX9aYeH5d1eDqu3"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceBridgeToBase": {
			"bytecode": "60806040526040516080810160409081526c32bc3a1d26b2b9b9b2b733b2b960991b8252680a6f2dce8d0cae8d2f60bb1b60208301526524b9b9bab2b960d11b908201527f626173653a53796e746865746978427269646765546f4f7074696d69736d0000606082015262000079906005906004620002d3565b5034801562000092576000806200008f62000321565b50505b5060405162001e4838038062001e48833981016040819052620000b59162000483565b80600560186103006040519081016040529190610300830182845b81620000db6200038e565b81526020019060010190808311620000d057508793505050506001600160a01b038116620001315760405162461bcd60e51b81526004016200011d906200058b565b604051809103906200012e62000321565b50505b806000600181620001416200038e565b816001600160a01b0302191690836001600160a01b031602179062000165620003f0565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516200019c92919062000553565b60405180910390a15060008080620001b36200038e565b906101000a90046001600160a01b03166001600160a01b03161415620002015760405162461bcd60e51b8152600401620001ed9062000579565b60405180910390620001fe62000321565b50505b60005b6018811015620002915760008282601881106200021d57fe5b602002015114620002825760048282601881106200023757fe5b602002015190806001816200024b6200038e565b01808262000258620003f0565b505060009283529160001983019150602090209192910162000279620003f0565b50505062000288565b62000291565b60010162000204565b50816002600181620002a26200038e565b816001600160a01b0302191690836001600160a01b0316021790620002c6620003f0565b50505050505050620005ee565b82601881019282156200030f579160200282015b828111156200030f57825182620002fd620003f0565b505091602001919060010190620002e7565b506200031d9291506200043f565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200035b5780860151828201604001526020016200033e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620003eb57600082820152602001620003d2565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620003d2565b6200046991905b808211156200031d57600080826200045d620003f0565b50505060010162000446565b90565b6000815190506200047d81620005cc565b92915050565b60008060408385031215620004a2576000806200049f62000321565b50505b6000620004b085856200046c565b9250506020620004c3858286016200046c565b9150509250929050565b620004d881620005b8565b82525050565b620004d881620005a6565b6000620004f86011836200059d565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620005276019836200059d565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620005638285620004cd565b620005726020830184620004de565b9392505050565b602080825281016200047d81620004e9565b602080825281016200047d8162000518565b90815260200190565b60006001600160a01b0382166200047d565b60006200047d8260006200047d82620005a6565b620005d781620005a6565b8114620005eb57600080620003eb62000321565b50565b61184a80620005fe6000396000f3fe608060405234801561001957600080610016610f48565b50505b50600436106100d85760003560e01c8063631e144411610095578063a6b96f571161006f578063a6b96f5714610197578063ab49848c146101aa578063c6c9d828146101bf578063e3235c91146101df576100d8565b8063631e14441461016757806379ba5097146101875780638da5cb5b1461018f576100d8565b80630404d171146100e657806304f3bcec146100fb57806312edde5e146101195780631627540c1461012c5780633be99e6f1461013f57806353a47bb714610152575b6000806100e3610f48565b50505b6100f96100f4366004611300565b6101e7565b005b6101036102c1565b6040516101109190611718565b60405180910390f35b6100f961012736600461136a565b6102e0565b6100f961013a3660046112aa565b61057a565b6100f961014d366004611343565b6105ee565b61015a610775565b604051610110919061162c565b61017a610175366004611343565b610781565b60405161011091906116dd565b6100f961094f565b61015a610aaf565b6100f96101a536600461136a565b610aba565b6101b2610b7c565b60405161011091906116ce565b6101d26101cd36600461136a565b610bde565b60405161011091906116eb565b6101d2610c09565b6101ef610c0e565b6101f7610d43565b6001600160a01b031663666ed4f183836040518363ffffffff1660e01b8152600401610224929190611654565b60006040518083038160008780610239610fb3565b15801561024e5760008061024b610f48565b50505b505a61025861100e565b505050505050158015610278573d6000803e3d6000610275610f48565b50505b50505050816001600160a01b03167f8bee677ce808ba08aedfdf407cbf9c4414e77f8b66c0d96f335b275cbf534144826040516102b591906116eb565b60405180910390a25050565b600060026102cd6110be565b906101000a90046001600160a01b031681565b6102e8610d93565b6001600160a01b031663d37c4d8b5a6102ff61110a565b6040518263ffffffff1660e01b815260040161031b919061163a565b602060405180830381868061032e610fb3565b15801561034357600080610340610f48565b50505b505a61034d611150565b505050505015801561036c573d6000803e3d6000610369610f48565b50505b50505050604051601f3d908101601f1916820160405261038f9190810190611391565b156103be5760405162461bcd60e51b81526004016103ac90611747565b604051809103906103bb610f48565b50505b6103c6610d43565b6001600160a01b031663edef719a5a6103dd61110a565b836040518363ffffffff1660e01b81526004016103fb929190611676565b60006040518083038160008780610410610fb3565b15801561042557600080610422610f48565b50505b505a61042f61100e565b50505050505015801561044f573d6000803e3d600061044c610f48565b50505b5050505060605a61045e61110a565b82604051602401610470929190611654565b604051601f1981830301815260409190915263e2ff2d4360e01b6020820180516001600160e01b0316909117905290506104a8610dd4565b6001600160a01b0316633dbb202b6104be610e23565b83622dc6c06040518463ffffffff1660e01b81526004016104e19392919061169f565b600060405180830381600087806104f6610fb3565b15801561050b57600080610508610f48565b50505b505a61051561100e565b505050505050158015610535573d6000803e3d6000610532610f48565b50505b505050505a61054261110a565b6001600160a01b03167f6d92f7d3303f995bf21956bb0c51b388bae348eaf45c23debd2cfa3fcd9ec646836040516102b591906116eb565b610582610e7b565b806001808061058f6110be565b816001600160a01b0302191690836001600160a01b03160217906105b1611200565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516105e3919061162c565b60405180910390a150565b6105f6610e7b565b8060026001816106046110be565b816001600160a01b0302191690836001600160a01b0316021790610626611200565b5060009150505b6004806106386110be565b90508110156107715760006004828161064f6110be565b811061065757fe5b906000526020600020016106696110be565b9050600060026106776110be565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01826040518263ffffffff1660e01b81526004016106b291906116f9565b60206040518083038186806106c5610fb3565b1580156106da576000806106d7610f48565b50505b505a6106e4611150565b5050505050158015610703573d6000803e3d6000610700610f48565b50505b50505050604051601f3d908101601f1916820160405261072691908101906112d9565b600082815260036020526040902060018161073f6110be565b816001600160a01b0302191690836001600160a01b0316021790610761611200565b50506001909201915061062d9050565b5050565b600060016102cd6110be565b60006001600160a01b0382168160026107986110be565b906101000a90046001600160a01b03166001600160a01b0316146107be5750600061094a565b60005b6004806107cc6110be565b9050811015610944576000600482816107e36110be565b81106107eb57fe5b906000526020600020016107fd6110be565b60008181526003602052909150604090206000906108196110be565b6001600160a01b036101009290920a900416600060026108376110be565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b815260040161087291906116eb565b6020604051808303818680610885610fb3565b15801561089a57600080610897610f48565b50505b505a6108a4611150565b50505050501580156108c3573d6000803e3d60006108c0610f48565b50505b50505050604051601f3d908101601f191682016040526108e691908101906112d9565b6001600160a01b031614158061092b575060008181526003602052604081206000906109106110be565b906101000a90046001600160a01b03166001600160a01b0316145b1561093b5760009250505061094a565b506001016107c1565b50600190505b919050565b6000600161095b6110be565b906101000a90046001600160a01b03166001600160a01b03165a61097d61110a565b6001600160a01b0316146109b55760405162461bcd60e51b81526004016109a390611737565b604051809103906109b2610f48565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806109e16110be565b906101000a90046001600160a01b031660016000906109fe6110be565b906101000a90046001600160a01b0316604051610a1c929190611684565b60405180910390a160006001610a306110be565b906101000a90046001600160a01b03166000806101000a81610a506110be565b816001600160a01b0302191690836001600160a01b0316021790610a72611200565b5050506000600160006101000a81610a886110be565b816001600160a01b0302191690836001600160a01b0316021790610aaa611200565b505050565b6000806102cd6110be565b610ac2610c0e565b610aca610d43565b6001600160a01b031663d8a1f76f826040518263ffffffff1660e01b8152600401610af591906116eb565b60006040518083038160008780610b0a610fb3565b158015610b1f57600080610b1c610f48565b50505b505a610b2961100e565b505050505050158015610b49573d6000803e3d6000610b46610f48565b50505b505050507f4c867b72baae24147e49f29f47f17923bea3b5d1a076dff11e0bac8c180a84c1816040516105e391906116eb565b610b8461124e565b60005b600480610b926110be565b9050811015610bda5760048181610ba76110be565b8110610baf57fe5b90600052602060002001610bc16110be565b828260188110610bcd57fe5b6020020152600101610b87565b5090565b60048181610bea6110be565b8110610bf257fe5b906000526020600020019050610c066110be565b81565b601881565b6000610c18610dd4565b9050806001600160a01b03165a610c2d61110a565b6001600160a01b031614610c655760405162461bcd60e51b8152600401610c5390611767565b60405180910390610c62610f48565b50505b610c6d610e23565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b81526004016020604051808303818680610caa610fb3565b158015610cbf57600080610cbc610f48565b50505b505a610cc9611150565b5050505050158015610ce8573d6000803e3d6000610ce5610f48565b50505b50505050604051601f3d908101601f19168201604052610d0b91908101906112d9565b6001600160a01b031614610d405760405162461bcd60e51b8152600401610d3190611777565b60405180910390610aaa610f48565b50565b6000610d8e680a6f2dce8d0cae8d2f60bb1b60405160408082019052601981527f4d697373696e672053796e7468657469782061646472657373000000000000006020820152610edf565b905090565b6000610d8e6524b9b9bab2b960d11b6040516040808201905260168152754d697373696e6720497373756572206164647265737360501b6020820152610edf565b6000610d8e6c32bc3a1d26b2b9b9b2b733b2b960991b60405160408082019052601981527f4d697373696e67204d657373656e6765722061646472657373000000000000006020820152610edf565b6000610d8e7f626173653a53796e746865746978427269646765546f4f7074696d69736d00006040516040808201905260168152754d697373696e6720427269646765206164647265737360501b6020820152610edf565b600080610e866110be565b906101000a90046001600160a01b03166001600160a01b03165a610ea861110a565b6001600160a01b031614610edd5760405162461bcd60e51b8152600401610ece90611757565b60405180910390610771610f48565b565b600082815260036020528060408120600090610ef96110be565b6001600160a01b036101009290920a90041690508281610f3e5760405162461bcd60e51b8152600401610f2c9190611726565b60405180910390610f3b610f48565b50505b5090505b92915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610f80578086015182820160400152602001610f65565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610aaa57600082820152602001610ff7565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561105257808901518282015260200161103a565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059845b818110156110b3576000815260200161109f565b50919c505050505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610ff7565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610ff7565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561119457808801518282015260200161117c565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059845b818110156111f557600081526020016111e1565b50919b505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610ff7565b604051610300808201604052601890829080388339509192915050565b8035610f428161181e565b600081519050610f428161181e565b8035610f4281611838565b8035610f4281611841565b600081519050610f4281611841565b6000602082840312156112c5576000806112c2610f48565b50505b60006112d1848461126b565b949350505050565b6000602082840312156112f4576000806112f1610f48565b50505b60006112d18484611276565b6000806040838503121561131c57600080611319610f48565b50505b6000611328858561126b565b925050602061133985828601611290565b9150509250929050565b60006020828403121561135e5760008061135b610f48565b50505b60006112d18484611285565b60006020828403121561138557600080611382610f48565b50505b60006112d18484611290565b6000602082840312156113ac576000806113a9610f48565b50505b60006112d1848461129b565b60006113c48383611441565b505060200190565b6113d5816117d9565b82525050565b6113d5816117a9565b6113ed8161178a565b6113f7818461094a565b925061140282611787565b8060005b8381101561143057815161141a87826113b8565b96506114258361179a565b925050600101611406565b505050505050565b6113d5816117b4565b6113d581611787565b600061145582611790565b61145f81856117a0565b935061146f8185602086016117e4565b61147881611814565b9093019392505050565b6113d5816117b9565b60006114986035836117a0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006114ef6019836117a0565b7f43616e6e6f742077697468647261772077697468206465627400000000000000815260200192915050565b6000611528602f836117a0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000611585601e836117a0565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b60006115be601d836117a0565b7f4f6e6c7920746865204c31206272696467652063616e20696e766f6b65000000815260200192915050565b60006115f76017836117a0565b7f5265736f6c766572206d697373696e6720746172676574000000000000000000815260200192915050565b6113d5816117d0565b60208101610f4282846113db565b6040810161164882846113cc565b610f426020830161156c565b6040810161166282856113db565b61166f6020830184611441565b9392505050565b6040810161166282856113cc565b6040810161169282856113db565b61166f60208301846113db565b606081016116ad82866113db565b81810360208301526116bf818561144a565b90506112d16040830184611623565b6103008101610f4282846113e4565b60208101610f428284611438565b60208101610f428284611441565b604081016117078284611441565b818103602083015261166f816115ea565b60208101610f428284611482565b6020808252810161166f818461144a565b60208082528101610f428161148b565b60208082528101610f42816114e2565b60208082528101610f428161151b565b60208082528101610f4281611578565b60208082528101610f42816115b1565b90565b50601890565b6000815192915050565b60200190565b90815260200190565b6000610f42826117c4565b151590565b6000610f42826117a9565b6001600160a01b031690565b63ffffffff1690565b6000610f42826117b9565b60005b838110156117ff5780820151838201526020016117e7565b8381111561180e576000848401525b50505050565b601f01601f191690565b611827816117a9565b8114610d4057600080610aaa610f48565b611827816117b9565b6118278161178756",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MintedSecondary",
					"type": "event",
					"signature": "0x8bee677ce808ba08aedfdf407cbf9c4414e77f8b66c0d96f335b275cbf534144"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MintedSecondaryRewards",
					"type": "event",
					"signature": "0x4c867b72baae24147e49f29f47f17923bea3b5d1a076dff11e0bac8c180a84c1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalInitiated",
					"type": "event",
					"signature": "0x6d92f7d3303f995bf21956bb0c51b388bae348eaf45c23debd2cfa3fcd9ec646"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x12edde5e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryFromDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0404d171"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryFromDepositForRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa6b96f57"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0x3e579fc7cbb4caf7a275029f4463b6c6a9a1280121130b2aaea9801082e9c9b8",
				"urls": [
					"bzz-raw://44630cceff4d9d10c12caa0fd36c30f1a40f7dc0a970b014c08847bf04ed4400",
					"dweb:/ipfs/QmbnqQQpyhYmNatvBK1s1iBSmcZM4GQboKptP7wo68yJEd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.11.10+ovm+commit.00cdd204"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceBridgeToBase.sol": "PeriFinanceBridgeToBase"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceBridgeToBase.sol": {
						"keccak256": "0x3e579fc7cbb4caf7a275029f4463b6c6a9a1280121130b2aaea9801082e9c9b8",
						"urls": [
							"bzz-raw://44630cceff4d9d10c12caa0fd36c30f1a40f7dc0a970b014c08847bf04ed4400",
							"dweb:/ipfs/QmbnqQQpyhYmNatvBK1s1iBSmcZM4GQboKptP7wo68yJEd"
						]
					}
				},
				"version": 1
			}
		}
	}
}
