{
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158207ee27ee798e7e3d99c26a8e4e077d39c2193b6a47879f23930f56f931085ed7f64736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f",
				"urls": [
					"bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df",
					"dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f",
						"urls": [
							"bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df",
							"dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820405492e64f7dbf5e0c8c58befd9629887f04a9e6c80457bb85a0f1985d01985f64736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899",
				"urls": [
					"bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c",
					"dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899",
						"urls": [
							"bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c",
							"dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettingsLib": {
			"bytecode": "61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820a849c1480d04d1739eba65ff88f402088deee77112276b1a0bf097e0b233baa664736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_TWAP_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_VOLUME_PER_BLOCK",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_WRAPPER_BURN_FEE_RATE",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_WRAPPER_MINT_FEE_RATE",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_ATOMIC_TWAP_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SETTINGS_CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "contractName",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18",
				"urls": [
					"bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e",
					"dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettingsLib.sol": "SystemSettingsLib"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettingsLib.sol": {
						"keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18",
						"urls": [
							"bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e",
							"dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq"
						]
					}
				},
				"version": 1
			}
		},
		"SignedSafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158208bc1b10063a3bd33d542fa385328cae9771649021d5da36fa81cb987a062a00864736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x6d0e501db6f898d11da252ba9783932b66a53ae45ef4c643c3ff1472ebbbf60f",
				"urls": [
					"bzz-raw://d32447ef49c2783f2d62bd102e27f4a1ce841ce92726ec93e3db4633a3d91efa",
					"dweb:/ipfs/QmSXUzGYcbU7LMxcZW8dnzz77Hx43NWQck9CzXeeaG2JJg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SignedSafeDecimalMath.sol": "SignedSafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SignedSafeDecimalMath.sol": {
						"keccak256": "0x6d0e501db6f898d11da252ba9783932b66a53ae45ef4c643c3ff1472ebbbf60f",
						"urls": [
							"bzz-raw://d32447ef49c2783f2d62bd102e27f4a1ce841ce92726ec93e3db4633a3d91efa",
							"dweb:/ipfs/QmSXUzGYcbU7LMxcZW8dnzz77Hx43NWQck9CzXeeaG2JJg"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeSettlementLib": {
			"bytecode": "611b9f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80630a0ecd1b14610066578063291be93d146100925780632f2de902146100b257806377cd29a5146100d45780638317e96b14610103575b600080fd5b6100796100743660046113c1565b610123565b6040516100899493929190611a8c565b60405180910390f35b6100a56100a03660046112ca565b610155565b60405161008991906118b9565b8180156100be57600080fd5b506100d26100cd366004611418565b6101e9565b005b8180156100e057600080fd5b506100f46100ef366004611349565b6103d9565b60405161008993929190611a7e565b6101166101113660046113c1565b610712565b60405161008991906118ab565b60008080606061014361013b368a90038a018a6114b9565b888888610764565b929b919a509850909650945050505050565b60006101de856001600160a01b031663f1406dc886866040518363ffffffff1660e01b81526004016101889291906117ca565b60206040518083038186803b1580156101a057600080fd5b505afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101d891908101906114d7565b83610a99565b90505b949350505050565b60006101fb6040890160208a016112ac565b6001600160a01b0316637a018a1e876040518263ffffffff1660e01b815260040161022691906118b9565b60206040518083038186803b15801561023e57600080fd5b505afa158015610252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061027691908101906114d7565b9050600061028a60408a0160208b016112ac565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004016102b591906118b9565b60206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030591908101906114d7565b905061031460208a018a6112ac565b6001600160a01b0316633ca9d85c898989898989428a8a6040518a63ffffffff1660e01b815260040161034f99989796959493929190611814565b600060405180830381600087803b15801561036957600080fd5b505af115801561037d573d6000803e3d6000fd5b50505050876001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398888888888888886040516103c69796959493929190611913565b60405180910390a2505050505050505050565b600080806103f56103ed60208a018a6112ac565b888887610155565b1561041b5760405162461bcd60e51b815260040161041290611a60565b60405180910390fd5b60008080606061043b610433368e90038e018e6114b9565b8c8c8b610764565b93509350935093508284111561047c5761045b848463ffffffff610aed16565b965061047761046f368e90038e018e6114b9565b8c8c8a610b15565b6104b0565b838311156104b057610494838563ffffffff610aed16565b95506104b06104a8368e90038e018e6114b9565b8c8c89610c60565b8880156104c7575060008711806104c75750600086115b1561057657604080516001808252818301909252606091602080830190803883390190505090508a816000815181106104fc57fe5b602090810291909101015261051760808e0160608f016112ac565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b8152600401610542919061189a565b600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b50505050505b60005b8151811015610691578b6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106105b957fe5b6020026020010151600001518484815181106105d157fe5b6020026020010151602001518585815181106105e957fe5b60200260200101516040015186868151811061060157fe5b60200260200101516060015187878151811061061957fe5b60200260200101516080015188888151811061063157fe5b602002602001015160a0015189898151811061064957fe5b602002602001015160c001518a8a8151811061066157fe5b602002602001015160e0015160405161068198979695949392919061197b565b60405180910390a2600101610579565b5090935083906106a460208d018d6112ac565b6001600160a01b031663d0d3d62a8c8c6040518363ffffffff1660e01b81526004016106d19291906117ca565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b5050505050505050955095509592505050565b600061072c61072460208701876112ac565b858585610155565b15610739575060016101e1565b600061075561074d368890038801886114b9565b868686610764565b50505015159695505050505050565b6000806000606087600001516001600160a01b031663b44e975388886040518363ffffffff1660e01b815260040161079d9291906117ca565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed91908101906114d7565b915060608260405190808252806020026020018201604052801561082b57816020015b610818611097565b8152602001906001900390816108105790505b50905060005b83811015610a8b57610841611097565b8a5161084f908b8b85610d73565b90506000806108638d60200151848c610e52565b915091506000808e602001516001600160a01b0316636ce66c8086600001518760200151886040015188886040518663ffffffff1660e01b81526004016108ae9594939291906118c7565b60606040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fe91908101906114f5565b50509050610910818660800151610f7c565b91505060008e604001516001600160a01b03166378cb51cb8660600151846040518363ffffffff1660e01b815260040161094b929190611a70565b60206040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099b91908101906111de565b905060008082610a165783876060015111156109df5760608701516109c6908563ffffffff610aed16565b91506109d88d8363ffffffff61100e16565b9c50610a16565b8660600151841115610a16576060870151610a0190859063ffffffff610aed16565b9050610a138c8263ffffffff61100e16565b9b505b6040518061010001604052808860000151815260200188602001518152602001886040015181526020018381526020018281526020018781526020018681526020018860a00151815250898981518110610a6c57fe5b6020026020010181905250505050505050508080600101915050610831565b509050945094509450949050565b6000821580610ab75750610ab3838363ffffffff61100e16565b4210155b15610ac457506000610ae7565b610ae442610ad8858563ffffffff61100e16565b9063ffffffff610aed16565b90505b92915050565b600082821115610b0f5760405162461bcd60e51b815260040161041290611a40565b50900390565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610b4591906118b9565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b95919081019061132b565b6001600160a01b0316639dc29fac84836040518363ffffffff1660e01b8152600401610bc29291906117ca565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050508360a001516001600160a01b031663ace88afd8484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b5050505050505050565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610c9091906118b9565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce0919081019061132b565b6001600160a01b031663867904b484836040518363ffffffff1660e01b8152600401610d0d9291906117ca565b600060405180830381600087803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b505050508360a001516001600160a01b0316636f01a9868484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b610d7b611097565b6000806000806000806000808c6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b8152600401610db7939291906117ec565b6101006040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0891908101906111fc565b60408051610100810182529889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201529d9c50505050505050505050505050565b815160c083015160a084015160405163084f235160e11b815260009384936001600160a01b0389169363109e46a293610e929392919089906004016119f2565b60206040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ee291908101906114d7565b60408086015160e087015160a0880151925163084f235160e11b81529395506001600160a01b0389169363109e46a293610f2293929189906004016119f2565b60206040518083038186803b158015610f3a57600080fd5b505afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f7291908101906114d7565b9050935093915050565b6000610ae46110018373__$b35dcef3cd2d171b7cf73a40e8ebe9aba0$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc957600080fd5b505af4158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad891908101906114d7565b849063ffffffff61103316565b600082820183811015610ae45760405162461bcd60e51b815260040161041290611a30565b6000670de0b6b3a764000061104e848463ffffffff61105d16565b8161105557fe5b049392505050565b60008261106c57506000610ae7565b8282028284828161107957fe5b0414610ae45760405162461bcd60e51b815260040161041290611a50565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b8035610ae781611b2a565b8035610ae781611b41565b8051610ae781611b41565b8035610ae781611b4a565b8051610ae781611b4a565b8035610ae781611b53565b8051610ae781611b53565b600060c0828403121561114157600080fd5b50919050565b600060c0828403121561115957600080fd5b61116360c0611ac6565b905060006111718484611119565b825250602061118284848301611119565b602083015250604061119684828501611119565b60408301525060606111aa84828501611119565b60608301525060806111be84828501611119565b60808301525060a06111d284828501611119565b60a08301525092915050565b6000602082840312156111f057600080fd5b60006101e184846110f8565b600080600080600080600080610100898b03121561121957600080fd5b60006112258b8b61110e565b98505060206112368b828c0161110e565b97505060406112478b828c0161110e565b96505060606112588b828c0161110e565b95505060806112698b828c0161110e565b94505060a061127a8b828c0161110e565b93505060c061128b8b828c0161110e565b92505060e061129c8b828c0161110e565b9150509295985092959890939650565b6000602082840312156112be57600080fd5b60006101e18484611119565b600080600080608085870312156112e057600080fd5b60006112ec8787611119565b94505060206112fd878288016110e2565b935050604061130e87828801611103565b925050606061131f87828801611103565b91505092959194509250565b60006020828403121561133d57600080fd5b60006101e18484611124565b6000806000806000610140868803121561136257600080fd5b600061136e888861112f565b95505060c061137f888289016110e2565b94505060e061139088828901611103565b9350506101006113a2888289016110ed565b9250506101206113b488828901611103565b9150509295509295909350565b60008060008061012085870312156113d857600080fd5b60006113e4878761112f565b94505060c06113f5878288016110e2565b93505060e061140687828801611103565b92505061010061131f87828801611103565b6000806000806000806000610180888a03121561143457600080fd5b60006114408a8a61112f565b97505060c06114518a828b016110e2565b96505060e06114628a828b01611103565b9550506101006114748a828b01611103565b9450506101206114868a828b01611103565b9350506101406114988a828b01611103565b9250506101606114aa8a828b01611103565b91505092959891949750929550565b600060c082840312156114cb57600080fd5b60006101e18484611147565b6000602082840312156114e957600080fd5b60006101e1848461110e565b60008060006060848603121561150a57600080fd5b6000611516868661110e565b93505060206115278682870161110e565b92505060406115388682870161110e565b9150509250925092565b600061154e838361162a565b505060200190565b6000611562838361172d565b50506101000190565b61157481611b00565b82525050565b600061158582611af3565b61158f8185611af7565b935061159a83611aed565b8060005b838110156115c85781516115b28882611542565b97506115bd83611aed565b92505060010161159e565b509495945050505050565b60006115de82611af3565b6115e88185611af7565b93506115f383611aed565b8060005b838110156115c857815161160b8882611556565b975061161683611aed565b9250506001016115f7565b61157481611b0b565b61157481611b10565b6000611640601b83611af7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611679601e83611af7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006116b2602183611af7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006116f5602383611af7565b7f43616e6e6f7420736574746c6520647572696e672077616974696e67207065728152621a5bd960ea1b602082015260400192915050565b805161010083019061173f848261162a565b506020820151611752602085018261162a565b506040820151611765604085018261162a565b506060820151611778606085018261162a565b50608082015161178b608085018261162a565b5060a082015161179e60a085018261162a565b5060c08201516117b160c085018261162a565b5060e08201516117c460e085018261162a565b50505050565b604081016117d8828561156b565b6117e5602083018461162a565b9392505050565b606081016117fa828661156b565b611807602083018561162a565b6101e1604083018461162a565b6101208101611823828c61156b565b611830602083018b61162a565b61183d604083018a61162a565b61184a606083018961162a565b611857608083018861162a565b61186460a083018761162a565b61187160c083018661162a565b61187e60e083018561162a565b61188c61010083018461162a565b9a9950505050505050505050565b60208082528101610ae4818461157a565b60208101610ae78284611621565b60208101610ae7828461162a565b60a081016118d5828861162a565b6118e2602083018761162a565b6118ef604083018661162a565b6118fc606083018561162a565b611909608083018461162a565b9695505050505050565b60e08101611921828a61162a565b61192e602083018961162a565b61193b604083018861162a565b611948606083018761162a565b611955608083018661162a565b61196260a083018561162a565b61196f60c083018461162a565b98975050505050505050565b610100810161198a828b61162a565b611997602083018a61162a565b6119a4604083018961162a565b6119b1606083018861162a565b6119be608083018761162a565b6119cb60a083018661162a565b6119d860c083018561162a565b6119e560e083018461162a565b9998505050505050505050565b60808101611a00828761162a565b611a0d602083018661162a565b611a1a604083018561162a565b611a27606083018461162a565b95945050505050565b60208082528101610ae781611633565b60208082528101610ae78161166c565b60208082528101610ae7816116a5565b60208082528101610ae7816116e8565b604081016117d8828561162a565b606081016117fa828661162a565b60808101611a9a828761162a565b611aa7602083018661162a565b611ab4604083018561162a565b818103606083015261190981846115d3565b60405181810167ffffffffffffffff81118282101715611ae557600080fd5b604052919050565b60200190565b5190565b90815260200190565b6000610ae782611b1e565b151590565b90565b6000610ae782611b00565b6001600160a01b031690565b611b3381611b00565b8114611b3e57600080fd5b50565b611b3381611b0b565b611b3381611b10565b611b3381611b1356fea365627a7a7231582017d7c7bc315fbd2b924ce48c9a9309a773e584250f7eb0dc4fa27bc7f6487e7d6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "contract IExchangeState",
									"name": "exchangeState",
									"type": "IExchangeState"
								},
								{
									"internalType": "contract IExchangeRates",
									"name": "exchangeRates",
									"type": "IExchangeRates"
								},
								{
									"internalType": "contract ICircuitBreaker",
									"name": "circuitBreaker",
									"type": "ICircuitBreaker"
								},
								{
									"internalType": "contract IExchangerInternalDebtCache",
									"name": "debtCache",
									"type": "IExchangerInternalDebtCache"
								},
								{
									"internalType": "contract IIssuer",
									"name": "issuer",
									"type": "IIssuer"
								},
								{
									"internalType": "contract ISynthetix",
									"name": "synthetix",
									"type": "ISynthetix"
								}
							],
							"internalType": "struct ExchangeSettlementLib.ResolvedAddresses",
							"name": "resolvedAddresses",
							"type": "tuple"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IExchangeState",
							"name": "exchangeState",
							"type": "IExchangeState"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "contract IExchangeState",
									"name": "exchangeState",
									"type": "IExchangeState"
								},
								{
									"internalType": "contract IExchangeRates",
									"name": "exchangeRates",
									"type": "IExchangeRates"
								},
								{
									"internalType": "contract ICircuitBreaker",
									"name": "circuitBreaker",
									"type": "ICircuitBreaker"
								},
								{
									"internalType": "contract IExchangerInternalDebtCache",
									"name": "debtCache",
									"type": "IExchangerInternalDebtCache"
								},
								{
									"internalType": "contract IIssuer",
									"name": "issuer",
									"type": "IIssuer"
								},
								{
									"internalType": "contract ISynthetix",
									"name": "synthetix",
									"type": "ISynthetix"
								}
							],
							"internalType": "struct ExchangeSettlementLib.ResolvedAddresses",
							"name": "resolvedAddresses",
							"type": "tuple"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "src",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "dest",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "reclaim",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "rebate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "srcRoundIdAtPeriodEnd",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "destRoundIdAtPeriodEnd",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "timestamp",
									"type": "uint256"
								}
							],
							"internalType": "struct IExchanger.ExchangeEntrySettlement[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x84b44f28670a59a597a908421d59254bee74d93ac55282b663f9603c45cdc743",
				"urls": [
					"bzz-raw://e58e575f430c4bdcfb1643d84f9fb67ef0d91441ed8403165affdf7b52e6675a",
					"dweb:/ipfs/QmfHHsP54FhKBqPszREMZ58cjVvtLBSrTSAmuEpWw5arUw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeSettlementLib.sol": "ExchangeSettlementLib"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeSettlementLib.sol": {
						"keccak256": "0x84b44f28670a59a597a908421d59254bee74d93ac55282b663f9603c45cdc743",
						"urls": [
							"bzz-raw://e58e575f430c4bdcfb1643d84f9fb67ef0d91441ed8403165affdf7b52e6675a",
							"dweb:/ipfs/QmfHHsP54FhKBqPszREMZ58cjVvtLBSrTSAmuEpWw5arUw"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205a67c92a0efdab4956680237aa7293d68e96064230bf9ee7b89539a75833913d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "AddressImported",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "areAddressesImported",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getSynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract MixinResolver[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "rebuildCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c",
				"urls": [
					"bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b",
					"dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c",
						"urls": [
							"bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b",
							"dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820096a9c4dccbf0436b0e2f77b0328cf38c7fa35d4c8ccf68ff8bd113c6baf2a0864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487",
				"urls": [
					"bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599",
					"dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487",
						"urls": [
							"bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599",
							"dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV"
						]
					}
				},
				"version": 1
			}
		},
		"OneNetAggregatorIssuedSynths": {
			"bytecode": "608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820abcedbf402a278943504388613bbb37e211c2e31ce5f0350b66b7de94a9a7aca64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SetOverrideTimestamp",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getAnswer",
					"outputs": [
						{
							"internalType": "int256",
							"name": "answer",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"name": "getRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "overrideTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "setOverrideTimestamp",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5",
				"urls": [
					"bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc",
					"dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OneNetAggregatorIssuedSynths.sol": "OneNetAggregatorIssuedSynths"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OneNetAggregatorIssuedSynths.sol": {
						"keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5",
						"urls": [
							"bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc",
							"dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE"
						]
					}
				},
				"version": 1
			}
		},
		"OneNetAggregatorDebtRatio": {
			"bytecode": "608060405234801561001057600080fd5b50604051610a88380380610a888339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610976806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610695565b6101696004803603602081101561022e57600080fd5b50356106d8565b6101696004803603602081101561024b57600080fd5b50356106ee565b610169610704565b6101bc61070a565b6002546001600160a01b031681565b610279610733565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108bd6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f8561077e565b9063ffffffff61079a16565b61066e565b6b033b2e3c9fd0803ce80000005b60035490915042901561068057506003545b60019a91995097508796508995509350505050565b61069d610733565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106e3826103d5565b509195945050505050565b60006106f9826103d5565b509095945050505050565b60035481565b600080600080600061072261071d610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806108f2602f913960400191505060405180910390fd5b565b600061079482633b9aca0063ffffffff6107b616565b92915050565b60006107af8383670de0b6b3a764000061080f565b9392505050565b6000826107c557506000610794565b828202828482816107d257fe5b04146107af5760405162461bcd60e51b81526004018080602001828103825260218152602001806109216021913960400191505060405180910390fd5b6000806108358461082987600a870263ffffffff6107b616565b9063ffffffff61085216565b90506005600a82061061084657600a015b600a9004949350505050565b60008082116108a8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108b357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203612b33f3ea87a50f59a324964535c4e3e922d0c27839687f1805b5bf37a50f764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SetOverrideTimestamp",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getAnswer",
					"outputs": [
						{
							"internalType": "int256",
							"name": "answer",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"name": "getRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "overrideTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "setOverrideTimestamp",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45",
				"urls": [
					"bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7",
					"dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OneNetAggregatorDebtRatio.sol": "OneNetAggregatorDebtRatio"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OneNetAggregatorDebtRatio.sol": {
						"keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45",
						"urls": [
							"bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7",
							"dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a7231582002c92d349c93e8a7e0d50f2f4280aec95aa1087a1ce242e1567fd74941901fc564736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a",
				"urls": [
					"bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1",
					"dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a",
						"urls": [
							"bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1",
							"dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a7231582029935e859eacc8ecf613dd88ebd75a85a165d12cf9638eca3f9f8091e89c1ae964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "equivalent",
							"type": "address"
						}
					],
					"name": "AtomicEquivalentForDexPricingUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "AtomicExchangeFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newMaxVolume",
							"type": "uint256"
						}
					],
					"name": "AtomicMaxVolumePerBlockUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newWindow",
							"type": "uint256"
						}
					],
					"name": "AtomicTwapWindowUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newVolatilityConsiderationWindow",
							"type": "uint256"
						}
					],
					"name": "AtomicVolatilityConsiderationWindowUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newVolatilityUpdateThreshold",
							"type": "uint256"
						}
					],
					"name": "AtomicVolatilityUpdateThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collapseFeeRate",
							"type": "uint256"
						}
					],
					"name": "CollapseFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "CrossChainSynthTransferEnabledUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperBurnFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxETH",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperMaxETHUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperMintFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeRounds",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeRoundsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeThreshold",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeWeightDecay",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeWeightDecayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDynamicFee",
							"type": "uint256"
						}
					],
					"name": "ExchangeMaxDynamicFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newReward",
							"type": "uint256"
						}
					],
					"name": "FlagRewardUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newReward",
							"type": "uint256"
						}
					],
					"name": "LiquidateRewardUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "LiquidationEscrowDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "PureChainlinkPriceForAtomicSwapsEnabledUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "SelfLiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "SnxLiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "rate",
							"type": "int256"
						}
					],
					"name": "WrapperBurnFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxTokenAmount",
							"type": "uint256"
						}
					],
					"name": "WrapperMaxTokenAmountUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "rate",
							"type": "int256"
						}
					],
					"name": "WrapperMintFeeRateUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicEquivalentForDexPricing",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicExchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "atomicMaxVolumePerBlock",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "atomicTwapWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicVolatilityConsiderationWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicVolatilityUpdateThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "collapseFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "crossChainSynthTransferEnabled",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						}
					],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperBurnFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperMaxETH",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperMintFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeRounds",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeWeightDecay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeMaxDynamicFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "flagReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidateReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationEscrowDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pureChainlinkPriceForAtomicSwapsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_equivalent",
							"type": "address"
						}
					],
					"name": "setAtomicEquivalentForDexPricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_exchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "setAtomicExchangeFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxVolume",
							"type": "uint256"
						}
					],
					"name": "setAtomicMaxVolumePerBlock",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_window",
							"type": "uint256"
						}
					],
					"name": "setAtomicTwapWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_window",
							"type": "uint256"
						}
					],
					"name": "setAtomicVolatilityConsiderationWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_threshold",
							"type": "uint256"
						}
					],
					"name": "setAtomicVolatilityUpdateThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_collateral",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_collapseFeeRate",
							"type": "uint256"
						}
					],
					"name": "setCollapseFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_value",
							"type": "uint256"
						}
					],
					"name": "setCrossChainSynthTransferEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "_gasLimitType",
							"type": "uint8"
						},
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rate",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperBurnFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxETH",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperMaxETH",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rate",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperMintFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rounds",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeRounds",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "weightDecay",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeWeightDecay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "maxFee",
							"type": "uint256"
						}
					],
					"name": "setExchangeMaxDynamicFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "setFlagReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_collateral",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "setLiquidateReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setLiquidationEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_enabled",
							"type": "bool"
						}
					],
					"name": "setPureChainlinkPriceForAtomicSwapsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setSelfLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setSnxLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "_rate",
							"type": "int256"
						}
					],
					"name": "setWrapperBurnFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxTokenAmount",
							"type": "uint256"
						}
					],
					"name": "setWrapperMaxTokenAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "_rate",
							"type": "int256"
						}
					],
					"name": "setWrapperMintFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "snxLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperBurnFeeRate",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperMaxTokenAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperMintFeeRate",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012",
				"urls": [
					"bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9",
					"dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012",
						"urls": [
							"bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9",
							"dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a72315820c9e82db9e645d7c999cf9790194fd395314e1548d7a66d033b50a911c583a35f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesMarketResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesMarketSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthExchangeResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthExchangeSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_FUTURES",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "futuresMarketSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "futuresSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getFuturesMarketSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenSynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireFuturesActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "requireFuturesMarketActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeFutures",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "resumeFuturesMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeFuturesMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumeSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeSynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFutures",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFuturesMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFuturesMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synthSuspended",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspended",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "sections",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "bool[]",
							"name": "canSuspends",
							"type": "bool[]"
						},
						{
							"internalType": "bool[]",
							"name": "canResumes",
							"type": "bool[]"
						}
					],
					"name": "updateAccessControls",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902",
				"urls": [
					"bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf",
					"dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902",
						"urls": [
							"bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf",
							"dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200402c3803806200402c8339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b613e0980620002236000396000f3fe608060405234801561001057600080fd5b50600436106102d25760003560e01c806353a47bb711610186578063899ffef4116100e3578063c8e5bbd511610097578063ed76245011610071578063ed762450146105f9578063fce132f91461061a578063fdadbc7e14610628576102d2565b8063c8e5bbd5146105b2578063ce8480ea146105d3578063d89ee861146105e6576102d2565b8063ac82f608116100c8578063ac82f6081461056c578063b295ad341461057f578063c2c8a6761461059f576102d2565b8063899ffef41461055c5780638da5cb5b14610564576102d2565b8063741853601161013a5780637a018a1e1161011f5780637a018a1e146105235780638295016a146105365780638661cc7b14610549576102d2565b8063741853601461051357806379ba50971461051b576102d2565b8063654a60ac1161016b578063654a60ac146104cb5780636ce66c80146104de5780637103353e14610500576102d2565b806353a47bb7146104bb578063614d08f8146104c3576102d2565b80632528f0fe1161023457806338aa1b99116101e85780634308a94f116101cd5780634308a94f146104725780634c36b837146104935780634f72def6146104a8576102d2565b806338aa1b991461044c5780633f0e084f1461045f576102d2565b806326bd30fa1161021957806326bd30fa1461041e5780632af64bd3146104315780632bed9e0c14610439576102d2565b80632528f0fe146103eb5780632678df96146103fe576102d2565b80630a7d36d11161028b5780630ee4951b116102705780630ee4951b146103ae578063109e46a2146103c35780631627540c146103d6576102d2565b80630a7d36d11461037a5780630c71cd231461038d576102d2565b806304f3bcec116102bc57806304f3bcec14610322578063055286e01461033757806305a046e51461035a576102d2565b80629919c0146102d7578063045056f814610300575b600080fd5b6102ea6102e53660046130fc565b61063b565b6040516102f79190613a76565b60405180910390f35b61031361030e3660046130fc565b610656565b6040516102f793929190613bc8565b61032a61087d565b6040516102f79190613ace565b61034a610345366004613184565b610899565b6040516102f79493929190613c18565b61036d61036836600461302c565b6108b0565b6040516102f79190613a20565b6102ea61038836600461302c565b610932565b6103a061039b3660046130fc565b610a88565b6040516102f7929190613bad565b6103b6610b7a565b6040516102f79190613a84565b6103b66103d1366004613246565b610b8a565b6103e96103e4366004612fbb565b610bcd565b005b6102ea6103f93660046130fc565b610c50565b61041161040c366004612fbb565b610c5c565b6040516102f79190613a0f565b61034a61042c3660046132c6565b610d1d565b6102ea610d36565b6103e96104473660046130fc565b610e8d565b6102ea61045a3660046130fc565b610fa7565b6103e961046d36600461311a565b610fb5565b6104856104803660046130fc565b61125a565b6040516102f7929190613aa0565b61049b6112a6565b6040516102f7919061399f565b6103b66104b63660046130fc565b6112b0565b61049b6112ce565b6103b66112ea565b6103b66104d9366004613184565b61130e565b6104f16104ec3660046131d1565b611326565b6040516102f793929190613bf0565b61032a61050e3660046130fc565b61138b565b6103e96113b3565b6103e9611548565b6103b66105313660046130fc565b61163d565b6104f1610544366004613184565b611648565b6102ea6105573660046130fc565b611668565b610411611672565b61049b6116ee565b6103b661057a3660046130fc565b61170a565b61059261058d3660046130fc565b611739565b6040516102f79190613c56565b61036d6105ad36600461302c565b61174e565b6105c56105c036600461302c565b6117c6565b6040516102f7929190613a56565b6103b66105e13660046130fc565b611943565b6102ea6105f436600461306e565b61194e565b61060c610607366004613184565b611ac6565b6040516102f7929190613a31565b6102ea6105573660046132a7565b610485610636366004613154565b611bc2565b600061064e82610649611bdb565b611caf565b90505b919050565b6000818152600460205260408120548190819073ffffffffffffffffffffffffffffffffffffffff167f73555344000000000000000000000000000000000000000000000000000000008514806106c2575073ffffffffffffffffffffffffffffffffffffffff811615155b610701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b2d565b60405180910390fd5b610709612d2a565b61071286611cfa565b90507f735553440000000000000000000000000000000000000000000000000000000086141561076a57517affffffffffffffffffffffffffffffffffffffffffffffffffffff169350600092508291506108769050565b80517affffffffffffffffffffffffffffffffffffffffffffffffffffff169450610793611f4d565b81516040517f413caeb500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092169163413caeb5916107ea918691906004016139c8565b602060405180830381600087803b15801561080457600080fd5b505af1158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061083c91908101906130de565b935061085a610849611bdb565b826020015164ffffffffff16611f78565b8061087157506108718661086c611f93565b612067565b925050505b9193909250565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806108a7612190565b93509350935093565b606080838390506040519080825280602002602001820160405280156108e0578160200160208202803883390190505b50905060005b83811015610928576109098585838181106108fd57fe5b905060200201356121c2565b82828151811061091557fe5b60209081029190910101526001016108e6565b5090505b92915050565b60008061093d611bdb565b9050606061097d8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506121de92505050565b905060005b84811015610a7c577f73555344000000000000000000000000000000000000000000000000000000008686838181106109b757fe5b9050602002013514156109c957610a74565b6109d1612d2a565b6109ec8787848181106109e057fe5b90506020020135611cfa565b90508282815181106109fa57fe5b602002602001015180610a1d5750610a1d84826020015164ffffffffff16611f78565b80610a605750610a60878784818110610a3257fe5b9050602002013582600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff166123c4565b15610a7257600194505050505061092c565b505b600101610982565b50600095945050505050565b600080610a93612d2a565b610a9c84611cfa565b90507f7355534400000000000000000000000000000000000000000000000000000000841415610aef57517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610b75565b8051610b0d610afc611bdb565b836020015164ffffffffff16611f78565b80610b1f5750610b1f8561086c611f93565b80610b505750610b508583600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff166123c4565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610b84611bdb565b90505b90565b600083815b610b9c8783600101612484565b915050801580610bad575083850181115b15610bba57509050610bc5565b600190910190610b8f565b949350505050565b610bd56126a5565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610c4590839061399f565b60405180910390a150565b600080610bc583610a88565b600654604080518281526020808402820101909152606091600091908015610c8e578160200160208202803883390190505b50915060005b600654811015610d1657600060068281548110610cad57fe5b6000918252602080832090910154808352600490915260409091205490915073ffffffffffffffffffffffffffffffffffffffff9081169086161415610d0d5780848480600101955081518110610d0057fe5b6020026020010181815250505b50600101610c94565b5050919050565b600080600080610d2b612190565b945094509450949050565b60006060610d42611672565b905060005b8151811015610e84576000828281518110610d5e57fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a72100000000000000000000000000000000000000000000000000000000815291935073ffffffffffffffffffffffffffffffffffffffff9081169216906321f8a72190610dd5908590600401613a84565b60206040518083038186803b158015610ded57600080fd5b505afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e259190810190612fd9565b73ffffffffffffffffffffffffffffffffffffffff16141580610e6a575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b15610e7b5760009350505050610b87565b50600101610d47565b50600191505090565b610e956126a5565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610ef1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b9d565b600082815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556005909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055610f608360066126f8565b90508015610fa2577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f7778383604051610f99929190613a92565b60405180910390a15b505050565b600061064e8261086c611f93565b610fbd6126a5565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611042919081019061331f565b101561107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b7d565b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156110c257600080fd5b505afa1580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110fa91908101906133a5565b9050601b8160ff16111561113a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b1d565b60008481526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1661119957600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff871617905560059091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8416179055517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc639061124c9086908590613a92565b60405180910390a150505050565b600080611265612d2a565b61126e84611cfa565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6000610b84611f93565b600681815481106112bd57fe5b600091825260209091200154905081565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b7f45786368616e676552617465730000000000000000000000000000000000000081565b600061131b8484846127d8565b509095945050505050565b60008060006113358886612484565b5091508786141561134a575085915080611380565b6113548685612484565b50905080156113805761137d81611371898563ffffffff61282a16565b9063ffffffff61283f16565b92505b955095509592505050565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60606113bd611672565b905060005b81518110156115445760008282815181106113d957fe5b602002602001015190506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dacb2d0183846040516020016114359190613994565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611461929190613aae565b60206040518083038186803b15801561147957600080fd5b505afa15801561148d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114b19190810190612fd9565b6000838152600360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906115329084908490613a92565b60405180910390a150506001016113c2565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611599576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613aed565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926115e99273ffffffffffffffffffffffffffffffffffffffff918216929116906139ad565b60405180910390a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b600061064e82612854565b60008060006116588686866127d8565b9250925092505b93509350939050565b6000610651612190565b60608061167d612937565b60408051600180825281830190925291925060609190602080830190803883390190505090507f43697263756974427265616b6572000000000000000000000000000000000000816000815181106116d157fe5b6020026020010181815250506116e78282612996565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600061171582611cfa565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b60056020526000908152604090205460ff1681565b6060808383905060405190808252806020026020018201604052801561177e578160200160208202803883390190505b50905060005b83811015610928576117a785858381811061179b57fe5b9050602002013561170a565b8282815181106117b357fe5b6020908102919091010152600101611784565b60606000838390506040519080825280602002602001820160405280156117f7578160200160208202803883390190505b5091506000611804611bdb565b905060606118448686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506121de92505050565b905060005b8581101561193957611859612d2a565b6118688888848181106109e057fe5b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061189857fe5b602002602001018181525050841580156118e457507f73555344000000000000000000000000000000000000000000000000000000008888848181106118da57fe5b9050602002013514155b15611930578282815181106118f557fe5b602002602001015180611918575061191884826020015164ffffffffff16611f78565b8061192d575061192d888884818110610a3257fe5b94505b50600101611849565b5050509250929050565b600061064e826121c2565b6000818414611989576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b8d565b6000611993611bdb565b905060606119d38787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506121de92505050565b905060005b86811015611ab8577f7355534400000000000000000000000000000000000000000000000000000000888883818110611a0d57fe5b905060200201351415611a1f57611ab0565b600080611a508a8a85818110611a3157fe5b90506020020135898986818110611a4457fe5b90506020020135612484565b91509150838381518110611a6057fe5b602002602001015180611a785750611a788582611f78565b80611a9a5750611a9a8a8a85818110611a8d57fe5b90506020020135836123c4565b15611aad57600195505050505050610bc5565b50505b6001016119d8565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611af3578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611b20578160200160208202803883390190505b50905060008311611b3957611b3485612854565b611b3b565b825b925060005b84811015611bb857611b528685612484565b848381518110611b5e57fe5b60200260200101848481518110611b7157fe5b60209081029190910101919091525283611b8b5750611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90930192600101611b40565b505b935093915050565b600080611bcf8484612484565b915091505b9250929050565b6000611be5612a52565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611c5f929190613aa0565b60206040518083038186803b158015611c7757600080fd5b505afa158015611c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b84919081019061331f565b60007f7355534400000000000000000000000000000000000000000000000000000000831415611ce15750600061092c565b611cf382611cee856121c2565b611f78565b9392505050565b611d02612d2a565b7f7355534400000000000000000000000000000000000000000000000000000000821415611ddf57604051806040016040528073__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7957600080fd5b505af4158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611db1919081019061331f565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff16815260006020909101529050610651565b60008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff168015611f475760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c00000000000000000000000000000000000000000000000000000000179052905160009060609073ffffffffffffffffffffffffffffffffffffffff851690611e8b908590613968565b600060405180830381855afa9150503d8060008114611ec6576040519150601f19603f3d011682016040523d82523d6000602084013e611ecb565b606091505b50915091508115611f435760008082806020019051611eed919081019061333d565b509350509250506040518060400160405280611f098a85612a7d565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff168152509650505050505050610651565b5050505b50919050565b6000610b847f43697263756974427265616b6572000000000000000000000000000000000000612b55565b600042611f8b838563ffffffff612bd916565b109392505050565b6000611f9d612a52565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401612017929190613aa0565b60206040518083038186803b15801561202f57600080fd5b505afa158015612043573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b849190810190612fd9565b60007f73555344000000000000000000000000000000000000000000000000000000008314156120995750600061092c565b60008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff168015806120df575073ffffffffffffffffffffffffffffffffffffffff8316155b156120ee57600091505061092c565b6040517f357e47fe00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063357e47fe9061214090849060040161399f565b60206040518083038186803b15801561215857600080fd5b505afa15801561216c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc591908101906130de565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b3d565b60006121cd82611cfa565b6020015164ffffffffff1692915050565b606060006121ea611f93565b905073ffffffffffffffffffffffffffffffffffffffff8116156123915760608351604051908082528060200260200182016040528015612235578160200160208202803883390190505b50905060005b84518110156122c4576004600086838151811061225457fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682828151811061229757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161223b565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690637d723cac906123179084906004016139fe565b60006040518083038186803b15801561232f57600080fd5b505afa158015612343573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526123899190810190612ff7565b925050611f47565b82516040519080825280602002602001820160405280156123bc578160200160208202803883390190505b509392505050565b60006123ce611f4d565b6000848152600460208190526040918290205491517f18b844ad00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416936318b844ad93612434939116918791016139e3565b60206040518083038186803b15801561244c57600080fd5b505afa158015612460573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cf391908101906130de565b6000807f73555344000000000000000000000000000000000000000000000000000000008414156125365773__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156124f357600080fd5b505af4158015612507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061252b919081019061331f565b915060009050611bd4565b60008481526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561269d576060846040516024016125749190613a84565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f5000000000000000000000000000000000000000000000000000000001790525190915060009060609073ffffffffffffffffffffffffffffffffffffffff851690612617908590613968565b600060405180830381855afa9150503d8060008114612652576040519150601f19603f3d011682016040523d82523d6000602084013e612657565b606091505b509150915081156126995760008082806020019051612679919081019061333d565b5093505092505061268a8a83612a7d565b97509550611bd4945050505050565b5050505b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146126f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b5d565b565b6000805b82548110156127ce578383828154811061271257fe5b906000526020600020015414156127c65782818154811061272f57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061276a57fe5b906000526020600020015483828154811061278157fe5b60009182526020909120015582546127bb847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301612d41565b50600191505061092c565b6001016126fc565b5060009392505050565b60008060006127e68661170a565b9150838614156127fa57508391508061165f565b6128038461170a565b9050801561165f5761281f81611371878563ffffffff61282a16565b925093509350939050565b6000611cf38383670de0b6b3a7640000612c18565b6000611cf38383670de0b6b3a7640000612c55565b60007f735553440000000000000000000000000000000000000000000000000000000082141561288657506000610651565b60008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff168015611f47578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156128f757600080fd5b505afa15801561290b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061292f919081019061331f565b915050610651565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061298757fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156129c6578160200160208202803883390190505b50905060005b8351811015612a08578381815181106129e157fe5b60200260200101518282815181106129f557fe5b60209081029190910101526001016129cc565b5060005b8251811015612a4b57828181518110612a2157fe5b6020026020010151828286510181518110612a3857fe5b6020908102919091010152600101612a0c565b5092915050565b6000610b847f466c657869626c6553746f726167650000000000000000000000000000000000612b55565b600080821215612ab9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613afd565b60008381526005602052604090205460ff1682811580612ad95750816012145b15612ae357610bc5565b6012821015612b0c576012829003600a0a612b04828263ffffffff612c8716565b915050610bc5565b6012821115610bc5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8201600a0a612b4b828263ffffffff612cdb16565b9695505050505050565b600081815260036020908152604080832054905173ffffffffffffffffffffffffffffffffffffffff9091169182151591612b9291869101613974565b60405160208183030381529060405290612a4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f89190613adc565b600082820183811015611cf3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b0d565b600080600a8304612c2f868663ffffffff612c8716565b81612c3657fe5b0490506005600a825b0610612c4957600a015b600a9004949350505050565b600080612c7b84612c6f87600a870263ffffffff612c8716565b9063ffffffff612cdb16565b90506005600a82612c3f565b600082612c965750600061092c565b82820282848281612ca357fe5b0414611cf3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b6d565b6000808211612d16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890613b4d565b6000828481612d2157fe5b04949350505050565b604080518082019091526000808252602082015290565b815481835581811115610fa257600083815260209020610fa2918101908301610b8791905b80821115612d7a5760008155600101612d66565b5090565b803561092c81613d8b565b805161092c81613d8b565b600082601f830112612da557600080fd5b8151612db8612db382613c8b565b613c64565b91508181835260208401935060208101905083856020840282011115612ddd57600080fd5b60005b83811015612e095781612df38882612e55565b8452506020928301929190910190600101612de0565b5050505092915050565b60008083601f840112612e2557600080fd5b50813567ffffffffffffffff811115612e3d57600080fd5b602083019150836020820283011115611bd457600080fd5b805161092c81613da2565b803561092c81613dab565b805161092c81613dab565b60006101a08284031215612e8957600080fd5b612e946101a0613c64565b90506000612ea28484612e60565b8252506020612eb384848301612d7e565b6020830152506040612ec784828501612d7e565b6040830152506060612edb84828501612e60565b6060830152506080612eef84828501612e60565b60808301525060a0612f0384828501612e60565b60a08301525060c0612f1784828501612e60565b60c08301525060e0612f2b84828501612e60565b60e083015250610100612f4084828501612e60565b61010083015250610120612f5684828501612e60565b61012083015250610140612f6c84828501612e60565b61014083015250610160612f8284828501612e60565b61016083015250610180612f9884828501612e60565b6101808301525092915050565b805161092c81613dbd565b805161092c81613db4565b600060208284031215612fcd57600080fd5b6000610bc58484612d7e565b600060208284031215612feb57600080fd5b6000610bc58484612d89565b60006020828403121561300957600080fd5b815167ffffffffffffffff81111561302057600080fd5b610bc584828501612d94565b6000806020838503121561303f57600080fd5b823567ffffffffffffffff81111561305657600080fd5b61306285828601612e13565b92509250509250929050565b6000806000806040858703121561308457600080fd5b843567ffffffffffffffff81111561309b57600080fd5b6130a787828801612e13565b9450945050602085013567ffffffffffffffff8111156130c657600080fd5b6130d287828801612e13565b95989497509550505050565b6000602082840312156130f057600080fd5b6000610bc58484612e55565b60006020828403121561310e57600080fd5b6000610bc58484612e60565b6000806040838503121561312d57600080fd5b60006131398585612e60565b925050602061314a85828601612d7e565b9150509250929050565b6000806040838503121561316757600080fd5b60006131738585612e60565b925050602061314a85828601612e60565b60008060006060848603121561319957600080fd5b60006131a58686612e60565b93505060206131b686828701612e60565b92505060406131c786828701612e60565b9150509250925092565b600080600080600060a086880312156131e957600080fd5b60006131f58888612e60565b955050602061320688828901612e60565b945050604061321788828901612e60565b935050606061322888828901612e60565b925050608061323988828901612e60565b9150509295509295909350565b6000806000806080858703121561325c57600080fd5b60006132688787612e60565b945050602061327987828801612e60565b935050604061328a87828801612e60565b925050606061329b87828801612e60565b91505092959194509250565b60006101a082840312156132ba57600080fd5b6000610bc58484612e76565b60008060008061050085870312156132dd57600080fd5b60006132e98787612e76565b9450506101a06132fb87828801612e60565b9350506101c061330d87828801612e76565b92505061036061329b87828801612e76565b60006020828403121561333157600080fd5b6000610bc58484612e6b565b600080600080600060a0868803121561335557600080fd5b60006133618888612fa5565b955050602061337288828901612e6b565b945050604061338388828901612e6b565b935050606061339488828901612e6b565b925050608061323988828901612fa5565b6000602082840312156133b757600080fd5b6000610bc58484612fb0565b60006133cf83836133e3565b505060200190565b60006133cf83836134f0565b6133ec81613cbf565b82525050565b60006133fd82613cb2565b6134078185613cb6565b935061341283613cac565b8060005b8381101561344057815161342a88826133c3565b975061343583613cac565b925050600101613416565b509495945050505050565b600061345682613cb2565b6134608185613cb6565b935061346b83613cac565b8060005b8381101561344057815161348388826133d7565b975061348e83613cac565b92505060010161346f565b60006134a482613cb2565b6134ae8185613cb6565b93506134b983613cac565b8060005b838110156134405781516134d188826133d7565b97506134dc83613cac565b9250506001016134bd565b6133ec81613cca565b6133ec81610b87565b6133ec61350582610b87565b610b87565b600061351582613cb2565b61351f8185610651565b935061352f818560208601613d33565b9290920192915050565b6133ec81613d1d565b600061354d82613cb2565b6135578185613cb6565b9350613567818560208601613d33565b61357081613d63565b9093019392505050565b6000613587603583613cb6565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b60006135e6601b83613cb6565b7f4e656761746976652072617465206e6f7420737570706f727465640000000000815260200192915050565b600061361f601b83613cb6565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613658603283613cb6565b7f41676772656761746f7220646563696d616c732073686f756c64206265206c6f81527f776572206f7220657175616c20746f2032370000000000000000000000000000602082015260400192915050565b60006136b7601783613cb6565b7f4e6f2061676772656761746f7220666f72206173736574000000000000000000815260200192915050565b60006136f0601b83613cb6565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613729601a83613cb6565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613762601183610651565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061379b602f83613cb6565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006137fa602183613cb6565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613859601983610651565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613892601b83613cb6565b7f476976656e2041676772656761746f7220697320696e76616c69640000000000815260200192915050565b60006138cb603083613cb6565b7f726f756e64496473206d757374206265207468652073616d65206c656e67746881527f2061732063757272656e63794b65797300000000000000000000000000000000602082015260400192915050565b600061392a601c83613cb6565b7f4e6f2061676772656761746f722065786973747320666f72206b657900000000815260200192915050565b6133ec81613d28565b6133ec81613d08565b6000611cf3828461350a565b600061397f82613755565b915061398b82846134f9565b50602001919050565b600061397f8261384c565b6020810161092c82846133e3565b604081016139bb82856133e3565b611cf360208301846133e3565b604081016139d682856133e3565b611cf36020830184613956565b604081016139f182856133e3565b611cf360208301846134f0565b60208082528101611cf381846133f2565b60208082528101611cf3818461344b565b60208082528101611cf38184613499565b60408082528101613a428185613499565b90508181036020830152610bc58184613499565b60408082528101613a678185613499565b9050611cf360208301846134e7565b6020810161092c82846134e7565b6020810161092c82846134f0565b604081016139bb82856134f0565b604081016139f182856134f0565b60408101613abc82856134f0565b8181036020830152610bc58184613542565b6020810161092c8284613539565b60208082528101611cf38184613542565b6020808252810161064e8161357a565b6020808252810161064e816135d9565b6020808252810161064e81613612565b6020808252810161064e8161364b565b6020808252810161064e816136aa565b6020808252810161064e816136e3565b6020808252810161064e8161371c565b6020808252810161064e8161378e565b6020808252810161064e816137ed565b6020808252810161064e81613885565b6020808252810161064e816138be565b6020808252810161064e8161391d565b60408101613bbb82856134f0565b611cf360208301846134e7565b60608101613bd682866134f0565b613be360208301856134e7565b610bc560408301846134e7565b60608101613bfe82866134f0565b613c0b60208301856134f0565b610bc560408301846134f0565b60808101613c2682876134f0565b613c3360208301866134f0565b613c4060408301856134f0565b613c4d60608301846134f0565b95945050505050565b6020810161092c828461395f565b60405181810167ffffffffffffffff81118282101715613c8357600080fd5b604052919050565b600067ffffffffffffffff821115613ca257600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061064e82613ccf565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b600061064e82613cbf565b600061064e82613ce8565b60005b83811015613d4e578181015183820152602001613d36565b83811115613d5d576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b613d9481613cbf565b8114613d9f57600080fd5b50565b613d9481613cca565b613d9481610b87565b613d9481613d08565b613d9481613d0e56fea365627a7a72315820c698bf9e45a011a0521659f348a4147180d12ce24f44f7243a8395a60d58dc496c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "roundIds",
							"type": "uint256[]"
						}
					],
					"name": "anyRateIsInvalidAtRound",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "effectiveAtomicValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemValue",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemSourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDestinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "",
							"type": "tuple"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "",
							"type": "tuple"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "",
							"type": "tuple"
						}
					],
					"name": "effectiveAtomicValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemValue",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemSourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDestinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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": "effectiveValueAndRatesAtRound",
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithSafetyChecks",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "broken",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "staleOrInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthTooVolatileForAtomicExchange",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "",
							"type": "tuple"
						}
					],
					"name": "synthTooVolatileForAtomicExchange",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x6879be96170644ed1b8512a5c8b738525b414896280f4a357e3178a4a212f860",
				"urls": [
					"bzz-raw://83a95656696ca48bc97808bd1198ea8225b7e9a0f6f0618b02c6d73905cb224c",
					"dweb:/ipfs/QmWZ7jCEhAcZDMS4nvLV2BR4QYRqNvYcL6bWihEJxFYGsD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x6879be96170644ed1b8512a5c8b738525b414896280f4a357e3178a4a212f860",
						"urls": [
							"bzz-raw://83a95656696ca48bc97808bd1198ea8225b7e9a0f6f0618b02c6d73905cb224c",
							"dweb:/ipfs/QmWZ7jCEhAcZDMS4nvLV2BR4QYRqNvYcL6bWihEJxFYGsD"
						]
					}
				},
				"version": 1
			}
		},
		"LegacyTokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161050e38038061050e8339818101604052604081101561003357600080fd5b508051602091820151600080546001600160a01b038085166001600160a01b0319928316179092556002805492841692909116821790556040805191825251929391927f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03929181900390910190a1505061045c806100b26000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b806352f445ca146100a357806353a47bb7146100cb5780635b94db27146100ef57806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100d3610260565b604080516001600160a01b039092168252519081900360200190f35b6100c96004803603602081101561010557600080fd5b50356001600160a01b031661026f565b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102da565b60408051918252519081900360200190f35b6100c96102ec565b6100d3610376565b6100d3610385565b6100c96004803603604081101561017b57600080fd5b506001600160a01b038135169060200135610394565b6100c9600480360360608110156101a757600080fd5b506001600160a01b038135811691602081013590911690604001356103c7565b61013b600480360360408110156101dd57600080fd5b506001600160a01b038135811691602001351661040a565b6000546001600160a01b0316331461020c57600080fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b0316331461028657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60036020526000908152604090205481565b6001546001600160a01b0316331461030357600080fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103ab57600080fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146103de57600080fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b60046020908152600092835260408084209091529082529020548156fea265627a7a7231582096278c28ac9dfdfd97da27af4c1053cc25ace9d4cccefe8b0699b699f3ba103864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05",
				"urls": [
					"bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1",
					"dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"legacy/LegacyTokenState.sol": "LegacyTokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"legacy/LegacyTokenState.sol": {
						"keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05",
						"urls": [
							"bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1",
							"dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201cc4e3f6eda466d090af6caeee1b1fa656f9ca6d0594741c98080035b366c2e764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3",
				"urls": [
					"bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb",
					"dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3",
						"urls": [
							"bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb",
							"dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP"
						]
					}
				},
				"version": 1
			}
		},
		"MintableSynthetix": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005eb938038062005eb9833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001da90600590602088019062000243565b508351620001f090600690602087019062000243565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b6159c880620004f16000396000f3fe608060405234801561001057600080fd5b50600436106104335760003560e01c80636f01a986116102365780639f7698071161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108c8578063e90dd9e2146108db578063ec556889146108e3578063edef719a146108eb578063ee52a2f3146108fe57610433565b8063d37c4d8b1461087f578063d67bdd2514610892578063d8a1f76f1461089a578063dbf63340146108ad578063dd62ed3e146108b557610433565b8063ace88afd1161010a578063ace88afd1461082b578063af086c7e1461083e578063bc67f83214610846578063c2bf388014610859578063c836fa0a1461086c57610433565b80639f769807146107df578063a311c7c2146107f2578063a5fdc5de14610805578063a9059cbb1461081857610433565b8063899ffef4116101be5780639324cac71161018d5780639324cac7146107a157806395d89b41146107a957806397107d6d146107b15780639741fb22146107c4578063987757dd146107cc57610433565b8063899ffef41461076b5780638a290014146107735780638da5cb5b1461078657806391e56b681461078e57610433565b80637418536011610205578063741853601461071457806379ba50971461071c578063835e119c1461072457806383d625d414610737578063843588431461074a57610433565b80636f01a986146106c6578063704e7b85146106d957806370a08231146106ec57806372cb051f146106ff57610433565b80632c955fa71161033c5780634e99bda9116102c45780635e22846a116102935780635e22846a14610667578063666ed4f11461067a5780636a4277951461068d5780636ac0bf9c146106a05780636c00f310146106b357610433565b80634e99bda914610634578063528c7efb1461063c57806353a47bb7146106445780635af090ef1461065957610433565b8063313ce5671161030b578063313ce567146105e0578063320223db146105e857806332608039146105fb5780633e89b9e51461060e57806344b3e9231461062157610433565b80632c955fa7146105925780632d3169eb146105a55780632e0f2625146105b857806330ead760146105cd57610433565b806316b2213f116103bf57806323b872dd1161038e57806323b872dd146105495780632621716f1461055c578063295da87d1461056f5780632a905318146105825780632af64bd31461058a57610433565b806316b2213f1461051357806318160ddd14610526578063188214001461052e5780631fce304d1461053657610433565b8063095ea7b311610406578063095ea7b3146104955780630e30963c146104b55780631137aedf146104d65780631249c58b146104f85780631627540c1461050057610433565b806303fbc5471461043857806304f3bcec1461044257806305b3c1c91461046057806306fdde0314610480575b600080fd5b610440610911565b005b61044a610afe565b6040516104579190615620565b60405180910390f35b61047361046e36600461435b565b610b12565b6040516104579190615481565b610488610b9f565b604051610457919061562e565b6104a86104a336600461441e565b610c2d565b6040516104579190615473565b6104c86104c3366004614671565b610cba565b604051610457929190615819565b6104e96104e436600461435b565b610cce565b60405161045793929190615525565b6104a8610d63565b61044061050e36600461435b565b610d70565b61047361052136600461435b565b610dce565b610473610e03565b610488610e09565b6104a8610544366004614635565b610e42565b6104a86105573660046143d1565b610ed7565b61047361056a36600461435b565b610f16565b61044061057d366004614635565b6110f7565b610488611178565b6104a8611197565b6104406105a036600461435b565b6112b3565b6104406105b3366004614671565b6112ff565b6105c06113b5565b604051610457919061585c565b6104736105db3660046146b4565b6113ba565b6105c0611478565b6104406105f636600461435b565b611481565b61044a610609366004614635565b6114cd565b61047361061c366004614635565b611552565b61047361062f366004614729565b61158a565b6104a861159d565b6104a861161c565b61064c6117fc565b60405161045791906152dd565b61047361062f3660046146b4565b6104a861067536600461435b565b61180b565b61044061068836600461441e565b611837565b61044061069b36600461435b565b61184d565b6104736106ae36600461435b565b611a06565b6104406106c1366004614568565b611b0e565b6104406106d436600461444e565b611bd0565b6104a86106e736600461441e565b611c89565b6104736106fa36600461435b565b611cb4565b610707611ce6565b6040516104579190615462565b610440611d64565b610440611eb6565b61044a610732366004614635565b611f52565b610473610745366004614635565b611f87565b61075d61075836600461435b565b611fbf565b6040516104579291906154ab565b610707612246565b610440610781366004614635565b6122ba565b61064c612304565b61047361079c3660046144e1565b612313565b6104736123d3565b6104886123de565b6104406107bf36600461435b565b612439565b61044061248c565b6104e96107da366004614635565b612505565b6104406107ed36600461479e565b61257b565b61047361080036600461435b565b6125a7565b61047361081336600461435b565b6125dc565b6104a861082636600461441e565b612611565b61044061083936600461444e565b61265b565b6104406126a8565b61044061085436600461435b565b6126f1565b61044061086736600461441e565b61271b565b61047361087a366004614480565b612769565b61047361088d36600461441e565b612827565b61064c6128ae565b6104406108a8366004614635565b6128bd565b610473612959565b6104736108c3366004614397565b6129d3565b6104406108d636600461441e565b612a07565b61044a612a55565b61044a612a64565b6104406108f936600461441e565b612a73565b61047361090c366004614693565b612b93565b610919612c4f565b60085460405163dacb2d0160e01b815260009161010090046001600160a01b03169063dacb2d019061094d906004016157fb565b60206040518083038186803b15801561096557600080fd5b505afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099d9190810190614379565b60085460405163dacb2d0160e01b81529192506000916101009091046001600160a01b03169063dacb2d01906109d590600401615773565b60206040518083038186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a259190810190614379565b9050816001600160a01b0316816001600160a01b03161415610a625760405162461bcd60e51b8152600401610a59906157eb565b60405180910390fd5b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610a94918791016152dd565b60206040518083038186803b158015610aac57600080fd5b505afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae49190810190614653565b90508015610af957610af7838383612c79565b505b505050565b60085461010090046001600160a01b031681565b6000610b1c612e55565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b8152600401610b4791906152dd565b60206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b979190810190614653565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c255780601f10610bfa57610100808354040283529160200191610c25565b820191906000526020600020905b815481529060010190602001808311610c0857829003601f168201915b505050505081565b6000610c37612e69565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610c71918591899189910161539a565b600060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b50505050610cae818585612ea8565b60019150505b92915050565b600080610cc5612f28565b94509492505050565b6000806000610cdb612e55565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610d0691906152dd565b60606040518083038186803b158015610d1e57600080fd5b505afa158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d56919081019061483a565b9250925092509193909250565b6000610d6d612f28565b90565b610d78612c4f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610dc39083906152dd565b60405180910390a150565b6000610dd8612e55565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b8152600401610b4791906152dd565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b600080610e4d612f40565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec92610e80929116908790600401615447565b60206040518083038186803b158015610e9857600080fd5b505afa158015610eac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ed09190810190614653565b1192915050565b6000610ee1612f57565b610ee9612fac565b610ef38483613000565b50600354610f0c906001600160a01b03168585856132d1565b90505b9392505050565b600080610f2161337d565b6001600160a01b031663204b676a846040518263ffffffff1660e01b8152600401610f4c91906152dd565b60206040518083038186803b158015610f6457600080fd5b505afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f9c9190810190614653565b90506000610fa8614226565b60005b838110156110de57610fbb61337d565b6001600160a01b031663ae58254987836040518363ffffffff1660e01b8152600401610fe8929190615447565b60206040518083038186803b15801561100057600080fd5b505afa158015611014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110389190810190614653565b925061104261337d565b6001600160a01b03166345626bd687856040518363ffffffff1660e01b815260040161106f929190615447565b604080518083038186803b15801561108657600080fd5b505afa15801561109a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110be91908101906147bc565b6020810151909250156110d6579350610b9a92505050565b600101610fab565b5060405162461bcd60e51b8152600401610a59906156a9565b6110ff613399565b611107612e69565b61110f612e55565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c6592611142929116908590600401615447565b600060405180830381600087803b15801561115c57600080fd5b505af1158015611170573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b600060606111a3612246565b905060005b81518110156112aa5760008282815181106111bf57fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190611215908590600401615481565b60206040518083038186803b15801561122d57600080fd5b505afa158015611241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112659190810190614379565b6001600160a01b031614158061129057506000818152600960205260409020546001600160a01b0316155b156112a15760009350505050610d6d565b506001016111a8565b50600191505090565b6112bb613399565b6112c3612e69565b6112cb612e55565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa92611142928692909116906004016152f9565b6113076133d9565b6002546040516001600160a01b039091169063907dff979061133190869086908690602001615525565b604051602081830303815290604052600260405161134e90615265565b6040519081900381206001600160e01b031960e086901b16825261137d9392918a90600090819060040161559f565b600060405180830381600087803b15801561139757600080fd5b505af11580156113ab573d6000803e3d6000fd5b5050505050505050565b601281565b600085846113c88282613411565b6113d0612e69565b6113d8612f40565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261141a9291169081908d908d908d9084906000908f908f90600401615314565b6040805180830381600087803b15801561143357600080fd5b505af1158015611447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061146b919081019061480a565b5098975050505050505050565b60085460ff1681565b611489613399565b611491612e69565b611499612e55565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf92611142928692909116906004016152f9565b60006114d7612e55565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004016115029190615481565b60206040518083038186803b15801561151a57600080fd5b505afa15801561152e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b979190810190614780565b600061155c612e55565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610b4792919061549d565b6000611594612f28565b95945050505050565b60006115a7612e55565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b1580156115df57600080fd5b505afa1580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116179190810190614617565b905090565b6000611626612fac565b61162e612e69565b6003546001600160a01b0316611642613472565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b815260040161166d91906152dd565b600060405180830381600087803b15801561168757600080fd5b505af115801561169b573d6000803e3d6000fd5b505050506000806116aa612e55565b6001600160a01b03166372c658168460016040518363ffffffff1660e01b81526004016116d892919061542c565b606060405180830381600087803b1580156116f257600080fd5b505af1158015611706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061172a919081019061483a565b50915091506000811161174f5760405162461bcd60e51b8152600401610a59906157a1565b61175b83838386613491565b600061176f84611769613472565b8561350d565b90508061178e5760405162461bcd60e51b8152600401610a5990615746565b611796613472565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b81526004016117c19190615481565b600060405180830381600087803b1580156117db57600080fd5b505af11580156117ef573d6000803e3d6000fd5b5092965050505050505090565b6001546001600160a01b031681565b6000611815612fac565b61181d612e69565b600354610b979083906000906001600160a01b031661351a565b61183f61391c565b6118498282613954565b5050565b611855612fac565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a7219061189a906b131959d858de53585c9ad95d60a21b90600401615481565b60206040518083038186803b1580156118b257600080fd5b505afa1580156118c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ea9190810190614379565b9050336001600160a01b038216146119145760405162461bcd60e51b8152600401610a5990615756565b61191c61337d565b6001600160a01b031663de065f67838361193461337d565b6001600160a01b031663326a3cfb876040518263ffffffff1660e01b815260040161195f91906152dd565b60206040518083038186803b15801561197757600080fd5b505afa15801561198b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119af9190810190614653565b60006040518563ffffffff1660e01b81526004016119d094939291906153c2565b600060405180830381600087803b1580156119ea57600080fd5b505af11580156119fe573d6000803e3d6000fd5b505050505050565b6000611a10612e55565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611a4b918591016152dd565b60206040518083038186803b158015611a6357600080fd5b505afa158015611a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9b9190810190614653565b6040518363ffffffff1660e01b8152600401611ab8929190615447565b604080518083038186803b158015611acf57600080fd5b505afa158015611ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b0791908101906147da565b5092915050565b611b166133d9565b6002546040516001600160a01b039091169063907dff9790611b4490889088908890889088906020016154d9565b6040516020818303038152906040526002604051611b6190615290565b6040518091039020611b728b613a00565b6000806040518763ffffffff1660e01b8152600401611b969695949392919061559f565b600060405180830381600087803b158015611bb057600080fd5b505af1158015611bc4573d6000803e3d6000fd5b50505050505050505050565b611bd86133d9565b6002546040516001600160a01b039091169063907dff9790611c0090859085906020016154ab565b6040516020818303038152906040526002604051611c1d906152a6565b6040518091039020611c2e88613a00565b6000806040518763ffffffff1660e01b8152600401611c529695949392919061559f565b600060405180830381600087803b158015611c6c57600080fd5b505af1158015611c80573d6000803e3d6000fd5b50505050505050565b6000611c93612fac565b611c9b612e69565b600354610f0f90849084906001600160a01b031661351a565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610b47918691016152dd565b6060611cf0612e55565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611d2857600080fd5b505afa158015611d3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161791908101906145e2565b6060611d6e612246565b905060005b8151811015611849576000828281518110611d8a57fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001611dcc91906152c7565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611df89291906154b9565b60206040518083038186803b158015611e1057600080fd5b505afa158015611e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e489190810190614379565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611ea4908490849061548f565b60405180910390a15050600101611d73565b6001546001600160a01b03163314611ee05760405162461bcd60e51b8152600401610a599061566c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611f23926001600160a01b03918216929116906152f9565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611f5c612e55565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004016115029190615481565b6000611f91612e55565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610b4792919061549d565b600080611fca612fac565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a721906120199075446562744d69677261746f724f6e457468657265756d60501b90600401615481565b60206040518083038186803b15801561203157600080fd5b505afa158015612045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120699190810190614379565b9050336001600160a01b038216146120935760405162461bcd60e51b8152600401610a599061563f565b600480546040516370a0823160e01b81526001600160a01b03909116916370a08231916120c2918891016152dd565b60206040518083038186803b1580156120da57600080fd5b505afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121129190810190614653565b9150811561214857600061212785838561350d565b9050806121465760405162461bcd60e51b8152600401610a59906156f6565b505b61215061337d565b6001600160a01b031663326a3cfb856040518263ffffffff1660e01b815260040161217b91906152dd565b60206040518083038186803b15801561219357600080fd5b505afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121cb9190810190614653565b92508215612240576121db61337d565b6001600160a01b031663de065f6785838660006040518563ffffffff1660e01b815260040161220d94939291906153c2565b600060405180830381600087803b15801561222757600080fd5b505af115801561223b573d6000803e3d6000fd5b505050505b50915091565b606080612251613a0c565b60408051600180825281830190925291925060609190602080830190803883390190505090507453796e746865746978427269646765546f4261736560581b8160008151811061229d57fe5b6020026020010181815250506122b38282613b55565b9250505090565b6122c2613399565b6122ca612e69565b6122d2612e55565b6003546040516285c0d160e31b81526001600160a01b039283169263042e068892611142929116908590600401615447565b6000546001600160a01b031681565b600085846123218282613411565b612329612e69565b612331612f40565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612374928e92909116908d908d908d9085906000908f908f90600401615314565b6040805180830381600087803b15801561238d57600080fd5b505af11580156123a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123c5919081019061480a565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c255780601f10610bfa57610100808354040283529160200191610c25565b612441612c4f565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610dc39083906152eb565b612494613399565b61249c612e69565b6124a4612e55565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a926124d5929116906004016152dd565b600060405180830381600087803b1580156124ef57600080fd5b505af1158015610af7573d6000803e3d6000fd5b565b6000806000612512612e69565b61251a612f40565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c9261254d929116908890600401615447565b606060405180830381600087803b15801561256757600080fd5b505af1158015610d32573d6000803e3d6000fd5b612583613c0a565b600480546001600160a01b0319166001600160a01b03831617905561117581613c78565b60006125b1612e55565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b8152600401610b4791906152dd565b60006125e6612e55565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b8152600401610b4791906152dd565b600061261b612f57565b612623612fac565b600354612639906001600160a01b031683613000565b50600354612651906001600160a01b0316848461350d565b5060019392505050565b6126636133d9565b6002546040516001600160a01b039091169063907dff979061268b90859085906020016154ab565b6040516020818303038152906040526002604051611c1d9061525a565b6126b0613399565b6126b8612e69565b6126c0612e55565b60035460405163644bb89960e11b81526001600160a01b039283169263c8977132926124d5929116906004016152dd565b6126f9613cea565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612723613399565b61272b612e69565b612733612e55565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b4926119d092879290911690869060040161539a565b600083826127778282613411565b61277f612e69565b612787612f40565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d2926127ca928c92909116908b908b908b90859060009082908290600401615314565b6040805180830381600087803b1580156127e357600080fd5b505af11580156127f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281b919081019061480a565b50979650505050505050565b6000612831612e55565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040161285e929190615447565b60206040518083038186803b15801561287657600080fd5b505afa15801561288a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f0f9190810190614653565b6003546001600160a01b031681565b6128c561391c565b60006128cf613d14565b90506128db8183613954565b604051630b32e9c760e31b81526001600160a01b038216906359974e3890612907908590600401615481565b602060405180830381600087803b15801561292157600080fd5b505af1158015612935573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610af99190810190614617565b6000612963612e55565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561299b57600080fd5b505afa1580156129af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116179190810190614653565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e9161285e9187918791016152f9565b612a0f613399565b612a17612e69565b612a1f612e55565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b62926119d092879290911690869060040161539a565b6004546001600160a01b031681565b6002546001600160a01b031681565b612a7b61391c565b612a83612fac565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6918591612b1e91869186916370a0823191612ac2918791016152dd565b60206040518083038186803b158015612ada57600080fd5b505afa158015612aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b129190810190614653565b9063ffffffff613d3516565b6040518363ffffffff1660e01b8152600401612b3b929190615447565b600060405180830381600087803b158015612b5557600080fd5b505af1158015612b69573d6000803e3d6000fd5b50505050612b7982600083613d5d565b600754612b8c908263ffffffff613d3516565b6007555050565b60008382612ba18282613411565b612ba9612e69565b612bb1612f40565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612bf39291169081908b908b908b90849060009082908290600401615314565b6040805180830381600087803b158015612c0c57600080fd5b505af1158015612c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c44919081019061480a565b509695505050505050565b6000546001600160a01b031633146125035760405162461bcd60e51b8152600401610a5990615736565b60006001600160a01b03831615801590612c9c57506001600160a01b0383163014155b8015612cb657506002546001600160a01b03848116911614155b612cd25760405162461bcd60e51b8152600401610a599061564f565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6918791612d1191879186916370a0823191612ac2918791016152dd565b6040518363ffffffff1660e01b8152600401612d2e929190615447565b600060405180830381600087803b158015612d4857600080fd5b505af1158015612d5c573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f692508691612dfb91879186916370a0823191612d9f918791016152dd565b60206040518083038186803b158015612db757600080fd5b505afa158015612dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612def9190810190614653565b9063ffffffff613da016565b6040518363ffffffff1660e01b8152600401612e18929190615447565b600060405180830381600087803b158015612e3257600080fd5b505af1158015612e46573d6000803e3d6000fd5b50505050612651848484613d5d565b60006116176524b9b9bab2b960d11b613dc5565b6002546001600160a01b03163314801590612e8f57506003546001600160a01b03163314155b1561250357600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff9790612ece908490602001615481565b6040516020818303038152906040526003604051612eeb9061529b565b6040518091039020612efc88613a00565b612f0588613a00565b60006040518763ffffffff1660e01b8152600401611c52969594939291906155d9565b60405162461bcd60e51b8152600401610a5990615706565b60006116176822bc31b430b733b2b960b91b613dc5565b6002546001600160a01b0316331415612f6f57612503565b612f7833613e22565b15612f9457600380546001600160a01b03191633179055612503565b60405162461bcd60e51b8152600401610a59906157ce565b612fb46141d1565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612fec57600080fd5b505afa158015610af7573d6000803e3d6000fd5b6008546040516321f8a72160e01b815260009182916101009091046001600160a01b0316906321f8a72190613048906b131959d858de53585c9ad95d60a21b90600401615481565b60206040518083038186803b15801561306057600080fd5b505afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130989190810190614379565b6003549091506001600160a01b0316158015906130c257506003546001600160a01b038281169116145b806130de5750806001600160a01b0316846001600160a01b0316145b156130ed576001915050610cb4565b60006130f7612e55565b6001600160a01b031663d37c4d8b86631cd554d160e21b6040518363ffffffff1660e01b815260040161312b929190615447565b60206040518083038186803b15801561314357600080fd5b505afa158015613157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061317b9190810190614653565b1115610cae5760008061318c612e55565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938b93909116916370a08231916131c7918591016152dd565b60206040518083038186803b1580156131df57600080fd5b505afa1580156131f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132179190810190614653565b6040518363ffffffff1660e01b8152600401613234929190615447565b604080518083038186803b15801561324b57600080fd5b505afa15801561325f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061328391908101906147da565b91509150818511156132a75760405162461bcd60e51b8152600401610a5990615716565b80156132c55760405162461bcd60e51b8152600401610a5990615726565b50600195945050505050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c9187918991613317918891879163dd62ed3e91612ac29188918891016152f9565b6040518463ffffffff1660e01b81526004016133359392919061539a565b600060405180830381600087803b15801561334f57600080fd5b505af1158015613363573d6000803e3d6000fd5b50505050613372848484612c79565b90505b949350505050565b60006116176d2932bbb0b93222b9b1b937bbab1960911b613dc5565b6133a16141d1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612fec57600080fd5b6133e1612f40565b6001600160a01b0316336001600160a01b0316146125035760405162461bcd60e51b8152600401610a5990615699565b6134196141d1565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b81526004016134469291906154ab565b60006040518083038186803b15801561345e57600080fd5b505afa1580156119fe573d6000803e3d6000fd5b6000611617704c697175696461746f725265776172647360781b613dc5565b6002546040516001600160a01b039091169063907dff97906134bb90869086908690602001615834565b60405160208183030381529060405260026040516134d8906152bc565b60405180910390206134e989613a00565b6000806040518763ffffffff1660e01b815260040161137d9695949392919061559f565b6000610f0c848484612c79565b6000613524613472565b6001600160a01b031663c00007b0856040518263ffffffff1660e01b815260040161354f91906152dd565b600060405180830381600087803b15801561356957600080fd5b505af115801561357d573d6000803e3d6000fd5b50505050600080600061358e612e55565b6001600160a01b03166372c658168860006040518363ffffffff1660e01b81526004016135bc92919061542c565b606060405180830381600087803b1580156135d657600080fd5b505af11580156135ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061360e919081019061483a565b9194509250905080156136875761362361337d565b6001600160a01b031663de065f678889848a6040518563ffffffff1660e01b815260040161365494939291906153f7565b600060405180830381600087803b15801561366e57600080fd5b505af1158015613682573d6000803e3d6000fd5b505050505b61369387848488613491565b600061369d6141eb565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d557600080fd5b505afa1580156136e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061370d9190810190614653565b905060006137196141eb565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b15801561375157600080fd5b505afa158015613765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137899190810190614653565b905060006137956141eb565b6001600160a01b0316635616c9578b6040518263ffffffff1660e01b81526004016137c091906152dd565b60206040518083038186803b1580156137d857600080fd5b505afa1580156137ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138109190810190614379565b9050600061381f8b838661350d565b90508061383e5760405162461bcd60e51b8152600401610a59906156c9565b600061384b8c8b8661350d565b90508061386a5760405162461bcd60e51b8152600401610a5990615791565b871561390a5760006138848d61387e613472565b8b61350d565b9050806138a35760405162461bcd60e51b8152600401610a5990615746565b6138ab613472565b6001600160a01b0316633c6b16ab8a6040518263ffffffff1660e01b81526004016138d69190615481565b600060405180830381600087803b1580156138f057600080fd5b505af1158015613904573d6000803e3d6000fd5b50505050505b5060019b9a5050505050505050505050565b613924614203565b6001600160a01b0316336001600160a01b0316146125035760405162461bcd60e51b8152600401610a59906157be565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f691859161399391869186916370a0823191612d9f918791016152dd565b6040518363ffffffff1660e01b81526004016139b0929190615447565b600060405180830381600087803b1580156139ca57600080fd5b505af11580156139de573d6000803e3d6000fd5b505050506139ed308383613d5d565b600754612b8c908263ffffffff613da016565b6001600160a01b031690565b60408051600780825261010082019092526060916020820160e0803883390190505090506b53797374656d53746174757360a01b81600081518110613a4d57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110613a7357fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110613a9657fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600381518110613ac657fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600481518110613af457fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600581518110613b1b57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600681518110613b4657fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613b85578160200160208202803883390190505b50905060005b8351811015613bc757838181518110613ba057fe5b6020026020010151828281518110613bb457fe5b6020908102919091010152600101613b8b565b5060005b8251811015611b0757828181518110613be057fe5b6020026020010151828286510181518110613bf757fe5b6020908102919091010152600101613bcb565b6002546001600160a01b03163314801590613c3057506003546001600160a01b03163314155b15613c4857600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146125035760405162461bcd60e51b8152600401610a5990615689565b6002546040516001600160a01b039091169063907dff9790613c9e9084906020016152dd565b6040516020818303038152906040526001604051613cbb906152b1565b6040519081900381206001600160e01b031960e086901b16825261114293929160009081908190600401615540565b6002546001600160a01b031633146125035760405162461bcd60e51b8152600401610a59906157ce565b6000611617722932bbb0b93239a234b9ba3934b13aba34b7b760691b613dc5565b600082821115613d575760405162461bcd60e51b8152600401610a59906156e6565b50900390565b6002546040516001600160a01b039091169063907dff9790613d83908490602001615481565b6040516020818303038152906040526003604051612eeb906152d2565b600082820183811015610f0f5760405162461bcd60e51b8152600401610a59906156b9565b60008181526009602090815260408083205490516001600160a01b039091169182151591613df591869101615270565b60405160208183030381529060405290611b075760405162461bcd60e51b8152600401610a59919061562e565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a72190613e56906004016157de565b60206040518083038186803b158015613e6e57600080fd5b505afa158015613e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ea69190810190614379565b6001600160a01b0316826001600160a01b03161480613f5757506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613ef290600401615766565b60206040518083038186803b158015613f0a57600080fd5b505afa158015613f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f429190810190614379565b6001600160a01b0316826001600160a01b0316145b80613ff457506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613f8f9060040161565f565b60206040518083038186803b158015613fa757600080fd5b505afa158015613fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fdf9190810190614379565b6001600160a01b0316826001600160a01b0316145b8061409157506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061402c906004016156d9565b60206040518083038186803b15801561404457600080fd5b505afa158015614058573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061407c9190810190614379565b6001600160a01b0316826001600160a01b0316145b8061412e57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906140c99060040161567c565b60206040518083038186803b1580156140e157600080fd5b505afa1580156140f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141199190810190614379565b6001600160a01b0316826001600160a01b0316145b80610b9757506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190614166906004016157b1565b60206040518083038186803b15801561417e57600080fd5b505afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141b69190810190614379565b6001600160a01b0316826001600160a01b0316149050919050565b60006116176b53797374656d53746174757360a01b613dc5565b6000611617692634b8bab4b230ba37b960b11b613dc5565b60006116177453796e746865746978427269646765546f4261736560581b613dc5565b604080518082019091526000808252602082015290565b8035610cb48161594d565b8051610cb48161594d565b600082601f83011261426457600080fd5b815161427761427282615891565b61586a565b9150818183526020840193506020810190508385602084028201111561429c57600080fd5b60005b838110156142c857816142b288826142e8565b845250602092830192919091019060010161429f565b5050505092915050565b8051610cb481615961565b8035610cb48161596a565b8051610cb48161596a565b8051610cb481615973565b8035610cb481615973565b60006040828403121561431b57600080fd5b614325604061586a565b905060006143338484614350565b8252506020614344848483016142e8565b60208301525092915050565b8051610cb48161597c565b60006020828403121561436d57600080fd5b6000613375848461423d565b60006020828403121561438b57600080fd5b60006133758484614248565b600080604083850312156143aa57600080fd5b60006143b6858561423d565b92505060206143c78582860161423d565b9150509250929050565b6000806000606084860312156143e657600080fd5b60006143f2868661423d565b93505060206144038682870161423d565b9250506040614414868287016142dd565b9150509250925092565b6000806040838503121561443157600080fd5b600061443d858561423d565b92505060206143c7858286016142dd565b60008060006060848603121561446357600080fd5b600061446f868661423d565b9350506020614403868287016142dd565b6000806000806080858703121561449657600080fd5b60006144a2878761423d565b94505060206144b3878288016142dd565b93505060406144c4878288016142dd565b92505060606144d5878288016142dd565b91505092959194509250565b60008060008060008060c087890312156144fa57600080fd5b6000614506898961423d565b965050602061451789828a016142dd565b955050604061452889828a016142dd565b945050606061453989828a016142dd565b935050608061454a89828a0161423d565b92505060a061455b89828a016142dd565b9150509295509295509295565b60008060008060008060c0878903121561458157600080fd5b600061458d898961423d565b965050602061459e89828a016142dd565b95505060406145af89828a016142dd565b94505060606145c089828a016142dd565b93505060806145d189828a016142dd565b92505060a061455b89828a0161423d565b6000602082840312156145f457600080fd5b815167ffffffffffffffff81111561460b57600080fd5b61337584828501614253565b60006020828403121561462957600080fd5b600061337584846142d2565b60006020828403121561464757600080fd5b600061337584846142dd565b60006020828403121561466557600080fd5b600061337584846142e8565b6000806000806080858703121561468757600080fd5b60006144a287876142dd565b6000806000606084860312156146a857600080fd5b600061446f86866142dd565b600080600080600060a086880312156146cc57600080fd5b60006146d888886142dd565b95505060206146e9888289016142dd565b94505060406146fa888289016142dd565b935050606061470b8882890161423d565b925050608061471c888289016142dd565b9150509295509295909350565b600080600080600060a0868803121561474157600080fd5b600061474d88886142dd565b955050602061475e888289016142dd565b945050604061476f888289016142dd565b935050606061470b888289016142dd565b60006020828403121561479257600080fd5b600061337584846142f3565b6000602082840312156147b057600080fd5b600061337584846142fe565b6000604082840312156147ce57600080fd5b60006133758484614309565b600080604083850312156147ed57600080fd5b60006147f985856142e8565b92505060206143c7858286016142d2565b6000806040838503121561481d57600080fd5b600061482985856142e8565b92505060206143c7858286016142f3565b60008060006060848603121561484f57600080fd5b600061485b86866142e8565b935050602061486c868287016142e8565b9250506040614414868287016142e8565b6000614889838361490b565b505060200190565b61489a816158f3565b82525050565b61489a816158c5565b60006148b4826158b8565b6148be81856158bc565b93506148c9836158b2565b8060005b838110156148f75781516148e1888261487d565b97506148ec836158b2565b9250506001016148cd565b509495945050505050565b61489a816158d0565b61489a81610d6d565b61489a61492082610d6d565b610d6d565b6000614930826158b8565b61493a81856158bc565b935061494a818560208601615917565b61495381615943565b9093019392505050565b61489a816158d5565b61489a816158fe565b61489a8161590c565b60006149856014836158bc565b7327b7363c902618902232b13a26b4b3b930ba37b960611b815260200192915050565b60006149b5601f836158bc565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b75446562744d69677261746f724f6e4f7074696d69736d60501b9052565b6000614a0c6035836158bc565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b6000614a7a6013836158bc565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000614aa9601e836158bc565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000614ae26014836158bc565b73616c6c20656e747269657320617265207a65726f60601b815260200192915050565b6000614b12601b836158bc565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614b4b6024836158bc565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b6000614ba56018836158bc565b7f4e657720657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000614bde602883610b9a565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000614c28601e836158bc565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614c616013836158bc565b721cdb9e081d1c985b9cd9995c8819985a5b1959606a1b815260200192915050565b6000614c90601b836158bc565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000614cc9603183610b9a565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b6000614d1c601183610b9a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614d49603e83610b9a565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000614da86026836158bc565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b6000614df0601e836158bc565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000614e29602f836158bc565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614e7a6024836158bc565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b6000614ec0602183610b9a565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614f03602783610b9a565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000614f4c601a83610b9a565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000614f856023836158bc565b7f4f6e6c79204c65676163794d61726b65742063616e207265766f6b6520657363815262726f7760e81b602082015260400192915050565b6000614fca603283610b9a565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b6000615034601983610b9a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061506d6029836158bc565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b60006150b86015836158bc565b7463616e6e6f742073656c66206c697175696461746560581b815260200192915050565b6411195c1bdd60da1b9052565b60006150f6601d836158bc565b7f43616e206f6e6c7920626520696e766f6b656420627920627269646765000000815260200192915050565b600061512f6018836158bc565b7f4f6c6420657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000615168602183610b9a565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006151ab6017836158bc565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b6000615209601e836158bc565b7f63616e6e6f74206d69677261746520746f2073616d6520616464726573730000815260200192915050565b732932bbb0b93222b9b1b937bbab19233937bd32b760611b9052565b61489a816158ed565b6000610cb482614bd1565b6000610cb482614cbc565b600061527b82614d0f565b91506152878284614914565b50602001919050565b6000610cb482614d3c565b6000610cb482614eb3565b6000610cb482614ef6565b6000610cb482614f3f565b6000610cb482614fbd565b600061527b82615027565b6000610cb48261515b565b60208101610cb482846148a0565b60208101610cb48284614891565b6040810161530782856148a0565b610f0f60208301846148a0565b6101208101615323828c6148a0565b615330602083018b6148a0565b61533d604083018a61490b565b61534a606083018961490b565b615357608083018861490b565b61536460a08301876148a0565b61537160c0830186614902565b61537e60e08301856148a0565b61538c61010083018461490b565b9a9950505050505050505050565b606081016153a882866148a0565b6153b560208301856148a0565b613375604083018461490b565b608081016153d082876148a0565b6153dd60208301866148a0565b6153ea604083018561490b565b611594606083018461496f565b6080810161540582876148a0565b61541260208301866148a0565b61541f604083018561490b565b611594606083018461490b565b6040810161543a82856148a0565b610f0f6020830184614902565b6040810161545582856148a0565b610f0f602083018461490b565b60208082528101610f0f81846148a9565b60208101610cb48284614902565b60208101610cb4828461490b565b60408101615307828561490b565b6040810161543a828561490b565b60408101615455828561490b565b604081016154c7828561490b565b8181036020830152610f0c8184614925565b60a081016154e7828861490b565b6154f4602083018761490b565b615501604083018661490b565b61550e606083018561490b565b61551b60808301846148a0565b9695505050505050565b60608101615533828661490b565b6153b5602083018561490b565b60c080825281016155518189614925565b9050615560602083018861496f565b61556d604083018761490b565b61557a6060830186614966565b6155876080830185614966565b61559460a0830184614966565b979650505050505050565b60c080825281016155b08189614925565b90506155bf602083018861496f565b6155cc604083018761490b565b61557a606083018661490b565b60c080825281016155ea8189614925565b90506155f9602083018861496f565b615606604083018761490b565b615613606083018661490b565b615587608083018561490b565b60208101610cb4828461495d565b60208082528101610f0f8184614925565b60208082528101610b9781614978565b60208082528101610b97816149a8565b60208101610b9a826149e1565b60208082528101610b97816149ff565b60208101610b9a82614a56565b60208082528101610b9781614a6d565b60208082528101610b9781614a9c565b60208082528101610b9781614ad5565b60208082528101610b9781614b05565b60208082528101610b9781614b3e565b60208101610b9a82614b84565b60208082528101610b9781614c1b565b60208082528101610b9781614c54565b60208082528101610b9781614c83565b60208082528101610b9781614d9b565b60208082528101610b9781614de3565b60208082528101610b9781614e1c565b60208082528101610b9781614e6d565b60208082528101610b9781614f78565b60208101610b9a82615011565b6040810161578082615011565b8181036020830152610b9781614b98565b60208082528101610b9781615060565b60208082528101610b97816150ab565b60208101610b9a826150dc565b60208082528101610b97816150e9565b60208082528101610b978161519e565b60208101610b9a826151d7565b60208082528101610b97816151fc565b6040810161580882615235565b8181036020830152610b9781615122565b60408101615827828561490b565b610f0f602083018461495d565b60608101615842828661490b565b61584f602083018561490b565b61337560408301846148a0565b60208101610cb48284615251565b60405181810167ffffffffffffffff8111828210171561588957600080fd5b604052919050565b600067ffffffffffffffff8211156158a857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610b9782613a00565b151590565b6000610b97826158c5565b67ffffffffffffffff1690565b60ff1690565b6000610b97826158d5565b6000610b9761492083610d6d565b6000610b9782610d6d565b60005b8381101561593257818101518382015260200161591a565b83811115610af75750506000910152565b601f01601f191690565b615956816158c5565b811461117557600080fd5b615956816158d0565b61595681610d6d565b615956816158d5565b615956816158e056fea365627a7a723158204837232e73f4cbd89de7e6e9b4d87a751a02c8049bde05904471a8b86ee6a8fd6c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"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": "SynthExchange",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrSNXRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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": "emitSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchangeAtomically",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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": "exchangeWithTrackingForInitiator",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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 IVirtualSynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getFirstNonZeroEscrowIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowStartIndex",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccountEscrowIndex",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "liquidateSelf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "migrateAccountBalances",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalEscrowRevoked",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalLiquidBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowContractBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "revokeAllEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "sUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "synthAddress",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynthsExcludeOtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynthetix",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x355fee15752dad139f5ea58172cc390aed525aad39dcf87921cdaa1c9b5ea91f",
				"urls": [
					"bzz-raw://2ea608d9f45403e2b0929c33ab2d6e963c1122c820f129c192598793041b82bf",
					"dweb:/ipfs/QmPxdjDVBH8fCbW1sssoaQiPo7LxQNPbLJNXnJDkznTtuQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MintableSynthetix.sol": "MintableSynthetix"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MintableSynthetix.sol": {
						"keccak256": "0x355fee15752dad139f5ea58172cc390aed525aad39dcf87921cdaa1c9b5ea91f",
						"urls": [
							"bzz-raw://2ea608d9f45403e2b0929c33ab2d6e963c1122c820f129c192598793041b82bf",
							"dweb:/ipfs/QmPxdjDVBH8fCbW1sssoaQiPo7LxQNPbLJNXnJDkznTtuQ"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2Storage": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001db138038062001db183398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b611adf80620002d26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806353401559116100c3578063ae5825491161007c578063ae58254914610294578063aefc4ccb146102a7578063c8949d11146102af578063cec7bdb1146102c4578063d5e6a906146102d7578063e6b2cf6c146102ea5761014d565b8063534015591461024c57806353a47bb71461025f578063614d08f81461027457806371e780f31461027c57806379ba5097146102845780638da5cb5b1461028c5761014d565b80633d1d26bd116101155780633d1d26bd146101d85780633e21e59a146101eb57806343ba57df146101fe57806345626bd61461021157806352580bb71461023157806352f445ca146102395761014d565b80631627540c14610152578063204b676a14610167578063227d517a1461019057806327f071d2146101a3578063326a3cfb146101c5575b600080fd5b6101656101603660046112fa565b6102f2565b005b61017a6101753660046112fa565b610350565b60405161018791906118c9565b60405180910390f35b61017a61019e3660046112fa565b6103af565b6101b66101b136600461138a565b610489565b604051610187939291906119e3565b61017a6101d33660046112fa565b610608565b6101656101e63660046113f5565b610681565b6101656101f9366004611320565b610716565b61017a61020c36600461135a565b6107c4565b61022461021f366004611320565b610903565b60405161018791906119d5565b61017a610a4f565b6101656102473660046112fa565b610a55565b61016561025a366004611320565b610aa8565b610267610bca565b6040516101879190611885565b61017a610bd9565b61017a610bf5565b610165610c27565b610267610cc3565b61017a6102a2366004611320565b610cd2565b610267610dd5565b6102b7610de4565b60405161018791906118d7565b6101656102d2366004611320565b610df3565b6101656102e53660046113d7565b610ea7565b61017a61100f565b6102fa611015565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610345908390611885565b60405180910390a150565b600b546000906001600160a01b03166103845760405162461bcd60e51b815260040161037b906119b5565b60405180910390fd5b6001600160a01b0382166000908152600460205260409020546103a683611041565b0190505b919050565b600b546000906001600160a01b03166103da5760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600760205260409020548061048057600b5460405163113ea8bd60e11b81526001600160a01b039091169063227d517a90610428908690600401611885565b60206040518083038186803b15801561044057600080fd5b505afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104789190810190611431565b9150506103aa565b6104788161108f565b600b54600090819081906001600160a01b03166104b85760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146104e25760405162461bcd60e51b815260040161037b90611965565b600084116105025760405162461bcd60e51b815260040161037b90611985565b61050b866110a8565b600061051687610350565b9050600081116105385760405162461bcd60e51b815260040161037b90611975565b8086106105575760405162461bcd60e51b815260040161037b90611955565b600080610562611242565b8891505b838210156105d9576105788a83610cd2565b92506105848a84610903565b6020810151909150156105ce5760208101516105a790889063ffffffff61116f16565b96506105c28a84836000015167ffffffffffffffff1661119b565b8787106105ce576105d9565b600190910190610566565b8382146105e657816105eb565b600182035b905190955067ffffffffffffffff16935050505093509350939050565b600b546000906001600160a01b03166106335760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600660205260409020548061048057600b5460405163326a3cfb60e01b81526001600160a01b039091169063326a3cfb90610428908690600401611885565b600b546001600160a01b03166106a95760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040161037b90611965565b60006106ed826106e1610bf5565b9063ffffffff6111e516565b905060008112156107105760405162461bcd60e51b815260040161037b906118e5565b60085550565b600b546001600160a01b031661073e5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146107685760405162461bcd60e51b815260040161037b90611965565b6000610777826106e1856103af565b9050600081121561079a5760405162461bcd60e51b815260040161037b906119a5565b6107a38161122b565b6001600160a01b039093166000908152600760205260409020929092555050565b600b546000906001600160a01b03166107ef5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146108195760405162461bcd60e51b815260040161037b90611965565b610826602083018361144f565b67ffffffffffffffff1661084c5760405162461bcd60e51b815260040161037b90611905565b6009546040805180820190915280610867602086018661144f565b63ffffffff90811682526001600160e01b036020878101358216938101939093526001600160a01b0388166000818152600385526040808220888352865280822087518154988801519095166401000000000294861663ffffffff199098169790971790941692909217909455928352600482528220805460018181018355918452919092200182905560098054909101905590505b92915050565b61090b611242565b600b546001600160a01b03166109335760405162461bcd60e51b815260040161037b906119b5565b61093b611242565b50506001600160a01b038216600090815260036020908152604080832084845282529182902082518084018452905463ffffffff80821683526001600160e01b036401000000009092048216838501908152855180870190965283519091168552511691830191909152600a54831080156109bf5750815167ffffffffffffffff16155b15610a4857600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd6906109f690879087906004016118ae565b604080518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a459190810190611413565b91505b5092915050565b600a5481565b610a5d611015565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610345908390611885565b600b546001600160a01b0316610ad05760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610afa5760405162461bcd60e51b815260040161037b90611965565b6001600160a01b03821660009081526003602090815260408083208484529091529020805463ffffffff1680610bb957600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd690610b5c90879087906004016118ae565b604080518083038186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bab9190810190611413565b5167ffffffffffffffff1690505b610bc484848361119b565b50505050565b6001546001600160a01b031681565b74526577617264457363726f77563253746f7261676560581b81565b600b546000906001600160a01b0316610c205760405162461bcd60e51b815260040161037b906119b5565b5060085490565b6001546001600160a01b03163314610c515760405162461bcd60e51b815260040161037b906118f5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610c94926001600160a01b0391821692911690611893565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600b546000906001600160a01b0316610cfd5760405162461bcd60e51b815260040161037b906119b5565b6000610d0884611041565b905080831015610d9c57600b5460405163ae58254960e01b81526001600160a01b039091169063ae58254990610d4490879087906004016118ae565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d949190810190611431565b9150506108fd565b6001600160a01b03841660009081526004602052604090208054828503908110610dc257fe5b90600052602060002001549150506108fd565b6002546001600160a01b031681565b600b546001600160a01b031681565b600b546001600160a01b0316610e1b5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610e455760405162461bcd60e51b815260040161037b90611965565b6000610e54826106e185610608565b90506000811215610e775760405162461bcd60e51b815260040161037b90611935565b610e808161122b565b6001600160a01b038416600090815260066020526040902055610ea282610681565b505050565b610eaf611015565b600b546001600160a01b031615610ed85760405162461bcd60e51b815260040161037b906119c5565b6001600160a01b038116610efe5760405162461bcd60e51b815260040161037b90611995565b600b80546001600160a01b0319166001600160a01b038316908117909155604080516339acb3db60e21b8152905163e6b2cf6c91600480820192602092909190829003018186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8a9190810190611431565b6009819055600a55600b54604080516371e780f360e01b815290516001600160a01b03909216916371e780f391600480820192602092909190829003018186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107109190810190611431565b60095481565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260040161037b90611945565b565b6001600160a01b0381166000908152600560205260408120548061048057600b54604051631025b3b560e11b81526001600160a01b039091169063204b676a90610428908690600401611885565b600060001982146110a057816108fd565b600092915050565b6001600160a01b03811660009081526005602052604090205461116c57600b54604051631025b3b560e11b81526000916001600160a01b03169063204b676a906110f6908590600401611885565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111469190810190611431565b90506111518161122b565b6001600160a01b038316600090815260056020526040902055505b50565b6000828201838110156111945760405162461bcd60e51b815260040161037b90611915565b9392505050565b6001600160a01b03831660009081526003602090815260408083208584529091529020816111c957426111cb565b815b815463ffffffff191663ffffffff91821617169055505050565b60008282018183128015906111fa5750838112155b8061120f575060008312801561120f57508381125b6111945760405162461bcd60e51b815260040161037b90611925565b6000811561123957816108fd565b50600019919050565b604080518082019091526000808252602082015290565b80356108fd81611a6d565b80356108fd81611a81565b80356108fd81611a8a565b60006040828403121561128c57600080fd5b50919050565b6000604082840312156112a457600080fd5b6112ae6040611a0b565b905060006112bc84846112ef565b82525060206112cd848483016112d9565b60208301525092915050565b80516108fd81611a8a565b80356108fd81611a93565b80516108fd81611a93565b60006020828403121561130c57600080fd5b60006113188484611259565b949350505050565b6000806040838503121561133357600080fd5b600061133f8585611259565b92505060206113508582860161126f565b9150509250929050565b6000806060838503121561136d57600080fd5b60006113798585611259565b92505060206113508582860161127a565b60008060006060848603121561139f57600080fd5b60006113ab8686611259565b93505060206113bc8682870161126f565b92505060406113cd8682870161126f565b9150509250925092565b6000602082840312156113e957600080fd5b60006113188484611264565b60006020828403121561140757600080fd5b6000611318848461126f565b60006040828403121561142557600080fd5b60006113188484611292565b60006020828403121561144357600080fd5b600061131884846112d9565b60006020828403121561146157600080fd5b600061131884846112e4565b61147681611a3b565b82525050565b61147681611a46565b61147681611a49565b600061149b603483611a32565b7f757064617465546f74616c457363726f77656442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b60006114f1603583611a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611548601883611a32565b7f76657374696e67207461726765742074696d65207a65726f0000000000000000815260200192915050565b6000611581601b83611a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006115ba602183611a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006115fd603483611a32565b7f757064617465457363726f774163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611653602f83611a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006116a4601383611a32565b720e6e8c2e4e892dcc8caf040e8dede40d0d2ced606b1b815260200192915050565b60006116d3603483611a32565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b6000611729601583611a32565b746e6f20656e747269657320746f206974657261746560581b815260200192915050565b600061175a601483611a32565b73746172676574416d6f756e74206973207a65726f60601b815260200192915050565b600061178a601683611a32565b7563616e6e6f74206265207a65726f206164647265737360501b815260200192915050565b60006117bc603483611a32565b7f7570646174655665737465644163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611812601083611a32565b6f19985b1b189858dac81b9bdd081cd95d60821b815260200192915050565b600061183e600b83611a32565b6a185b1c9958591e481cd95d60aa1b815260200192915050565b80516040830190611869848261187c565b506020820151610bc4602085018261147c565b61147681611a60565b602081016108fd828461146d565b604081016118a1828561146d565b611194602083018461146d565b604081016118bc828561146d565b611194602083018461147c565b602081016108fd828461147c565b602081016108fd8284611485565b602080825281016108fd8161148e565b602080825281016108fd816114e4565b602080825281016108fd8161153b565b602080825281016108fd81611574565b602080825281016108fd816115ad565b602080825281016108fd816115f0565b602080825281016108fd81611646565b602080825281016108fd81611697565b602080825281016108fd816116c6565b602080825281016108fd8161171c565b602080825281016108fd8161174d565b602080825281016108fd8161177d565b602080825281016108fd816117af565b602080825281016108fd81611805565b602080825281016108fd81611831565b604081016108fd8284611858565b606081016119f1828661147c565b6119fe602083018561147c565b611318604083018461147c565b60405181810167ffffffffffffffff81118282101715611a2a57600080fd5b604052919050565b90815260200190565b60006108fd82611a54565b90565b60006108fd82611a3b565b6001600160a01b031690565b67ffffffffffffffff1690565b611a7681611a3b565b811461116c57600080fd5b611a7681611a49565b611a7681611a46565b611a7681611a6056fea365627a7a7231582062fb6ef57713c5629ece901bccaba13bd0d6eb2aae6f3932e8f131e043710f356c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "entry",
							"type": "tuple"
						}
					],
					"name": "addVestingEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fallbackRewardEscrow",
					"outputs": [
						{
							"internalType": "contract IRewardEscrowV2Frozen",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "firstNonFallbackId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IRewardEscrowV2Frozen",
							"name": "_fallbackRewardEscrow",
							"type": "address"
						}
					],
					"name": "setFallbackRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "setZeroAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						}
					],
					"name": "setZeroAmountUntilTarget",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "endIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastEntryTime",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateEscrowAccountBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateTotalEscrowedBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateVestedAccountBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "entry",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0b672940ca953424b3d2a730f667cdbd42062b0c1a9d00bf176cebd21a8c0dcf",
				"urls": [
					"bzz-raw://a8995ca36824201eeb0d4faee7377d5dca6947946e49f991362c7060d263a31c",
					"dweb:/ipfs/QmPhLVNgPuiY5kG4CZAPbXfZX3x6G1PJB7y2q3hSi9MQUY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2Storage.sol": "RewardEscrowV2Storage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2Storage.sol": {
						"keccak256": "0x0b672940ca953424b3d2a730f667cdbd42062b0c1a9d00bf176cebd21a8c0dcf",
						"urls": [
							"bzz-raw://a8995ca36824201eeb0d4faee7377d5dca6947946e49f991362c7060d263a31c",
							"dweb:/ipfs/QmPhLVNgPuiY5kG4CZAPbXfZX3x6G1PJB7y2q3hSi9MQUY"
						]
					}
				},
				"version": 1
			}
		},
		"ImportableRewardEscrowV2": {
			"bytecode": "60806040526303bfc4006006556224ea0060075562093a806008553480156200002757600080fd5b5060405162003933380380620039338339810160408190526200004a916200011d565b8181806249d400836001600160a01b038116620000845760405162461bcd60e51b81526004016200007b90620001d9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d1918490620001b3565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506200023492505050565b805162000117816200021a565b92915050565b600080604083850312156200013157600080fd5b60006200013f85856200010a565b925050602062000152858286016200010a565b9150509250929050565b620001678162000206565b82525050565b6200016781620001f4565b600062000187601983620001eb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001c382856200015c565b620001d260208301846200016d565b9392505050565b60208082528101620001178162000178565b90815260200190565b60006001600160a01b03821662000117565b6000620001178260006200011782620001f4565b6200022581620001f4565b81146200023157600080fd5b50565b6136ef80620002446000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c806370a0823111610146578063899ffef4116100c3578063b95375bd11610087578063b95375bd146104ec578063cd7b43dd146104ff578063de065f6714610512578063e6b2cf6c14610525578063eac624891461052d578063f0b882ba1461054d5761025e565b8063899ffef4146104a15780638da5cb5b146104b6578063910a326d146104be578063a0416ed3146104c6578063ae582549146104d95761025e565b80637839b92f1161010a5780637839b92f1461043f5780637993e6991461045257806379ba5097146104655780637cc1d7561461046d57806380d46f58146104805761025e565b806370a08231146103e957806371e780f3146103fc57806373307e40146104045780637418536014610417578063773ab39f1461041f5761025e565b806330104c5f116101df57806345626bd6116101a357806345626bd61461037057806346ba2d901461039057806353a47bb7146103985780635eb8cf25146103ad5780636154c343146103b55780636dc05bd3146103d65761025e565b806330104c5f1461031c578063326a3cfb1461032f57806334c7fec91461034257806337088ffc146103555780634525aabc1461035d5761025e565b8063178c565511610226578063178c5655146102d35780631bb47b44146102db578063204b676a146102ee578063227d517a146103015780632af64bd3146103145761025e565b8063018c6c551461026357806304f3bcec1461027857806305662986146102965780630fcdefb7146102ab5780631627540c146102c0575b600080fd5b6102766102713660046127e3565b610560565b005b6102806105a8565b60405161028d9190613380565b60405180910390f35b61029e6105b7565b60405161028d9190613336565b6102b36105d8565b60405161028d9190613344565b6102766102ce3660046124e0565b6105de565b610276610631565b6102766102e936600461267b565b61068e565b6102b36102fc3660046124e0565b6106df565b6102b361030f3660046124e0565b61076a565b61029e61079f565b6102b361032a3660046125da565b6108b6565b6102b361033d3660046124e0565b6108d1565b610276610350366004612766565b610906565b6102b3610aba565b61027661036b3660046127e3565b610ac0565b61038361037e3660046125da565b610afd565b60405161028d919061350f565b6102b3610b89565b6103a0610b8f565b60405161028d91906131d7565b6102b3610b9e565b6103c86103c33660046125da565b610ba4565b60405161028d929190613597565b6102b36103e4366004612585565b610bcf565b6102b36103f73660046124e0565b610c34565b6102b3610c3f565b6103a06104123660046124e0565b610cbe565b610276610cd9565b61043261042d36600461267b565b610e2f565b60405161028d9190613314565b61027661044d3660046124e0565b610f5a565b6102766104603660046127e3565b610f65565b610276610fc4565b61027661047b3660046124e0565b611060565b61049361048e366004612585565b6111b0565b60405161028d92919061351d565b6104a96111c4565b60405161028d9190613303565b6103a0611238565b6102b3611247565b6102766104d436600461267b565b61124d565b6102b36104e73660046125da565b611318565b6102766104fa3660046126c8565b61139f565b61027661050d366004612614565b6113a7565b610276610520366004612524565b6115aa565b6102b3611876565b61054061053b36600461267b565b6118b8565b60405161028d9190613325565b61027661055b366004612585565b611969565b610568611cdf565b60078190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e9061059d908390613344565b60405180910390a150565b6003546001600160a01b031681565b6000426105d1600854600954611d0b90919063ffffffff16565b1190505b90565b60095481565b6105e6611cdf565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061059d9083906131d7565b610639611cdf565b4260098190556008547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445919061067690829063ffffffff611d0b16565b60405161068492919061353d565b60405180910390a1565b610696611d30565b6001600160a01b0316336001600160a01b0316146106cf5760405162461bcd60e51b81526004016106c6906134bf565b60405180910390fd5b6106da838383611d45565b505050565b60006106e9611fa1565b6001600160a01b031663204b676a836040518263ffffffff1660e01b815260040161071491906131d7565b60206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107649190810190612801565b92915050565b6000610774611fa1565b6001600160a01b031663227d517a836040518263ffffffff1660e01b815260040161071491906131d7565b600060606107ab6111c4565b905060005b81518110156108ad5760008282815181106107c757fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161081891869101613344565b60206040518083038186803b15801561083057600080fd5b505afa158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108689190810190612506565b6001600160a01b031614158061089357506000818152600460205260409020546001600160a01b0316155b156108a457600093505050506105d5565b506001016107b0565b50600191505090565b60006108ca6108c58484610afd565b611fc4565b9392505050565b60006108db611fa1565b6001600160a01b031663326a3cfb836040518263ffffffff1660e01b815260040161071491906131d7565b336000610911612389565b6000805b858110156109ed576109398588888481811061092d57fe5b90506020020135610afd565b925082602001516000146109e55761095083611fc4565b915081156109d257610960611fa1565b6001600160a01b031663534015598689898581811061097b57fe5b905060200201356040518363ffffffff1660e01b815260040161099f929190613242565b600060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050505b6109e2848363ffffffff611d0b16565b93505b600101610915565b508215610ab2576109ff848585611ff5565b610a07611fa1565b6001600160a01b0316633e21e59a85610a1f866120f4565b6040518363ffffffff1660e01b8152600401610a3c929190613242565b600060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b50505050836001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc64285604051610aa992919061353d565b60405180910390a25b505050505050565b60075481565b610ac8611cdf565b60068190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a49061059d908390613344565b610b05612389565b610b0d611fa1565b6001600160a01b03166345626bd684846040518363ffffffff1660e01b8152600401610b3a929190613242565b604080518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ca91908101906127c5565b60025481565b6001546001600160a01b031681565b60065481565b600080610baf612389565b610bb98585610afd565b80516020909101519093509150505b9250929050565b6000610bd9612389565b60005b83811015610c2b57610bf48686868481811061092d57fe5b91508160200151600014610c23576000610c0d83611fc4565b9050610c1f848263ffffffff611d0b16565b9350505b600101610bdc565b50509392505050565b6000610764826108d1565b6000610c49611fa1565b6001600160a01b03166371e780f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cb99190810190612801565b905090565b6005602052600090815260409020546001600160a01b031681565b6060610ce36111c4565b905060005b8151811015610e2b576000828281518110610cff57fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d4191906131cc565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d6d929190613360565b60206040518083038186803b158015610d8557600080fd5b505afa158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dbd9190810190612506565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e199084908490613352565b60405180910390a15050600101610ce8565b5050565b6060828201838111610e75576040805160008082526020820190925290610e6c565b610e596123a0565b815260200190600190039081610e515790505b509150506108ca565b610e7e856106df565b811115610e9157610e8e856106df565b90505b8381036000610e9e612389565b606083604051908082528060200260200182016040528015610eda57816020015b610ec76123a0565b815260200190600190039081610ebf5790505b50905060005b84811015610f4d57610ef48a8a8301611318565b9350610f008a85610afd565b9250604051806060016040528084600001516001600160401b031681526020018460200151815260200185815250828281518110610f3a57fe5b6020908102919091010152600101610ee0565b5098975050505050505050565b610f6261211d565b50565b610f6d611cdf565b600754811115610f8f5760405162461bcd60e51b81526004016106c6906134af565b60088190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e69061059d908390613344565b6001546001600160a01b03163314610fee5760405162461bcd60e51b81526004016106c6906133af565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611031926001600160a01b0391821692911690613227565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156110895760405162461bcd60e51b81526004016106c69061346f565b6110916105b7565b6110ad5760405162461bcd60e51b81526004016106c69061344f565b6110b5612135565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016110e0919061320d565b60206040518083038186803b1580156110f857600080fd5b505afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111309190810190612801565b1561114d5760405162461bcd60e51b81526004016106c6906134ff565b336000818152600560205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906111a59084906131d7565b60405180910390a250565b600060606111bc61211d565b935093915050565b6060806111cf612149565b60408051600180825281830190925291925060609190602080830190803883390190505090507453796e746865746978427269646765546f4261736560581b8160008151811061121b57fe5b602002602001018181525050611231828261220e565b9250505090565b6000546001600160a01b031681565b60085481565b6001600160a01b0383166112735760405162461bcd60e51b81526004016106c6906133df565b61127b6122ca565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b81526004016112aa939291906131e5565b602060405180830381600087803b1580156112c457600080fd5b505af11580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112fc91908101906127a7565b6106cf5760405162461bcd60e51b81526004016106c69061345f565b6000611322611fa1565b6001600160a01b031663ae58254984846040518363ffffffff1660e01b815260040161134f929190613242565b60206040518083038186803b15801561136757600080fd5b505afa15801561137b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ca9190810190612801565b610ab261211d565b6113af6122e1565b6001600160a01b0316336001600160a01b0316146113df5760405162461bcd60e51b81526004016106c6906133ef565b6113e7611fa1565b6001600160a01b031663cec7bdb1856113ff866120f4565b6040518363ffffffff1660e01b815260040161141c929190613242565b600060405180830381600087803b15801561143657600080fd5b505af115801561144a573d6000803e3d6000fd5b505050506114566122ca565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161148191906131d7565b60206040518083038186803b15801561149957600080fd5b505afa1580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d19190810190612801565b6114d9610c3f565b11156114f75760405162461bcd60e51b81526004016106c6906134ef565b60005b818110156115a35761150a611fa1565b6001600160a01b03166343ba57df8685858581811061152557fe5b9050604002016040518363ffffffff1660e01b815260040161154892919061326b565b602060405180830381600087803b15801561156257600080fd5b505af1158015611576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061159a9190810190612801565b506001016114fa565b5050505050565b6115b26122ca565b6001600160a01b0316336001600160a01b0316146115e25760405162461bcd60e51b81526004016106c69061340f565b6001600160a01b0384166116085760405162461bcd60e51b81526004016106c6906134cf565b6001600160a01b03831661162e5760405162461bcd60e51b81526004016106c69061349f565b600080600061163b611fa1565b6001600160a01b03166327f071d28886886040518463ffffffff1660e01b815260040161166a939291906132e8565b606060405180830381600087803b15801561168457600080fd5b505af1158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116bc919081019061281f565b925092509250848310156116e25760405162461bcd60e51b81526004016106c69061339f565b848311156118135760006116fc848763ffffffff61230416565b90506000611708611fa1565b6001600160a01b03166343ba57df8a6040518060400160405280876001600160401b03168152602001868152506040518363ffffffff1660e01b8152600401611752929190613286565b602060405180830381600087803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117a49190810190612801565b905060004284116117b65760006117c6565b6117c6844263ffffffff61230416565b9050896001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428584866040516118079493929190613559565b60405180910390a25050505b61181e878787611ff5565b856001600160a01b0316876001600160a01b03167f18db3cc7a567ad50ae1cf6998aff0c3c2cff4e7c1338a1909def5a5a12ae23a18787866040516118659392919061354b565b60405180910390a350505050505050565b6000611880611fa1565b6001600160a01b031663e6b2cf6c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b606082820160006118c8866106df565b9050808211156118d6578091505b8482116118f557505060408051600081526020810190915290506108ca565b604080518684038082526020808202830101909252606090828015611924578160200160208202803883390190505b50905060005b8281101561195d5761193e89898301611318565b82828151811061194a57fe5b602090810291909101015260010161192a565b50979650505050505050565b6119716105b7565b61198d5760405162461bcd60e51b81526004016106c69061344f565b611995612135565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b81526004016119c0919061325d565b60206040518083038186803b1580156119d857600080fd5b505afa1580156119ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a109190810190612801565b15611a2d5760405162461bcd60e51b81526004016106c6906134ff565b6001600160a01b03838116600090815260056020526040902054163314611a665760405162461bcd60e51b81526004016106c69061348f565b336000611a71612389565b60005b84811015611bbc57611a8c8787878481811061092d57fe5b91508160200151600014611bb457611aa2611fa1565b6001600160a01b0316635340155988888885818110611abd57fe5b905060200201356040518363ffffffff1660e01b8152600401611ae1929190613242565b600060405180830381600087803b158015611afb57600080fd5b505af1158015611b0f573d6000803e3d6000fd5b50505050611b1b611fa1565b6001600160a01b03166343ba57df85846040518363ffffffff1660e01b8152600401611b48929190613286565b602060405180830381600087803b158015611b6257600080fd5b505af1158015611b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b9a9190810190612801565b506020820151611bb190849063ffffffff611d0b16565b92505b600101611a74565b50611bc5611fa1565b6001600160a01b031663cec7bdb187611bdd856120f4565b6000036040518363ffffffff1660e01b8152600401611bfd929190613242565b600060405180830381600087803b158015611c1757600080fd5b505af1158015611c2b573d6000803e3d6000fd5b50505050611c37611fa1565b6001600160a01b031663cec7bdb184611c4f856120f4565b6040518363ffffffff1660e01b8152600401611c6c929190613242565b600060405180830381600087803b158015611c8657600080fd5b505af1158015611c9a573d6000803e3d6000fd5b50505050856001600160a01b03167f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c8484888842604051610aa99594939291906132a1565b6000546001600160a01b03163314611d095760405162461bcd60e51b81526004016106c69061347f565b565b6000828201838110156108ca5760405162461bcd60e51b81526004016106c6906133bf565b6000610cb966119959541bdbdb60ca1b61232c565b81611d625760405162461bcd60e51b81526004016106c69061342f565b600081118015611d7457506006548111155b611d905760405162461bcd60e51b81526004016106c6906133cf565b611d98611fa1565b6001600160a01b031663cec7bdb184611db0856120f4565b6040518363ffffffff1660e01b8152600401611dcd929190613242565b600060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b50505050611e076122ca565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611e3291906131d7565b60206040518083038186803b158015611e4a57600080fd5b505afa158015611e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e829190810190612801565b611e8a610c3f565b1115611ea85760405162461bcd60e51b81526004016106c69061343f565b4281016000611eb5611fa1565b6001600160a01b03166343ba57df866040518060400160405280866001600160401b03168152602001888152506040518363ffffffff1660e01b8152600401611eff929190613286565b602060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f519190810190612801565b9050846001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc042868685604051611f929493929190613559565b60405180910390a25050505050565b6000610cb974526577617264457363726f77563253746f7261676560581b61232c565b60008082602001516000146107645782516001600160401b0316421015611fec5760006108ca565b50506020015190565b611ffd611fa1565b6001600160a01b031663cec7bdb184612015846120f4565b6000036040518363ffffffff1660e01b8152600401612035929190613242565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b5050505061206f6122ca565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161209c929190613242565b602060405180830381600087803b1580156120b657600080fd5b505af11580156120ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ee91908101906127a7565b50505050565b6000600160ff1b82106121195760405162461bcd60e51b81526004016106c6906134df565b5090565b60405162461bcd60e51b81526004016106c69061341f565b6000610cb96524b9b9bab2b960d11b61232c565b60408051600480825260a0820190925260609160208201608080388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061218657fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106121aa57fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106121cd57fe5b60200260200101818152505074526577617264457363726f77563253746f7261676560581b816003815181106121ff57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561223e578160200160208202803883390190505b50905060005b83518110156122805783818151811061225957fe5b602002602001015182828151811061226d57fe5b6020908102919091010152600101612244565b5060005b82518110156122c35782818151811061229957fe5b60200260200101518282865101815181106122b057fe5b6020908102919091010152600101612284565b5092915050565b6000610cb9680a6f2dce8d0cae8d2f60bb1b61232c565b6000610cb97453796e746865746978427269646765546f4261736560581b61232c565b6000828211156123265760405162461bcd60e51b81526004016106c6906133ff565b50900390565b60008181526004602090815260408083205490516001600160a01b03909116918215159161235c918691016131ac565b604051602081830303815290604052906122c35760405162461bcd60e51b81526004016106c6919061338e565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b80356107648161367d565b80516107648161367d565b60008083601f8401126123f257600080fd5b5081356001600160401b0381111561240957600080fd5b602083019150836020820283011115610bc857600080fd5b60008083601f84011261243357600080fd5b5081356001600160401b0381111561244a57600080fd5b602083019150836040820283011115610bc857600080fd5b805161076481613691565b60006040828403121561247f57600080fd5b61248960406135a5565b9050600061249784846124d5565b82525060206124a8848483016124bf565b60208301525092915050565b80356107648161369a565b80516107648161369a565b8035610764816136a3565b8051610764816136a3565b6000602082840312156124f257600080fd5b60006124fe84846123ca565b949350505050565b60006020828403121561251857600080fd5b60006124fe84846123d5565b6000806000806080858703121561253a57600080fd5b600061254687876123ca565b9450506020612557878288016123ca565b9350506040612568878288016124b4565b9250506060612579878288016124b4565b91505092959194509250565b60008060006040848603121561259a57600080fd5b60006125a686866123ca565b93505060208401356001600160401b038111156125c257600080fd5b6125ce868287016123e0565b92509250509250925092565b600080604083850312156125ed57600080fd5b60006125f985856123ca565b925050602061260a858286016124b4565b9150509250929050565b6000806000806060858703121561262a57600080fd5b600061263687876123ca565b9450506020612647878288016124b4565b93505060408501356001600160401b0381111561266357600080fd5b61266f87828801612421565b95989497509550505050565b60008060006060848603121561269057600080fd5b600061269c86866123ca565b93505060206126ad868287016124b4565b92505060406126be868287016124b4565b9150509250925092565b600080600080600080606087890312156126e157600080fd5b86356001600160401b038111156126f757600080fd5b61270389828a016123e0565b965096505060208701356001600160401b0381111561272157600080fd5b61272d89828a016123e0565b945094505060408701356001600160401b0381111561274b57600080fd5b61275789828a016123e0565b92509250509295509295509295565b6000806020838503121561277957600080fd5b82356001600160401b0381111561278f57600080fd5b61279b858286016123e0565b92509250509250929050565b6000602082840312156127b957600080fd5b60006124fe8484612462565b6000604082840312156127d757600080fd5b60006124fe848461246d565b6000602082840312156127f557600080fd5b60006124fe84846124b4565b60006020828403121561281357600080fd5b60006124fe84846124bf565b60008060006060848603121561283457600080fd5b600061284086866124bf565b9350506020612851868287016124bf565b92505060406126be868287016124bf565b600061286e8383612a3b565b505060200190565b60006128828383613115565b505060600190565b6000612896838361317f565b505060400190565b6128a781613629565b82525050565b6128a781613601565b60006128c1826135d1565b6128cb81856135d5565b93506128d6836135cb565b8060005b838110156129045781516128ee8882612862565b97506128f9836135cb565b9250506001016128da565b509495945050505050565b600061291a826135d1565b61292481856135d5565b935061292f836135cb565b8060005b838110156129045781516129478882612876565b9750612952836135cb565b925050600101612933565b6000612968826135d1565b61297281856135d5565b935061297d836135cb565b8060005b83811015612904578151612995888261288a565b97506129a0836135cb565b925050600101612981565b60006129b783856135d5565b93506001600160fb1b038311156129cd57600080fd5b6020830292506129de83858461363b565b50500190565b60006129ef826135d1565b6129f981856135d5565b9350612a04836135cb565b8060005b83811015612904578151612a1c8882612862565b9750612a27836135cb565b925050600101612a08565b6128a78161360c565b6128a7816105d5565b6128a7612a50826105d5565b6105d5565b6128a781613630565b6000612a69826135d1565b612a7381856135d5565b9350612a83818560208601613647565b612a8c81613673565b9093019392505050565b6000612aa3601c836135d5565b7f656e74726965732073756d206c657373207468616e2074617267657400000000815260200192915050565b6000612adc6035836135d5565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612b33601b836135d5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612b6c6033836135d5565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612bc16024836135d5565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000612c076035836135d5565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e746865746978815274109c9a5919d9551bd0985cd94818dbdb9d1c9858dd605a1b602082015260400192915050565b6000612c5e601e836135d5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612c97600e836135d5565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000612cc1601b836135d5565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000612cfa6011836135de565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d276017836135d5565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612d606047836135d5565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000612dcf6019836135d5565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000612e086015836135d5565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b6000612e396024836135d5565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b6000612e7f602f836135d5565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612edc6021836135d5565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b6000612f1f6011836135d5565b701c9958da5c1a595b9d081b9bdd081cd95d607a1b815260200192915050565b6000612f4c601c836135d5565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000612f856019836135de565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612fbe6028836135d5565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b6000613008600f836135d5565b6e1858d8dbdd5b9d081b9bdd081cd95d608a1b815260200192915050565b60006130336028836135d5565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b600061307d6044836135d5565b7f496e73756666696369656e742062616c616e636520696e2074686520636f6e7481527f7261637420746f2070726f7669646520666f7220657363726f7765642062616c602082015263616e636560e01b604082015260600192915050565b60006130e9601f836135d5565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b8051606083019061312684826131a3565b5060208201516131396020850182612a3b565b5060408201516120ee6040850182612a3b565b6040820161315a82806135f2565b61316484826131a3565b5061317260208301836135e3565b6120ee6020850182612a3b565b8051604083019061319084826131a3565b5060208201516120ee6020850182612a3b565b6128a78161361d565b60006131b782612ced565b91506131c38284612a44565b50602001919050565b60006131b782612f78565b6020810161076482846128ad565b606081016131f3828661289e565b61320060208301856128ad565b6124fe6040830184612a3b565b6040810161321b828461289e565b61076460208301612ec3565b6040810161323582856128ad565b6108ca60208301846128ad565b6040810161325082856128ad565b6108ca6020830184612a3b565b6040810161321b82846128ad565b6060810161327982856128ad565b6108ca602083018461314c565b6060810161329482856128ad565b6108ca602083018461317f565b608081016132af82886128ad565b6132bc6020830187612a3b565b81810360408301526132cf8185876129ab565b90506132de6060830184612a3b565b9695505050505050565b606081016132f682866128ad565b6132006020830185612a3b565b602080825281016108ca81846128b6565b602080825281016108ca818461290f565b602080825281016108ca81846129e4565b602081016107648284612a32565b602081016107648284612a3b565b604081016132358285612a3b565b6040810161336e8285612a3b565b81810360208301526124fe8184612a5e565b602081016107648284612a55565b602080825281016108ca8184612a5e565b6020808252810161076481612a96565b6020808252810161076481612acf565b6020808252810161076481612b26565b6020808252810161076481612b5f565b6020808252810161076481612bb4565b6020808252810161076481612bfa565b6020808252810161076481612c51565b6020808252810161076481612c8a565b6020808252810161076481612cb4565b6020808252810161076481612d1a565b6020808252810161076481612d53565b6020808252810161076481612dc2565b6020808252810161076481612dfb565b6020808252810161076481612e2c565b6020808252810161076481612e72565b6020808252810161076481612ecf565b6020808252810161076481612f12565b6020808252810161076481612f3f565b6020808252810161076481612fb1565b6020808252810161076481612ffb565b6020808252810161076481613026565b6020808252810161076481613070565b60208082528101610764816130dc565b60408101610764828461317f565b6040810161352b8285612a3b565b81810360208301526124fe818461295d565b604081016132508285612a3b565b606081016132f68286612a3b565b608081016135678287612a3b565b6135746020830186612a3b565b6135816040830185612a3b565b61358e6060830184612a3b565b95945050505050565b6040810161325082856131a3565b6040518181016001600160401b03811182821017156135c357600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b60006108ca60208401846124b4565b60006108ca60208401846124ca565b600061076482613611565b151590565b6001600160a01b031690565b6001600160401b031690565b6000610764825b600061076482613601565b82818337506000910152565b60005b8381101561366257818101518382015260200161364a565b838111156120ee5750506000910152565b601f01601f191690565b61368681613601565b8114610f6257600080fd5b6136868161360c565b613686816105d5565b6136868161361d56fea365627a7a723158204f0e577a85f9d99041edaa61d95e628b7ca26ab303daa1b9bf06e82857936da96c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endIndex",
							"type": "uint256"
						}
					],
					"name": "Revoked",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						}
					],
					"name": "revokeFrom",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xcc860d0720a09fbaa4d10d458645050e143fe4dc9d460af383e99db1e25ce7fe",
				"urls": [
					"bzz-raw://f41c1c9c320ca25027fc4c9cfba467e8e6b2fdef7c8cd4ef74de0ab49524ada5",
					"dweb:/ipfs/QmPW8csf1zJ1htZANCwnpT2ykfAZR75CV6cR267sNj3eWp"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ImportableRewardEscrowV2.sol": "ImportableRewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ImportableRewardEscrowV2.sol": {
						"keccak256": "0xcc860d0720a09fbaa4d10d458645050e143fe4dc9d460af383e99db1e25ce7fe",
						"urls": [
							"bzz-raw://f41c1c9c320ca25027fc4c9cfba467e8e6b2fdef7c8cd4ef74de0ab49524ada5",
							"dweb:/ipfs/QmPW8csf1zJ1htZANCwnpT2ykfAZR75CV6cR267sNj3eWp"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fe578063da7bd3e914610506578063ee1d036c14610532578063fec9f9da1461055e5761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b806370a082311461038c578063759b5225146103b257806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d901461033257806353a47bb71461033a57806363667eb71461035e5780636b3905c4146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610207610c9a565b6102076004803603602081101561037c57600080fd5b50356001600160a01b0316610c9f565b610207600480360360208110156103a257600080fd5b50356001600160a01b0316610cb8565b610342610cd3565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b610207610e6f565b6102bd6004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610e74565b6102076004803603604081101561054857600080fd5b506001600160a01b038135169060200135610ee3565b6101b96004803603602081101561057457600080fd5b50356001600160a01b0316610ef6565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610e74565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610ee3565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6001546001600160a01b031681565b600081565b6000610caa82610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031681565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cad565b6000610dd08383610e74565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b601481565b610e7c6110b6565b6001600160a01b0383166000908152600460205260409020805483908110610ea057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610ec3575050505050905092915050565b6000610eef8383610e74565b6001610dd3565b610efe610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158204c03742d6479141f5bee69699a133b4a15bb5f2f5a6bbc0d12ca596f26f5456b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetix",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newSynthetix",
							"type": "address"
						}
					],
					"name": "SynthetixUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetix",
							"type": "address"
						}
					],
					"name": "setSynthetix",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetix",
					"outputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xfb61e395b268e81468034ac3a2aa643650be0a5094b7dc8100a2475b95f1a6f7",
				"urls": [
					"bzz-raw://83b13f30a31696d64b7290ad6d4ae14212d0e461bfedb9eec394521a647da63a",
					"dweb:/ipfs/QmPRS9vJetNh7LmbTfScPvd7AJdFiKKY1akBCHJrvSiQ28"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixEscrow.sol": "SynthetixEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixEscrow.sol": {
						"keccak256": "0xfb61e395b268e81468034ac3a2aa643650be0a5094b7dc8100a2475b95f1a6f7",
						"urls": [
							"bzz-raw://83b13f30a31696d64b7290ad6d4ae14212d0e461bfedb9eec394521a647da63a",
							"dweb:/ipfs/QmPRS9vJetNh7LmbTfScPvd7AJdFiKKY1akBCHJrvSiQ28"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixDebtShare": {
			"bytecode": "6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820d4d8e7fbfa05b5c4526d15f74ba88211e753328ebd272879e1c60b275a61c2b764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Burn",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authorizedBroker",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "authorized",
							"type": "bool"
						}
					],
					"name": "ChangeAuthorizedBroker",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authorizedToSnapshot",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "authorized",
							"type": "bool"
						}
					],
					"name": "ChangeAuthorizedToSnapshot",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Mint",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "addAuthorizedBroker",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "addAuthorizedToSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "authorizedBrokers",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "authorizedToSnapshot",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "balanceOfOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "balances",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "amount",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "periodId",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnShare",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentPeriodId",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "finishSetup",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "amounts",
							"type": "uint256[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isInitialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintShare",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "removeAuthorizedBroker",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "removeAuthorizedToSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "sharePercent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "sharePercentOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint128",
							"name": "id",
							"type": "uint128"
						}
					],
					"name": "takeSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "totalSupplyOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b",
				"urls": [
					"bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151",
					"dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixDebtShare.sol": "SynthetixDebtShare"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixDebtShare.sol": {
						"keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b",
						"urls": [
							"bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151",
							"dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204a40a62232a93602005a0df8eafa1dff3b1633a17b706a6710abcbd12d9507c764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa",
				"urls": [
					"bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e",
					"dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa",
						"urls": [
							"bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e",
							"dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158200dfed0d87ea0c2d908f0f117e82ff45f96d8f1f6da6e289850136fd5ef11d9cd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45",
				"urls": [
					"bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf",
					"dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45",
						"urls": [
							"bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf",
							"dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820769492428c425b94186683000badc269a3479a27b2ccff7795165b9300fb31c064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40",
				"urls": [
					"bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e",
					"dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40",
						"urls": [
							"bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e",
							"dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidator": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002bb138038062002bb18339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61298e80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806374e889c911610104578063952225f3116100a2578063b410a03411610071578063b410a03414610350578063c855a8e114610358578063d45c0d7e14610360578063f557f73c14610373576101cf565b8063952225f31461030f578063974e9e7f14610322578063a0cf745114610335578063ad2bc2d51461033d576101cf565b8063828afc4b116100de578063828afc4b146102d7578063899ffef4146102ea5780638d1bd1be146102ff5780638da5cb5b14610307576101cf565b806374e889c9146102bf57806379ba5097146102c75780638074b372146102cf576101cf565b806339a9df1b116101715780635e887fe91161014b5780635e887fe914610284578063614d08f8146102a75780636a058966146102af57806374185360146102b7576101cf565b806339a9df1b1461024957806353a47bb71461025c5780635616c95714610271576101cf565b80631775765f116101ad5780631775765f1461021c57806323f5589a146102245780632af64bd31461022c57806331e4e03014610241576101cf565b806304f3bcec146101d45780631627540c146101f25780631710940c14610207575b600080fd5b6101dc610386565b6040516101e99190612749565b60405180910390f35b610205610200366004611f1e565b610395565b005b61020f6103f3565b6040516101e991906126a2565b61020f610403565b61020f61040d565b610234610417565b6040516101e99190612694565b61020f61052e565b610234610257366004611f1e565b610538565b610264610561565b6040516101e99190612625565b61026461027f366004611f1e565b610570565b610297610292366004611f62565b61058e565b6040516101e99493929190612858565b61020f610744565b61020f610755565b61020561076d565b61020f6108c3565b6102056108dd565b61020f610982565b61020f6102e5366004611f1e565b61098c565b6102f26109a7565b6040516101e99190612683565b61020f610a86565b610264610b1b565b61023461031d366004611f62565b610b2a565b610205610330366004611f1e565b610ce1565b61020f610d3d565b61020561034b366004611f1e565b610d47565b61020f610f1c565b61020f610f26565b61020561036e366004611f1e565b610f30565b61020f610381366004611fd8565b6112aa565b6002546001600160a01b031681565b61039d6113ab565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103e8908390612625565b60405180910390a150565b60006103fd6113d7565b90505b90565b60006103fd611488565b60006103fd6114e3565b600060606104236109a7565b905060005b815181101561052557600082828151811061043f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104909085906004016126a2565b60206040518083038186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e09190810190611f44565b6001600160a01b031614158061050b57506000818152600360205260409020546001600160a01b0316155b1561051c5760009350505050610400565b50600101610428565b50600191505090565b60006103fd611543565b6000610542611ec5565b61054b8361159d565b905061055a816000015161171a565b9392505050565b6001546001600160a01b031681565b600061057a611ec5565b6105838361159d565b602001519392505050565b600080600080306001600160a01b031663952225f387876040518363ffffffff1660e01b81526004016105c292919061264e565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106129190810190611f9c565b6106ad57600080600061062361172c565b6001600160a01b031663d37c4d8b8a6040518263ffffffff1660e01b815260040161064e9190612669565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190611fba565b9296509094509250905061073b565b6106b561172c565b6001600160a01b0316635e887fe987876040518363ffffffff1660e01b81526004016106e292919061264e565b60806040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107329190810190612025565b93509350935093505b92959194509250565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107776109a7565b905060005b81518110156108bf57600082828151811061079357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016107d5919061261a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610801929190612729565b60206040518083038186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108519190810190611f44565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ad90849084906126b0565b60405180910390a1505060010161077c565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146109105760405162461bcd60e51b815260040161090790612778565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610953926001600160a01b0391821692911690612633565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006103fd611740565b6000610996611ec5565b61099f8361159d565b519392505050565b6060806109b2611795565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106109f657fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610a1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610a3f57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600381518110610a6957fe5b602002602001018181525050610a7f82826117e6565b9250505090565b60006103fd610a93611488565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad757600080fd5b505af4158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b0f9190810190611fba565b9063ffffffff6118a216565b6000546001600160a01b031681565b600080610b356118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610b609190612625565b60206040518083038186803b158015610b7857600080fd5b505afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb09190810190611fba565b9050610bba6118ce565b8111610bca576000915050610cdb565b82610c1a57610bd7611ec5565b610be08561159d565b9050610bef816000015161171a565b8015610bff5750610bff85611926565b15610c0f57600192505050610cdb565b600092505050610cdb565b600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6057600080fd5b505af4158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c989190810190611fba565b9050610cc2610cb5610ca86114e3565b839063ffffffff6119d516565b829063ffffffff6119fa16565b821115610cd457600092505050610cdb565b5060019150505b92915050565b610ce961172c565b6001600160a01b0316336001600160a01b031614610d195760405162461bcd60e51b815260040161090790612798565b610d21611ec5565b610d2a8261159d565b8051909150156108bf576108bf82611a24565b60006103fd611afb565b620a69cb60eb1b610d56611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610d8191906126a2565b60206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd19190810190611f9c565b15610dee5760405162461bcd60e51b815260040161090790612808565b610df6611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2e57600080fd5b505afa158015610e42573d6000803e3d6000fd5b50505050610e4e611ec5565b610e578361159d565b8051909150610e785760405162461bcd60e51b815260040161090790612848565b6000610e826118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610ead9190612625565b60206040518083038186803b158015610ec557600080fd5b505afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efd9190810190611fba565b9050610f076118ce565b8111610f1657610f1684611a24565b50505050565b60006103fd6118ce565b60006103fd611b8b565b620a69cb60eb1b610f3f611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f6a91906126a2565b60206040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fba9190810190611f9c565b15610fd75760405162461bcd60e51b815260040161090790612808565b610fdf611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561101757600080fd5b505afa15801561102b573d6000803e3d6000fd5b50506002546040516321f8a72160e01b8152600093506001600160a01b0390911691506321f8a72190611071906b131959d858de53585c9ad95d60a21b906004016126a2565b60206040518083038186803b15801561108957600080fd5b505afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c19190810190611f44565b6001600160a01b0316146110e75760405162461bcd60e51b815260040161090790612818565b60006110f1611488565b1161110e5760405162461bcd60e51b8152600401610907906127d8565b6000611118611afb565b116111355760405162461bcd60e51b8152600401610907906127e8565b61113d611ec5565b6111468361159d565b8051909150156111685760405162461bcd60e51b815260040161090790612838565b60006111726118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040161119d9190612625565b60206040518083038186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ed9190810190611fba565b90506111f7611488565b8110156112165760405162461bcd60e51b8152600401610907906127b8565b61121f84611926565b61123b5760405162461bcd60e51b815260040161090790612768565b6000611255611248611afb565b429063ffffffff6119d516565b9050611262858233611bf3565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405161129b91906126a2565b60405180910390a25050505050565b6000806112b56118ce565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fd57600080fd5b505af4158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113359190810190611fba565b9050600061135961134c878563ffffffff611d2016565b889063ffffffff611d4a16565b9050600061138d61138085611374868a63ffffffff6119d516565b9063ffffffff611d2016565b849063ffffffff611d4a16565b905061139f828263ffffffff6119fa16565b98975050505050505050565b6000546001600160a01b031633146113d55760405162461bcd60e51b8152600401610907906127f8565b565b60006113e1611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016114389291906126be565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103fd9190810190611fba565b6000611492611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006114ed611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016114389291906126be565b600061154d611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b81526004016114389291906126be565b6115a5611ec5565b6115ad611d72565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115e9724c69717569646174696f6e446561646c696e6560681b86611d8f565b6040518363ffffffff1660e01b81526004016116069291906126be565b60206040518083038186803b15801561161e57600080fd5b505afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116569190810190611fba565b8152611660611d72565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61169a702634b8bab4b230ba34b7b721b0b63632b960791b86611d8f565b6040518363ffffffff1660e01b81526004016116b79291906126be565b60206040518083038186803b1580156116cf57600080fd5b505afa1580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117079190810190611f44565b6001600160a01b03166020820152919050565b60008082118015610cdb575050421190565b60006103fd6524b9b9bab2b960d11b611dc2565b600061174a611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b81526004016114389291906126be565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611816578160200160208202803883390190505b50905060005b83518110156118585783818151811061183157fe5b602002602001015182828151811061184557fe5b602090810291909101015260010161181c565b5060005b825181101561189b5782818151811061187157fe5b602002602001015182828651018151811061188857fe5b602090810291909101015260010161185c565b5092915050565b600061055a8383670de0b6b3a7640000611e1f565b60006103fd680a6f2dce8d0cae8d2f60bb1b611dc2565b60006118d8611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016114389291906126be565b60008061193161172c565b6001600160a01b031663a5fdc5de846040518263ffffffff1660e01b815260040161195c9190612625565b60206040518083038186803b15801561197457600080fd5b505afa158015611988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ac9190810190611fba565b90506119cd6119b9611740565b6119c1611543565b9063ffffffff6119d516565b111592915050565b60008282018381101561055a5760405162461bcd60e51b815260040161090790612788565b600061055a82611a1885670de0b6b3a764000063ffffffff611e5616565b9063ffffffff611e9016565b611a2c611d72565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a68724c69717569646174696f6e446561646c696e6560681b85611d8f565b6040518363ffffffff1660e01b8152600401611a859291906126be565b600060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8742604051611af091906126a2565b60405180910390a250565b6000611b05611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006103fd6c45786368616e6765526174657360981b611dc2565b60006103fd6b53797374656d53746174757360a01b611dc2565b6000611b95611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b81526004016114389291906126be565b611bfb611d72565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c37724c69717569646174696f6e446561646c696e6560681b87611d8f565b856040518463ffffffff1660e01b8152600401611c5693929190612701565b600060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b50505050611c90611d72565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611cca702634b8bab4b230ba34b7b721b0b63632b960791b87611d8f565b846040518463ffffffff1660e01b8152600401611ce9939291906126d9565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d3b848463ffffffff611e5616565b81611d4257fe5b049392505050565b600082821115611d6c5760405162461bcd60e51b8152600401610907906127a8565b50900390565b60006103fd6e466c657869626c6553746f7261676560881b611dc2565b60008282604051602001611da49291906125d4565b60405160208183030381529060405280519060200120905092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591611df2918691016125fa565b6040516020818303038152906040529061189b5760405162461bcd60e51b81526004016109079190612757565b600080611e3984611a1887600a870263ffffffff611e5616565b90506005600a820610611e4a57600a015b600a9004949350505050565b600082611e6557506000610cdb565b82820282848281611e7257fe5b041461055a5760405162461bcd60e51b815260040161090790612828565b6000808211611eb15760405162461bcd60e51b8152600401610907906127c8565b6000828481611ebc57fe5b04949350505050565b604080518082019091526000808252602082015290565b8035610cdb81612922565b8051610cdb81612922565b8035610cdb81612939565b8051610cdb81612939565b8035610cdb81612942565b8051610cdb81612942565b600060208284031215611f3057600080fd5b6000611f3c8484611edc565b949350505050565b600060208284031215611f5657600080fd5b6000611f3c8484611ee7565b60008060408385031215611f7557600080fd5b6000611f818585611edc565b9250506020611f9285828601611ef2565b9150509250929050565b600060208284031215611fae57600080fd5b6000611f3c8484611efd565b600060208284031215611fcc57600080fd5b6000611f3c8484611f13565b600080600060608486031215611fed57600080fd5b6000611ff98686611f08565b935050602061200a86828701611f08565b925050604061201b86828701611f08565b9150509250925092565b6000806000806080858703121561203b57600080fd5b60006120478787611f13565b945050602061205887828801611f13565b935050604061206987828801611f13565b925050606061207a87828801611f13565b91505092959194509250565b6000612092838361211c565b505060200190565b6120a3816128ae565b82525050565b6120a36120b5826128ae565b612901565b60006120c58261289c565b6120cf81856128a0565b93506120da83612896565b8060005b838110156121085781516120f28882612086565b97506120fd83612896565b9250506001016120de565b509495945050505050565b6120a3816128b9565b6120a381610400565b6120a361213182610400565b610400565b6120a3816128ca565b600061214a8261289c565b61215481856128a0565b93506121648185602086016128d5565b61216d81612912565b9093019392505050565b6000612184601a836128a0565b7f6e6f7420656e6f75676820534e5820666f722072657761726473000000000000815260200192915050565b60006121bd6035836128a0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612214601b836128a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061224d603c836128a0565b7f4c697175696461746f723a204f6e6c79207468652049737375657220636f6e7481527f726163742063616e20706572666f726d207468697320616374696f6e00000000602082015260400192915050565b60006122ac601e836128a0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122e56035836128a0565b7f4163636f756e742069737375616e636520726174696f206973206c657373207481527468616e206c69717569646174696f6e20726174696f60581b602082015260400192915050565b600061233c601a836128a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006123756011836128a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006123a26019836128a0565b7f4c69717569646174696f6e20726174696f206e6f742073657400000000000000815260200192915050565b60006123db6019836128a0565b7f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000815260200192915050565b6000612414602f836128a0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612471601b836128a0565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b60006124aa6017836128a0565b7f4d757374206c6971756964617465207573696e67205633000000000000000000815260200192915050565b60006124e36021836128a0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006125266027836128a0565b7f4163636f756e7420616c726561647920666c616767656420666f72206c69717581526634b230ba34b7b760c91b602082015260400192915050565b600061256f601e836128a0565b7f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000815260200192915050565b60006125a86019836128a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006125e08285612125565b6020820191506125f082846120a9565b5060140192915050565b600061260582612368565b91506126118284612125565b50602001919050565b60006126058261259b565b60208101610cdb828461209a565b60408101612641828561209a565b61055a602083018461209a565b6040810161265c828561209a565b61055a6020830184612113565b60408101612677828461209a565b610cdb60208301612458565b6020808252810161055a81846120ba565b60208101610cdb8284612113565b60208101610cdb828461211c565b60408101612641828561211c565b604081016126cc828561211c565b61055a602083018461211c565b606081016126e7828661211c565b6126f4602083018561211c565b611f3c604083018461209a565b6060810161270f828661211c565b61271c602083018561211c565b611f3c604083018461211c565b60408101612737828561211c565b8181036020830152611f3c818461213f565b60208101610cdb8284612136565b6020808252810161055a818461213f565b60208082528101610cdb81612177565b60208082528101610cdb816121b0565b60208082528101610cdb81612207565b60208082528101610cdb81612240565b60208082528101610cdb8161229f565b60208082528101610cdb816122d8565b60208082528101610cdb8161232f565b60208082528101610cdb81612395565b60208082528101610cdb816123ce565b60208082528101610cdb81612407565b60208082528101610cdb81612464565b60208082528101610cdb8161249d565b60208082528101610cdb816124d6565b60208082528101610cdb81612519565b60208082528101610cdb81612562565b60808101612866828761211c565b612873602083018661211c565b612880604083018561211c565b61288d606083018461211c565b95945050505050565b60200190565b5190565b90815260200190565b919050565b6000610cdb826128be565b151590565b6001600160a01b031690565b6000610cdb826128ae565b60005b838110156128f05781810151838201526020016128d8565b83811115610f165750506000910152565b6000610cdb826000610cdb8261291c565b601f01601f191690565b60601b90565b61292b816128ae565b811461293657600080fd5b50565b61292b816128b9565b61292b8161040056fea365627a7a72315820968522db0bae724081cec02612ebf475c705c92429998efbc183404f802e793b6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "flagReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationCallerForAccount",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "isLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidateReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidationAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtToRemove",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationEscrowDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x05148d5cadc4803f9c396123dcfa594d734d694d9a5b396fdb594dcde693f620",
				"urls": [
					"bzz-raw://ce98baed82eaf7f096c7a4025e198cbe9ce8c31a17255c08a09272038f4a00db",
					"dweb:/ipfs/QmbvqFUohmPRzYPxLH3XN3pwKSdyB1LCbSghE6jFLCnNj2"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidator.sol": "Liquidator"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidator.sol": {
						"keccak256": "0x05148d5cadc4803f9c396123dcfa594d734d694d9a5b396fdb594dcde693f620",
						"urls": [
							"bzz-raw://ce98baed82eaf7f096c7a4025e198cbe9ce8c31a17255c08a09272038f4a00db",
							"dweb:/ipfs/QmbvqFUohmPRzYPxLH3XN3pwKSdyB1LCbSghE6jFLCnNj2"
						]
					}
				},
				"version": 1
			}
		},
		"LiquidatorRewards": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a7231582020f689107e91cc6ce331e01eab6138500d393d1eb72102e1984472b41ef3758a6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accumulatedRewardsPerShare",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "entries",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "claimable",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "entryAccumulatedRewards",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "initiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "updateEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195",
				"urls": [
					"bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6",
					"dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"LiquidatorRewards.sol": "LiquidatorRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"LiquidatorRewards.sol": {
						"keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195",
						"urls": [
							"bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6",
							"dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158207648b05ca0935f6d5ede33ff860003dae37bb7b0e41ce2521cdf1c480e0ec4fd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e",
				"urls": [
					"bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a",
					"dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e",
						"urls": [
							"bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a",
							"dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631cd554d160e21b6007553480156200001c57600080fd5b506040516200456d3803806200456d8339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b6141ba80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636de813f11161017b578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610516578063f43d41611461051e578063fd1f498d14610531576102c8565b8063e0e6393d14610506578063eb1edd611461050e576102c8565b8063cff2ddad116100bd578063cff2ddad146104e1578063d294f093146104f6578063d67bdd25146104fe576102c8565b8063b410a034146104c6578063bc67f832146104ce576102c8565b8063899ffef41161012f57806397107d6d1161011457806397107d6d14610498578063a419b69a146104ab578063ac834193146104be576102c8565b8063899ffef41461047b5780638da5cb5b14610490576102c8565b806373941b961161016057806373941b9614610458578063741853601461046b57806379ba509714610473576102c8565b80636de813f11461044857806372ccd69e14610450576102c8565b80633ebc457a11610229578063569249d0116101dd578063614d08f8116101c2578063614d08f81461041a578063642fbd8b146104225780636466f45e14610435576102c8565b8063569249d0146103ff57806359a2f19f14610407576102c8565b806341c178c31161020e57806341c178c3146103da57806346ba2d90146103e257806353a47bb7146103ea576102c8565b80633ebc457a146103ac5780633fcd2240146103b4576102c8565b806322425fa4116102805780632af64bd3116102655780632af64bd31461036f5780632e227eeb14610384578063331400161461038c576102c8565b806322425fa41461035457806322bf55ef1461035c576102c8565b80630813071c116102b15780630813071c1461030b5780630de586151461031e5780631627540c1461033f576102c8565b806304f3bcec146102cd57806307ea50cd146102eb575b600080fd5b6102d5610544565b6040516102e29190613e6a565b60405180910390f35b6102fe6102f936600461319a565b610553565b6040516102e29190613d87565b6102fe6103193660046131de565b610628565b61033161032c36600461319a565b61073a565b6040516102e2929190613dbe565b61035261034d36600461319a565b6107bc565b005b6102fe61081a565b61035261036a366004613254565b61082a565b610377610887565b6040516102e29190613d79565b61033161099e565b61039f61039a36600461319a565b610b25565b6040516102e29190613d5a565b610352610d1c565b6103c76103c2366004613254565b610f24565b6040516102e29796959493929190613fe7565b610331610fd2565b6102fe611080565b6103f2611086565b6040516102e29190613ce0565b6102fe611095565b61037761041536600461319a565b6110f0565b6102fe611102565b6102fe61043036600461319a565b611126565b61037761044336600461319a565b6111c7565b6102fe6112f3565b6102fe611348565b6103526104663660046132a2565b61135d565b610352611445565b610352611597565b610483611633565b6040516102e29190613d68565b6103f261198d565b6103526104a636600461319a565b61199c565b6102fe6104b936600461319a565b6119ef565b6102fe611a0e565b6102fe611aba565b6103526104dc36600461319a565b611ac4565b6104e9611aee565b6040516102e2919061404f565b610377611af3565b6103f2611b6a565b6102fe611b79565b6103f2611b83565b6102d5611b9b565b61035261052c3660046132c1565b611baa565b61035261053f366004613254565b611d5a565b6005546001600160a01b031681565b600061055d611dc6565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161059e929190613c79565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105d09190613d87565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106209190810190613236565b90505b919050565b6000811580610638575060028210155b1561064557506000610734565b61065160018303611df1565b5468010000000000000000900467ffffffffffffffff1661067457506000610734565b61067c611e1b565b6001600160a01b0316638ced14df846008856002811061069857fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106e1929167ffffffffffffffff1690600401613d17565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107319190810190613236565b90505b92915050565b6000806107456130b4565b61074e84610b25565b905060008060015b60028110156107af5761077b84826002811061076e57fe5b6020020151518490611e46565b92506107a584826002811061078c57fe5b602002015160016020020151839063ffffffff611e4616565b9150600101610756565b509093509150505b915091565b6107c4611e6b565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061080f908390613ce0565b60405180910390a150565b6000610824611e97565b90505b90565b61083333611f5e565b6108585760405162461bcd60e51b815260040161084f90613e89565b60405180910390fd5b610876816108666000611df1565b600301549063ffffffff611e4616565b6108806000611df1565b6003015550565b60006060610893611633565b905060005b81518110156109955760008282815181106108af57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610900908590600401613d87565b60206040518083038186803b15801561091857600080fd5b505afa15801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095091908101906131c0565b6001600160a01b031614158061097b57506000818152600660205260409020546001600160a01b0316155b1561098c5760009350505050610827565b50600101610898565b50600191505090565b6000806000806109cd7f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d919081019061335d565b50935050925050600080610a707f6578743a41676772656761746f7244656274526174696f000000000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae0919081019061335d565b50919450909250859150508215610b0657610b01818463ffffffff61215f16565b610b09565b60005b9650818410610b185781610b1a565b835b955050505050509091565b610b2d6130b4565b600080610b38611e1b565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b80908790600401613ce0565b60206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd09190810190613236565b9150600080610be0600085612178565b8651829052865160200181905290925090506000610bfd87610553565b905060015b8015610d11576000610c1382611df1565b5467ffffffffffffffff16905080831015610d07576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610c79908c9067ffffffffffffffff861690600401613d17565b60206040518083038186803b158015610c9157600080fd5b505afa158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cc99190810190613236565b9650610cd58288612178565b909550935084888360028110610ce757fe5b60200201515283888360028110610cfa57fe5b6020020151600160200201525b5060001901610c02565b505050505050919050565b610d246121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506000610d7e611e97565b11610d9b5760405162461bcd60e51b815260040161084f90613fc9565b610da3611e97565b4203610daf6000611df1565b5468010000000000000000900467ffffffffffffffff161115610de45760405162461bcd60e51b815260040161084f90613ea9565b6000610dee610fd2565b5090506000610dfb61099e565b509050610e088282612207565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610e71907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613dec565b60206040518083038186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ec191908101906131c0565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610eee929190613dbe565b600060405180830381600087803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b505050505050565b6000806000806000806000610f376130e1565b610f4089611df1565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b6000806000806110017f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611071919081019061335d565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b60028110156110ea576110c16110b082611df1565b60030154839063ffffffff611e4616565b91506110e06110cf82611df1565b60040154839063ffffffff6125cd16565b915060010161109b565b50905090565b60006110fb826125f5565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b600080611131611e1b565b90506000816001600160a01b031663e6d24bbd856040518263ffffffff1660e01b81526004016111619190613ce0565b60206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b19190810190613236565b90506111be600082612178565b50949350505050565b60006111d16121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506112296126e9565b611231612728565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261127e92879290911690600401613cfc565b60206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ce9190810190613218565b6112ea5760405162461bcd60e51b815260040161084f90613f39565b61062082612753565b60008060015b60028110156110ea5761131f61130e82611df1565b60050154839063ffffffff611e4616565b915061133e61132d82611df1565b60060154839063ffffffff6125cd16565b91506001016112f9565b60006113546001611df1565b60040154905090565b3330148061141b57506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a721906113b6907f53796e746865746978427269646765546f42617365000000000000000000000090600401613d87565b60206040518083038186803b1580156113ce57600080fd5b505afa1580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061140691908101906131c0565b6001600160a01b0316336001600160a01b0316145b6114375760405162461bcd60e51b815260040161084f90613f79565b6114418282612207565b5050565b606061144f611633565b905060005b815181101561144157600082828151811061146b57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016114ad9190613cca565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016114d9929190613dcc565b60206040518083038186803b1580156114f157600080fd5b505afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152991908101906131c0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906115859084908490613d95565b60405180910390a15050600101611454565b6001546001600160a01b031633146115c15760405162461bcd60e51b815260040161084f90613e99565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611604926001600160a01b0391821692911690613cfc565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60608061163e612833565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061169557fe5b6020026020010181815250507f53796e7468657469784465627453686172650000000000000000000000000000816001815181106116cf57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160028151811061170957fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061174357fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061176657fe5b6020026020010181815250507f526577617264457363726f775632000000000000000000000000000000000000816005815181106117a057fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106117da57fe5b6020026020010181815250507f52657761726473446973747269627574696f6e000000000000000000000000008160078151811061181457fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061184e57fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061188857fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a815181106118c257fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106118fc57fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061193657fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061197057fe5b6020026020010181815250506119868282612892565b9250505090565b6000546001600160a01b031681565b6119a4611e6b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061080f908390613cee565b60006119f96130b4565b611a0283610b25565b60200151519392505050565b6000610824611aa6611a1e612947565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6257600080fd5b505af4158015611a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9a9190810190613236565b9063ffffffff611e4616565b611aae6129be565b9063ffffffff612a3516565b60006108246129be565b611acc612a5f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611afd6121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b3557600080fd5b505afa158015611b49573d6000803e3d6000fd5b50505050611b556126e9565b600354610824906001600160a01b0316612753565b6003546001600160a01b031681565b6000610824612947565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611bb2612a89565b6004544210611bd35760405162461bcd60e51b815260040161084f90613f89565b60028710611bf35760405162461bcd60e51b815260040161084f90613fa9565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611c5057fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611d5157611cf3612af7565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611d1e9190613fd9565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050505b50505050505050565b611d626126e9565b611d6a612b0b565b6003546001600160a01b03908116911614611d975760405162461bcd60e51b815260040161084f90613f09565b611db581611da56000611df1565b600501549063ffffffff611e4616565b611dbf6000611df1565b6005015550565b60006108247f466565506f6f6c457465726e616c53746f726167650000000000000000000000612102565b60006008600260ff16836016540181611e0657fe5b0660028110611e1157fe5b6007020192915050565b60006108247f53796e7468657469784465627453686172650000000000000000000000000000612102565b6000828201838110156107315760405162461bcd60e51b815260040161084f90613ec9565b6000546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613f49565b565b6000611ea1612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60206040518083038186803b158015611f2657600080fd5b505afa158015611f3a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108249190810190613236565b6000611f68612b61565b6001600160a01b0316826001600160a01b0316148061200a57506000611f8c612af7565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611fb79190613ce0565b60206040518083038186803b158015611fcf57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120079190810190613236565b14155b806120935750612018612b8c565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016120439190613ce0565b60206040518083038186803b15801561205b57600080fd5b505afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120939190810190613218565b806120b657506120a1612bb7565b6001600160a01b0316826001600160a01b0316145b806120d957506120c4612be2565b6001600160a01b0316826001600160a01b0316145b8061062057506120e7612c0d565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b03909116918215159161213291869101613caa565b604051602081830303815290604052906110fb5760405162461bcd60e51b815260040161084f9190613e78565b600061073183836b033b2e3c9fd0803ce8000000612c38565b6000808261218b575060009050806121d5565b600061219685611df1565b905060006121b1858360030154612a3590919063ffffffff16565b905060006121cc868460050154612a3590919063ffffffff16565b91945090925050505b9250929050565b60006108247f53797374656d5374617475730000000000000000000000000000000000000000612102565b61220f612c0d565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050612269612be2565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122a357600080fd5b505af11580156122b7573d6000803e3d6000fd5b50505050806122c66000611df1565b60020155816122d56000611df1565b6001015560006122e481611df1565b905060006122f26001611df1565b90506123178260030154611a9a836004015484600301546125cd90919063ffffffff16565b6123216000611df1565b6003015560058083015460068301549183015461234892611a9a919063ffffffff6125cd16565b6123526000611df1565b60050155600061236181611df1565b60030154111561243557612373612af7565b6001600160a01b031663c81ff8fa60075473feefeefeefeefeefeefeefeefeefeefeefeefeef6123a36000611df1565b600301546040518463ffffffff1660e01b81526004016123c593929190613da3565b602060405180830381600087803b1580156123df57600080fd5b505af11580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124179190810190613218565b506124226000611df1565b600301546124306000611df1565b600401555b60165461246e9060029061246290600190612456908463ffffffff611e4616565b9063ffffffff6125cd16565b9063ffffffff612c7d16565b60168190556008906002811061248057fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906124e490611df1565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790554261250f6000611df1565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905561254c612af7565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016125779190613fd9565b600060405180830381600087803b15801561259157600080fd5b505af11580156125a5573d6000803e3d6000fd5b505050506125c66125b66001611df1565b5467ffffffffffffffff16612cad565b5050505050565b6000828211156125ef5760405162461bcd60e51b815260040161084f90613ed9565b50900390565b600080600080612603612af7565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b815260040161262e9190613ce0565b604080518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267d9190810190613272565b91509150600061268b6129be565b9050808310156126a357506001935091506107b79050565b60006126c06126b3611a1e612947565b839063ffffffff612a3516565b9050808411156126da5760008395509550505050506107b7565b50600194509092505050915091565b6002546001600160a01b0316331480159061270f57506003546001600160a01b03163314155b15611e9557600380546001600160a01b03191633179055565b60006108247f44656c6567617465417070726f76616c73000000000000000000000000000000612102565b6000808080808080612764886125f5565b91509150816127855760405162461bcd60e51b815260040161084f90613f59565b80156127a35760405162461bcd60e51b815260040161084f90613f19565b6127ac8861073a565b9094509250831515806127bf5750600083115b6127db5760405162461bcd60e51b815260040161084f90613ef9565b6127f9886127e96001611df1565b5467ffffffffffffffff16612d65565b839450600083111561281a5761280e83612de2565b955061281a8887612eac565b612825888688612f5e565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061288357fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128c2578160200160208202803883390190505b50905060005b8351811015612904578381815181106128dd57fe5b60200260200101518282815181106128f157fe5b60209081029190910101526001016128c8565b5060005b82518110156110fb5782818151811061291d57fe5b602002602001015182828651018151811061293457fe5b6020908102919091010152600101612908565b6000612951612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60006129c8612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b6000670de0b6b3a7640000612a50848463ffffffff61301a16565b81612a5757fe5b049392505050565b6002546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613fb9565b6002546001600160a01b03163314801590612aaf57506003546001600160a01b03163314155b15612ac757600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611e955760405162461bcd60e51b815260040161084f90613eb9565b60006108246524b9b9bab2b960d11b612102565b60006108247f52657761726473446973747269627574696f6e00000000000000000000000000612102565b60006108247f466c657869626c6553746f726167650000000000000000000000000000000000612102565b60006108247f45786368616e6765720000000000000000000000000000000000000000000000612102565b60006108247f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612102565b60006108247f467574757265734d61726b65744d616e61676572000000000000000000000000612102565b60006108247f57726170706572466163746f7279000000000000000000000000000000000000612102565b60006108247f4574686572577261707065720000000000000000000000000000000000000000612102565b600080612c5e84612c5287600a870263ffffffff61301a16565b9063ffffffff61305416565b90506005600a820610612c6f57600a015b600a900490505b9392505050565b600081612c9c5760405162461bcd60e51b815260040161084f90613f29565b818381612ca557fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612cd3908490602001613d87565b6040516020818303038152906040526001604051612cf090613cd5565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612d3793929160009081908190600401613e0b565b600060405180830381600087803b158015612d5157600080fd5b505af11580156125c6573d6000803e3d6000fd5b612d6d611dc6565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612dae929190613c79565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610eee929190613dbe565b6000818160015b6002811015612ea4576000612e1d612e0083611df1565b60060154612e0d84611df1565b600501549063ffffffff6125cd16565b90508015612e9a576000848210612e345784612e36565b815b9050612e5581612e4585611df1565b600601549063ffffffff611e4616565b612e5e84611df1565b60060155612e72858263ffffffff6125cd16565b9450612e84848263ffffffff611e4616565b935084612e98578395505050505050610623565b505b5060001901612de9565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612eea5760405162461bcd60e51b815260040161084f90613f99565b6301dfe200612ef7613089565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612f2693929190613d32565b600060405180830381600087803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b5050505050505050565b6002546040516001600160a01b039091169063907dff9790612f8890869086908690602001613d32565b6040516020818303038152906040526001604051612fa590613c9f565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612fec93929160009081908190600401613e0b565b600060405180830381600087803b15801561300657600080fd5b505af1158015611d51573d6000803e3d6000fd5b60008261302957506000610734565b8282028284828161303657fe5b04146107315760405162461bcd60e51b815260040161084f90613f69565b60008082116130755760405162461bcd60e51b815260040161084f90613ee9565b600082848161308057fe5b04949350505050565b60006108247f526577617264457363726f775632000000000000000000000000000000000000612102565b60405180604001604052806002905b6130cb61313a565b8152602001906001900390816130c35790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b803561073481614145565b805161073481614145565b80516107348161415c565b805161073481614165565b803561073481614165565b80516107348161416e565b6000602082840312156131ac57600080fd5b60006131b88484613158565b949350505050565b6000602082840312156131d257600080fd5b60006131b88484613163565b600080604083850312156131f157600080fd5b60006131fd8585613158565b925050602061320e85828601613184565b9150509250929050565b60006020828403121561322a57600080fd5b60006131b8848461316e565b60006020828403121561324857600080fd5b60006131b88484613179565b60006020828403121561326657600080fd5b60006131b88484613184565b6000806040838503121561328557600080fd5b60006132918585613179565b925050602061320e8582860161316e565b600080604083850312156132b557600080fd5b60006131fd8585613184565b600080600080600080600060e0888a0312156132dc57600080fd5b60006132e88a8a613184565b97505060206132f98a828b01613184565b965050604061330a8a828b01613184565b955050606061331b8a828b01613184565b945050608061332c8a828b01613184565b93505060a061333d8a828b01613184565b92505060c061334e8a828b01613184565b91505092959891949750929550565b600080600080600060a0868803121561337557600080fd5b6000613381888861318f565b955050602061339288828901613179565b94505060406133a388828901613179565b93505060606133b488828901613179565b92505060806133c58882890161318f565b9150509295509295909350565b60006133de83836134c8565b505060400190565b60006133f2838361351d565b505060200190565b613403816140c9565b82525050565b61340381614076565b61340361341e82614076565b614124565b61342c81614063565b6134368184610623565b925061344182610827565b8060005b83811015610f1c57815161345987826133d2565b96506134648361405d565b925050600101613445565b600061347a82614069565b613484818561406d565b935061348f8361405d565b8060005b838110156134bd5781516134a788826133e6565b97506134b28361405d565b925050600101613493565b509495945050505050565b6134d181614063565b6134db8184610623565b92506134e682610827565b8060005b83811015610f1c5781516134fe87826133e6565b96506135098361405d565b9250506001016134ea565b61340381614081565b61340381610827565b61340361353282610827565b610827565b600061354282614069565b61354c818561406d565b935061355c8185602086016140f4565b61356581614135565b9093019392505050565b613403816140d0565b613403816140db565b613403816140e9565b600061359760178361406d565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006135d060358361406d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061362f601d8361406d565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061366860138361406d565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006136a1602483610623565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613700601b8361406d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613739601e8361406d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613772601a8361406d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006137ab60408361406d565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061380a602b8361406d565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b6000613869601183610623565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006138a260188361406d565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b60006138db601e8361406d565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061391460188361406d565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b600061394d601f8361406d565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613986602f8361406d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006139e5601f8361406d565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a1e60218361406d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613a7d601b8361406d565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613ab660298361406d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b15601983610623565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4e60178361406d565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613b8760188361406d565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613bc0601883610623565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613bf960178361406d565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c32601b8361406d565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b61340381614086565b613403816140a7565b613403816140b4565b6000613c858285613526565b602082019150613c958284613412565b5060140192915050565b600061073482613694565b6000613cb58261385c565b9150613cc18284613526565b50602001919050565b6000613cb582613b08565b600061073482613bb3565b602081016107348284613409565b6020810161073482846133fa565b60408101613d0a8285613409565b612c766020830184613409565b60408101613d258285613409565b612c76602083018461351d565b60608101613d408286613409565b613d4d602083018561351d565b6131b8604083018461351d565b608081016107348284613423565b60208082528101610731818461346f565b602081016107348284613514565b60208101610734828461351d565b60408101613d0a828561351d565b60608101613db1828661351d565b613d4d6020830185613409565b60408101613d25828561351d565b60408101613dda828561351d565b81810360208301526131b88184613537565b60408101613dfa828461351d565b8181036020830152610731816137fd565b60c08082528101613e1c8189613537565b9050613e2b6020830188613581565b613e38604083018761351d565b613e456060830186613578565b613e526080830185613578565b613e5f60a0830184613578565b979650505050505050565b60208101610734828461356f565b602080825281016107318184613537565b602080825281016106208161358a565b60208082528101610620816135c3565b6020808252810161062081613622565b602080825281016106208161365b565b60208082528101610620816136f3565b602080825281016106208161372c565b6020808252810161062081613765565b602080825281016106208161379e565b6020808252810161062081613895565b60208082528101610620816138ce565b6020808252810161062081613907565b6020808252810161062081613940565b6020808252810161062081613979565b60208082528101610620816139d8565b6020808252810161062081613a11565b6020808252810161062081613a70565b6020808252810161062081613aa9565b6020808252810161062081613b41565b6020808252810161062081613b7a565b6020808252810161062081613bec565b6020808252810161062081613c25565b602081016107348284613c5e565b60e08101613ff5828a613c67565b6140026020830189613c67565b61400f6040830188613c67565b61401c606083018761351d565b614029608083018661351d565b61403660a083018561351d565b61404360c083018461351d565b98975050505050505050565b602081016107348284613c70565b60200190565b50600290565b5190565b90815260200190565b60006106208261409b565b151590565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b6000610620825b600061062082614076565b600061062061353283610827565b600061062082610827565b60005b8381101561410f5781810151838201526020016140f7565b8381111561411e576000848401525b50505050565b60006106208260006106208261413f565b601f01601f191690565b60601b90565b61414e81614076565b811461415957600080fd5b50565b61414e81614081565b61414e81610827565b61414e816140ba56fea365627a7a7231582084a26b19e4e7aa56460b87d9fffabf4826221553c03ca462841e08c17a2953176c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "sUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksDebtSharesSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "sharesSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "updatedAt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksSnxBackedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "updatedAt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "allNetworksSnxBackedDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "allNetworksDebtSharesSupply",
							"type": "uint256"
						}
					],
					"name": "closeSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesBurned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesToBurn",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "feesFromPeriod",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "unused",
							"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesBurned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xdd209722a10db37b5225c342c94fdcd19e120c353f4f281b3ce5a03c4f31131b",
				"urls": [
					"bzz-raw://780b6ab37af5ef1259f422adbeda1419e0ad1e5ab062c8487274c7f80ba7868d",
					"dweb:/ipfs/QmR79JbFwaSchVzQPawgM8bcmfpy2CUYvzTNFJWXUWbeVw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0xdd209722a10db37b5225c342c94fdcd19e120c353f4f281b3ce5a03c4f31131b",
						"urls": [
							"bzz-raw://780b6ab37af5ef1259f422adbeda1419e0ad1e5ab062c8487274c7f80ba7868d",
							"dweb:/ipfs/QmR79JbFwaSchVzQPawgM8bcmfpy2CUYvzTNFJWXUWbeVw"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610c75380380610c758339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b039290921691909117905550610b4b8061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637de655451161008c578063ae2e933b11610066578063ae2e933b146102b5578063b326f84e146102bd578063cff2ddad146102e9578063d29c000a14610307576100cf565b80637de65545146102305780638da5cb5b1461027557806394e1a4481461027d576100cf565b80631627540c146100d457806319db2228146100fc57806339a3f63f1461012257806346ba2d90146101ea57806353a47bb71461020457806379ba509714610228575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b0316610333565b005b6100fa6004803603602081101561011257600080fd5b50356001600160a01b031661038f565b6100fa6004803603608081101561013857600080fd5b81019060208101813564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184602083028401116401000000008311171561018757600080fd5b9193909290916020810190356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b9193509150803590602001356103b9565b6101f2610593565b60408051918252519081900360200190f35b61020c610599565b604080516001600160a01b039092168252519081900360200190f35b6100fa6105a8565b61025c6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610664565b6040805192835260208301919091528051918290030190f35b61020c610691565b6100fa6004803603608081101561029357600080fd5b506001600160a01b0381351690602081013590604081013590606001356106a0565b61020c610739565b61025c600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610748565b6102f16107e9565b6040805160ff9092168252519081900360200190f35b61025c6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356107ee565b61033b6108d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6103976108d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6103c16108d1565b60025442106104015760405162461bcd60e51b8152600401808060200182810382526029815260200180610aee6029913960400191505060405180910390fd5b848314610447576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b8581101561058a5784848281811061045e57fe5b905060200201356004600089898581811061047557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106104b057fe5b600202015581600460008989858181106104c657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061050157fe5b600202016001018190555086868281811061051857fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061055e57fe5b9050602002013584604051808381526020018281526020019250505060405180910390a260010161044a565b50505050505050565b60025481565b6001546001600160a01b031681565b6001546001600160a01b031633146105f15760405162461bcd60e51b8152600401808060200182810382526035815260200180610a366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052816000526040600020816006811061067d57fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6003546001600160a01b031633146106e95760405162461bcd60e51b8152600401808060200182810382526031815260200180610a8e6031913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902060010154811115610715576107158461091c565b506001600160a01b0392909216600090815260046020526040902090815560010155565b6003546001600160a01b031681565b6000806006831061078a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a6b6023913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902083600681106107ad57fe5b60020201546001600160a01b038516600090815260046020526040902090925083600681106107d857fe5b600202016001015490509250929050565b600681565b6000806107f96109ee565b6001600160a01b038516600090815260046020526040808220815160c081019092529091600690835b8282101561085e578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610822565b509293506000925050505b60068110156108c75781816006811061087e57fe5b60200201516020015185106108bf5781816006811061089957fe5b6020020151518282600681106108ab57fe5b6020020151602001519350935050506108ca565b600101610869565b50505b9250929050565b6000546001600160a01b0316331461091a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610abf602f913960400191505060405180910390fd5b565b60045b60068110156109ea576001600160a01b03821660009081526004602052604090206001820190826006811061095057fe5b60020201546001600160a01b0384166000908152600460205260409020826006811061097857fe5b60020201556001600160a01b038316600090815260046020526040902082600681106109a057fe5b600202016001015460046000856001600160a01b03166001600160a01b0316815260200190815260200160002082600681106109d857fe5b6002020160010155506000190161091f565b5050565b6040518060c001604052806006905b610a05610a1b565b8152602001906001900390816109fd5790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820723b98e920915c85ad238fb70b9712a00fa044f574cc6374f27a582e1b18ec7364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x25a06336266e4032f85727d4475d70184d7c8b0f4b41fb1d9c1c1f29010269a3",
				"urls": [
					"bzz-raw://2bbc95fe12b06bf220271ff4f9b4f94c2e91d581970525ca19b0143a92c42246",
					"dweb:/ipfs/QmRpLq8RyrguWnvvhK3dYURetSVBzkPmCLYPCjcDdouqe9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"legacy/FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"legacy/FeePoolState.sol": {
						"keccak256": "0x25a06336266e4032f85727d4475d70184d7c8b0f4b41fb1d9c1c1f29010269a3",
						"urls": [
							"bzz-raw://2bbc95fe12b06bf220271ff4f9b4f94c2e91d581970525ca19b0143a92c42246",
							"dweb:/ipfs/QmRpLq8RyrguWnvvhK3dYURetSVBzkPmCLYPCjcDdouqe9"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b506040516112af3803806112af833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b03199182161790915560038054948616948216949094179093556004805492851692841692909217909155600580549190931691161790555061114a806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c5578063bf7e214f146102cd578063c9e9cc4d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f57806395896b7614610297578063a430be6c146102bd57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a43565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a6d565b61015b610c10565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610ccc565b61015b6004803603602081101561028857600080fd5b5035610cf6565b6101a5610de1565b61015b600480360360208110156102ad57600080fd5b50356001600160a01b0316610df0565b6101a5610e1a565b6101a5610e29565b6101a5610e38565b6101a5610e47565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e56565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e80565b6006545b90565b610344610f4c565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b81526004018080602001828103825260468152602001806110a16046913960600191505060405180910390fd5b8160005b60065481101561091a5760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b0316148015906106c05750600681815481106106a957fe5b906000526020600020906002020160010154600014155b15610912576106f6600682815481106106d557fe5b90600052602060002090600202016001015483610f9790919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071d57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074857fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a957600080fd5b505af11580156107bd573d6000803e3d6000fd5b505050506040513d60208110156107d357600080fd5b50506006805460609190839081106107e757fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b179052600680549193506060918590811061084757fe5b60009182526020918290206002909102015460405185516001600160a01b0390921692869282918401908083835b602083106108945780518252601f199092019160209182019101610875565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f6576040519150601f19603f3d011682016040523d82523d6000602084013e6108fb565b606091505b50915091508161090e5780518060208301fd5b5050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561097557600080fd5b505af1158015610989573d6000803e3d6000fd5b505050506040513d602081101561099f57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109ee57600080fd5b505af1158015610a02573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a4b610f4c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a77610f4c565b6001600160a01b038316610ad2576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b1d576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b25610ff4565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c595760405162461bcd60e51b815260040180806020018281038252603581526020018061106c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cd4610f4c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cfe610f4c565b60065460001901811115610d4f576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610dc95760068160010181548110610d6f57fe5b906000526020600020906002020160068281548110610d8a57fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d51565b506006805490610ddd90600019830161100b565b5050565b6000546001600160a01b031681565b610df8610f4c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b610e5e610f4c565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e8a610f4c565b60065460001901841115610edb576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ee957fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f2c57fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f955760405162461bcd60e51b815260040180806020018281038252602f8152602001806110e7602f913960400191505060405180910390fd5b565b600082821115610fee576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b81548183558181111561103757600202816002028360005260206000209182019101611037919061103c565b505050565b61033991905b808211156110675780546001600160a01b031916815560006001820155600201611042565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b2185e5d0818c5f13b08ecd03e107749f8fe6a7e3fe2f86098180500dcbc252d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_synthetixProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_synthetixProxy",
							"type": "address"
						}
					],
					"name": "setSynthetixProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetixProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x71b5addb5aaa4ce3ff21f68a5795b3ad75d5aa4f549fca5f0ed999a89580af0b",
				"urls": [
					"bzz-raw://370ffa5626cd06f412882a188502ced2d2282329ef593f4cbea94b1fe3ec4890",
					"dweb:/ipfs/QmRrqZKkjFGsvPrXgbyELhk3EtfTkJDveSzSRBuCqtADUx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0x71b5addb5aaa4ce3ff21f68a5795b3ad75d5aa4f549fca5f0ed999a89580af0b",
						"urls": [
							"bzz-raw://370ffa5626cd06f412882a188502ced2d2282329ef593f4cbea94b1fe3ec4890",
							"dweb:/ipfs/QmRrqZKkjFGsvPrXgbyELhk3EtfTkJDveSzSRBuCqtADUx"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526008805461ff001960ff199091166001171690553480156200002557600080fd5b50604051620036f0380380620036f0833981016040819052620000489162000114565b81818080836001600160a01b0381166200007f5760405162461bcd60e51b81526004016200007690620001d0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000cc918490620001aa565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055506200022b9350505050565b80516200010e8162000211565b92915050565b600080604083850312156200012857600080fd5b600062000136858562000101565b9250506020620001498582860162000101565b9150509250929050565b6200015e81620001fd565b82525050565b6200015e81620001eb565b60006200017e601983620001e2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ba828562000153565b620001c9602083018462000164565b9392505050565b602080825281016200010e816200016f565b90815260200190565b60006001600160a01b0382166200010e565b60006200010e8260006200010e82620001eb565b6200021c81620001eb565b81146200022857600080fd5b50565b6134b5806200023b6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd146103cd578063d685743a146103d5578063e3476cd4146103e8578063fc524773146103f0576101e5565b8063af5355d81461038c578063b13cd78514610394578063b7224ec7146103a7578063cda218c7146103ba576101e5565b80638da5cb5b116100de5780638da5cb5b146103565780638dd5bfbc1461035e5780639e3b92ca14610371578063a5f27edb14610384576101e5565b80637418536014610329578063759076e51461033157806379ba509714610339578063899ffef414610341576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b819146102d657806353a47bb7146102e9578063614d08f8146102fe5780636bf7c43514610306576101e5565b80632992dba21461028b5780632af64bd3146102a1578063392e53cd146102b65780633a900a2e146102be576101e5565b806307619a5f116101c357806307619a5f146102325780630fb38465146102525780631627540c1461026557806317b38db414610278576101e5565b806304bd11e5146101ea57806304f3bcec146101ff578063053932621461021d575b600080fd5b6101fd6101f8366004612a9c565b6103f8565b005b61020761040c565b604051610214919061320d565b60405180910390f35b61022561041b565b60405161021491906131b6565b6102456102403660046128fa565b610422565b6040516102149190613154565b610225610260366004612ad8565b610469565b6101fd6102733660046128b6565b61047b565b6101fd61028636600461293c565b6104d9565b610293610554565b60405161021492919061330c565b6102a961067c565b60405161021491906131a8565b6102a9610793565b6102c66107a1565b6040516102149493929190613327565b6101fd6102e4366004612ad8565b6107d2565b6102f16108ff565b60405161021491906130fa565b61022561090e565b6103196103143660046128fa565b61091e565b6040516102149493929190613165565b6101fd610971565b610293610ac7565b6101fd610ada565b610349610b7f565b6040516102149190613143565b6102f1610d44565b6101fd61036c366004612ad8565b610d53565b6101fd61037f366004612b14565b610e17565b6102a9610e66565b610225610e6f565b6102456103a23660046128fa565b610e7e565b6101fd6103b5366004612b44565b610ebc565b6101fd6103c83660046128fa565b6110d1565b6102256111aa565b6101fd6103e3366004612b14565b6111b0565b6101fd61123d565b6102a961146c565b610400611479565b610409816114b3565b50565b6002546001600160a01b031681565b6004545b90565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061150092505050565b90505b92915050565b60009081526005602052604090205490565b610483611590565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104ce9083906130fa565b60405180910390a150565b6104e16115ba565b61054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611615915050565b50505050565b600080606061056161175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059957600080fd5b505afa1580156105ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d591908101906129ac565b9050606060006105e361176e565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b815260040161060e9190613143565b60006040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106629190810190612a4b565b91509150610671838383611789565b945094505050509091565b60006060610688610b7f565b905060005b815181101561078a5760008282815181106106a457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106f59085906004016131b6565b60206040518083038186803b15801561070d57600080fd5b505afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074591908101906128dc565b6001600160a01b031614158061077057506000818152600360205260409020546001600160a01b0316155b15610781576000935050505061041f565b5060010161068d565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff166107c3826119b6565b94509450945094505090919293565b6107da611479565b60006107e5826119cf565b9050600082131561085b57631cd554d160e21b600052600560205260008051602061345383398151915254610820908263ffffffff6119da16565b631cd554d160e21b600052600560205260008051602061345383398151915255600454610853908263ffffffff6119da16565b6004556108c2565b631cd554d160e21b60005260056020526000805160206134538339815191525461088b908263ffffffff6119ff16565b631cd554d160e21b6000526005602052600080516020613453833981519152556004546108be908263ffffffff6119ff16565b6004555b7f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5996004546040516108f391906131b6565b60405180910390a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b60606000806000610961868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a2792505050565b9299919850965090945092505050565b606061097b610b7f565b905060005b8151811015610ac357600082828151811061099757fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109d991906130ef565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a059291906131ed565b60206040518083038186803b158015610a1d57600080fd5b505afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5591908101906128dc565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ab190849084906131c4565b60405180910390a15050600101610980565b5050565b600080610ad2611b85565b915091509091565b6001546001600160a01b03163314610b0d5760405162461bcd60e51b8152600401610b049061323c565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b50926001600160a01b0391821692911690613116565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b8a611dcd565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506524b9b9bab2b960d11b81600081518110610bca57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bf057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610c1a57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c4357fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600481518110610c7157fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610c9c57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600681518110610cc557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600781518110610cf657fe5b60200260200101818152505073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81600881518110610d2757fe5b602002602001018181525050610d3d8282611e1e565b9250505090565b6000546001600160a01b031681565b610d5b611590565b6000610d6561175a565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610d9091906131b6565b60206040518083038186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de09190810190612b74565b6001600160a01b031614610e065760405162461bcd60e51b8152600401610b04906132ec565b600090815260056020526040812055565b610e1f611eda565b600082815260066020526040812054820190811215610e505760405162461bcd60e51b8152600401610b049061322c565b6000928352600660205260409092209190915550565b60085460ff1690565b6000610e79611f95565b905090565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061204592505050565b610ec4611590565b600854610100900460ff1615610eec5760405162461bcd60e51b8152600401610b049061327c565b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b158015610f3f57600080fd5b505afa158015610f53573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f7b91908101906129ac565b90506000815111610f9e5760405162461bcd60e51b8152600401610b04906132fc565b6040516307619a5f60e01b81526060906001600160a01b038516906307619a5f90610fcd908590600401613143565b60006040518083038186803b158015610fe557600080fd5b505afa158015610ff9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110219190810190612a16565b905060005b82518110156110ca57600082828151811061103d57fe5b602002602001015111156110c25761109782828151811061105a57fe5b60200260200101516006600086858151811061107257fe5b60200260200101518152602001908152602001600020546119da90919063ffffffff16565b600660008584815181106110a757fe5b60200260200101518152602001908152602001600020819055505b600101611026565b5050505050565b6110d96120cd565b606060006110e561176e565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b8152600401611112929190613131565b60006040518083038186803b15801561112a57600080fd5b505afa15801561113e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111669190810190612a4b565b9150915061054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692508591506116159050565b60075490565b6111b8611479565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106111e857fe5b6020908102919091010152604080516001808252818301909252606091816020016020820280388339019050509050828160008151811061122557fe5b60200260200101818152505061054e82826000611615565b6112456120cd565b606061124f61175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c391908101906129ac565b9050606060008060006112d585611a27565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b8181101561138e57600087828151811061133a57fe5b6020026020010151905061135781856119da90919063ffffffff16565b935080600560008b858151811061136a57fe5b60209081029190910181015182528101919091526040016000205550600101611324565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc78590556113de838663ffffffff61213316565b6004819055426007556040519091507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999061141a9083906131b6565b60405180910390a17fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f4260405161145191906131b6565b60405180910390a1611462846114b3565b5050505050505050565b6000610e796007546119b6565b61148161175a565b6001600160a01b0316336001600160a01b0316146114b15760405162461bcd60e51b8152600401610b04906132dc565b565b60085460ff16151581151514610409576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611534578160200160208202803883390190505b50905060005b82811015611588576006600086838151811061155257fe5b602002602001015181526020019081526020016000205482828151811061157557fe5b602090810291909101015260010161153a565b509392505050565b6000546001600160a01b031633146114b15760405162461bcd60e51b8152600401610b04906132bc565b6115c261175a565b6001600160a01b0316336001600160a01b031614806115f957506115e461214e565b6001600160a01b0316336001600160a01b0316145b6114b15760405162461bcd60e51b8152600401610b049061324c565b8251825181146116375760405162461bcd60e51b8152600401610b04906132ac565b60008060606116468787612165565b905060005b848110156116d557600088828151811061166157fe5b60200260200101519050600083838151811061167957fe5b602002602001015190506116a96005600084815260200190815260200160002054876119da90919063ffffffff16565b95506116bb858263ffffffff6119da16565b60009283526005602052604090922055925060010161164b565b5081831461174257600454611700846116f4838663ffffffff6119da16565b9063ffffffff6119ff16565b9050806004819055507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5998160405161173891906131b6565b60405180910390a1505b841561175157611751856114b3565b50505050505050565b6000610e796524b9b9bab2b960d11b6124f0565b6000610e796c45786368616e6765526174657360981b6124f0565b60008060008061179761254d565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b1580156117ce57600080fd5b505afa1580156117e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118069190810190612b92565b9150915060008061181561254d565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561184c57600080fd5b505afa158015611860573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118849190810190612b92565b9150915086806118915750825b806118995750805b94506118ab848363ffffffff6119da16565b95506119356118b861256c565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118f057600080fd5b505afa158015611904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119289190810190612af6565b879063ffffffff6119da16565b955060005b89518110156119a95761199f6119928a838151811061195557fe5b6020026020010151600660008e868151811061196d57fe5b602002602001015181526020019081526020016000205461258690919063ffffffff16565b889063ffffffff6119da16565b965060010161193a565b5050505050935093915050565b60008142036119c3611f95565b10806104635750501590565b60006104638261259b565b6000828201838110156104605760405162461bcd60e51b8152600401610b049061325c565b600082821115611a215760405162461bcd60e51b8152600401610b049061326c565b50900390565b6060600080600060606000611a3a61176e565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b8152600401611a659190613143565b60006040518083038186803b158015611a7d57600080fd5b505afa158015611a91573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ab99190810190612a4b565b915091506060611ac98884612165565b9050600080611ad98a8686611789565b91509150600080611ae86125b1565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611b1f57600080fd5b505afa158015611b33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b579190810190612b92565b915091508482858880611b675750835b80611b6f5750855b9a509a509a509a50505050505050509193509193565b6000806060611b9261175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611bca57600080fd5b505afa158015611bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c0691908101906129ac565b905060606000611c1461176e565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b8152600401611c3f9190613143565b60006040518083038186803b158015611c5757600080fd5b505afa158015611c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c939190810190612a4b565b915091506060611ca38484612165565b9050600080611cb3868686611789565b845191935091506000805b82811015611cf657611cec868281518110611cd557fe5b6020026020010151836119da90919063ffffffff16565b9150600101611cbe565b50600080611d026125b1565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611d3957600080fd5b505afa158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d719190810190612b92565b9092509050611d86838363ffffffff6119da16565b9250858310611da457611d9f838763ffffffff6119ff16565b611da7565b60005b9250828880611db35750815b80611dbb5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611e0f57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611e4e578160200160208202803883390190505b50905060005b8351811015611e9057838181518110611e6957fe5b6020026020010151828281518110611e7d57fe5b6020908102919091010152600101611e54565b5060005b8251811015611ed357828181518110611ea957fe5b6020026020010151828286510181518110611ec057fe5b6020908102919091010152600101611e94565b5092915050565b6000611ee46125d3565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b8152600401611f0f9190613108565b60206040518083038186803b158015611f2757600080fd5b505afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f5f9190810190612aba565b6000549091506001600160a01b031633148080611f795750815b610ac35760405162461bcd60e51b8152600401610b049061329c565b6000611f9f6125ef565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401611ff59291906131d2565b60206040518083038186803b15801561200d57600080fd5b505afa158015612021573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e799190810190612af6565b6060600082519050606081604051908082528060200260200182016040528015612079578160200160208202803883390190505b50905060005b82811015611588576005600086838151811061209757fe5b60200260200101518152602001908152602001600020548282815181106120ba57fe5b602090810291909101015260010161207f565b6000546001600160a01b031633146114b1576120e761260c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561211f57600080fd5b505afa15801561054e573d6000803e3d6000fd5b60008282101561214557818303610460565b50600092915050565b6000610e796822bc31b430b733b2b960b91b6124f0565b606060008351905080604051908082528060200260200182016040528015612197578160200160208202803883390190505b50915060606121a461175a565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004016121cf9190613143565b60006040518083038186803b1580156121e757600080fd5b505afa1580156121fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261222391908101906129e1565b9050600061222f612626565b6001600160a01b0316634c74183c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561226757600080fd5b505afa15801561227b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061229f9190810190612af6565b905060005b838110156124e65760008382815181106122ba57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614156122f75760405162461bcd60e51b8152600401610b049061328c565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561233257600080fd5b505afa158015612346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061236a9190810190612af6565b9050600061239489858151811061237d57fe5b60200260200101518361258690919063ffffffff16565b90506000631cd554d160e21b8786815181106123ac57fe5b60200260200101516001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ec57600080fd5b505afa158015612400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124249190810190612af6565b14156124ab5773__$dca23be7dad9e358f0d949d7943fe17a26$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561246e57600080fd5b505af4158015612482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124a69190810190612af6565b6124ad565b855b90506124bf828263ffffffff61258616565b8986815181106124cb57fe5b60209081029190910101525050600190920191506122a49050565b5050505092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591612520918691016130cf565b60405160208183030381529060405290611ed35760405162461bcd60e51b8152600401610b04919061321b565b6000610e797021b7b63630ba32b930b626b0b730b3b2b960791b6124f0565b6000610e796b22ba3432b92bb930b83832b960a11b6124f0565b60006104608383670de0b6b3a7640000612648565b60008082126125aa5781610463565b5060000390565b6000610e7973233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6124f0565b6000610e796d57726170706572466163746f727960901b6124f0565b6000610e796e466c657869626c6553746f7261676560881b6124f0565b6000610e796b53797374656d53746174757360a01b6124f0565b6000610e7973223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b6124f0565b600080600a830461265f868663ffffffff61268616565b8161266657fe5b0490506005600a82061061267857600a015b600a900490505b9392505050565b60008261269557506000610463565b828202828482816126a257fe5b04146104605760405162461bcd60e51b8152600401610b04906132cc565b803561046381613423565b805161046381613423565b60008083601f8401126126e857600080fd5b50813567ffffffffffffffff81111561270057600080fd5b60208301915083602082028301111561271857600080fd5b9250929050565b600082601f83011261273057600080fd5b815161274361273e82613376565b61334f565b9150818183526020840193506020810190508385602084028201111561276857600080fd5b60005b838110156124e6578161277e8882612895565b845250602092830192919091019060010161276b565b600082601f8301126127a557600080fd5b81516127b361273e82613376565b915081818352602084019350602081019050838560208402820111156127d857600080fd5b60005b838110156124e657816127ee88826128ab565b84525060209283019291909101906001016127db565b600082601f83011261281557600080fd5b815161282361273e82613376565b9150818183526020840193506020810190508385602084028201111561284857600080fd5b60005b838110156124e6578161285e8882612895565b845250602092830192919091019060010161284b565b803561046381613437565b805161046381613437565b803561046381613440565b805161046381613440565b803561046381613449565b805161046381613449565b6000602082840312156128c857600080fd5b60006128d484846126c0565b949350505050565b6000602082840312156128ee57600080fd5b60006128d484846126cb565b6000806020838503121561290d57600080fd5b823567ffffffffffffffff81111561292457600080fd5b612930858286016126d6565b92509250509250929050565b6000806000806040858703121561295257600080fd5b843567ffffffffffffffff81111561296957600080fd5b612975878288016126d6565b9450945050602085013567ffffffffffffffff81111561299457600080fd5b6129a0878288016126d6565b95989497509550505050565b6000602082840312156129be57600080fd5b815167ffffffffffffffff8111156129d557600080fd5b6128d48482850161271f565b6000602082840312156129f357600080fd5b815167ffffffffffffffff811115612a0a57600080fd5b6128d484828501612794565b600060208284031215612a2857600080fd5b815167ffffffffffffffff811115612a3f57600080fd5b6128d484828501612804565b60008060408385031215612a5e57600080fd5b825167ffffffffffffffff811115612a7557600080fd5b612a8185828601612804565b9250506020612a928582860161287f565b9150509250929050565b600060208284031215612aae57600080fd5b60006128d48484612874565b600060208284031215612acc57600080fd5b60006128d4848461287f565b600060208284031215612aea57600080fd5b60006128d4848461288a565b600060208284031215612b0857600080fd5b60006128d48484612895565b60008060408385031215612b2757600080fd5b6000612b33858561288a565b9250506020612a928582860161288a565b60008060408385031215612b5757600080fd5b6000612b6385856128a0565b9250506020612a92858286016128a0565b600060208284031215612b8657600080fd5b60006128d484846128ab565b60008060408385031215612ba557600080fd5b6000612a818585612895565b6000612bbd8383612cc6565b505060200190565b612bce816133d6565b82525050565b612bce816133af565b6000612be983856133a1565b93506001600160fb1b03831115612bff57600080fd5b602083029250612c108385846133e1565b50500190565b6000612c218261339d565b612c2b81856133a1565b9350612c3683613397565b8060005b83811015612c64578151612c4e8882612bb1565b9750612c5983613397565b925050600101612c3a565b509495945050505050565b6000612c7a8261339d565b612c8481856133a1565b9350612c8f83613397565b8060005b83811015612c64578151612ca78882612bb1565b9750612cb283613397565b925050600101612c93565b612bce816133ba565b612bce8161041f565b612bce612cdb8261041f565b61041f565b612bce816133bf565b6000612cf48261339d565b612cfe81856133a1565b9350612d0e8185602086016133ed565b612d1781613419565b9093019392505050565b6000612d2e6024836133a1565b7f4578636c7564656420646562742063616e6e6f74206265636f6d65206e6567618152637469766560e01b602082015260400192915050565b6000612d746035836133a1565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612dcb6021836133a1565b7f53656e646572206973206e6f7420497373756572206f722045786368616e67658152603960f91b602082015260400192915050565b6000612e0e601b836133a1565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612e47601e836133a1565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612e806011836133aa565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612ead6013836133a1565b72185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b815260200192915050565b6000612edc6014836133a1565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000612f0c601f836133a1565b7f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300815260200192915050565b6000612f45601a836133a1565b7f496e707574206172726179206c656e6774687320646966666572000000000000815260200192915050565b6000612f7e602f836133a1565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612fcf6021836133a1565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006130126014836133a1565b7329b2b73232b91034b9903737ba1024b9b9bab2b960611b815260200192915050565b60006130426019836133aa565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061307b600c836133a1565b6b53796e74682065786973747360a01b815260200192915050565b60006130a3601d836133a1565b7f70726576696f75732049737375657220686173206e6f2073796e746873000000815260200192915050565b60006130da82612e73565b91506130e68284612ccf565b50602001919050565b60006130da82613035565b602081016104638284612bd4565b602081016104638284612bc5565b604081016131248285612bd4565b61267f6020830184612bd4565b602080825281016128d4818486612bdd565b602080825281016104608184612c16565b602080825281016104608184612c6f565b608080825281016131768187612c6f565b90506131856020830186612cc6565b6131926040830185612cc6565b61319f6060830184612cbd565b95945050505050565b602081016104638284612cbd565b602081016104638284612cc6565b604081016131248285612cc6565b604081016131e08285612cc6565b61267f6020830184612cc6565b604081016131fb8285612cc6565b81810360208301526128d48184612ce9565b602081016104638284612ce0565b602080825281016104608184612ce9565b6020808252810161046381612d21565b6020808252810161046381612d67565b6020808252810161046381612dbe565b6020808252810161046381612e01565b6020808252810161046381612e3a565b6020808252810161046381612ea0565b6020808252810161046381612ecf565b6020808252810161046381612eff565b6020808252810161046381612f38565b6020808252810161046381612f71565b6020808252810161046381612fc2565b6020808252810161046381613005565b602080825281016104638161306e565b6020808252810161046381613096565b6040810161331a8285612cc6565b61267f6020830184612cbd565b608081016133358287612cc6565b6133426020830186612cc6565b6131926040830185612cbd565b60405181810167ffffffffffffffff8111828210171561336e57600080fd5b604052919050565b600067ffffffffffffffff82111561338d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610463826133ca565b151590565b6000610463826133af565b6001600160a01b031690565b6000610463826133bf565b82818337506000910152565b60005b838110156134085781810151838201526020016133f0565b8381111561054e5750506000910152565b601f01601f191690565b61342c816133af565b811461040957600080fd5b61342c816133ba565b61342c8161041f565b61342c816133bf56fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820c9692a6ac6feab328e598aab96cad439088846572c40ebeb03dc2aee35e943d26c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedSynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedSynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "snxIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentSynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "futuresDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "excludedDebt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "excludedIssuedDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "excludedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IDebtCache",
							"name": "prevDebtCache",
							"type": "address"
						},
						{
							"internalType": "contract IIssuer",
							"name": "prevIssuer",
							"type": "address"
						}
					],
					"name": "importExcludedIssuedDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isInitialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedSynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "recordExcludedDebtChange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalNonSnxBackedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "excludedDebt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedSynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedSynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedSynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "amount",
							"type": "int256"
						}
					],
					"name": "updateCachedsUSDDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x42b9897bff8cc807d7aa849bf0c68ae8b06a4f8979308a09db7efc3344236a46",
				"urls": [
					"bzz-raw://02b181675bfe70c8bedaed3d0beb5ae6d96172e79d3a201f40a6097fc6280c77",
					"dweb:/ipfs/QmaGVSvSzD6FYw466DTXqHgthf6a7a9dAAMKVSaeG2YzkK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtCache.sol": "DebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DebtCache.sol": {
						"keccak256": "0x42b9897bff8cc807d7aa849bf0c68ae8b06a4f8979308a09db7efc3344236a46",
						"urls": [
							"bzz-raw://02b181675bfe70c8bedaed3d0beb5ae6d96172e79d3a201f40a6097fc6280c77",
							"dweb:/ipfs/QmaGVSvSzD6FYw466DTXqHgthf6a7a9dAAMKVSaeG2YzkK"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162004875380380620048758339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61465280620002236000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806357af302c116100c3578063899ffef41161007c578063899ffef4146102b75780638da5cb5b146102cc578063c193f0d8146102d4578063c39def0b146102dc578063d6f32e06146102fd578063f450aa341461031057610158565b806357af302c14610271578063614d08f814610284578063741853601461028c57806379ba5097146102945780637dd1a57a1461029c57806389257117146102af57610158565b80632af64bd3116101155780632af64bd3146101f857806333a768801461020d578063372a395a146102205780634c268fc8146102285780634f8633d21461023b57806353a47bb71461025c57610158565b806304f3bcec1461015d578063059c29ec1461017b5780631627540c1461019b57806319d5c665146101b05780631a5c6095146101d25780631b16802c146101e5575b600080fd5b610165610323565b60405161017291906142b7565b60405180910390f35b61018e61018936600461369a565b610332565b60405161017291906141bb565b6101ae6101a936600461359a565b6103d2565b005b6101c36101be36600461369a565b610430565b60405161017293929190614243565b61018e6101e036600461388a565b6104e3565b6101c36101f336600461369a565b61054f565b610200610662565b60405161017291906141ad565b61018e61021b3660046136d4565b61077a565b61018e61078f565b61018e610236366004613770565b61079e565b61024e6102493660046135d6565b6108cf565b6040516101729291906144fa565b610264610ab6565b60405161017291906140d6565b61020061027f36600461384e565b610ac5565b61018e610b52565b6101ae610b62565b6101ae610cb8565b61018e6102aa36600461384e565b610d54565b61018e610e5b565b6102bf610e65565b6040516101729190614177565b610264611073565b610200611082565b6102ef6102ea36600461388a565b61108c565b6040516101729291906144df565b61020061030b36600461369a565b6110cf565b6101c361031e366004613963565b61116c565b6002546001600160a01b031681565b60006103c961033f6114a8565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040161036c92919061410d565b60206040518083038186803b15801561038457600080fd5b505afa158015610398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103bc919081019061386c565b6103c46114c3565b61156f565b90505b92915050565b6103da6115ba565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104259083906140d6565b60405180910390a150565b600080600073__$662fed1cd04345308be0129bcdb5da4bd3$__630a0ecd1b6104576115e6565b87876104616114c3565b6040518563ffffffff1660e01b8152600401610480949392919061443b565b60006040518083038186803b15801561049857600080fd5b505af41580156104ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104d491908101906139e9565b50919790965090945092505050565b60006104ed613173565b6104f7338561167f565b9050610501613173565b61050b338561167f565b905060008061051a848461170d565b9150915080156105455760405162461bcd60e51b815260040161053c906143a6565b60405180910390fd5b5095945050505050565b600080600061055c61175c565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b815260040161058791906141bb565b60006040518083038186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b5050505073__$662fed1cd04345308be0129bcdb5da4bd3$__6377cd29a56105d96115e6565b878760016105e56114c3565b6040518663ffffffff1660e01b81526004016106059594939291906143f6565b60606040518083038186803b15801561061d57600080fd5b505af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065591908101906139a6565b9250925092509250925092565b6000606061066e610e65565b905060005b815181101561077057600082828151811061068a57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106db9085906004016141bb565b60206040518083038186803b1580156106f357600080fd5b505afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061072b91908101906135b8565b6001600160a01b031614158061075657506000818152600360205260409020546001600160a01b0316155b156107675760009350505050610777565b50600101610673565b5060019150505b90565b6000610784611776565b979650505050505050565b600061079961178e565b905090565b8160006107a96117f6565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004016107d491906141bb565b60206040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082491908101906138a9565b6001600160a01b03166370a08231876040518263ffffffff1660e01b815260040161084f91906140d6565b60206040518083038186803b15801561086757600080fd5b505afa15801561087b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089f919081019061386c565b9050808211156108ad578091505b82156108c6576108c3828463ffffffff61180a16565b91505b50949350505050565b60008060006108dc61182f565b9050336001600160a01b038216148061097257506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f9061091f9033906004016140e4565b60206040518083038186803b15801561093757600080fd5b505afa15801561094b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061096f919081019061386c565b14155b61098e5760405162461bcd60e51b815260040161053c90614386565b60008c6001600160a01b03168c6001600160a01b031614610a4a576109b1611846565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b81526004016109de9291906140f2565b60206040518083038186803b1580156109f657600080fd5b505afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a2e9190810190613830565b610a4a5760405162461bcd60e51b815260040161053c90614306565b610a52613173565b610a5c8d8d61167f565b9050610a66613173565b610a708e8c61167f565b9050610a808f838e848e8e611865565b9197509095509250610a928389611ee8565b8615610aa457610aa4878c8886611f7f565b50505050995099975050505050505050565b6001546001600160a01b031681565b600080610ad0611ff0565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610afb91906141bb565b604080518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4a91908101906138e6565b949350505050565b6822bc31b430b733b2b960b91b81565b6060610b6c610e65565b905060005b8151811015610cb4576000828281518110610b8857fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bca91906140cb565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610bf6929190614223565b60206040518083038186803b158015610c0e57600080fd5b505afa158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4691908101906135b8565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ca290849084906141c9565b60405180910390a15050600101610b71565b5050565b6001546001600160a01b03163314610ce25760405162461bcd60e51b815260040161053c906142f6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d25926001600160a01b03918216929116906140f2565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610d5e61200b565b6001600160a01b031663ba03e93f610d74611ff0565b6001600160a01b0316637103353e856040518263ffffffff1660e01b8152600401610d9f91906141bb565b60206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610def91908101906135b8565b6040518263ffffffff1660e01b8152600401610e0b91906140d6565b60206040518083038186803b158015610e2357600080fd5b505afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103cc919081019061386c565b60006107996114c3565b606080610e70612027565b60408051600b80825261018082019092529192506060919060208201610160803883390190505090506b53797374656d53746174757360a01b81600081518110610eb657fe5b6020026020010181815250506c45786368616e6765537461746560981b81600181518110610ee057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610f0a57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600381518110610f3057fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610f5457fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110610f7f57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110610fad57fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110610fd057fe5b6020026020010181815250506844656274436163686560b81b81600881518110610ff657fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b8160098151811061102157fe5b602002602001018181525050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b81600a8151811061105657fe5b60200260200101818152505061106c8282612078565b9250505090565b6000546001600160a01b031681565b6000610799612134565b600080611097613173565b6110a1338661167f565b90506110ab613173565b6110b5338661167f565b90506110c182826121e4565b9350935050505b9250929050565b600073__$662fed1cd04345308be0129bcdb5da4bd3$__638317e96b6110f36115e6565b85856110fd6114c3565b6040518563ffffffff1660e01b815260040161111c949392919061443b565b60206040518083038186803b15801561113457600080fd5b505af4158015611148573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103c99190810190613830565b6000806000611179613173565b611183338761167f565b905061118d613173565b611197338761167f565b9050631cd554d160e21b87148061122e57506111b1611ff0565b6001600160a01b0316632528f0fe886040518263ffffffff1660e01b81526004016111dc91906141bb565b60206040518083038186803b1580156111f457600080fd5b505afa158015611208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061122c9190810190613830565b155b61124a5760405162461bcd60e51b815260040161053c906142d6565b631cd554d160e21b8614806112df5750611262611ff0565b6001600160a01b0316632528f0fe876040518263ffffffff1660e01b815260040161128d91906141bb565b60206040518083038186803b1580156112a557600080fd5b505afa1580156112b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112dd9190810190613830565b155b6112fb5760405162461bcd60e51b815260040161053c90614326565b61130361175c565b6001600160a01b03166342a28e21886040518263ffffffff1660e01b815260040161132e91906141bb565b60006040518083038186803b15801561134657600080fd5b505afa15801561135a573d6000803e3d6000fd5b5050505061136661175c565b6001600160a01b03166342a28e21876040518263ffffffff1660e01b815260040161139191906141bb565b60006040518083038186803b1580156113a957600080fd5b505afa1580156113bd573d6000803e3d6000fd5b5050505060006113cd838361170d565b909450905080156113f05760405162461bcd60e51b815260040161053c906143c6565b60006113fa611ff0565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040161142993929190614243565b60606040518083038186803b15801561144157600080fd5b505afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147991908101906139a6565b505090506114878186612259565b9650611499818863ffffffff6122eb16565b95505050505093509350939050565b60006107996c45786368616e6765537461746560981b612313565b60006114cd612370565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b815260040161151f9291906141d7565b60206040518083038186803b15801561153757600080fd5b505afa15801561154b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610799919081019061386c565b600082158061158d5750611589838363ffffffff61180a16565b4210155b1561159a575060006103cc565b6103c9426115ae858563ffffffff61180a16565b9063ffffffff6122eb16565b6000546001600160a01b031633146115e45760405162461bcd60e51b815260040161053c90614396565b565b6115ee6131f0565b6040518060c001604052806116016114a8565b6001600160a01b03168152602001611617611ff0565b6001600160a01b0316815260200161162d61200b565b6001600160a01b0316815260200161164361238d565b6001600160a01b031681526020016116596117f6565b6001600160a01b0316815260200161166f61182f565b6001600160a01b03169052905090565b611687613173565b61168f6123a4565b6001600160a01b031663697b659b84846040518363ffffffff1660e01b81526004016116bc92919061410d565b6101a06040518083038186803b1580156116d557600080fd5b505afa1580156116e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103c991908101906138c7565b600080600061172f84610100015186610100015161180a90919063ffffffff16565b9050600061173d86866121e4565b93509050611751828263ffffffff61180a16565b935050509250929050565b60006107996b53797374656d53746174757360a01b612313565b60405162461bcd60e51b815260040161053c90614356565b6000611798612370565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b815260040161151f9291906141d7565b60006107996524b9b9bab2b960d11b612313565b6000828201838110156103c95760405162461bcd60e51b815260040161053c90614316565b6000610799680a6f2dce8d0cae8d2f60bb1b612313565b60006107997044656c6567617465417070726f76616c7360781b612313565b600080600061187d88600001518760000151896123ca565b61188f57506000915081905080611edc565b611897613225565b61189f6131f0565b6118a76115e6565b60208101518b51604051633d00c50f60e11b81529293506001600160a01b0390911691637a018a1e916118dc916004016141bb565b60206040518083038186803b1580156118f457600080fd5b505afa158015611908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192c919081019061386c565b60a083015260208101518851604051633d00c50f60e11b81526001600160a01b0390921691637a018a1e91611963916004016141bb565b60206040518083038186803b15801561197b57600080fd5b505afa15801561198f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b3919081019061386c565b60c083015289516119c7908a908d906125ac565b60e083018190526119e4575060009350839250829150611edc9050565b60208101518a5160e08401518a5160a086015160c087015160405162d9ccd960e71b81526001600160a01b0390961695636ce66c8095611a2e95909490939092909160040161426b565b60606040518083038186803b158015611a4657600080fd5b505afa158015611a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a7e91908101906139a6565b6020850152835260408301528951885160a084015160c0850151611aa493929190612676565b6000611aba8b8a8560a001518660c001516127e2565b606085019190915290508015611add575060009450849350839250611edc915050565b611aef83604001518460600151612259565b6040840151909650611b07908763ffffffff6122eb16565b9450611b248b600001518d8560e001518c600001518a8d8d612835565b93506001600160a01b03841615611b39578397505b8415611d945760208201518951604051631952982b60e21b81526001600160a01b039092169163654a60ac91611b7c918990631cd554d160e21b90600401614243565b60206040518083038186803b158015611b9457600080fd5b505afa158015611ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bcc919081019061386c565b9450611bd66117f6565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401611c0891906141bb565b60206040518083038186803b158015611c2057600080fd5b505afa158015611c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c5891908101906138a9565b6001600160a01b031663867904b4611c6e612afd565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611ca657600080fd5b505afa158015611cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cde91908101906135b8565b876040518363ffffffff1660e01b8152600401611cfc92919061410d565b600060405180830381600087803b158015611d1657600080fd5b505af1158015611d2a573d6000803e3d6000fd5b50505050611d36612afd565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b8152600401611d6191906141bb565b600060405180830381600087803b158015611d7b57600080fd5b505af1158015611d8f573d6000803e3d6000fd5b505050505b6040805180820182528c5181528a516020808301919091528251808401909352855183528581015190830152611dc991612b12565b611dd161182f565b6001600160a01b0316636c00f3108d8d600001518660e001518d600001518b8e6040518763ffffffff1660e01b8152600401611e1296959493929190614128565b600060405180830381600087803b158015611e2c57600080fd5b505af1158015611e40573d6000803e3d6000fd5b505050506000611e4e6114c3565b1115611ed85773__$662fed1cd04345308be0129bcdb5da4bd3$__632f2de902838a8e600001518760e001518e600001518c8a606001516040518863ffffffff1660e01b8152600401611ea79796959493929190614472565b60006040518083038186803b158015611ebf57600080fd5b505af4158015611ed3573d6000803e3d6000fd5b505050505b5050505b96509650969350505050565b600082118015611f0057506001600160a01b03811615155b8015611f0f5750611f0f612134565b15610cb457611f1c612d58565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b8152600401611f499291906141c9565b600060405180830381600087803b158015611f6357600080fd5b505af1158015611f77573d6000803e3d6000fd5b505050505050565b611f8761182f565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b8152600401611fb894939291906141e5565b600060405180830381600087803b158015611fd257600080fd5b505af1158015611fe6573d6000803e3d6000fd5b5050505050505050565b60006107996c45786368616e6765526174657360981b612313565b60006107996d21b4b931bab4ba213932b0b5b2b960911b612313565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061206957fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156120a8578160200160208202803883390190505b50905060005b83518110156120ea578381815181106120c357fe5b60200260200101518282815181106120d757fe5b60209081029190910101526001016120ae565b5060005b825181101561212d5782818151811061210357fe5b602002602001015182828651018151811061211a57fe5b60209081029190910101526001016120ee565b5092915050565b600061213e612370565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b81526004016121949291906141d7565b60206040518083038186803b1580156121ac57600080fd5b505afa1580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107999190810190613830565b6000806000806121f385612d74565b9150915060008061220388612d74565b9092509050612218848363ffffffff61180a16565b61012089015190965086118061222e5786612235565b8861012001515b96508681806122415750845b806122495750825b9650965050505050509250929050565b60006103c96122de8373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156122a657600080fd5b505af41580156122ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115ae919081019061386c565b849063ffffffff612e4516565b60008282111561230d5760405162461bcd60e51b815260040161053c90614346565b50900390565b60008181526003602090815260408083205490516001600160a01b039091169182151591612343918691016140ab565b6040516020818303038152906040529061212d5760405162461bcd60e51b815260040161053c91906142c5565b60006107996e466c657869626c6553746f7261676560881b612313565b60006107996844656274436163686560b81b612313565b6000610799772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612313565b6000828414156123ec5760405162461bcd60e51b815260040161053c906142e6565b6000821161240c5760405162461bcd60e51b815260040161053c90614336565b600080631cd554d160e21b86141561242757600080806124ac565b61242f611ff0565b6001600160a01b031663045056f8876040518263ffffffff1660e01b815260040161245a91906141bb565b606060405180830381600087803b15801561247457600080fd5b505af1158015612488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124ac9190810190613916565b9250925050600080631cd554d160e21b8714156124cc5760008080612551565b6124d4611ff0565b6001600160a01b031663045056f8886040518263ffffffff1660e01b81526004016124ff91906141bb565b606060405180830381600087803b15801561251957600080fd5b505af115801561252d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125519190810190613916565b925092505082156125745760405162461bcd60e51b815260040161053c906143d6565b80156125925760405162461bcd60e51b815260040161053c90614376565b8315801561259e575081155b9450505050505b9392505050565b600080600073__$662fed1cd04345308be0129bcdb5da4bd3$__6377cd29a56125d36115e6565b878760006125df6114c3565b6040518663ffffffff1660e01b81526004016125ff9594939291906143f6565b60606040518083038186803b15801561261757600080fd5b505af415801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061264f91908101906139a6565b889550909350915050801561266d5761266a8585888561079e565b92505b50509392505050565b828414156126965760405162461bcd60e51b815260040161053c906142e6565b604080516002808252606080830184529260208301908038833901905050905084816000815181106126c457fe5b60200260200101818152505083816001815181106126de57fe5b60209081029190910101526040805160028082526060828101909352816020016020820280388339019050509050838160008151811061271a57fe5b602002602001018181525050828160018151811061273457fe5b602002602001018181525050612748611ff0565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b8152600401612775929190614188565b60206040518083038186803b15801561278d57600080fd5b505afa1580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127c59190810190613830565b15611f775760405162461bcd60e51b815260040161053c906143e6565b600080600061280486610100015188610100015161180a90919063ffffffff16565b9050600061281488888888612e6f565b93509050612828828263ffffffff61180a16565b9350505094509492505050565b600061283f6117f6565b6001600160a01b03166332608039896040518263ffffffff1660e01b815260040161286a91906141bb565b60206040518083038186803b15801561288257600080fd5b505afa158015612896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ba91908101906138a9565b6001600160a01b0316639dc29fac88886040518363ffffffff1660e01b81526004016128e792919061410d565b600060405180830381600087803b15801561290157600080fd5b505af1158015612915573d6000803e3d6000fd5b5050505060006129236117f6565b6001600160a01b03166332608039876040518263ffffffff1660e01b815260040161294e91906141bb565b60206040518083038186803b15801561296657600080fd5b505afa15801561297a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061299e91908101906138a9565b90508215612a90576000819050612a27816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156129e757600080fd5b505afa1580156129fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a1f91908101906138a9565b86888a612ee8565b60405163219e412d60e21b81529093506001600160a01b0383169063867904b490612a589086908a9060040161410d565b600060405180830381600087803b158015612a7257600080fd5b505af1158015612a86573d6000803e3d6000fd5b5050505050612af1565b60405163219e412d60e21b81526001600160a01b0382169063867904b490612abe908790899060040161410d565b600060405180830381600087803b158015612ad857600080fd5b505af1158015612aec573d6000803e3d6000fd5b505050505b50979650505050505050565b600061079966119959541bdbdb60ca1b612313565b8151600090631cd554d160e21b1480612b3557506020830151631cd554d160e21b145b9050600081612b45576003612b48565b60025b60ff169050606081604051908082528060200260200182016040528015612b79578160200160208202803883390190505b509050846000602002015181600081518110612b9157fe5b6020908102919091010152846001602002015181600181518110612bb157fe5b602002602001018181525050606082604051908082528060200260200182016040528015612be9578160200160208202803883390190505b509050846000602002015181600081518110612c0157fe5b6020908102919091010152846001602002015181600181518110612c2157fe5b60200260200101818152505083612ce957631cd554d160e21b82600281518110612c4757fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612c9757600080fd5b505af4158015612cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ccf919081019061386c565b81600281518110612cdc57fe5b6020026020010181815250505b612cf161238d565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401612d1e929190614188565b600060405180830381600087803b158015612d3857600080fd5b505af1158015612d4c573d6000803e3d6000fd5b50505050505050505050565b60006107996d54726164696e675265776172647360901b612313565b600080631cd554d160e21b83600001511480612d965750600183610140015111155b15612da657506000905080612e40565b6000612db0611ff0565b8451604051633d00c50f60e11b81526001600160a01b039290921691637a018a1e91612dde916004016141bb565b60206040518083038186803b158015612df657600080fd5b505afa158015612e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e2e919081019061386c565b9050612e3a8482612ef2565b92509250505b915091565b6000670de0b6b3a7640000612e60848463ffffffff612ffc16565b81612e6757fe5b049392505050565b600080600080612e7f8786612ef2565b91509150600080612e908a89612ef2565b9092509050612ea5848363ffffffff61180a16565b6101208b0151909650861180612ebb5786612ec2565b8a61012001515b9650868180612ece5750845b80612ed65750825b96509650505050505094509492505050565b6000610b4a611776565b600080631cd554d160e21b84600001511480612f145750600184610140015111155b15612f24575060009050806110c8565b6060612f2e611ff0565b8551610140870151604051630ed7624560e41b81526001600160a01b03939093169263ed76245092612f669290918990600401614243565b60006040518083038186803b158015612f7e57600080fd5b505afa158015612f92573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fba91908101906137d1565b5080915050612fd481866101600151876101800151613036565b610120860151909350831180612fea5783612ff1565b8561012001515b969095509350505050565b60008261300b575060006103cc565b8282028284828161301857fe5b04146103c95760405162461bcd60e51b815260040161053c906143b6565b600083516000141561304a575060006125a5565b8351600090600019015b80156108c65761306a828563ffffffff612e4516565b915060006130a287600184038151811061308057fe5b602002602001015188848151811061309457fe5b6020026020010151886130c0565b90506130b4838263ffffffff61180a16565b92505060001901613054565b6000826130cf575060006125a5565b60008385116130e0578484036130e4565b8385035b905060006130f8828663ffffffff61311416565b905083811161310857600061266a565b92909203949350505050565b60006103c98261313285670de0b6b3a764000063ffffffff612ffc16565b9063ffffffff61313e16565b600080821161315f5760405162461bcd60e51b815260040161053c90614366565b600082848161316a57fe5b04949350505050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356103cc816145dd565b80516103cc816145dd565b600082601f83011261329157600080fd5b81516132a461329f8261453c565b614515565b91508181835260208401935060208101905083856101008402820111156132ca57600080fd5b60005b838110156132f957816132e088826133aa565b84525060209092019161010091909101906001016132cd565b5050505092915050565b600082601f83011261331457600080fd5b815161332261329f8261453c565b9150818183526020840193506020810190508385602084028201111561334757600080fd5b60005b838110156132f9578161335d8882613394565b845250602092830192919091019060010161334a565b80356103cc816145f4565b80516103cc816145f4565b80356103cc816145fd565b80516103cc816145fd565b80516103cc81614606565b600061010082840312156133bd57600080fd5b6133c8610100614515565b905060006133d68484613394565b82525060206133e784848301613394565b60208301525060406133fb84828501613394565b604083015250606061340f84828501613394565b606083015250608061342384828501613394565b60808301525060a061343784828501613394565b60a08301525060c061344b84828501613394565b60c08301525060e061345f84828501613394565b60e08301525092915050565b60006101a0828403121561347e57600080fd5b6134896101a0614515565b905060006134978484613394565b82525060206134a884848301613275565b60208301525060406134bc84828501613275565b60408301525060606134d084828501613394565b60608301525060806134e484828501613394565b60808301525060a06134f884828501613394565b60a08301525060c061350c84828501613394565b60c08301525060e061352084828501613394565b60e08301525061010061353584828501613394565b6101008301525061012061354b84828501613394565b6101208301525061014061356184828501613394565b6101408301525061016061357784828501613394565b6101608301525061018061358d84828501613394565b6101808301525092915050565b6000602082840312156135ac57600080fd5b6000610b4a848461326a565b6000602082840312156135ca57600080fd5b6000610b4a8484613275565b60008060008060008060008060006101208a8c0312156135f557600080fd5b60006136018c8c61326a565b99505060206136128c828d0161326a565b98505060406136238c828d01613389565b97505060606136348c828d01613389565b96505060806136458c828d01613389565b95505060a06136568c828d0161326a565b94505060c06136678c828d01613373565b93505060e06136788c828d0161326a565b92505061010061368a8c828d01613389565b9150509295985092959850929598565b600080604083850312156136ad57600080fd5b60006136b9858561326a565b92505060206136ca85828601613389565b9150509250929050565b600080600080600080600060e0888a0312156136ef57600080fd5b60006136fb8a8a61326a565b975050602061370c8a828b01613389565b965050604061371d8a828b01613389565b955050606061372e8a828b01613389565b945050608061373f8a828b0161326a565b93505060a06137508a828b01613389565b92505060c06137618a828b01613389565b91505092959891949750929550565b6000806000806080858703121561378657600080fd5b6000613792878761326a565b94505060206137a387828801613389565b93505060406137b487828801613389565b92505060606137c587828801613389565b91505092959194509250565b600080604083850312156137e457600080fd5b825167ffffffffffffffff8111156137fb57600080fd5b61380785828601613303565b925050602083015167ffffffffffffffff81111561382457600080fd5b6136ca85828601613303565b60006020828403121561384257600080fd5b6000610b4a848461337e565b60006020828403121561386057600080fd5b6000610b4a8484613389565b60006020828403121561387e57600080fd5b6000610b4a8484613394565b6000806040838503121561389d57600080fd5b60006136b98585613389565b6000602082840312156138bb57600080fd5b6000610b4a848461339f565b60006101a082840312156138da57600080fd5b6000610b4a848461346b565b600080604083850312156138f957600080fd5b60006139058585613394565b92505060206136ca8582860161337e565b60008060006060848603121561392b57600080fd5b60006139378686613394565b93505060206139488682870161337e565b92505060406139598682870161337e565b9150509250925092565b60008060006060848603121561397857600080fd5b60006139848686613389565b935050602061399586828701613389565b925050604061395986828701613389565b6000806000606084860312156139bb57600080fd5b60006139c78686613394565b93505060206139d886828701613394565b925050604061395986828701613394565b600080600080608085870312156139ff57600080fd5b6000613a0b8787613394565b9450506020613a1c87828801613394565b9350506040613a2d87828801613394565b925050606085015167ffffffffffffffff811115613a4a57600080fd5b6137c587828801613280565b6000613a628383613b32565b505060200190565b613a738161459c565b82525050565b613a7381614575565b6000613a8d82614563565b613a978185614567565b9350613aa28361455d565b8060005b83811015613ad0578151613aba8882613a56565b9750613ac58361455d565b925050600101613aa6565b509495945050505050565b6000613ae682614563565b613af08185614567565b9350613afb8361455d565b8060005b83811015613ad0578151613b138882613a56565b9750613b1e8361455d565b925050600101613aff565b613a7381614580565b613a7381610777565b613a73613b4782610777565b610777565b613a7381614585565b6000613b6082614563565b613b6a8185614567565b9350613b7a8185602086016145a7565b613b83816145d3565b9093019392505050565b6000613b9a601683614567565b751cdc98c81cde5b9d1a081c985d19481a5b9d985b1a5960521b815260200192915050565b6000613bcc601383614567565b72086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b815260200192915050565b6000613bfb603583614567565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613c52601d83614567565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b6000613c8b601b83614567565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613cc4601783614567565b7f646573742073796e7468207261746520696e76616c6964000000000000000000815260200192915050565b6000613cfd600b83614567565b6a16995c9bc8185b5bdd5b9d60aa1b815260200192915050565b6000613d24601e83614567565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613d5d601b83614567565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613d96601a83614567565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613dcf601183614570565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613dfc601a83614567565b7f646573742072617465207374616c65206f7220666c6167676564000000000000815260200192915050565b6000613e35604583614567565b7f45786368616e6765723a204f6e6c792073796e746865746978206f722061207381527f796e746820636f6e74726163742063616e20706572666f726d2074686973206160208201526431ba34b7b760d91b604082015260600192915050565b6000613ea2602f83614567565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613ef3600c83614567565b6b746f6f20766f6c6174696c6560a01b815260200192915050565b6000613f1b602183614567565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613f5e601b83614567565b7f65786368616e676520726174657320746f6f20766f6c6174696c650000000000815260200192915050565b6000613f97601983614570565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613fd0601983614567565b7f7372632072617465207374616c65206f7220666c616767656400000000000000815260200192915050565b6000614009601e83614567565b7f7372632f646573742072617465207374616c65206f7220666c61676765640000815260200192915050565b805160c08301906140468482613b4c565b5060208201516140596020850182613b4c565b50604082015161406c6040850182613b4c565b50606082015161407f6060850182613b4c565b5060808201516140926080850182613b4c565b5060a08201516140a560a0850182613b4c565b50505050565b60006140b682613dc2565b91506140c28284613b3b565b50602001919050565b60006140b682613f8a565b602081016103cc8284613a79565b602081016103cc8284613a6a565b604081016141008285613a79565b6125a56020830184613a79565b6040810161411b8285613a79565b6125a56020830184613b32565b60c081016141368289613a79565b6141436020830188613b32565b6141506040830187613b32565b61415d6060830186613b32565b61416a6080830185613b32565b61078460a0830184613a79565b602080825281016103c98184613a82565b604080825281016141998185613a82565b90508181036020830152610b4a8184613adb565b602081016103cc8284613b29565b602081016103cc8284613b32565b604081016141008285613b32565b6040810161411b8285613b32565b608081016141f38287613b32565b6142006020830186613b32565b61420d6040830185613b32565b61421a6060830184613b32565b95945050505050565b604081016142318285613b32565b8181036020830152610b4a8184613b55565b606081016142518286613b32565b61425e6020830185613b32565b610b4a6040830184613b32565b60a081016142798288613b32565b6142866020830187613b32565b6142936040830186613b32565b6142a06060830185613b32565b6142ad6080830184613b32565b9695505050505050565b602081016103cc8284613b4c565b602080825281016103c98184613b55565b602080825281016103cc81613b8d565b602080825281016103cc81613bbf565b602080825281016103cc81613bee565b602080825281016103cc81613c45565b602080825281016103cc81613c7e565b602080825281016103cc81613cb7565b602080825281016103cc81613cf0565b602080825281016103cc81613d17565b602080825281016103cc81613d50565b602080825281016103cc81613d89565b602080825281016103cc81613def565b602080825281016103cc81613e28565b602080825281016103cc81613e95565b602080825281016103cc81613ee6565b602080825281016103cc81613f0e565b602080825281016103cc81613f51565b602080825281016103cc81613fc3565b602080825281016103cc81613ffc565b61014081016144058288614035565b61441260c0830187613a79565b61441f60e0830186613b32565b61442d610100830185613b29565b6142ad610120830184613b32565b610120810161444a8287614035565b61445760c0830186613a79565b61446460e0830185613b32565b61421a610100830184613b32565b6101808101614481828a614035565b61448e60c0830189613a79565b61449b60e0830188613b32565b6144a9610100830187613b32565b6144b7610120830186613b32565b6144c5610140830185613b32565b6144d3610160830184613b32565b98975050505050505050565b604081016144ed8285613b32565b6125a56020830184613b29565b604081016145088285613b32565b6125a56020830184613b4c565b60405181810167ffffffffffffffff8111828210171561453457600080fd5b604052919050565b600067ffffffffffffffff82111561455357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b60006103cc82614590565b151590565b60006103cc82614575565b6001600160a01b031690565b60006103cc82614585565b60005b838110156145c25781810151838201526020016145aa565b838111156140a55750506000910152565b601f01601f191690565b6145e681614575565b81146145f157600080fd5b50565b6145e681614580565b6145e681610777565b6145e68161458556fea365627a7a723158203d0810c4134fbe7ddd436f148c014983c6130766686ca8c7000534355d80bcaa6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "dynamicFeeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "feeRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "tooVolatile",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "virtualSynth",
							"type": "bool"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualSynth",
							"name": "vSynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchangeAtomically",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x84c4126b2b9b1fb66aabcdcb11651477bb17980eee20ce3baaca803cd1d5b31f",
				"urls": [
					"bzz-raw://e236b3eb550c2f6928b0601f73fab1ff9c5a0191f0907cf60c09097b3a0b9dc8",
					"dweb:/ipfs/QmZtajCP59Uy8JxmaLDsf31rR4SfZh6iZGNUvRTna7X3TD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0x84c4126b2b9b1fb66aabcdcb11651477bb17980eee20ce3baaca803cd1d5b31f",
						"urls": [
							"bzz-raw://e236b3eb550c2f6928b0601f73fab1ff9c5a0191f0907cf60c09097b3a0b9dc8",
							"dweb:/ipfs/QmZtajCP59Uy8JxmaLDsf31rR4SfZh6iZGNUvRTna7X3TD"
						]
					}
				},
				"version": 1
			}
		},
		"CircuitBreaker": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200179f3803806200179f8339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61157c80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806374185360116100975780638da5cb5b116100665780638da5cb5b146101dd578063ba03e93f146101e5578063cfefbc7f146101f8578063ec5f638e1461020b57610100565b806374185360146101a557806378cb51cb146101ad57806379ba5097146101c0578063899ffef4146101c857610100565b8063372a395a116100d3578063372a395a14610160578063413caeb51461017557806353a47bb714610188578063614d08f81461019d57610100565b806304f3bcec146101055780631627540c1461012357806318b844ad146101385780632af64bd314610158575b600080fd5b61010d61021e565b60405161011a9190611418565b60405180910390f35b610136610131366004610f15565b61022d565b005b61014b610146366004610f59565b61028b565b60405161011a91906113b3565b61014b6102c9565b6101686103e1565b60405161011a91906113c1565b61014b610183366004610f59565b6103f0565b6101906105ea565b60405161011a9190611372565b6101686105f9565b61013661060e565b61014b6101bb36600461103f565b610764565b610136610770565b6101d061080c565b60405161011a91906113a2565b6101906108c4565b6101686101f3366004610f15565b6108d3565b610136610206366004610f93565b6108ee565b61014b610219366004610f15565b610abf565b6002546001600160a01b031681565b610235610add565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610280908390611372565b60405180910390a150565b6001600160a01b03821660009081526005602052604081205460ff16806102b757506102b78383610b09565b806102c0575081155b90505b92915050565b600060606102d561080c565b905060005b81518110156103d75760008282815181106102f157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103429085906004016113c1565b60206040518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103929190810190610f3b565b6001600160a01b03161415806103bd57506000818152600360205260409020546001600160a01b0316155b156103ce57600093505050506103de565b506001016102da565b5060019150505b90565b60006103eb610b44565b905090565b60006104046524b9b9bab2b960d11b610bfc565b6001600160a01b0316336001600160a01b0316148061044c57506104376c45786368616e6765526174657360981b610bfc565b6001600160a01b0316336001600160a01b0316145b6104715760405162461bcd60e51b815260040161046890611487565b60405180910390fd5b6001600160a01b0383166104975760405162461bcd60e51b815260040161046890611457565b8115806104a957506104a98383610b09565b80156104ce57506001600160a01b03831660009081526005602052604090205460ff16155b801561054f57506104dd610c60565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061054d9190810190611003565b155b156105bc576001600160a01b0383166000818152600560209081526040808320805460ff191660011790556004909152908190205490517f67bad4b353dfb692ff5355991cbbb32b44e8b68fe393f9116791efc111beefe7916105b39186906113dd565b60405180910390a25b506001600160a01b039190911660009081526004602090815260408083209390935560059052205460ff1690565b6001546001600160a01b031681565b6d21b4b931bab4ba213932b0b5b2b960911b81565b606061061861080c565b905060005b815181101561076057600082828151811061063457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106769190611367565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016106a29291906113f8565b60206040518083038186803b1580156106ba57600080fd5b505afa1580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f29190810190610f3b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061074e90849084906113cf565b60405180910390a1505060010161061d565b5050565b60006102c08383610c7a565b6001546001600160a01b0316331461079a5760405162461bcd60e51b815260040161046890611437565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926107dd926001600160a01b0391821692911690611380565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610817610cd9565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b8160008151811061085a57fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061087d57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106108a757fe5b6020026020010181815250506108bd8282610d2a565b9250505090565b6000546001600160a01b031681565b6001600160a01b031660009081526004602052604090205490565b6108f6610add565b60005b83811015610ab857600085858381811061090f57fe5b90506020020160206109249190810190610f15565b6001600160a01b0316141561094b5760405162461bcd60e51b815260040161046890611457565b84848281811061095757fe5b905060200201602061096c9190810190610f15565b6001600160a01b03167f915f74751eb02d50f865435828021de99701d7eca4ccd06a308d5dc01ab70ace600460008888868181106109a657fe5b90506020020160206109bb9190810190610f15565b6001600160a01b03166001600160a01b03168152602001908152602001600020548585858181106109e857fe5b905060200201356040516109fd9291906113dd565b60405180910390a2828282818110610a1157fe5b9050602002013560046000878785818110610a2857fe5b9050602002016020610a3d9190810190610f15565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060056000878785818110610a7357fe5b9050602002016020610a889190810190610f15565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016108f9565b5050505050565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b03163314610b075760405162461bcd60e51b815260040161046890611467565b565b6001600160a01b0382166000908152600460205260408120548015610b3a57610b328184610c7a565b9150506102c3565b5060009392505050565b6000610b4e610ddf565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401610bac9291906113dd565b60206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103eb9190810190611021565b60008181526003602090815260408083205490516001600160a01b039091169182151591610c2c91869101611347565b60405160208183030381529060405290610c595760405162461bcd60e51b81526004016104689190611426565b5092915050565b60006103eb6b53797374656d53746174757360a01b610bfc565b6000821580610c87575081155b15610c94575060016102c3565b600083831115610cb557610cae838563ffffffff610dfc16565b9050610cc8565b610cc5848463ffffffff610dfc16565b90505b610cd0610b44565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610d1b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d5a578160200160208202803883390190505b50905060005b8351811015610d9c57838181518110610d7557fe5b6020026020010151828281518110610d8957fe5b6020908102919091010152600101610d60565b5060005b8251811015610c5957828181518110610db557fe5b6020026020010151828286510181518110610dcc57fe5b6020908102919091010152600101610da0565b60006103eb6e466c657869626c6553746f7261676560881b610bfc565b60006102c082610e1a85670de0b6b3a764000063ffffffff610e2616565b9063ffffffff610e6016565b600082610e35575060006102c3565b82820282848281610e4257fe5b04146102c05760405162461bcd60e51b815260040161046890611477565b6000808211610e815760405162461bcd60e51b815260040161046890611447565b6000828481610e8c57fe5b04949350505050565b80356102c381611510565b80516102c381611510565b60008083601f840112610ebd57600080fd5b50813567ffffffffffffffff811115610ed557600080fd5b602083019150836020820283011115610eed57600080fd5b9250929050565b80516102c381611527565b80356102c381611530565b80516102c381611530565b600060208284031215610f2757600080fd5b6000610f338484610e95565b949350505050565b600060208284031215610f4d57600080fd5b6000610f338484610ea0565b60008060408385031215610f6c57600080fd5b6000610f788585610e95565b9250506020610f8985828601610eff565b9150509250929050565b60008060008060408587031215610fa957600080fd5b843567ffffffffffffffff811115610fc057600080fd5b610fcc87828801610eab565b9450945050602085013567ffffffffffffffff811115610feb57600080fd5b610ff787828801610eab565b95989497509550505050565b60006020828403121561101557600080fd5b6000610f338484610ef4565b60006020828403121561103357600080fd5b6000610f338484610f0a565b6000806040838503121561105257600080fd5b6000610f788585610eff565b600061106a83836110e3565b505060200190565b61107b816114af565b82525050565b600061108c8261149d565b61109681856114a1565b93506110a183611497565b8060005b838110156110cf5781516110b9888261105e565b97506110c483611497565b9250506001016110a5565b509495945050505050565b61107b816114ba565b61107b816103de565b61107b6110f8826103de565b6103de565b61107b816114cb565b60006111118261149d565b61111b81856114a1565b935061112b8185602086016114d6565b61113481611506565b9093019392505050565b600061114b6035836114a1565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111a2601a836114a1565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006111db6011836114aa565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112086013836114a1565b7204f7261636c652061646472657373206973203606c1b815260200192915050565b6000611237602f836114a1565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112886021836114a1565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112cb6019836114aa565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611304602e836114a1565b7f4f6e6c7920696e7465726e616c20636f6e7472616374732063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b6000611352826111ce565b915061135e82846110ec565b50602001919050565b6000611352826112be565b602081016102c38284611072565b6040810161138e8285611072565b61139b6020830184611072565b9392505050565b602080825281016102c08184611081565b602081016102c382846110da565b602081016102c382846110e3565b6040810161138e82856110e3565b604081016113eb82856110e3565b61139b60208301846110e3565b6040810161140682856110e3565b8181036020830152610f338184611106565b602081016102c382846110fd565b602080825281016102c08184611106565b602080825281016102c38161113e565b602080825281016102c381611195565b602080825281016102c3816111fb565b602080825281016102c38161122a565b602080825281016102c38161127b565b602080825281016102c3816112f7565b60200190565b5190565b90815260200190565b919050565b60006102c3826114bf565b151590565b6001600160a01b031690565b60006102c3826114af565b60005b838110156114f15781810151838201526020016114d9565b83811115611500576000848401525b50505050565b601f01601f191690565b611519816114af565b811461152457600080fd5b50565b611519816114ba565b611519816103de56fea365627a7a723158206015efb58c3e29bbf7b75ef6cbb4e30e4af1745785f62beff66c4f737e0e4a506c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "previousValue",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newValue",
							"type": "uint256"
						}
					],
					"name": "CircuitBroken",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "previousValue",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newValue",
							"type": "uint256"
						}
					],
					"name": "LastValueOverridden",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						}
					],
					"name": "circuitBroken",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "base",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "comparison",
							"type": "uint256"
						}
					],
					"name": "isDeviationAboveThreshold",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "isInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						}
					],
					"name": "lastValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "probeCircuitBreaker",
					"outputs": [
						{
							"internalType": "bool",
							"name": "circuitBroken",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "oracleAddresses",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "resetLastValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff",
				"urls": [
					"bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79",
					"dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CircuitBreaker.sol": "CircuitBreaker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CircuitBreaker.sol": {
						"keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff",
						"urls": [
							"bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79",
							"dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeCircuitBreaker": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000ff938038062000ff98339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b610dd680620002236000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063614d08f81161008c578063899ffef411610066578063899ffef4146101665780638da5cb5b1461017b578063a47af19e14610183578063cb1ec317146101a4576100cf565b8063614d08f81461014e578063741853601461015657806379ba50971461015e576100cf565b806304f3bcec146100d45780631627540c146100f25780632af64bd3146101075780633fa70f451461011c5780634ffcd9df1461013157806353a47bb714610139575b600080fd5b6100dc6101b7565b6040516100e99190610c97565b60405180910390f35b61010561010036600461090a565b6101c6565b005b61010f610224565b6040516100e99190610c4d565b61012461033c565b6040516100e99190610c5b565b6100dc610341565b610141610361565b6040516100e99190610c0c565b610124610370565b61010561038d565b6101056104e3565b61016e610588565b6040516100e99190610c3c565b6101416105f4565b61019661019136600461094e565b610603565b6040516100e9929190610cd6565b6101966101b236600461094e565b6106a8565b6002546001600160a01b031681565b6101ce610737565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610219908390610c0c565b60405180910390a150565b60006060610230610588565b905060005b815181101561033257600082828151811061024c57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061029d908590600401610c5b565b60206040518083038186803b1580156102b557600080fd5b505afa1580156102c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102ed9190810190610930565b6001600160a01b031614158061031857506000818152600360205260409020546001600160a01b0316155b156103295760009350505050610339565b50600101610235565b5060019150505b90565b604181565b600061035c6c45786368616e6765526174657360981b610763565b905090565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610397610588565b905060005b81518110156104df5760008282815181106103b357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016103f59190610c01565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610421929190610c77565b60206040518083038186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104719190810190610930565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104cd9084908490610c69565b60405180910390a1505060010161039c565b5050565b6001546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90610cb6565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610559926001600160a01b0391821692911690610c1a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806105936107c7565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b816000815181106105d757fe5b6020026020010181815250506105ed8282610818565b9250505090565b6000546001600160a01b031681565b600080600080610611610341565b6001600160a01b031663045056f8866040518263ffffffff1660e01b815260040161063c9190610c5b565b606060405180830381600087803b15801561065657600080fd5b505af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061068e91908101906109a6565b9195509092509050808061069f5750815b92505050915091565b6000806106b3610341565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016106de9190610c5b565b604080518083038186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061072d919081019061096c565b9094909350915050565b6000546001600160a01b031633146107615760405162461bcd60e51b815260040161050d90610cc6565b565b60008181526003602090815260408083205490516001600160a01b03909116918215159161079391869101610be1565b604051602081830303815290604052906107c05760405162461bcd60e51b815260040161050d9190610ca5565b5092915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061080957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610848578160200160208202803883390190505b50905060005b835181101561088a5783818151811061086357fe5b602002602001015182828151811061087757fe5b602090810291909101015260010161084e565b5060005b82518110156107c0578281815181106108a357fe5b60200260200101518282865101815181106108ba57fe5b602090810291909101015260010161088e565b80356108d881610d6a565b92915050565b80516108d881610d6a565b80516108d881610d81565b80356108d881610d8a565b80516108d881610d8a565b60006020828403121561091c57600080fd5b600061092884846108cd565b949350505050565b60006020828403121561094257600080fd5b600061092884846108de565b60006020828403121561096057600080fd5b600061092884846108f4565b6000806040838503121561097f57600080fd5b600061098b85856108ff565b925050602061099c858286016108e9565b9150509250929050565b6000806000606084860312156109bb57600080fd5b60006109c786866108ff565b93505060206109d8868287016108e9565b92505060406109e9868287016108e9565b9150509250925092565b60006109ff8383610a78565b505060200190565b610a1081610d09565b82525050565b6000610a2182610cf7565b610a2b8185610cfb565b9350610a3683610cf1565b8060005b83811015610a64578151610a4e88826109f3565b9750610a5983610cf1565b925050600101610a3a565b509495945050505050565b610a1081610d14565b610a1081610339565b610a10610a8d82610339565b610339565b610a1081610d25565b6000610aa682610cf7565b610ab08185610cfb565b9350610ac0818560208601610d30565b610ac981610d60565b9093019392505050565b6000610ae0603583610cfb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610b37601183610d04565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000610b64602f83610cfb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610bb5601983610d04565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000610bec82610b2a565b9150610bf88284610a81565b50602001919050565b6000610bec82610ba8565b602081016108d88284610a07565b60408101610c288285610a07565b610c356020830184610a07565b9392505050565b60208082528101610c358184610a16565b602081016108d88284610a6f565b602081016108d88284610a78565b60408101610c288285610a78565b60408101610c858285610a78565b81810360208301526109288184610a9b565b602081016108d88284610a92565b60208082528101610c358184610a9b565b602080825281016108d881610ad3565b602080825281016108d881610b57565b60408101610ce48285610a78565b610c356020830184610a6f565b60200190565b5190565b90815260200190565b919050565b60006108d882610d19565b151590565b6001600160a01b031690565b60006108d882610d09565b60005b83811015610d4b578181015183820152602001610d33565b83811115610d5a576000848401525b50505050565b601f01601f191690565b610d7381610d09565b8114610d7e57600080fd5b50565b610d7381610d14565b610d738161033956fea365627a7a723158208dac82a16d30d0a1bd67055a945b8ce6aada2e2857378b501e900985102227276c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeRates",
					"outputs": [
						{
							"internalType": "contract IExchangeRates",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithBreakCircuit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "lastValidRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05",
				"urls": [
					"bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf",
					"dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeCircuitBreaker.sol": "ExchangeCircuitBreaker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeCircuitBreaker.sol": {
						"keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05",
						"urls": [
							"bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf",
							"dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158204750152a58dcedbbf25a34d687256136ed9e9cd533c0efb976e8c7126611200364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e",
				"urls": [
					"bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe",
					"dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e",
						"urls": [
							"bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe",
							"dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620060d7380380620060d78339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615eb480620002236000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806372c6581611610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c1461061d578063dbf6334014610630578063dd3d2b2e14610638578063fd864ccf1461064b576102bb565b8063c81ff8fa146105e4578063c8977132146105f7578063d37c4d8b1461060a576102bb565b8063a311c7c21461057d578063a5fdc5de14610590578063ae3bbbbb146105a3578063b06e8c65146105b6578063b410a034146105c9578063bff4fdfc146105d1576102bb565b8063835e119c1161013b578063835e119c14610521578063849cf58814610534578063890235d414610547578063899ffef41461055a5780638da5cb5b146105625780639a5154b41461056a576102bb565b806372c65816146104c357806372cb051f146104d657806374185360146104eb57806379ba5097146104f35780637b1001b7146104fb57806380aa6a911461050e576102bb565b806331e6da5a116102265780634e99bda9116101df5780634e99bda91461044757806353a47bb71461044f5780635e887fe914610464578063614d08f8146104875780636bed04151461048f5780637168d2c2146104b0576102bb565b806331e6da5a146103c857806332608039146103db5780633b6afe40146103ee57806344ec6b621461040e57806347a9b6db14610421578063497d704a14610434576102bb565b80631313e6ca116102785780631313e6ca1461035b5780631627540c1461037257806316b2213f14610385578063242df9e1146103985780632af64bd3146103a05780632b3f41aa146103b5576102bb565b8063042e0688146102c057806304f3bcec146102d557806305b3c1c9146102f35780630b887dae146103135780630d969cf5146103265780631137aedf14610339575b600080fd5b6102d36102ce366004614d6c565b61065e565b005b6102dd6106cf565b6040516102ea9190615aeb565b60405180910390f35b610306610301366004614c79565b6106de565b6040516102ea9190615a37565b6102d3610321366004614ea4565b6106f2565b6102d3610334366004614d9c565b6107d0565b61034c610347366004614c79565b610963565b6040516102ea93929190615a61565b61036361097f565b6040516102ea93929190615cd4565b6102d3610380366004614c79565b610a26565b610306610393366004614c79565b610a84565b610306610a96565b6103a8610aa6565b6040516102ea9190615a29565b6102d36103c3366004614cb5565b610bbd565b6102d36103d6366004614f5c565b610c0c565b6102dd6103e9366004614ea4565b610d47565b6104016103fc366004614dfd565b610d62565b6040516102ea9190615a18565b6102d361041c366004614cef565b610e10565b6102d361042f366004614dfd565b610e63565b6102d3610442366004614c79565b610f14565b6103a8610f5c565b610457610fee565b6040516102ea9190615944565b610477610472366004614d3c565b610ffd565b6040516102ea9493929190615cfc565b61030661101f565b6104a261049d366004614d6c565b61102c565b6040516102ea929190615cc6565b6102d36104be366004614dfd565b611098565b61034c6104d1366004614d3c565b6111cd565b6104de61133f565b6040516102ea9190615a07565b6102d361134b565b6102d361149d565b610306610509366004614f01565b611539565b6102d361051c366004614d6c565b611545565b6102dd61052f366004614ea4565b611930565b6102d3610542366004614f20565b611957565b6103a8610555366004614ee0565b6119ca565b6104de611d50565b610457612026565b6102d3610578366004614cef565b612035565b61030661058b366004614c79565b612083565b61030661059e366004614c79565b612095565b6104a26105b1366004614c79565b6120a0565b6102d36105c4366004614d6c565b6120b6565b6103066120fa565b6103a86105df366004614c79565b612104565b6103a86105f2366004614ee0565b61210f565b6102d3610605366004614c79565b6124d5565b610306610618366004614d6c565b61251a565b6102d361062b366004614cef565b61254c565b6103066125f2565b610306610646366004614c79565b6125f8565b6102d3610659366004614cb5565b612603565b610666612652565b6001600160a01b0316336001600160a01b03161461069f5760405162461bcd60e51b815260040161069690615b98565b60405180910390fd5b600081116106bf5760405162461bcd60e51b815260040161069690615c58565b6106cb82826000612669565b5050565b6002546001600160a01b031681565b6000806106ea83612793565b509392505050565b6106fa6127e6565b6000610704612812565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a90610736908590600090600401615a89565b600060405180830381600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e5915061079590600190600401615a29565b600060405180830381600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506106cb82612829565b6107d8612cd7565b6107e0612dc1565b6001600160a01b0316631b16802c85856040518363ffffffff1660e01b815260040161080d929190615988565b606060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061085f919081019061504f565b50505060008381526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906108a19087908690600401615988565b600060405180830381600087803b1580156108bb57600080fd5b505af11580156108cf573d6000803e3d6000fd5b505050506108dc84612dd8565b631cd554d160e21b6000526005602052600080516020615e528339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b49061092b9087908590600401615988565b600060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b5050505050505050565b600080600061097184612e51565b509196909550909350915050565b60008060008060006109b86109b37f6578743a41676772656761746f7249737375656453796e746873000000000000612ec1565b612f1e565b509350509250506000806109ca612fa9565b91509150839650816000146109ee576109e9878363ffffffff612fe416565b6109f1565b60005b955060006109fd613004565b90504281108015610a1a5750838142031180610a1a575081814203115b95505050505050909192565b610a2e6127e6565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610a79908390615944565b60405180910390a150565b60066020526000908152604090205481565b6000610aa06130ae565b90505b90565b60006060610ab2611d50565b905060005b8151811015610bb4576000828281518110610ace57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1f908590600401615a37565b60206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6f9190810190614c97565b6001600160a01b0316141580610b9a57506000818152600360205260409020546001600160a01b0316155b15610bab5760009350505050610aa3565b50600101610ab7565b50600191505090565b610bc5612652565b6001600160a01b0316336001600160a01b031614610bf55760405162461bcd60e51b815260040161069690615b98565b610bff8282613109565b6106cb82600060016131aa565b610c1f66119959541bdbdb60ca1b612ec1565b6001600160a01b0316336001600160a01b031614610c4f5760405162461bcd60e51b815260040161069690615bb8565b6000610c5961341c565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9e57600080fd5b505afa158015610cb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cd69190810190614f7a565b6001600160801b031610156106cb5760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610d11908590600401615cb8565b600060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050505050565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610d92578160200160208202803883390190505b50905060005b82811015610e055760056000878784818110610db057fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610de557fe5b6001600160a01b0390921660209283029190910190910152600101610d98565b509150505b92915050565b610e18612652565b6001600160a01b0316336001600160a01b031614610e485760405162461bcd60e51b815260040161069690615b98565b610e52838361343c565b610e5e83826000612669565b505050565b610e6b6127e6565b8060005b81811015610ea857610ea0848483818110610e8657fe5b9050602002016020610e9b9190810190614f20565b613471565b600101610e6f565b50610eb1612812565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610edd9190615a29565b600060405180830381600087803b158015610ef757600080fd5b505af1158015610f0b573d6000803e3d6000fd5b50505050505050565b610f1c612652565b6001600160a01b0316336001600160a01b031614610f4c5760405162461bcd60e51b815260040161069690615b98565b610f5981600060016131aa565b50565b6000610f66613602565b6001600160a01b031663c8e5bbd5610f7e600161361d565b6040518263ffffffff1660e01b8152600401610f9a9190615a07565b60006040518083038186803b158015610fb257600080fd5b505afa158015610fc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0a9190810190614e3f565b6001546001600160a01b031681565b60008060008061100d86866136f9565b93509350935093505b92959194509250565b6524b9b9bab2b960d11b81565b600080600061104961103d86613aa7565b620a69cb60eb1b613b2c565b93509091506000905061106a61105d613b9d565b839063ffffffff613bf516565b905084811061107c576000935061108f565b61108c858263ffffffff613c0a16565b93505b50509250929050565b6110a06127e6565b8060006110ab612812565b90506060826040519080825280602002602001820160405280156110d9578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db49061110d908890889086906004016159e1565b600060405180830381600087803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e5915061116c90600190600401615a29565b600060405180830381600087803b15801561118657600080fd5b505af115801561119a573d6000803e3d6000fd5b506000925050505b83811015610d3f576111c58686838181106111b957fe5b90506020020135612829565b6001016111a2565b60008060006111da612652565b6001600160a01b0316336001600160a01b03161461120a5760405162461bcd60e51b815260040161069690615b98565b611212613c32565b6001600160a01b031663952225f386866040518363ffffffff1660e01b815260040161123f92919061596d565b60206040518083038186803b15801561125757600080fd5b505afa15801561126b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061128f9190810190614e86565b6112ab5760405162461bcd60e51b815260040161069690615bf8565b60006112b786866136f9565b929650909450925090506112cc868483613c4a565b84611337576112d9613c32565b6001600160a01b031663974e9e7f876040518263ffffffff1660e01b81526004016113049190615944565b600060405180830381600087803b15801561131e57600080fd5b505af1158015611332573d6000803e3d6000fd5b505050505b509250925092565b6060610aa0600061361d565b6060611355611d50565b905060005b81518110156106cb57600082828151811061137157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113b39190615939565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016113df929190615aa4565b60206040518083038186803b1580156113f757600080fd5b505afa15801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142f9190810190614c97565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061148b9084908490615a45565b60405180910390a1505060010161135a565b6001546001600160a01b031633146114c75760405162461bcd60e51b815260040161069690615b28565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261150a926001600160a01b0391821692911690615952565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006106ea8383613d81565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a7219061158f9075446562744d69677261746f724f6e457468657265756d60501b90600401615a37565b60206040518083038186803b1580156115a757600080fd5b505afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115df9190810190614c97565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061162e9075446562744d69677261746f724f6e4f7074696d69736d60501b90600401615a37565b60206040518083038186803b15801561164657600080fd5b505afa15801561165a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167e9190810190614c97565b9050336001600160a01b038316148061169f5750336001600160a01b038216145b6116bb5760405162461bcd60e51b815260040161069690615c68565b6001600160a01b03821615806116d857506001600160a01b038116155b6116f45760405162461bcd60e51b815260040161069690615b18565b60006116fe61341c565b6002546040516321f8a72160e01b81529192506001600160a01b0316906321f8a721906117489075446562744d69677261746f724f6e457468657265756d60501b90600401615a37565b60206040518083038186803b15801561176057600080fd5b505afa158015611774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117989190810190614c97565b6001600160a01b0316336001600160a01b0316141561181657604051631a378f0d60e01b81526001600160a01b03821690631a378f0d906117df9088908890600401615988565b600060405180830381600087803b1580156117f957600080fd5b505af115801561180d573d6000803e3d6000fd5b50505050611929565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061185f9075446562744d69677261746f724f6e4f7074696d69736d60501b90600401615a37565b60206040518083038186803b15801561187757600080fd5b505afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118af9190810190614c97565b6001600160a01b0316336001600160a01b0316141561192957604051636178258560e11b81526001600160a01b0382169063c2f04b0a906118f69088908890600401615988565b600060405180830381600087803b15801561191057600080fd5b505af1158015611924573d6000803e3d6000fd5b505050505b5050505050565b6004818154811061193d57fe5b6000918252602090912001546001600160a01b0316905081565b61195f6127e6565b61196881613471565b611970612812565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b815260040161199c9190615a29565b600060405180830381600087803b1580156119b657600080fd5b505af1158015611929573d6000803e3d6000fd5b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611a1b907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615a37565b60206040518083038186803b158015611a3357600080fd5b505afa158015611a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6b9190810190614c97565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611ab9907453796e746865746978427269646765546f4261736560581b90600401615a37565b60206040518083038186803b158015611ad157600080fd5b505afa158015611ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b099190810190614c97565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611b499066119959541bdbdb60ca1b90600401615a37565b60206040518083038186803b158015611b6157600080fd5b505afa158015611b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b999190810190614c97565b9050336001600160a01b0384161480611bba5750336001600160a01b038316145b80611bcd5750336001600160a01b038216145b611be95760405162461bcd60e51b815260040161069690615b38565b6000878152600560205260409020546001600160a01b0316611c1d5760405162461bcd60e51b815260040161069690615bd8565b60008511611c3d5760405162461bcd60e51b815260040161069690615c58565b611c4686612dd8565b6000878152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611c859089908990600401615988565b600060405180830381600087803b158015611c9f57600080fd5b505af1158015611cb3573d6000803e3d6000fd5b50505050600080611cc389613f0c565b91509150611ccf612812565b6001600160a01b03166342c7b819611cf5611cf08a8663ffffffff613f9116565b613fbb565b6040518263ffffffff1660e01b8152600401611d119190615a37565b600060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b50929b9a5050505050505050505050565b606080611d5b613fe4565b60408051600f808252610200820190925291925060609190602082016101e080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611d9e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611dc457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611dee57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b81600381518110611e1957fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600481518110611e4857fe5b60200260200101818152505066119959541bdbdb60ca1b81600581518110611e6c57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611e9a57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600781518110611ec557fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600881518110611eec57fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600981518110611f1a57fe5b6020026020010181815250506844656274436163686560b81b81600a81518110611f4057fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b81518110611f6a57fe5b60200260200101818152505073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81600c81518110611f9b57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600d81518110611fd557fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600e8151811061200957fe5b60200260200101818152505061201f8282614035565b9250505090565b6000546001600160a01b031681565b61203d612652565b6001600160a01b0316336001600160a01b03161461206d5760405162461bcd60e51b815260040161069690615b98565b6120778383613109565b610e5e838260006131aa565b600061208e826140ea565b5092915050565b6000610e0a82614140565b6000806120ac836140ea565b915091505b915091565b6120be612652565b6001600160a01b0316336001600160a01b0316146120ee5760405162461bcd60e51b815260040161069690615b98565b6106cb828260006131aa565b6000610aa0613b9d565b6000610e0a826141dc565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190612160907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615a37565b60206040518083038186803b15801561217857600080fd5b505afa15801561218c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b09190810190614c97565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a721906121fe907453796e746865746978427269646765546f4261736560581b90600401615a37565b60206040518083038186803b15801561221657600080fd5b505afa15801561222a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224e9190810190614c97565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061228e9066119959541bdbdb60ca1b90600401615a37565b60206040518083038186803b1580156122a657600080fd5b505afa1580156122ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122de9190810190614c97565b9050336001600160a01b03841614806122ff5750336001600160a01b038316145b806123125750336001600160a01b038216145b61232e5760405162461bcd60e51b815260040161069690615b38565b6000878152600560205260409020546001600160a01b03166123625760405162461bcd60e51b815260040161069690615bd8565b600085116123825760405162461bcd60e51b815260040161069690615c58565b61238a612dc1565b6001600160a01b0316631b16802c87896040518363ffffffff1660e01b81526004016123b7929190615988565b606060405180830381600087803b1580156123d157600080fd5b505af11580156123e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612409919081019061504f565b50505060008781526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061244b9089908990600401615988565b600060405180830381600087803b15801561246557600080fd5b505af1158015612479573d6000803e3d6000fd5b5050505060008061248989613f0c565b91509150612495612812565b6001600160a01b03166342c7b8196124b6611cf08a8663ffffffff613f9116565b6000036040518263ffffffff1660e01b8152600401611d119190615a37565b6124dd612652565b6001600160a01b0316336001600160a01b03161461250d5760405162461bcd60e51b815260040161069690615b98565b610f598160006001612669565b60008061252684613aa7565b905080612537576000915050610e0a565b6125418184613b2c565b509095945050505050565b612554612cd7565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561258d57600080fd5b505afa1580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c59190810190614c97565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b8152600401610edd929190615988565b60045490565b6000610e0a826141fb565b61260b612652565b6001600160a01b0316336001600160a01b03161461263b5760405162461bcd60e51b815260040161069690615b98565b612645828261343c565b6106cb8260006001612669565b6000610aa0680a6f2dce8d0cae8d2f60bb1b612ec1565b612671614274565b1561267b57610e5e565b60008061268785612e51565b9350505091506126968161443d565b826126c057818411156126bb5760405162461bcd60e51b815260040161069690615b78565b6126c4565b8193505b6126ce858561445b565b6126d785612dd8565b631cd554d160e21b6000526005602052600080516020615e528339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906127269088908890600401615988565b600060405180830381600087803b15801561274057600080fd5b505af1158015612754573d6000803e3d6000fd5b50505050612760612812565b6001600160a01b03166342c7b81961277786613fbb565b6040518263ffffffff1660e01b81526004016118f69190615a37565b6000806000806127a8620a69cb60eb1b613f0c565b9150915060006127c06127ba87614140565b84614577565b90506127da6127cd613b9d565b829063ffffffff613f9116565b94509092505050915091565b6000546001600160a01b031633146128105760405162461bcd60e51b815260040161069690615c08565b565b6000610aa06844656274436163686560b81b612ec1565b6000818152600560205260409020546001600160a01b03168061285e5760405162461bcd60e51b815260040161069690615be8565b631cd554d160e21b8214156128855760405162461bcd60e51b815260040161069690615c38565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128c057600080fd5b505afa1580156128d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128f89190810190614ec2565b90508015612b7a5760008061290b613602565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401612938929190615ac4565b60606040518083038186803b15801561295057600080fd5b505afa158015612964573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612988919081019061504f565b5091509150600081116129ad5760405162461bcd60e51b815260040161069690615ca8565b60006129b7614589565b631cd554d160e21b6000526005602052600080516020615e528339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612a079084908790600401615988565b600060405180830381600087803b158015612a2157600080fd5b505af1158015612a35573d6000803e3d6000fd5b50505050612a41612812565b6001600160a01b03166342c7b819612a5885613fbb565b6040518263ffffffff1660e01b8152600401612a749190615a37565b600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612aee57600080fd5b505afa158015612b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b269190810190614f3e565b846040518363ffffffff1660e01b8152600401612b44929190615af9565b600060405180830381600087803b158015612b5e57600080fd5b505af1158015612b72573d6000803e3d6000fd5b505050505050505b60005b600454811015612c6157826001600160a01b031660048281548110612b9e57fe5b6000918252602090912001546001600160a01b03161415612c595760048181548110612bc657fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612bf157fe5b600091825260209091200154600480546001600160a01b039092169183908110612c1757fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612c53906000198301614b06565b50612c61565b600101612b7d565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612cca9085908590615a45565b60405180910390a1505050565b612cdf614589565b6001600160a01b0316336001600160a01b03161480612da557506002546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190612d409073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b90600401615a37565b60206040518083038186803b158015612d5857600080fd5b505afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d909190810190614c97565b6001600160a01b0316336001600160a01b0316145b6128105760405162461bcd60e51b815260040161069690615c48565b6000610aa06822bc31b430b733b2b960b91b612ec1565b612de06145a4565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b84604051602001612e1c9291906158f3565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b815260040161199c93929190615a61565b600080600080612e70612e6386613aa7565b631cd554d160e21b613b2c565b91945092509050600080612e8387612793565b915091508195508280612e935750805b9250858510612ea55760009550612eb8565b612eb5868663ffffffff613c0a16565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591612ef191869101615919565b6040516020818303038152906040529061208e5760405162461bcd60e51b81526004016106969190615b07565b6000806000806000856001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015612f5f57600080fd5b505afa158015612f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f979190810190615092565b939a9299509097509550909350915050565b600080600080612fd56109b3766578743a41676772656761746f7244656274526174696f60481b612ec1565b50919650909450505050509091565b6000612ffd83836b033b2e3c9fd0803ce80000006145c1565b9392505050565b600061300e6145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b815260040161305e929190615a53565b60206040518083038186803b15801561307657600080fd5b505afa15801561308a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa09190810190614ec2565b60006130b86145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b815260040161305e929190615a53565b613111614605565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b815260040161313e929190615952565b60206040518083038186803b15801561315657600080fd5b505afa15801561316a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061318e9190810190614e86565b6106cb5760405162461bcd60e51b815260040161069690615b48565b6131b2614274565b156131bc57610e5e565b80613319576131ca836141dc565b6131e65760405162461bcd60e51b815260040161069690615c88565b6000806131f1612dc1565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b8152600401613225929190615988565b606060405180830381600087803b15801561323f57600080fd5b505af1158015613253573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613277919081019061504f565b90935091505080156133165761328b612dc1565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b81526004016132c394939291906159a3565b60206040518083038186803b1580156132db57600080fd5b505afa1580156132ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133139190810190614ec2565b93505b50505b600080613328612e6386613aa7565b925050915060008061333987612793565b9150915061334e83806133495750815b61443d565b6000841161336e5760405162461bcd60e51b815260040161069690615b68565b841561338757613384848363ffffffff613c0a16565b95505b600061339588898988614624565b9050826133a8868363ffffffff613c0a16565b11610959576133b5613c32565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b81526004016133e09190615944565b600060405180830381600087803b1580156133fa57600080fd5b505af115801561340e573d6000803e3d6000fd5b505050505050505050505050565b6000610aa07153796e74686574697844656274536861726560701b612ec1565b613444614605565b6001600160a01b0316630487261783836040518363ffffffff1660e01b815260040161313e929190615952565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156134ac57600080fd5b505afa1580156134c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134e49190810190614ec2565b6000818152600560205260409020549091506001600160a01b03161561351c5760405162461bcd60e51b815260040161069690615c78565b6001600160a01b038216600090815260066020526040902054156135525760405162461bcd60e51b815260040161069690615c18565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884906135f69083908590615a45565b60405180910390a15050565b6000610aa06c45786368616e6765526174657360981b612ec1565b6060808261362c57600061362f565b60015b60ff1660048054905001604051908082528060200260200182016040528015613662578160200160208202803883390190505b50905060005b6004548110156136c957600660006004838154811061368357fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205482518390839081106136b657fe5b6020908102919091010152600101613668565b508215610e0a576004548151620a69cb60eb1b91839181106136e757fe5b60200260200101818152505092915050565b600080600080600061370d612e6388613aa7565b9193509091506000905080613727620a69cb60eb1b613f0c565b9150915061373b838061334957508161443d565b600088156139195761374b614751565b9050613755613c32565b6001600160a01b031663f557f73c866137766137708e614140565b87614577565b846040518463ffffffff1660e01b815260040161379593929190615a61565b60206040518083038186803b1580156137ad57600080fd5b505afa1580156137c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137e59190810190614ec2565b965061389d61388f6138798373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561383557600080fd5b505af4158015613849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061386d9190810190614ec2565b9063ffffffff6147b216565b6138838a876147d7565b9063ffffffff613f9116565b6138988c6147e9565b6147f3565b97506139096139036138ed8373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561383557600080fd5b6138f78b87614577565b9063ffffffff61480916565b886147f3565b9650600095506110169350505050565b613921614827565b90506000613938613930614887565b61386d6148dc565b9050600061395e6139588361394c8f614140565b9063ffffffff613c0a16565b86614577565b9050613968613c32565b6001600160a01b031663f557f73c8883866040518463ffffffff1660e01b815260040161399793929190615a61565b60206040518083038186803b1580156139af57600080fd5b505afa1580156139c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139e79190810190614ec2565b98506000613a40613a368573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561383557600080fd5b6138838c896147d7565b9050613a4b8d614140565b613a5b828563ffffffff6147b216565b10613a8a57879950613a708361394c8f614140565b9a50613a7b8d614936565b98506110169650505050505050565b613a958d8285614940565b909b5098506110169650505050505050565b6000613ab161341c565b6001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401613adc9190615944565b60206040518083038186803b158015613af457600080fd5b505afa158015613b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0a9190810190614ec2565b6000806000806000613b3c61097f565b92505091508660001415613b5857600094509092509050613b96565b600080613b6488613f0c565b91509150613b8182613b758b61499b565b9063ffffffff613bf516565b96508395508080613b8f5750825b9450505050505b9250925092565b6000613ba76145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b815260040161305e929190615a53565b6000612ffd8383670de0b6b3a76400006145c1565b600082821115613c2c5760405162461bcd60e51b815260040161069690615b88565b50900390565b6000610aa0692634b8bab4b230ba37b960b11b612ec1565b613c526149b9565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613c7d9190615944565b600060405180830381600087803b158015613c9757600080fd5b505af1158015613cab573d6000803e3d6000fd5b505050506000613cb961341c565b90506000613cc685613aa7565b905082841415613cfe57604051631a378f0d60e01b81526001600160a01b03831690631a378f0d906117df9088908590600401615988565b6000613d09856149d8565b9050826001600160a01b0316631a378f0d87848410613d285784613d2a565b835b6040518363ffffffff1660e01b8152600401613d47929190615988565b600060405180830381600087803b158015613d6157600080fd5b505af1158015613d75573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613d91612812565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613dc957600080fd5b505afa158015613ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e019190810190614ffa565b935093505092508180613e115750805b935085613eb757600080613e23612812565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613e5a57600080fd5b505afa158015613e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e929190810190614f98565b9092509050613ea7858363ffffffff6147b216565b94508580613eb25750805b955050505b631cd554d160e21b871415613ed15750909250613f059050565b600080613edd89613f0c565b9092509050613ef2858363ffffffff613bf516565b8680613efb5750815b9650965050505050505b9250929050565b600080613f17613602565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401613f429190615a37565b604080518083038186803b158015613f5957600080fd5b505afa158015613f6d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ac9190810190614f98565b6000670de0b6b3a7640000613fac848463ffffffff614a0a16565b81613fb357fe5b049392505050565b6000600160ff1b8210613fe05760405162461bcd60e51b815260040161069690615c98565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061402657fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015614065578160200160208202803883390190505b50905060005b83518110156140a75783818151811061408057fe5b602002602001015182828151811061409457fe5b602090810291909101015260010161406b565b5060005b825181101561208e578281815181106140c057fe5b60200260200101518282865101815181106140d757fe5b60209081029190910101526001016140ab565b60008060006140f884614140565b905060008061410961103d87613aa7565b92505091508260001415614125576000945092506120b1915050565b614135828463ffffffff613bf516565b945092505050915091565b6000610e0a61414d6149b9565b6001600160a01b0316628cc262846040518263ffffffff1660e01b81526004016141779190615944565b60206040518083038186803b15801561418f57600080fd5b505afa1580156141a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141c79190810190614ec2565b61386d6141d385614936565b61386d866147e9565b60006141f26141e96130ae565b61386d846141fb565b42101592915050565b60006142056145a4565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b856040516020016142419291906158f3565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401613adc929190615a53565b60008061429a766578743a41676772656761746f7244656274526174696f60481b612ec1565b90506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156142d757600080fd5b505afa1580156142eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061430f9190810190615092565b505050915050600061431f613602565b6001600160a01b031663045056f8620a69cb60eb1b6040518263ffffffff1660e01b81526004016143509190615a37565b606060405180830381600087803b15801561436a57600080fd5b505af115801561437e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143a29190810190614fb7565b509150506143ae614a44565b6001600160a01b031663413caeb584846040518363ffffffff1660e01b81526004016143db929190615988565b602060405180830381600087803b1580156143f557600080fd5b505af1158015614409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061442d9190810190614e86565b806144355750805b935050505090565b8015610f595760405162461bcd60e51b815260040161069690615bc8565b6144636149b9565b6001600160a01b031663270fb338836040518263ffffffff1660e01b815260040161448e9190615944565b600060405180830381600087803b1580156144a857600080fd5b505af11580156144bc573d6000803e3d6000fd5b5050505060006144ca61341c565b905060006144d7836149d8565b90508061454357604051636178258560e11b81526001600160a01b0383169063c2f04b0a9061450c9087908790600401615988565b600060405180830381600087803b15801561452657600080fd5b505af115801561453a573d6000803e3d6000fd5b50505050614571565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a9061092b9087908590600401615988565b50505050565b6000612ffd838363ffffffff614a6016565b6000610aa06c29bcb73a342932b232b2b6b2b960991b612ec1565b6000610aa06e466c657869626c6553746f7261676560881b612ec1565b6000806145e7846145db87600a870263ffffffff614a0a16565b9063ffffffff614a7516565b90506005600a825b06106145f957600a015b600a9004949350505050565b6000610aa07044656c6567617465417070726f76616c7360781b612ec1565b600061462e614274565b1561463b57506000614749565b828210614648578261464a565b815b9050614657858284613c4a565b631cd554d160e21b6000526005602052600080516020615e5283398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906146a69087908590600401615988565b600060405180830381600087803b1580156146c057600080fd5b505af11580156146d4573d6000803e3d6000fd5b505050506146e0612812565b6001600160a01b03166342c7b8196146f783613fbb565b6000036040518263ffffffff1660e01b81526004016147169190615a37565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b505050505b949350505050565b600061475b6145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b815260040161305e929190615a53565b600082820183811015612ffd5760405162461bcd60e51b815260040161069690615b58565b6000612ffd838363ffffffff613bf516565b6000613ab1612652565b60008183106148025781612ffd565b5090919050565b6000612ffd826145db85670de0b6b3a764000063ffffffff614a0a16565b60006148316145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b815260040161305e929190615a53565b60006148916145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b815260040161305e929190615a53565b60006148e66145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b815260040161305e929190615a53565b6000613ab1614aaa565b600080600061494e866147e9565b905080614961868663ffffffff6147b216565b11614973575083915060009050614993565b6149878161394c878763ffffffff6147b216565b85935091506149939050565b935093915050565b6000806149a6612fa9565b509050612ffd838263ffffffff614ac616565b6000610aa0704c697175696461746f725265776172647360781b612ec1565b6000806149e3612fa9565b5090508015614a01576149fc838263ffffffff612fe416565b612ffd565b50600092915050565b600082614a1957506000610e0a565b82820282848281614a2657fe5b0414612ffd5760405162461bcd60e51b815260040161069690615c28565b6000610aa06d21b4b931bab4ba213932b0b5b2b960911b612ec1565b6000612ffd8383670de0b6b3a7640000614adb565b6000808211614a965760405162461bcd60e51b815260040161069690615ba8565b6000828481614aa157fe5b04949350505050565b6000610aa06d2932bbb0b93222b9b1b937bbab1960911b612ec1565b6000612ffd83836b033b2e3c9fd0803ce80000005b600080600a8304614af2868663ffffffff614a0a16565b81614af957fe5b0490506005600a826145ef565b815481835581811115610e5e57600083815260209020610e5e918101908301610aa391905b80821115613fe05760008155600101614b2b565b8035610e0a81615e10565b8051610e0a81615e10565b60008083601f840112614b6757600080fd5b50813567ffffffffffffffff811115614b7f57600080fd5b602083019150836020820283011115613f0557600080fd5b600082601f830112614ba857600080fd5b8151614bbb614bb682615d31565b615d0a565b91508181835260208401935060208101905083856020840282011115614be057600080fd5b60005b83811015614c0c5781614bf68882614c37565b8452506020928301929190910190600101614be3565b5050505092915050565b8035610e0a81615e24565b8051610e0a81615e24565b8035610e0a81615e2d565b8051610e0a81615e2d565b8035610e0a81615e36565b8051610e0a81615e36565b8035610e0a81615e3f565b8051610e0a81615e3f565b8051610e0a81615e48565b600060208284031215614c8b57600080fd5b60006147498484614b3f565b600060208284031215614ca957600080fd5b60006147498484614b4a565b60008060408385031215614cc857600080fd5b6000614cd48585614b3f565b9250506020614ce585828601614b3f565b9150509250929050565b600080600060608486031215614d0457600080fd5b6000614d108686614b3f565b9350506020614d2186828701614b3f565b9250506040614d3286828701614c2c565b9150509250925092565b60008060408385031215614d4f57600080fd5b6000614d5b8585614b3f565b9250506020614ce585828601614c16565b60008060408385031215614d7f57600080fd5b6000614d8b8585614b3f565b9250506020614ce585828601614c2c565b60008060008060808587031215614db257600080fd5b6000614dbe8787614b3f565b9450506020614dcf87828801614c2c565b9350506040614de087828801614c2c565b9250506060614df187828801614c2c565b91505092959194509250565b60008060208385031215614e1057600080fd5b823567ffffffffffffffff811115614e2757600080fd5b614e3385828601614b55565b92509250509250929050565b60008060408385031215614e5257600080fd5b825167ffffffffffffffff811115614e6957600080fd5b614e7585828601614b97565b9250506020614ce585828601614c21565b600060208284031215614e9857600080fd5b60006147498484614c21565b600060208284031215614eb657600080fd5b60006147498484614c2c565b600060208284031215614ed457600080fd5b60006147498484614c37565b600080600060608486031215614ef557600080fd5b6000614d108686614c2c565b60008060408385031215614f1457600080fd5b6000614d5b8585614c2c565b600060208284031215614f3257600080fd5b60006147498484614c42565b600060208284031215614f5057600080fd5b60006147498484614c4d565b600060208284031215614f6e57600080fd5b60006147498484614c58565b600060208284031215614f8c57600080fd5b60006147498484614c63565b60008060408385031215614fab57600080fd5b6000614e758585614c37565b600080600060608486031215614fcc57600080fd5b6000614fd88686614c37565b9350506020614fe986828701614c21565b9250506040614d3286828701614c21565b6000806000806080858703121561501057600080fd5b600061501c8787614c37565b945050602061502d87828801614c37565b935050604061503e87828801614c21565b9250506060614df187828801614c21565b60008060006060848603121561506457600080fd5b60006150708686614c37565b935050602061508186828701614c37565b9250506040614d3286828701614c37565b600080600080600060a086880312156150aa57600080fd5b60006150b68888614c6e565b95505060206150c788828901614c37565b94505060406150d888828901614c37565b93505060606150e988828901614c37565b92505060806150fa88828901614c6e565b9150509295509295909350565b6000615113838361527e565b505060200190565b60006151138383615298565b61513081615d6a565b82525050565b61513061514282615d6a565b615def565b60006151538385615d5c565b93506001600160fb1b0383111561516957600080fd5b60208302925061517a838584615db7565b50500190565b600061518b82615d58565b6151958185615d5c565b93506151a083615d52565b8060005b838110156151ce5781516151b88882615107565b97506151c383615d52565b9250506001016151a4565b509495945050505050565b60006151e482615d58565b6151ee8185615d5c565b93506151f983615d52565b8060005b838110156151ce578151615211888261511b565b975061521c83615d52565b9250506001016151fd565b600061523282615d58565b61523c8185615d5c565b935061524783615d52565b8060005b838110156151ce57815161525f8882615107565b975061526a83615d52565b92505060010161524b565b61513081615d75565b61513081610aa3565b61513061529382610aa3565b610aa3565b61513081615d7a565b61513081615dac565b60006152b582615d58565b6152bf8185615d5c565b93506152cf818560208601615dc3565b6152d881615e00565b9093019392505050565b60006152ef601883615d5c565b7f6f6e65206d69677261746f72206d757374206265203078300000000000000000815260200192915050565b6000615328603583615d5c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061537f601483615d5c565b736f6e6c792074727573746564206d696e7465727360601b815260200192915050565b60006153af601d83615d5c565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b60006153e8601b83615d5c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615421601283615d5c565b714e6f206465627420746f20666f726769766560701b815260200192915050565b600061544f601083615d5c565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b600061547b601e83615d5c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006154b4600e83615d5c565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b60006154de601a83615d5c565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615517601183615d65565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615544601083615d5c565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b6000615570601e83615d5c565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006155a9601383615d5c565b721cde5b9d1a08191bd95cdb89dd08195e1a5cdd606a1b815260200192915050565b60006155d8601483615d5c565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615608601883615d5c565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b6000615641602f83615d5c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061569e601c83615d5c565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b60006156d7602183615d5c565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061571a601383615d5c565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b6000615749601283615d5c565b7127b7363c9029bcb73a342932b232b2b6b2b960711b815260200192915050565b6000615777601583615d5c565b7463616e6e6f7420697373756520302073796e74687360581b815260200192915050565b60006157a8601983615d65565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006157e1601683615d5c565b756f6e6c792074727573746564206d69677261746f727360501b815260200192915050565b6000615813600c83615d5c565b6b53796e74682065786973747360a01b815260200192915050565b600061583b601e83615d5c565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b6000615874602883615d5c565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b60006158be601a83615d5c565b7f43616e6e6f742072656d6f766520776974686f75742072617465000000000000815260200192915050565b61513081615d85565b60006158ff8285615287565b60208201915061590f8284615136565b5060140192915050565b60006159248261550a565b91506159308284615287565b50602001919050565b60006159248261579b565b60208101610e0a8284615127565b604081016159608285615127565b612ffd6020830184615127565b6040810161597b8285615127565b612ffd6020830184615275565b604081016159968285615127565b612ffd602083018461527e565b608081016159b18287615127565b6159be602083018661527e565b6159cb604083018561527e565b6159d8606083018461527e565b95945050505050565b604080825281016159f3818587615147565b905081810360208301526159d88184615227565b60208082528101612ffd8184615180565b60208082528101612ffd81846151d9565b60208101610e0a8284615275565b60208101610e0a828461527e565b60408101615960828561527e565b60408101615996828561527e565b60608101615a6f828661527e565b615a7c602083018561527e565b614749604083018461527e565b60408101615a97828561527e565b612ffd60208301846152a1565b60408101615ab2828561527e565b818103602083015261474981846152aa565b60608101615ad2828561527e565b615adf602083018461527e565b612ffd60408301615685565b60208101610e0a8284615298565b604081016159968285615298565b60208082528101612ffd81846152aa565b60208082528101610e0a816152e2565b60208082528101610e0a8161531b565b60208082528101610e0a81615372565b60208082528101610e0a816153a2565b60208082528101610e0a816153db565b60208082528101610e0a81615414565b60208082528101610e0a81615442565b60208082528101610e0a8161546e565b60208082528101610e0a816154a7565b60208082528101610e0a816154d1565b60208082528101610e0a81615537565b60208082528101610e0a81615563565b60208082528101610e0a8161559c565b60208082528101610e0a816155cb565b60208082528101610e0a816155fb565b60208082528101610e0a81615634565b60208082528101610e0a81615691565b60208082528101610e0a816156ca565b60208082528101610e0a8161570d565b60208082528101610e0a8161573c565b60208082528101610e0a8161576a565b60208082528101610e0a816157d4565b60208082528101610e0a81615806565b60208082528101610e0a8161582e565b60208082528101610e0a81615867565b60208082528101610e0a816158b1565b60208101610e0a82846158ea565b6040810161597b828561527e565b60608101615ce2828661527e565b615cef602083018561527e565b6147496040830184615275565b608081016159b1828761527e565b60405181810167ffffffffffffffff81118282101715615d2957600080fd5b604052919050565b600067ffffffffffffffff821115615d4857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610e0a82615d91565b151590565b6000610e0a82615d6a565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610e0a82610aa3565b82818337506000910152565b60005b83811015615dde578181015183820152602001615dc6565b838111156145715750506000910152565b6000610e0a826000610e0a82615e0a565b601f01601f191690565b60601b90565b615e1981615d6a565b8114610f5957600080fd5b615e1981615d75565b615e1981610aa3565b615e1981615d7a565b615e1981615d85565b615e1981615d9d56fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820160805ca78bb540916fefaeb9c5060d6b370e423bfb95c7cb75099eaad4f23326c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthRemoved",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "addSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "synthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksDebtInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sharesSupply",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrSNXRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "burnAndIssueSynthsWithoutDebtCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "deprecatedSynthProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "burnForRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsWithoutDebt",
					"outputs": [
						{
							"internalType": "bool",
							"name": "rateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnSynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getSynths",
					"outputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsWithoutDebt",
					"outputs": [
						{
							"internalType": "bool",
							"name": "rateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidateAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtRemoved",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidationAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtToRemove",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "modifyDebtSharesForMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint128",
							"name": "periodId",
							"type": "uint128"
						}
					],
					"name": "setCurrentPeriodId",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeOtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferableSynthetixAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x122394906d88b596f09642fb03cdb2d4b798a65cf4280cecbccc0279ba67b3a2",
				"urls": [
					"bzz-raw://989df6d3f973b22ac2c8b4232fd4b6fba610ab16a851fca30d29c9994cf3c005",
					"dweb:/ipfs/QmWX6D3UsevETnyMxxtz3Aw3sBfqms7qcpkfpuiHpq2bNx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0x122394906d88b596f09642fb03cdb2d4b798a65cf4280cecbccc0279ba67b3a2",
						"urls": [
							"bzz-raw://989df6d3f973b22ac2c8b4232fd4b6fba610ab16a851fca30d29c9994cf3c005",
							"dweb:/ipfs/QmWX6D3UsevETnyMxxtz3Aw3sBfqms7qcpkfpuiHpq2bNx"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200271b3803806200271b83398101604081905262000034916200016e565b600160005580836001600160a01b0381166200006d5760405162461bcd60e51b81526004016200006490620002cd565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000bd90600090849062000283565b60405180910390a1506001546001600160a01b0316620000f15760405162461bcd60e51b81526004016200006490620002bb565b60048054610100600160a81b0319166101006001600160a01b03938416021790558216620001335760405162461bcd60e51b81526004016200006490620002a9565b50600a80546001600160a01b0319166001600160a01b03929092169190911790555062000328565b805162000168816200030e565b92915050565b6000806000606084860312156200018457600080fd5b60006200019286866200015b565b9350506020620001a5868287016200015b565b9250506040620001b8868287016200015b565b9150509250925092565b620001cd81620002fa565b82525050565b620001cd81620002e8565b6000620001ed601983620002df565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b600062000228601183620002df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000257601983620002df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002938285620001c2565b620002a26020830184620001d3565b9392505050565b602080825281016200016881620001de565b60208082528101620001688162000219565b60208082528101620001688162000248565b90815260200190565b60006001600160a01b03821662000168565b6000620001688260006200016882620002e8565b6200031981620002e8565b81146200032557600080fd5b50565b6123e380620003386000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636fe4136b11610125578063ae934a7a116100ad578063dea021a51161007c578063dea021a5146103fa578063f32ffd6914610402578063f61f5df614610415578063f6b5847914610428578063fc9c99ac1461043b57610211565b8063ae934a7a146103c1578063b225dbaa146103d4578063ccb6e04314610297578063ce7fccba146103e757610211565b8063899ffef4116100f4578063899ffef4146103815780638da5cb5b1461039657806391b4ded91461039e578063937ffb8f146103a65780639865fdb7146103b957610211565b80636fe4136b14610356578063706848d21461035e578063741853601461037157806379ba50971461037957610211565b806321cad774116101a85780633dbf12fa116101775780633dbf12fa1461030b5780633fc6df6e1461031e57806353a47bb71461033357806355aa41bf1461033b5780635c975abb1461034e57610211565b806321cad774146102ca5780632af64bd3146102dd57806338dfa8cf146102e55780633c6b16ab146102f857610211565b806316841952116101e4578063168419521461027157806316c38b3c14610284578063175c51891461029757806319762143146102b757610211565b806304f3bcec14610216578063056097ac14610234578063086146d2146102495780631627540c1461025e575b600080fd5b61021e610443565b60405161022b9190612178565b60405180910390f35b6102476102423660046117fd565b610457565b005b6102516105a8565b60405161022b919061213c565b61024761026c3660046117b9565b6105af565b61024761027f36600461193b565b61060d565b6102476102923660046118ff565b6107b9565b6102aa6102a536600461193b565b61082e565b60405161022b919061212e565b6102476102c53660046117b9565b610843565b6102476102d8366004611977565b61086d565b6102aa610960565b6102476102f33660046117b9565b610a7d565b61024761030636600461193b565b61082b565b6102476103193660046117b9565b610bcf565b610326610c48565b60405161022b9190612096565b610326610c57565b61025161034936600461193b565b610c66565b6102aa610c7b565b610326610c84565b61025161036c36600461193b565b610c93565b610247610ca8565b610247610dfe565b610389610e9a565b60405161022b919061211d565b610326610f09565b610251610f18565b6102516103b436600461193b565b610f1e565b610251610f33565b6102476103cf36600461188d565b610fca565b6102476103e236600461193b565b6110b1565b6102516103f536600461188d565b61110a565b61032661111f565b6102476104103660046118bd565b61112e565b61025161042336600461188d565b6111b8565b610251610436366004611837565b6111e3565b610251611233565b60045461010090046001600160a01b031681565b61045f611239565b61046881611265565b6104706112a0565b6001600160a01b0316826001600160a01b031614156104aa5760405162461bcd60e51b81526004016104a1906122c7565b60405180910390fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a08231906104db903090600401612096565b60206040518083038186803b1580156104f357600080fd5b505afa158015610507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061052b9190810190611959565b90506000811161054d5760405162461bcd60e51b81526004016104a190612297565b6105676001600160a01b038316848363ffffffff6112b716565b7f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe684848360405161059a939291906120bf565b60405180910390a150505050565b6007545b90565b6105b7611239565b600280546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610602908390612096565b60405180910390a150565b600a546001600160a01b031633146106375760405162461bcd60e51b81526004016104a1906122e7565b60006106416112a0565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161066c9190612096565b60206040518083038186803b15801561068457600080fd5b505afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106bc9190810190611959565b905060006106d56008548361131090919063ffffffff16565b9050808311156106f75760405162461bcd60e51b81526004016104a190612277565b60075460009081526009602052604090206002810184905560038101849055805460ff19166001178155600854610734908563ffffffff61133816565b6008556007546040517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9161076a9187906122f7565b60405180910390a160075461078690600163ffffffff61133816565b60078190556040517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329161059a9161213c565b6107c1611239565b60045460ff16151581151514156107d75761082b565b6004805460ff1916821515179081905560ff16156107f457426003555b6004546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916106029160ff9091169061212e565b50565b60009081526009602052604090205460ff1690565b61084b611239565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b61087561135d565b6001600160a01b0316336001600160a01b0316146108a55760405162461bcd60e51b81526004016104a1906121b7565b60075460009081526009602090815260408083206001600160a01b038516845260048101909252909120546108e0908463ffffffff61133816565b6001600160a01b03831660009081526004830160205260409020556001810154610910908463ffffffff61133816565b60018201556007546040516001600160a01b038416917f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866916109539187916122f7565b60405180910390a2505050565b6000606061096c610e9a565b905060005b8151811015610a7457600082828151811061098857fe5b60209081029190910181015160008181526005909252604091829020546004805493516321f8a72160e01b81529294506001600160a01b03918216936101009004909116916321f8a721916109df9186910161213c565b60206040518083038186803b1580156109f757600080fd5b505afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a2f91908101906117df565b6001600160a01b0316141580610a5a57506000818152600560205260409020546001600160a01b0316155b15610a6b57600093505050506105ac565b50600101610971565b50600191505090565b610a85611239565b610a8e81611265565b6000610a986112a0565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ac39190612096565b60206040518083038186803b158015610adb57600080fd5b505afa158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b139190810190611959565b905060008111610b355760405162461bcd60e51b81526004016104a190612297565b6000610b4c6008548361131090919063ffffffff16565b905060008111610b6e5760405162461bcd60e51b81526004016104a190612297565b610b918382610b7b6112a0565b6001600160a01b0316919063ffffffff6112b716565b7f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee38382604051610bc29291906120e7565b60405180910390a1505050565b610bd7611239565b6001600160a01b038116610bfd5760405162461bcd60e51b81526004016104a190612287565b600a80546001600160a01b0319166001600160a01b0383161790556040517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc90610602908390612096565b6006546001600160a01b031681565b6002546001600160a01b031681565b60009081526009602052604090206001015490565b60045460ff1681565b6000610c8e6112a0565b905090565b60009081526009602052604090206003015490565b6060610cb2610e9a565b905060005b8151811015610dfa576000828281518110610cce57fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d10919061208b565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d3c929190612158565b60206040518083038186803b158015610d5457600080fd5b505afa158015610d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d8c91908101906117df565b6000838152600560205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610de8908490849061214a565b60405180910390a15050600101610cb7565b5050565b6002546001600160a01b03163314610e285760405162461bcd60e51b81526004016104a1906121a7565b6001546002546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610e6b926001600160a01b03918216929116906120a4565b60405180910390a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b81600081518110610ed457fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610efa57fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526009602052604090206002015490565b6000610c8e600854610f436112a0565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610f6e9190612096565b60206040518083038186803b158015610f8657600080fd5b505afa158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fbe9190810190611959565b9063ffffffff61131016565b610fd2611239565b610fdb82611265565b6007548110610ffc5760405162461bcd60e51b81526004016104a190612257565b6000818152600960205260409020600381015461102b5760405162461bcd60e51b81526004016104a1906121d7565b600381015461103d8482610b7b6112a0565b600854611050908263ffffffff61131016565b600855600083815260096020526040808220805460ff19168155600181018390556002810183905560030191909155517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9061059a90869084908790612102565b600080546001019081905560045460ff16156110df5760405162461bcd60e51b81526004016104a190612267565b6110e93383611374565b6000548114610dfa5760405162461bcd60e51b81526004016104a1906122b7565b60006111168383611472565b90505b92915050565b600a546001600160a01b031690565b600080546001019081905560045460ff161561115c5760405162461bcd60e51b81526004016104a190612267565b60005b8281101561119157600084848381811061117557fe5b9050602002013590506111883382611374565b5060010161115f565b5060005481146111b35760405162461bcd60e51b81526004016104a1906122b7565b505050565b60009081526009602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561122b5760008484838181106111fd57fe5b9050602002013590506112206112138783611472565b849063ffffffff61133816565b9250506001016111e7565b509392505050565b60085490565b6001546001600160a01b031633146112635760405162461bcd60e51b81526004016104a190612227565b565b6001600160a01b038116158061128357506001600160a01b03811630145b1561082b5760405162461bcd60e51b81526004016104a190612197565b6000610c8e680a6f2dce8d0cae8d2f60bb1b611516565b6040516111b390849063a9059cbb60e01b906112d990869086906024016120e7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261157a565b6000828211156113325760405162461bcd60e51b81526004016104a1906121f7565b50900390565b6000828201838110156111165760405162461bcd60e51b81526004016104a1906121c7565b6000610c8e6822bc31b430b733b2b960b91b611516565b6000818152600960205260409020805460ff166113a35760405162461bcd60e51b81526004016104a190612217565b60006113af8484611472565b9050600081116113d15760405162461bcd60e51b81526004016104a190612237565b6001600160a01b03841660009081526004830160205260408120556003820154611401908263ffffffff61131016565b6003830155600854611419908263ffffffff61131016565b6008556114298482610b7b6112a0565b836001600160a01b03167fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e32582856040516114649291906122f7565b60405180910390a250505050565b60008181526009602052604081206003810154158061149357506001810154155b806114a05750805460ff16155b156114af576000915050611119565b6001600160a01b0384166000908152600482016020526040902054806114da57600092505050611119565b60006114f383600101548361166590919063ffffffff16565b905061150c83600201548261168f90919063ffffffff16565b9695505050505050565b60008181526005602090815260408083205490516001600160a01b0390911691821515916115469186910161206b565b604051602081830303815290604052906115735760405162461bcd60e51b81526004016104a19190612186565b5092915050565b61158c826001600160a01b03166116b9565b6115a85760405162461bcd60e51b81526004016104a1906122d7565b60006060836001600160a01b0316836040516115c49190612058565b6000604051808303816000865af19150503d8060008114611601576040519150601f19603f3d011682016040523d82523d6000602084013e611606565b606091505b5091509150816116285760405162461bcd60e51b81526004016104a1906121e7565b80511561165f5780806020019051611643919081019061191d565b61165f5760405162461bcd60e51b81526004016104a1906122a7565b50505050565b60006111168261168385670de0b6b3a764000063ffffffff6116bf16565b9063ffffffff6116f916565b6000670de0b6b3a76400006116aa848463ffffffff6116bf16565b816116b157fe5b049392505050565b3b151590565b6000826116ce57506000611119565b828202828482816116db57fe5b04146111165760405162461bcd60e51b81526004016104a190612247565b600080821161171a5760405162461bcd60e51b81526004016104a190612207565b600082848161172557fe5b04949350505050565b80356111198161237a565b80516111198161237a565b60008083601f84011261175657600080fd5b50813567ffffffffffffffff81111561176e57600080fd5b60208301915083602082028301111561178657600080fd5b9250929050565b80356111198161238e565b80516111198161238e565b803561111981612397565b805161111981612397565b6000602082840312156117cb57600080fd5b60006117d7848461172e565b949350505050565b6000602082840312156117f157600080fd5b60006117d78484611739565b6000806040838503121561181057600080fd5b600061181c858561172e565b925050602061182d8582860161172e565b9150509250929050565b60008060006040848603121561184c57600080fd5b6000611858868661172e565b935050602084013567ffffffffffffffff81111561187557600080fd5b61188186828701611744565b92509250509250925092565b600080604083850312156118a057600080fd5b60006118ac858561172e565b925050602061182d858286016117a3565b600080602083850312156118d057600080fd5b823567ffffffffffffffff8111156118e757600080fd5b6118f385828601611744565b92509250509250929050565b60006020828403121561191157600080fd5b60006117d7848461178d565b60006020828403121561192f57600080fd5b60006117d78484611798565b60006020828403121561194d57600080fd5b60006117d784846117a3565b60006020828403121561196b57600080fd5b60006117d784846117ae565b6000806040838503121561198a57600080fd5b600061181c85856117a3565b60006119a28383611a1b565b505060200190565b6119b38161231d565b82525050565b60006119c48261230b565b6119ce818561230f565b93506119d983612305565b8060005b83811015611a075781516119f18882611996565b97506119fc83612305565b9250506001016119dd565b509495945050505050565b6119b381612328565b6119b3816105ac565b6119b3611a30826105ac565b6105ac565b6000611a408261230b565b611a4a8185612318565b9350611a5a818560208601612344565b9290920192915050565b6119b381612339565b6000611a788261230b565b611a82818561230f565b9350611a92818560208601612344565b611a9b81612370565b9093019392505050565b6000611ab260178361230f565b7f496e76616c6964207265636f7665722061646472657373000000000000000000815260200192915050565b6000611aeb60358361230f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611b42601e8361230f565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000611b7b601b8361230f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611bb4601f8361230f565b7f4e6f207265776172647320617661696c61626c6520746f207265636f76657200815260200192915050565b6000611bed60208361230f565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611c26601e8361230f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611c5f601a8361230f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611c98601183612318565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611cc560178361230f565b7f506572696f64206973206e6f742066696e616c697a6564000000000000000000815260200192915050565b6000611cfe602f8361230f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611d4f60148361230f565b734e6f207265776172647320617661696c61626c6560601b815260200192915050565b6000611d7f60218361230f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611dc2601a8361230f565b7f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000815260200192915050565b6000611dfb603c8361230f565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000611e5a601983612318565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e9360198361230f565b7f496e73756666696369656e742066726565207265776172647300000000000000815260200192915050565b6000611ecc60198361230f565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b6000611f0560148361230f565b732737903a37b5b2b739903a37903932b1b7bb32b960611b815260200192915050565b6000611f35602a8361230f565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611f81601f8361230f565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611fba60198361230f565b7f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000815260200192915050565b6000611ff3601f8361230f565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b600061202c601c8361230f565b7f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000815260200192915050565b60006120648284611a35565b9392505050565b600061207682611c8b565b91506120828284611a24565b50602001919050565b600061207682611e4d565b6020810161111982846119aa565b604081016120b282856119aa565b61206460208301846119aa565b606081016120cd82866119aa565b6120da60208301856119aa565b6117d76040830184611a1b565b604081016120f582856119aa565b6120646020830184611a1b565b6060810161211082866119aa565b6120da6020830185611a1b565b6020808252810161111681846119b9565b602081016111198284611a12565b602081016111198284611a1b565b604081016120b28285611a1b565b604081016121668285611a1b565b81810360208301526117d78184611a6d565b602081016111198284611a64565b602080825281016111168184611a6d565b6020808252810161111981611aa5565b6020808252810161111981611ade565b6020808252810161111981611b35565b6020808252810161111981611b6e565b6020808252810161111981611ba7565b6020808252810161111981611be0565b6020808252810161111981611c19565b6020808252810161111981611c52565b6020808252810161111981611cb8565b6020808252810161111981611cf1565b6020808252810161111981611d42565b6020808252810161111981611d72565b6020808252810161111981611db5565b6020808252810161111981611dee565b6020808252810161111981611e86565b6020808252810161111981611ebf565b6020808252810161111981611ef8565b6020808252810161111981611f28565b6020808252810161111981611f74565b6020808252810161111981611fad565b6020808252810161111981611fe6565b602080825281016111198161201f565b604081016120f58285611a1b565b60200190565b5190565b90815260200190565b919050565b60006111198261232d565b151590565b6001600160a01b031690565b60006111198261231d565b60005b8381101561235f578181015183820152602001612347565b8381111561165f5750506000910152565b601f01601f191690565b6123838161231d565b811461082b57600080fd5b61238381612328565b612383816105ac56fea365627a7a723158201c686ada6d5c8f58b5ad15ed20d29d820d8b9d5f3c1a51bbeaa00ca6a519264b6c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "NewPeriodStarted",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "PeriodControllerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "PeriodFinalizedWithRewards",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "UnassignedRewardTokensRecovered",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "claimRewardsForPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "claimRewardsForPeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "closeCurrentPeriodWithRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPeriodController",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsFinalized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodRecordedFees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodTotalRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardsToken",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getUnassignedRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdFeeAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "recordExchangeFeeForAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "recoverAssignedRewardTokensAndDestroyPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverUnassignedRewardTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "setPeriodController",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x5b9244867c0d23d118a16e58b50c537362a236630945e61d96116b324c7f4dd3",
				"urls": [
					"bzz-raw://d2904e2c700f32a928be3fa9b524edf3bdd22e939417dc29a51267a72abb2c85",
					"dweb:/ipfs/Qmd5CCAPw34LCnbPaFfzk7DjhJDpKPtZMgtNxE4PLG9EDA"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0x5b9244867c0d23d118a16e58b50c537362a236630945e61d96116b324c7f4dd3",
						"urls": [
							"bzz-raw://d2904e2c700f32a928be3fa9b524edf3bdd22e939417dc29a51267a72abb2c85",
							"dweb:/ipfs/Qmd5CCAPw34LCnbPaFfzk7DjhJDpKPtZMgtNxE4PLG9EDA"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780639514c2321461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a7231582084dabdef8af72d2daa0b666b4b223ba319c63aed3d8cf43f7a18c7ea6a5223d064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract ISynthetixEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetix_escrow",
					"outputs": [
						{
							"internalType": "contract ISynthetixEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276",
				"urls": [
					"bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8",
					"dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276",
						"urls": [
							"bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8",
							"dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixBridgeToBase": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002dd138038062002dd183398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b612b9d80620002346000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063614d08f8116100b85780638d6e9a5b1161007c5780638d6e9a5b1461024a5780638da5cb5b1461025d578063a616cdfb14610265578063a6492fe214610278578063bb91f6a31461028b578063f97824fe1461029357610142565b8063614d08f814610215578063698a26b21461021d578063741853601461022557806379ba50971461022d578063899ffef41461023557610142565b80632af64bd31161010a5780632af64bd3146101b55780632e1a7d4d146101bd5780633872dda3146101d05780634873966f146101d857806353a47bb7146101eb5780635aba32ae1461020057610142565b806304f3bcec14610147578063100be6d4146101655780631627540c1461017a578063205c28781461018f57806325aae563146101a2575b600080fd5b61014f6102a6565b60405161015c91906128f5565b60405180910390f35b61016d6102b5565b60405161015c919061281f565b61018d610188366004611ec2565b6102be565b005b61018d61019d366004611f06565b61031c565b61018d6101b0366004612100565b610332565b61016d6103de565b61018d6101cb3660046120c4565b6104f6565b61018d61050b565b61018d6101e6366004612077565b610573565b6101f36107fe565b60405161015c9190612747565b61020861080d565b60405161015c919061282d565b610208610824565b61018d610840565b61018d6108a3565b61018d6109f5565b61023d610a91565b60405161015c919061280e565b61018d610258366004611f06565b610b0d565b6101f3610bc1565b61018d610273366004611f06565b610bd0565b61018d610286366004612077565b610c6e565b610208610d59565b61018d6102a1366004611f40565b610d6b565b6002546001600160a01b031681565b60045460ff1681565b6102c6610e96565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610311908390612747565b60405180910390a150565b610324610ec2565b61032e8282610ee4565b5050565b61033a611105565b6103426111e1565b6001600160a01b03166373941b9683836040518363ffffffff1660e01b815260040161036f9291906128ac565b600060405180830381600087803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050507f64691ff866d6248d6d89e8c1b6c92df685ddf8224377dc6f1e928ef732e55ace82826040516103d29291906128ac565b60405180910390a15050565b600060606103ea610a91565b905060005b81518110156104ec57600082828151811061040657fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061045790859060040161282d565b60206040518083038186803b15801561046f57600080fd5b505afa158015610483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104a79190810190611ee8565b6001600160a01b03161415806104d257506000818152600360205260409020546001600160a01b0316155b156104e357600093505050506104f3565b506001016103ef565b5060019150505b90565b6104fe610ec2565b6105083382610ee4565b50565b610513610e96565b60045460ff1661053e5760405162461bcd60e51b815260040161053590612944565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b61057b610ec2565b6001600160a01b0382166105a15760405162461bcd60e51b815260040161053590612974565b60006105ac846111f6565b116105c95760405162461bcd60e51b8152600401610535906129a4565b6105d16112de565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b81526004016105fc919061282d565b60006040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b5050505061063e6314d95b9d60e21b84836112f8565b600061064861144d565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b815260040161067793929190612849565b602060405180830381600087803b15801561069157600080fd5b505af11580156106a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c99190810190612059565b905080156106e95760405162461bcd60e51b8152600401610535906129d4565b606063a6492fe260e01b85858560405160240161070893929190612871565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610744611461565b6001600160a01b0316633dbb202b61075a61147c565b836107656003611486565b6040518463ffffffff1660e01b815260040161078393929190612799565b600060405180830381600087803b15801561079d57600080fd5b505af11580156107b1573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b856040516107ef919061282d565b60405180910390a35050505050565b6001546001600160a01b031681565b600061081f6314d95b9d60e21b6114d6565b905090565b7453796e746865746978427269646765546f4261736560581b90565b610848610e96565b60045460ff161561086b5760405162461bcd60e51b815260040161053590612914565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b60606108ad610a91565b905060005b815181101561032e5760008282815181106108c957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161090b919061273c565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109379291906128d5565b60206040518083038186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109879190810190611ee8565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906109e3908490849061283b565b60405180910390a150506001016108b2565b6001546001600160a01b03163314610a1f5760405162461bcd60e51b815260040161053590612924565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a62926001600160a01b039182169291169061277e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610a9c6117ad565b60408051600180825281830190925291925060609190602080830190803883390190505090507f626173653a53796e746865746978427269646765546f4f7074696d69736d000081600081518110610af057fe5b602002602001018181525050610b068282611916565b9250505090565b610b15611105565b610b1d6119d2565b6001600160a01b031663666ed4f183836040518363ffffffff1660e01b8152600401610b4a9291906127c8565b600060405180830381600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b50505050816001600160a01b03167f162eb12ad2bd8b6ca7960f162208414ab3bc2da9f37953788ffd8cf850c3492b82604051610bb5919061282d565b60405180910390a25050565b6000546001600160a01b031681565b610bd8611105565b610be06119d2565b6001600160a01b031663d8a1f76f826040518263ffffffff1660e01b8152600401610c0b919061282d565b600060405180830381600087803b158015610c2557600080fd5b505af1158015610c39573d6000803e3d6000fd5b505050507f3b30e867826d81d6591924b1675cfdcac994f0199eed66250d8c834b3b0ed21682826040516103d29291906127c8565b610c76611105565b610c88632932b1bb60e11b84836112f8565b610c9061144d565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610cbf93929190612871565b602060405180830381600087803b158015610cd957600080fd5b505af1158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d119190810190612059565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610d4c919061282d565b60405180910390a3505050565b600061081f632932b1bb60e11b6114d6565b610d73611105565b6000610d7d6119e9565b9050610d876119d2565b6001600160a01b031663666ed4f182866040518363ffffffff1660e01b8152600401610db49291906127c8565b600060405180830381600087803b158015610dce57600080fd5b505af1158015610de2573d6000803e3d6000fd5b505060405163cd7b43dd60e01b81526001600160a01b038416925063cd7b43dd9150610e189088908890889088906004016127d6565b600060405180830381600087803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050846001600160a01b03167f7538b9bce825b4555048bb2f80c04ee79b5ffc422f39b959994a27c21c32c8d1858585604051610e8793929190612a04565b60405180910390a25050505050565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040161053590612984565b565b60045460ff16610ec05760405162461bcd60e51b815260040161053590612954565b80610eed6119d2565b6001600160a01b0316636ac0bf9c336040518263ffffffff1660e01b8152600401610f189190612755565b60206040518083038186803b158015610f3057600080fd5b505afa158015610f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f6891908101906120e2565b1015610f865760405162461bcd60e51b8152600401610535906129f4565b610f8e6119d2565b6001600160a01b031663edef719a33836040518363ffffffff1660e01b8152600401610fbb929190612763565b600060405180830381600087803b158015610fd557600080fd5b505af1158015610fe9573d6000803e3d6000fd5b50506040516000925060609150637a7bda0d60e11b9061100f90869086906024016127c8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061104b611461565b6001600160a01b0316633dbb202b611061611a05565b8361106c6003611486565b6040518463ffffffff1660e01b815260040161108a93929190612799565b600060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b50505050336001600160a01b03167fbb2689ff876f7ef453cf8865dde5ab10349d222e2e1383c5152fbdb083f02da285856040516110f79291906127c8565b60405180910390a250505050565b600061110f611461565b9050336001600160a01b038216146111395760405162461bcd60e51b8152600401610535906129b4565b61114161147c565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111bb9190810190611ee8565b6001600160a01b0316146105085760405162461bcd60e51b8152600401610535906129c4565b600061081f66119959541bdbdb60ca1b611a2c565b6000611200611a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016112539291906126bf565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016112869291906128ac565b60206040518083038186803b15801561129e57600080fd5b505afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112d691908101906120e2565b90505b919050565b600061081f6b53797374656d53746174757360a01b611a2c565b60006c29bcb73a342a3930b739b332b960991b848460405160200161131f939291906126e5565b6040516020818303038152906040528051906020012090506000611341611a89565b6001600160a01b03166323257c2b611357610824565b846040518363ffffffff1660e01b81526004016113759291906128ac565b60206040518083038186803b15801561138d57600080fd5b505afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c591908101906120e2565b90506113cf611a89565b6001600160a01b0316631d5b277f6113e5610824565b846113f6858863ffffffff611aa616565b6040518463ffffffff1660e01b8152600401611414939291906128ba565b600060405180830381600087803b15801561142e57600080fd5b505af1158015611442573d6000803e3d6000fd5b505050505050505050565b600061081f6524b9b9bab2b960d11b611a2c565b600061081f6c32bc3a1d26b2b9b9b2b733b2b960991b611a2c565b600061081f611a05565b6000611490611a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6114b985611ad4565b6040518363ffffffff1660e01b81526004016112869291906128ac565b600060606114e261144d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561151a57600080fd5b505afa15801561152e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115569190810190611fa8565b905060606000611564611c4f565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b815260040161158f919061280e565b60006040518083038186803b1580156115a757600080fd5b505afa1580156115bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e39190810190612012565b9150915080156116055760405162461bcd60e51b815260040161053590612964565b60608351604051908082528060200260200182016040528015611632578160200160208202803883390190505b50905060005b84518110156116ae576c29bcb73a342a3930b739b332b960991b8786838151811061165f57fe5b6020026020010151604051602001611679939291906126e5565b6040516020818303038152906040528051906020012082828151811061169b57fe5b6020908102919091010152600101611638565b5060606116b9611a89565b6001600160a01b031663b67fa7ed6116cf610824565b846040518363ffffffff1660e01b81526004016116ed92919061288c565b60006040518083038186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117419190810190611fdd565b905060005b85518110156117a25761179861178b86838151811061176157fe5b602002602001015184848151811061177557fe5b6020026020010151611c6a90919063ffffffff16565b889063ffffffff611aa616565b9650600101611746565b505050505050919050565b6060806117b8611c7f565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106117ff57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160018151811061182557fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061185057fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061187357fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061189757fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816005815181106118c357fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106118ed57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610af057fe5b60608151835101604051908082528060200260200182016040528015611946578160200160208202803883390190505b50905060005b83518110156119885783818151811061196157fe5b602002602001015182828151811061197557fe5b602090810291909101015260010161194c565b5060005b82518110156119cb578281815181106119a157fe5b60200260200101518282865101815181106119b857fe5b602090810291909101015260010161198c565b5092915050565b600061081f680a6f2dce8d0cae8d2f60bb1b611a2c565b600061081f6d2932bbb0b93222b9b1b937bbab1960911b611a2c565b600061081f7f626173653a53796e746865746978427269646765546f4f7074696d69736d00005b60008181526003602090815260408083205490516001600160a01b039091169182151591611a5c9186910161271c565b604051602081830303815290604052906119cb5760405162461bcd60e51b81526004016105359190612903565b600061081f6e466c657869626c6553746f7261676560881b611a2c565b600082820183811015611acb5760405162461bcd60e51b815260040161053590612934565b90505b92915050565b600080826005811115611ae357fe5b1415611b1057507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006112d9565b6001826005811115611b1e57fe5b1415611b4b57507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006112d9565b6002826005811115611b5957fe5b1415611b8657507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006112d9565b6003826005811115611b9457fe5b1415611bc157507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006112d9565b6005826005811115611bcf57fe5b1415611bfc57507f63726f7373446f6d61696e52656c61794761734c696d697400000000000000006112d9565b6004826005811115611c0a57fe5b1415611c3757507f63726f7373446f6d61696e436c6f73654761734c696d697400000000000000006112d9565b60405162461bcd60e51b8152600401610535906129e4565b600061081f6c45786368616e6765526174657360981b611a2c565b6000611acb8383670de0b6b3a7640000611cd0565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611cc157fe5b60200260200101818152505090565b600080600a8304611ce7868663ffffffff611d0e16565b81611cee57fe5b0490506005600a820610611d0057600a015b600a900490505b9392505050565b600082611d1d57506000611ace565b82820282848281611d2a57fe5b0414611acb5760405162461bcd60e51b815260040161053590612994565b8035611ace81612b2b565b8051611ace81612b2b565b600082601f830112611d6f57600080fd5b8151611d82611d7d82612a55565b612a2e565b91508181835260208401935060208101905083856020840282011115611da757600080fd5b60005b83811015611dd35781611dbd8882611eac565b8452506020928301929190910190600101611daa565b5050505092915050565b60008083601f840112611def57600080fd5b50813567ffffffffffffffff811115611e0757600080fd5b602083019150836040820283011115611e1f57600080fd5b9250929050565b600082601f830112611e3757600080fd5b8151611e45611d7d82612a55565b91508181835260208401935060208101905083856020840282011115611e6a57600080fd5b60005b83811015611dd35781611e808882611eac565b8452506020928301929190910190600101611e6d565b8051611ace81612b3f565b8035611ace81612b48565b8051611ace81612b48565b8035611ace81612b51565b600060208284031215611ed457600080fd5b6000611ee08484611d48565b949350505050565b600060208284031215611efa57600080fd5b6000611ee08484611d53565b60008060408385031215611f1957600080fd5b6000611f258585611d48565b9250506020611f3685828601611ea1565b9150509250929050565b60008060008060608587031215611f5657600080fd5b6000611f628787611d48565b9450506020611f7387828801611ea1565b935050604085013567ffffffffffffffff811115611f9057600080fd5b611f9c87828801611ddd565b95989497509550505050565b600060208284031215611fba57600080fd5b815167ffffffffffffffff811115611fd157600080fd5b611ee084828501611d5e565b600060208284031215611fef57600080fd5b815167ffffffffffffffff81111561200657600080fd5b611ee084828501611e26565b6000806040838503121561202557600080fd5b825167ffffffffffffffff81111561203c57600080fd5b61204885828601611e26565b9250506020611f3685828601611e96565b60006020828403121561206b57600080fd5b6000611ee08484611e96565b60008060006060848603121561208c57600080fd5b60006120988686611ea1565b93505060206120a986828701611d48565b92505060406120ba86828701611ea1565b9150509250925092565b6000602082840312156120d657600080fd5b6000611ee08484611ea1565b6000602082840312156120f457600080fd5b6000611ee08484611eac565b6000806040838503121561211357600080fd5b6000611f258585611ea1565b600061212b838361220e565b505060200190565b600061213f8383612674565b505060400190565b61215081612ae3565b82525050565b61215081612ab1565b600061216a82612a7c565b6121748185612a86565b935061217f83612a76565b8060005b838110156121ad578151612197888261211f565b97506121a283612a76565b925050600101612183565b509495945050505050565b60006121c48385612a86565b93506121cf826104f3565b8060005b858110156121ad576121e58284612a8f565b6121ef8882612133565b97506121fa83612a80565b9250506001016121d3565b61215081612abc565b612150816104f3565b612150612223826104f3565b6104f3565b600061223382612a7c565b61223d8185612a86565b935061224d818560208601612af5565b61225681612b21565b9093019392505050565b61215081612aea565b6000612276601883612a86565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b60006122af603583612a86565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612306601b83612a86565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061233f601483612a86565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b600061236f6011836112d9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061239c601683612a86565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b60006123ce601183612a86565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006123fb601b83612a86565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612434602f83612a86565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612485602183612a86565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006124c8602a83612a86565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612514601e83612a86565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b600061254d6019836112d9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612586602483612a86565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b60006125cc602883612a86565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000612616601683612a86565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000612648601b83612a86565b7f4e6f7420656e6f756768207472616e7366657261626c6520534e580000000000815260200192915050565b604082016126828280612aa2565b61268c84826126b6565b5061269a6020830183612a93565b6126a7602085018261220e565b50505050565b61215081612acd565b61215081612ad6565b60006126cb8285612217565b6020820191506126db8284612217565b5060200192915050565b60006126f18286612217565b6020820191506127018285612217565b6020820191506127118284612217565b506020019392505050565b600061272782612362565b91506127338284612217565b50602001919050565b600061272782612540565b60208101611ace8284612156565b60208101611ace8284612147565b604081016127718285612147565b611d07602083018461220e565b6040810161278c8285612156565b611d076020830184612156565b606081016127a78286612156565b81810360208301526127b98185612228565b9050611ee060408301846126ad565b604081016127718285612156565b606081016127e48287612156565b6127f1602083018661220e565b81810360408301526128048184866121b8565b9695505050505050565b60208082528101611acb818461215f565b60208101611ace8284612205565b60208101611ace828461220e565b6040810161278c828561220e565b60608101612857828661220e565b6128646020830185612147565b611ee0604083018461220e565b6060810161287f828661220e565b6128646020830185612156565b6040810161289a828561220e565b8181036020830152611ee0818461215f565b60408101612771828561220e565b606081016128c8828661220e565b612864602083018561220e565b604081016128e3828561220e565b8181036020830152611ee08184612228565b60208101611ace8284612260565b60208082528101611acb8184612228565b602080825281016112d681612269565b602080825281016112d6816122a2565b602080825281016112d6816122f9565b602080825281016112d681612332565b602080825281016112d68161238f565b602080825281016112d6816123c1565b602080825281016112d6816123ee565b602080825281016112d681612427565b602080825281016112d681612478565b602080825281016112d6816124bb565b602080825281016112d681612507565b602080825281016112d681612579565b602080825281016112d6816125bf565b602080825281016112d681612609565b602080825281016112d68161263b565b60408101612a12828661220e565b8181036020830152612a258184866121b8565b95945050505050565b60405181810167ffffffffffffffff81118282101715612a4d57600080fd5b604052919050565b600067ffffffffffffffff821115612a6c57600080fd5b5060209081020190565b60200190565b5190565b60400190565b90815260200190565b5090565b6000611acb6020840184611ea1565b6000611acb6020840184611eb7565b60006112d682612ac1565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006112d6825b60006112d682612ab1565b60005b83811015612b10578181015183820152602001612af8565b838111156126a75750506000910152565b601f01601f191690565b612b3481612ab1565b811461050857600080fd5b612b3481612abc565b612b34816104f3565b612b3481612ad656fea365627a7a72315820c1c345f2e6705e758bf60b3857eb00039fc8b5a979986e51be57c20e187389466c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "_to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "DepositFinalized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxBackedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalDebtShares",
							"type": "uint256"
						}
					],
					"name": "FeePeriodCloseFinalized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "FinalizeSynthTransfer",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "ImportedVestingEntries",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "InitiateSynthTransfer",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDepositFinalized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "_to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalInitiated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "finalizeDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "finalizeEscrowMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "snxBackedAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalDebtShares",
							"type": "uint256"
						}
					],
					"name": "finalizeFeePeriodClose",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "finalizeRewardDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "finalizeSynthTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateSynthTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationActive",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "suspendInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthTransferReceived",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthTransferSent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawTo",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x489991ee71a36fd744de523f259cb888b7644dabcdcdf9a99666bc35375f70ba",
				"urls": [
					"bzz-raw://a02caeb099ad8c4c752389b3cfc148be0e1cd903afc81dcb6b365ef133c35ad2",
					"dweb:/ipfs/QmT16rBm9w3ddjzLRvu9Pec7VZvMvA2ZX2ef7xT9HDMQCY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixBridgeToBase.sol": "SynthetixBridgeToBase"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixBridgeToBase.sol": {
						"keccak256": "0x489991ee71a36fd744de523f259cb888b7644dabcdcdf9a99666bc35375f70ba",
						"urls": [
							"bzz-raw://a02caeb099ad8c4c752389b3cfc148be0e1cd903afc81dcb6b365ef133c35ad2",
							"dweb:/ipfs/QmT16rBm9w3ddjzLRvu9Pec7VZvMvA2ZX2ef7xT9HDMQCY"
						]
					}
				},
				"version": 1
			}
		},
		"OwnerRelayOnOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620015fd380380620015fd8339810160408190526200003491620000f5565b600080546001600160a01b0319166001600160a01b0385811691909117909155829082908216620000825760405162461bcd60e51b81526004016200007990620001d1565b60405180910390fd5b60008111620000a55760405162461bcd60e51b81526004016200007990620001bf565b600280546001600160a01b0319166001600160a01b03939093169290921790915542016004555062000226915050565b8051620000e28162000201565b92915050565b8051620000e2816200021b565b6000806000606084860312156200010b57600080fd5b6000620001198686620000d5565b93505060206200012c86828701620000d5565b92505060406200013f86828701620000e8565b9150509250925092565b600062000158601483620001e3565b7f4475726174696f6e2063616e6e6f742062652030000000000000000000000000815260200192915050565b600062000193601e83620001e3565b7f54656d70206f776e657220616464726573732063616e6e6f7420626520300000815260200192915050565b60208082528101620000e28162000149565b60208082528101620000e28162000184565b90815260200190565b60006001600160a01b038216620000e2565b90565b6200020c81620001ec565b81146200021857600080fd5b50565b6200020c81620001fe565b6113c780620002366000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806379ba50971161008c578063a3578eed11610066578063a3578eed1461017e578063c3c79e5d14610186578063e3a7ef8f14610199578063f42a7bd2146101ac576100cf565b806379ba50971461014c578063899ffef41461015457806399bc0aea14610169576100cf565b806304f3bcec146100d45780631627540c146100f25780632af64bd314610107578063508d2ed71461011c57806353a47bb71461012f5780637418536014610144575b600080fd5b6100dc6101bf565b6040516100e991906111df565b60405180910390f35b610105610100366004610b7b565b6101ce565b005b61010f61022c565b6040516100e99190611195565b61010561012a366004610bbf565b610342565b6101376103ca565b6040516100e99190611100565b6101056103d9565b61010561052e565b61015c6105f4565b6040516100e99190611184565b610171610677565b6040516100e991906111a3565b61013761067d565b610105610194366004610bbf565b61068c565b6101056101a7366004610c85565b610707565b6101056101ba366004610c15565b610739565b6000546001600160a01b031681565b6101d661084d565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610221908390611100565b60405180910390a150565b600060606102386105f4565b905060005b815181101561033857600082828151811061025457fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a721906102a39085906004016111a3565b60206040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f39190810190610ba1565b6001600160a01b031614158061031e57506000818152600160205260409020546001600160a01b0316155b1561032f576000935050505061033f565b5060010161023d565b5060019150505b90565b61034a61084d565b61038a8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089a92505050565b7f5ee8f50848ed6666c1e2a13d826f32b3f50f8780c1adb816e395a3c1c959a77c8383836040516103bd93929190611129565b60405180910390a1505050565b6003546001600160a01b031681565b60606103e36105f4565b905060005b815181101561052a5760008282815181106103ff57fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161044091906110f5565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161046c9291906111bf565b60206040518083038186803b15801561048457600080fd5b505afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104bc9190810190610ba1565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061051890849084906111b1565b60405180910390a150506001016103e8565b5050565b60045442106105585760405162461bcd60e51b815260040161054f90611252565b60405180910390fd5b6003546001600160a01b031633146105825760405162461bcd60e51b815260040161054f906111fe565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105c5926001600160a01b039182169291169061110e565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061063257fe5b60200260200101818152505078626173653a4f776e657252656c61794f6e457468657265756d60381b8160018151811061066857fe5b60200260200101818152505090565b60045481565b6002546001600160a01b031681565b610694610943565b6106d48383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089a92505050565b7fd189153a8ae167b55d4663dc838d4a9f7d3f6bc9d10c6f19831143bf30b986f58383836040516103bd93929190611129565b61070f61084d565b600454814201106107325760405162461bcd60e51b815260040161054f9061121e565b4201600455565b610741610943565b60005b838110156108095761080185858381811061075b57fe5b90506020020160206107709190810190610b7b565b84848481811061077c57fe5b602002820190508035601e193684900301811261079857600080fd5b9091016020810191503567ffffffffffffffff8111156107b757600080fd5b368190038213156107c757600080fd5b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089a92505050565b600101610744565b507f5f62824dd3a89eff7c65b2cfecd20827dc0d1f8f84c7c7dca0959fe4dfb45a6c8484848460405161083f9493929190611153565b60405180910390a150505050565b600454421061086e5760405162461bcd60e51b815260040161054f90611252565b6002546001600160a01b031633146108985760405162461bcd60e51b815260040161054f90611262565b565b60006060836001600160a01b0316836040516108b691906110c2565b6000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b5091509150818160405160200161090f919061122e565b6040516020818303038152906040529061093c5760405162461bcd60e51b815260040161054f91906111ed565b5050505050565b600061094d610a22565b9050336001600160a01b038216146109775760405162461bcd60e51b815260040161054f90611272565b61097f610a42565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109f99190810190610ba1565b6001600160a01b031614610a1f5760405162461bcd60e51b815260040161054f9061120e565b50565b6000610a3d6c32bc3a1d26b2b9b9b2b733b2b960991b610a65565b905090565b6000610a3d78626173653a4f776e657252656c61794f6e457468657265756d60381b5b60008181526001602090815260408083205490516001600160a01b039091169182151591610a95918691016110d5565b60405160208183030381529060405290610ac25760405162461bcd60e51b815260040161054f91906111ed565b5092915050565b8035610ad481611367565b92915050565b8051610ad481611367565b60008083601f840112610af757600080fd5b50813567ffffffffffffffff811115610b0f57600080fd5b602083019150836020820283011115610b2757600080fd5b9250929050565b60008083601f840112610b4057600080fd5b50813567ffffffffffffffff811115610b5857600080fd5b602083019150836001820283011115610b2757600080fd5b8035610ad48161137b565b600060208284031215610b8d57600080fd5b6000610b998484610ac9565b949350505050565b600060208284031215610bb357600080fd5b6000610b998484610ada565b600080600060408486031215610bd457600080fd5b6000610be08686610ac9565b935050602084013567ffffffffffffffff811115610bfd57600080fd5b610c0986828701610b2e565b92509250509250925092565b60008060008060408587031215610c2b57600080fd5b843567ffffffffffffffff811115610c4257600080fd5b610c4e87828801610ae5565b9450945050602085013567ffffffffffffffff811115610c6d57600080fd5b610c7987828801610ae5565b95989497509550505050565b600060208284031215610c9757600080fd5b6000610b998484610b70565b6000610caf8383610cd0565b505060200190565b6000610caf8383610dfd565b6000610b99848484610e17565b610cd9816112fa565b82525050565b6000610ceb838561128c565b9350610cf68261033f565b8060005b85811015610d2c57610d0c828461129a565b610d168882610ca3565b9750610d2183611282565b925050600101610cfa565b509495945050505050565b6000610d4282611288565b610d4c818561128c565b9350610d5783611282565b8060005b83811015610d2c578151610d6f8882610cb7565b9750610d7a83611282565b925050600101610d5b565b6000610d91838561128c565b935083602084028501610da38461033f565b8060005b87811015610de7578484038952610dbe82846112a9565b610dc9868284610cc3565b9550610dd484611282565b60209b909b019a93505050600101610da7565b5091979650505050505050565b610cd981611305565b610cd98161033f565b610cd9610e128261033f565b61033f565b6000610e23838561128c565b9350610e30838584611321565b610e398361135d565b9093019392505050565b6000610e4e82611288565b610e58818561128c565b9350610e6881856020860161132d565b610e398161135d565b6000610e7c82611288565b610e868185611295565b9350610e9681856020860161132d565b9290920192915050565b610cd981611316565b6000610eb660358361128c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610f0d60208361128c565b7f4c312073656e646572206973206e6f7420746865206f776e65722072656c6179815260200192915050565b6000610f4660338361128c565b7f4e6577206578706972792074696d65206d75737420626520736f6f6e6572207481527268616e2069742063757272656e746c7920697360681b602082015260400192915050565b6000610f9b601183611295565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000610fc860138361128c565b723c21b430b4b71031b0b636103330b4b632b21d60691b815260200192915050565b6000610ff7601983611295565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061103060118361128c565b7013dddb995c9cda1a5c08195e1c1a5c9959607a1b815260200192915050565b600061105d601d8361128c565b7f4f6e6c792065786563757461626c652062792074656d70206f776e6572000000815260200192915050565b6000611096601b8361128c565b7f53656e646572206973206e6f7420746865206d657373656e6765720000000000815260200192915050565b60006110ce8284610e71565b9392505050565b60006110e082610f8e565b91506110ec8284610e06565b50602001919050565b60006110e082610fea565b60208101610ad48284610cd0565b6040810161111c8285610cd0565b6110ce6020830184610cd0565b604081016111378286610cd0565b818103602083015261114a818486610e17565b95945050505050565b60408082528101611165818688610cdf565b9050818103602083015261117a818486610d85565b9695505050505050565b602080825281016110ce8184610d37565b60208101610ad48284610df4565b60208101610ad48284610dfd565b6040810161111c8285610dfd565b604081016111cd8285610dfd565b8181036020830152610b998184610e43565b60208101610ad48284610ea0565b602080825281016110ce8184610e43565b60208082528101610ad481610ea9565b60208082528101610ad481610f00565b60208082528101610ad481610f39565b6040808252810161123e81610fbb565b905081810360208301526110ce8184610e43565b60208082528101610ad481611023565b60208082528101610ad481611050565b60208082528101610ad481611089565b60200190565b5190565b90815260200190565b919050565b60006110ce6020840184610ac9565b6000808335601e19368590030181126112c157600080fd5b83810160208101935035915067ffffffffffffffff8211156112e257600080fd5b368290038413156112f257600080fd5b509250929050565b6000610ad48261130a565b151590565b6001600160a01b031690565b6000610ad4826112fa565b82818337506000910152565b60005b83811015611348578181015183820152602001611330565b83811115611357576000848401525b50505050565b601f01601f191690565b611370816112fa565b8114610a1f57600080fd5b6113708161033f56fea365627a7a723158208182a2b0e3afeba4f33ff23bd67a92286f60de54482cbf1e0ebf0cb015157ceb6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_temporaryOwner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_ownershipDuration",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						}
					],
					"name": "DirectRelay",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address[]",
							"name": "targets",
							"type": "address[]"
						},
						{
							"indexed": false,
							"internalType": "bytes[]",
							"name": "payloads",
							"type": "bytes[]"
						}
					],
					"name": "RelayBatchFinalized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						}
					],
					"name": "RelayFinalized",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						}
					],
					"name": "directRelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "expiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						}
					],
					"name": "finalizeRelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "targets",
							"type": "address[]"
						},
						{
							"internalType": "bytes[]",
							"name": "payloads",
							"type": "bytes[]"
						}
					],
					"name": "finalizeRelayBatch",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_duration",
							"type": "uint256"
						}
					],
					"name": "setNewExpiryTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "temporaryOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x1edc5f3e830d61d03ba711dfcf8fd162239a3f42505471983013b3aee1dd6030",
				"urls": [
					"bzz-raw://fd2e0c0fc549ce727a0dbc6456f0f7f72f3b1804536582895d4426b5193c7f04",
					"dweb:/ipfs/QmS9DZzjz3EHk9v9Rtpy13kE4aghSNEraK2oNwjhWP3uET"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OwnerRelayOnOptimism.sol": "OwnerRelayOnOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OwnerRelayOnOptimism.sol": {
						"keccak256": "0x1edc5f3e830d61d03ba711dfcf8fd162239a3f42505471983013b3aee1dd6030",
						"urls": [
							"bzz-raw://fd2e0c0fc549ce727a0dbc6456f0f7f72f3b1804536582895d4426b5193c7f04",
							"dweb:/ipfs/QmS9DZzjz3EHk9v9Rtpy13kE4aghSNEraK2oNwjhWP3uET"
						]
					}
				},
				"version": 1
			}
		},
		"DebtMigratorOnOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001abd38038062001abd833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61189680620002276000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637418536011610071578063741853601461013e57806379ba50971461014657806388c4ca6f1461014e578063899ffef4146101565780638da5cb5b1461016b578063e0d3917214610173576100b4565b806304f3bcec146100b95780631627540c146100d757806323d02b5c146100ec5780632af64bd3146100ff57806353a47bb714610114578063614d08f814610129575b600080fd5b6100c161017b565b6040516100ce9190611701565b60405180910390f35b6100ea6100e5366004611111565b61018a565b005b6100ea6100fa366004611155565b6101e8565b61010761032c565b6040516100ce919061169b565b61011c610444565b6040516100ce919061161e565b610131610453565b6040516100ce91906116a9565b6100ea610470565b6100ea6105c6565b61013161066b565b61015e61074c565b6040516100ce919061168a565b61011c6107c1565b6101316107d0565b6002546001600160a01b031681565b610192610804565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101dd90839061161e565b60405180910390a150565b6101f0610830565b610201632932b1bb60e11b8661090f565b61024082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a6892505050565b8315610250576102508685610b1d565b82156102df5761025e610cf0565b6001600160a01b031663a9059cbb87856040518363ffffffff1660e01b815260040161028b929190611647565b602060405180830381600087803b1580156102a557600080fd5b505af11580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102dd91908101906111e5565b505b856001600160a01b03167f0b107f4be9b6ab562392e2a3650c66e27e0f705a88da4075fa6d0654806347f386868660405161031c939291906116d3565b60405180910390a2505050505050565b6000606061033861074c565b905060005b815181101561043a57600082828151811061035457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103a59085906004016116a9565b60206040518083038186803b1580156103bd57600080fd5b505afa1580156103d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103f59190810190611137565b6001600160a01b031614158061042057506000818152600360205260409020546001600160a01b0316155b156104315760009350505050610441565b5060010161033d565b5060019150505b90565b6001546001600160a01b031681565b75446562744d69677261746f724f6e4f7074696d69736d60501b90565b606061047a61074c565b905060005b81518110156105c257600082828151811061049657fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104d89190611613565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016105049291906116e1565b60206040518083038186803b15801561051c57600080fd5b505afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105549190810190611137565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105b090849084906116b7565b60405180910390a1505060010161047f565b5050565b6001546001600160a01b031633146105f95760405162461bcd60e51b81526004016105f090611720565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261063c926001600160a01b039182169291169061162c565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000806b2232b13a2a3930b739b332b960a11b6314d95b9d60e21b6253445360e81b60405160200161069f939291906115a9565b60405160208183030381529060405280519060200120905060006106c1610d0c565b6001600160a01b03166323257c2b6106d7610453565b846040518363ffffffff1660e01b81526004016106f59291906116c5565b60206040518083038186803b15801561070d57600080fd5b505afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107459190810190611203565b9250505090565b606080610757610d29565b60408051600180825281830190925291925060609190602080830190803883390190505090507f626173653a446562744d69677261746f724f6e457468657265756d0000000000816000815181106107ab57fe5b6020026020010181815250506107458282610ded565b6000546001600160a01b031681565b6000806b2232b13a2a3930b739b332b960a11b632932b1bb60e11b6253445360e81b60405160200161069f939291906115a9565b6000546001600160a01b0316331461082e5760405162461bcd60e51b81526004016105f090611760565b565b600061083a610ea9565b9050336001600160a01b038216146108645760405162461bcd60e51b81526004016105f0906117a4565b61086c610ec4565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ae57600080fd5b505afa1580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e69190810190611137565b6001600160a01b03161461090c5760405162461bcd60e51b81526004016105f090611740565b50565b60006b2232b13a2a3930b739b332b960a11b836253445360e81b60405160200161093b939291906115a9565b604051602081830303815290604052805190602001209050600061095d610d0c565b6001600160a01b03166323257c2b610973610453565b846040518363ffffffff1660e01b81526004016109919291906116c5565b60206040518083038186803b1580156109a957600080fd5b505afa1580156109bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e19190810190611203565b90506109eb610d0c565b6001600160a01b0316631d5b277f610a01610453565b84610a12858863ffffffff610ece16565b6040518463ffffffff1660e01b8152600401610a30939291906116d3565b600060405180830381600087803b158015610a4a57600080fd5b505af1158015610a5e573d6000803e3d6000fd5b5050505050505050565b6000610a72610efc565b905060006060826001600160a01b031684604051610a9091906115e0565b6000604051808303816000865af19150503d8060008114610acd576040519150601f19603f3d011682016040523d82523d6000602084013e610ad2565b606091505b50915091508181604051602001610ae99190611780565b60405160208183030381529060405290610b165760405162461bcd60e51b81526004016105f0919061170f565b5050505050565b600a6249d4006000610b3d8467016345785d8a000063ffffffff610f1016565b9050610b47610cf0565b6001600160a01b031663095ea7b3610b5d610f3a565b866040518363ffffffff1660e01b8152600401610b7b929190611647565b602060405180830381600087803b158015610b9557600080fd5b505af1158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bcd91908101906111e5565b506000805b84811015610ce75760018503811415610c68576000610bf7878463ffffffff610f5616565b9050610c01610f3a565b6001600160a01b031663a0416ed38983886040518463ffffffff1660e01b8152600401610c3093929190611662565b600060405180830381600087803b158015610c4a57600080fd5b505af1158015610c5e573d6000803e3d6000fd5b5050505050610cd2565b610c70610f3a565b6001600160a01b031663a0416ed38885876040518463ffffffff1660e01b8152600401610c9f93929190611662565b600060405180830381600087803b158015610cb957600080fd5b505af1158015610ccd573d6000803e3d6000fd5b505050505b6224ea00939093019290820190600101610bd2565b50505050505050565b6000610d07680a6f2dce8d0cae8d2f60bb1b610f7e565b905090565b6000610d076e466c657869626c6553746f7261676560881b610f7e565b606080610d34610fdb565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b81600081518110610d7957fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110610da457fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610dc757fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106107ab57fe5b60608151835101604051908082528060200260200182016040528015610e1d578160200160208202803883390190505b50905060005b8351811015610e5f57838181518110610e3857fe5b6020026020010151828281518110610e4c57fe5b6020908102919091010152600101610e23565b5060005b8251811015610ea257828181518110610e7857fe5b6020026020010151828286510181518110610e8f57fe5b6020908102919091010152600101610e63565b5092915050565b6000610d076c32bc3a1d26b2b9b9b2b733b2b960991b610f7e565b6000610d0761102c565b600082820183811015610ef35760405162461bcd60e51b81526004016105f090611730565b90505b92915050565b6000610d076524b9b9bab2b960d11b610f7e565b6000670de0b6b3a7640000610f2b848463ffffffff61105716565b81610f3257fe5b049392505050565b6000610d076d2932bbb0b93222b9b1b937bbab1960911b610f7e565b600082821115610f785760405162461bcd60e51b81526004016105f090611750565b50900390565b60008181526003602090815260408083205490516001600160a01b039091169182151591610fae918691016115f3565b60405160208183030381529060405290610ea25760405162461bcd60e51b81526004016105f0919061170f565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061101d57fe5b60200260200101818152505090565b6000610d077f626173653a446562744d69677261746f724f6e457468657265756d0000000000610f7e565b60008261106657506000610ef6565b8282028284828161107357fe5b0414610ef35760405162461bcd60e51b81526004016105f090611770565b8035610ef68161182d565b8051610ef68161182d565b8051610ef681611841565b60008083601f8401126110c457600080fd5b50813567ffffffffffffffff8111156110dc57600080fd5b6020830191508360018202830111156110f457600080fd5b9250929050565b8035610ef68161184a565b8051610ef68161184a565b60006020828403121561112357600080fd5b600061112f8484611091565b949350505050565b60006020828403121561114957600080fd5b600061112f848461109c565b60008060008060008060a0878903121561116e57600080fd5b600061117a8989611091565b965050602061118b89828a016110fb565b955050604061119c89828a016110fb565b94505060606111ad89828a016110fb565b935050608087013567ffffffffffffffff8111156111ca57600080fd5b6111d689828a016110b2565b92509250509295509295509295565b6000602082840312156111f757600080fd5b600061112f84846110a7565b60006020828403121561121557600080fd5b600061112f8484611106565b600061122d83836112a6565b505060200190565b61123e816117cc565b82525050565b600061124f826117ba565b61125981856117be565b9350611264836117b4565b8060005b8381101561129257815161127c8882611221565b9750611287836117b4565b925050600101611268565b509495945050505050565b61123e816117d7565b61123e81610441565b61123e6112bb82610441565b610441565b60006112cb826117ba565b6112d581856117be565b93506112e58185602086016117f3565b6112ee81611823565b9093019392505050565b6000611303826117ba565b61130d81856117c7565b935061131d8185602086016117f3565b9290920192915050565b61123e816117e8565b600061133d6035836117be565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611394601b836117be565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006113cd6022836117be565b7f4c312073656e646572206973206e6f74207468652064656274206d696772617481526137b960f11b602082015260400192915050565b6000611411601e836117be565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061144a6011836117c7565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611477602f836117be565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006114c86021836117be565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061150b6019836117c7565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611544601a836117be565b7f66696e616c697a6520646562742063616c6c206661696c65643a000000000000815260200192915050565b600061157d601b836117be565b7f53656e646572206973206e6f7420746865206d657373656e6765720000000000815260200192915050565b60006115b582866112af565b6020820191506115c582856112af565b6020820191506115d582846112af565b506020019392505050565b60006115ec82846112f8565b9392505050565b60006115fe8261143d565b915061160a82846112af565b50602001919050565b60006115fe826114fe565b60208101610ef68284611235565b6040810161163a8285611235565b6115ec6020830184611235565b604081016116558285611235565b6115ec60208301846112a6565b606081016116708286611235565b61167d60208301856112a6565b61112f60408301846112a6565b602080825281016115ec8184611244565b60208101610ef6828461129d565b60208101610ef682846112a6565b6040810161163a82856112a6565b6040810161165582856112a6565b6060810161167082866112a6565b604081016116ef82856112a6565b818103602083015261112f81846112c0565b60208101610ef68284611327565b602080825281016115ec81846112c0565b60208082528101610ef681611330565b60208082528101610ef681611387565b60208082528101610ef6816113c0565b60208082528101610ef681611404565b60208082528101610ef68161146a565b60208082528101610ef6816114bb565b6040808252810161179081611537565b905081810360208301526115ec81846112c0565b60208082528101610ef681611570565b60200190565b5190565b90815260200190565b919050565b6000610ef6826117dc565b151590565b6001600160a01b031690565b6000610ef6826117cc565b60005b8381101561180e5781810151838201526020016117f6565b8381111561181d576000848401525b50505050565b601f01601f191690565b611836816117cc565b811461090c57600080fd5b611836816117d7565b6118368161044156fea365627a7a72315820e2bc13fdf0e5c10b4b0601bde28ed15754886786be6ab0873218de46fa0c3b456c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalDebtSharesMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalEscrowMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalLiquidBalanceMigrated",
							"type": "uint256"
						}
					],
					"name": "MigrationFinalized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtTransferReceived",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtTransferSent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtSharesMigrated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowMigrated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "liquidSnxMigrated",
							"type": "uint256"
						},
						{
							"internalType": "bytes",
							"name": "debtPayload",
							"type": "bytes"
						}
					],
					"name": "finalizeDebtMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x5f814a124b8925fa1229d193988b0f860d780086f6ae3f15cc32a63dbaaab8cd",
				"urls": [
					"bzz-raw://affb0c6a7c55476d88e719acdc5bc0e4652a17c876d3a0940294ea489ce0a5f9",
					"dweb:/ipfs/QmdEhZgh7oK9o86BBkfA9ahEDZEGayLxxdn7NPjuFzLUVV"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtMigratorOnOptimism.sol": "DebtMigratorOnOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DebtMigratorOnOptimism.sol": {
						"keccak256": "0x5f814a124b8925fa1229d193988b0f860d780086f6ae3f15cc32a63dbaaab8cd",
						"urls": [
							"bzz-raw://affb0c6a7c55476d88e719acdc5bc0e4652a17c876d3a0940294ea489ce0a5f9",
							"dweb:/ipfs/QmdEhZgh7oK9o86BBkfA9ahEDZEGayLxxdn7NPjuFzLUVV"
						]
					}
				},
				"version": 1
			}
		},
		"SynthRedeemer": {
			"bytecode": "608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820e12c9e504f6edf877a2a72600a7c6dd84a86f736ed8a6f378a4e807f4292b2b364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateToRedeem",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalSynthSupply",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthDeprecated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthRedeemed",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "balanceInsUSD",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "rateToRedeem",
							"type": "uint256"
						}
					],
					"name": "deprecate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						}
					],
					"name": "redeem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20[]",
							"name": "synthProxies",
							"type": "address[]"
						}
					],
					"name": "redeemAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						}
					],
					"name": "redeemPartial",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "redemptions",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						}
					],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "supplyInsUSD",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f",
				"urls": [
					"bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110",
					"dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthRedeemer.sol": "SynthRedeemer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthRedeemer.sol": {
						"keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f",
						"urls": [
							"bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110",
							"dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN"
						]
					}
				},
				"version": 1
			}
		},
		"WrapperFactory": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162003ead38038062003ead8339810160408190526200003491620000fa565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f90620001b6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000190565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002119050565b8051620000f481620001f7565b92915050565b600080604083850312156200010e57600080fd5b60006200011c8585620000e7565b92505060206200012f85828601620000e7565b9150509250929050565b6200014481620001e3565b82525050565b6200014481620001d1565b600062000164601983620001c8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a0828562000139565b620001af60208301846200014a565b9392505050565b60208082528101620000f48162000155565b90815260200190565b60006001600160a01b038216620000f4565b6000620000f4826000620000f482620001d1565b6200020281620001d1565b81146200020e57600080fd5b50565b613c8c80620002216000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b1462000232578063a106935d146200024a578063bb57ad20146200026f578063e0aa2797146200028757620000d4565b806375d920a914620001db57806379ba509714620001f3578063899ffef4146200020b57620000d4565b806304f3bcec14620000f75780631627540c14620001275780632af64bd3146200014e57806353a47bb71462000175578063614d08f8146200019c5780637418536014620001c3575b60405162461bcd60e51b8152600401620000ee90620011cf565b60405180910390fd5b3480156200010457600080fd5b506200010f620002ac565b6040516200011e919062001176565b60405180910390f35b3480156200013457600080fd5b506200014c6200014636600462000c73565b620002bb565b005b3480156200015b57600080fd5b50620001666200031d565b6040516200011e9190620010e4565b3480156200018257600080fd5b506200018d62000443565b6040516200011e91906200101d565b348015620001a957600080fd5b50620001b462000452565b6040516200011e9190620010f4565b348015620001d057600080fd5b506200014c62000467565b348015620001e857600080fd5b50620001b4620005cc565b3480156200020057600080fd5b506200014c6200065e565b3480156200021857600080fd5b5062000223620006ff565b6040516200011e9190620010d1565b3480156200023f57600080fd5b506200018d6200079d565b3480156200025757600080fd5b506200018d6200026936600462000cde565b620007ac565b3480156200027c57600080fd5b506200014c6200093b565b3480156200029457600080fd5b5062000166620002a636600462000c73565b62000a83565b6002546001600160a01b031681565b620002c562000b2f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290620003129083906200101d565b60405180910390a150565b600060606200032b620006ff565b905060005b8151811015620004395760008282815181106200034957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906200039c908590600401620010f4565b60206040518083038186803b158015620003b557600080fd5b505afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003f0919081019062000c9c565b6001600160a01b03161415806200041c57506000818152600360205260409020546001600160a01b0316155b156200042f576000935050505062000440565b5060010162000330565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b606062000473620006ff565b905060005b8151811015620005c85760008282815181106200049157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001620004d5919062001010565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200050392919062001152565b60206040518083038186803b1580156200051c57600080fd5b505afa15801562000531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000557919081019062000c9c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890620005b5908490849062001104565b60405180910390a1505060010162000478565b5050565b6000620005d862000b5e565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016200060591906200102d565b60206040518083038186803b1580156200061e57600080fd5b505afa15801562000633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000659919081019062000d32565b905090565b6001546001600160a01b031633146200068b5760405162461bcd60e51b8152600401620000ee9062001199565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92620006d0926001600160a01b03918216929116906200103d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200073c57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200076957fe5b60200260200101818152505066119959541bdbdb60ca1b816002815181106200078e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620007b862000b2f565b600080546002546040516001600160a01b039283169290911690879087908790620007e39062000c11565b620007f39594939291906200105c565b604051809103906000f08015801562000810573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200084f57600080fd5b505af115801562000864573d6000803e3d6000fd5b505050506200087262000b77565b604051631d5b277f60e01b81526001600160a01b0391821691631d5b277f91620008b9916d57726170706572466163746f727960901b919086169060019060040162001124565b600060405180830381600087803b158015620008d457600080fd5b505af1158015620008e9573d6000803e3d6000fd5b5050505083856001600160a01b03167f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e836040516200092991906200102d565b60405180910390a390505b9392505050565b600062000947620005cc565b9050801562000a805760006200095c62000b5e565b6001600160a01b031663a9059cbb6200097462000b96565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015620009ad57600080fd5b505afa158015620009c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620009e8919081019062000c9c565b846040518363ffffffff1660e01b815260040162000a08929190620010b2565b602060405180830381600087803b15801562000a2357600080fd5b505af115801562000a38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000a5e919081019062000cbd565b905080620005c85760405162461bcd60e51b8152600401620000ee90620011ab565b50565b60008062000a9062000b77565b6040516323257c2b60e01b81526001600160a01b03918216916323257c2b9162000ad4916d57726170706572466163746f727960901b919088169060040162001114565b60206040518083038186803b15801562000aed57600080fd5b505afa15801562000b02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000b28919081019062000d32565b1192915050565b6000546001600160a01b0316331462000b5c5760405162461bcd60e51b8152600401620000ee90620011bd565b565b6000620006596814de5b9d1a1cd554d160ba1b62000ba8565b6000620006596e466c657869626c6553746f7261676560881b62000ba8565b60006200065966119959541bdbdb60ca1b5b60008181526003602090815260408083205490516001600160a01b03909116918215159162000bda9186910162000fec565b6040516020818303038152906040529062000c0a5760405162461bcd60e51b8152600401620000ee919062001186565b5092915050565b6129a380620012a783390190565b803562000c2c816200126e565b92915050565b805162000c2c816200126e565b805162000c2c8162001285565b803562000c2c8162001290565b803562000c2c816200129b565b805162000c2c8162001290565b60006020828403121562000c8657600080fd5b600062000c94848462000c1f565b949350505050565b60006020828403121562000caf57600080fd5b600062000c94848462000c32565b60006020828403121562000cd057600080fd5b600062000c94848462000c3f565b60008060006060848603121562000cf457600080fd5b600062000d02868662000c59565b935050602062000d158682870162000c4c565b925050604062000d288682870162000c4c565b9150509250925092565b60006020828403121562000d4557600080fd5b600062000c94848462000c66565b600062000d61838362000df5565b505060200190565b62000d748162001224565b82525050565b62000d7481620011f9565b600062000d9282620011e7565b62000d9e8185620011eb565b935062000dab83620011e1565b8060005b8381101562000ddf57815162000dc6888262000d53565b975062000dd383620011e1565b92505060010162000daf565b509495945050505050565b62000d748162001206565b62000d748162000440565b62000d7462000e0f8262000440565b62000440565b62000d74816200120b565b600062000e2d82620011e7565b62000e398185620011eb565b935062000e4b81856020860162001231565b62000e568162001264565b9093019392505050565b600062000e6f603583620011eb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600062000ec8601183620011f4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600062000ef7601883620011eb565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b600062000f32602f83620011eb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600062000f85601983620011f4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600062000fc0601783620011eb565b7f436f6e7472616374206973206e6f742070617961626c65000000000000000000815260200192915050565b600062000ff98262000eb9565b915062001007828462000e00565b50602001919050565b600062000ff98262000f76565b6020810162000c2c828462000d7a565b6020810162000c2c828462000d69565b604081016200104d828562000d7a565b62000934602083018462000d7a565b60a081016200106c828862000d7a565b6200107b602083018762000d7a565b6200108a604083018662000e15565b62001099606083018562000df5565b620010a8608083018462000df5565b9695505050505050565b60408101620010c2828562000d7a565b62000934602083018462000df5565b6020808252810162000934818462000d85565b6020810162000c2c828462000dea565b6020810162000c2c828462000df5565b604081016200104d828562000df5565b60408101620010c2828562000df5565b6060810162001134828662000df5565b62001143602083018562000df5565b62000c94604083018462000df5565b6040810162001162828562000df5565b818103602083015262000c94818462000e20565b6020810162000c2c828462000e15565b6020808252810162000934818462000e20565b6020808252810162000c2c8162000e60565b6020808252810162000c2c8162000ee8565b6020808252810162000c2c8162000f23565b6020808252810162000c2c8162000fb1565b60200190565b5190565b90815260200190565b919050565b600062000c2c8262001218565b151590565b600062000c2c82620011f9565b6001600160a01b031690565b600062000c2c826200120b565b60005b838110156200124e57818101518382015260200162001234565b838111156200125e576000848401525b50505050565b601f01601f191690565b6200127981620011f9565b811462000a8057600080fd5b620012798162001206565b620012798162000440565b62001279816200120b56fe60806040523480156200001157600080fd5b50604051620029a3380380620029a38339810160408190526200003491620001f7565b8380866001600160a01b038116620000695760405162461bcd60e51b8152600401620000609062000388565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000331565b60405180910390a1506000546001600160a01b0316620000ea5760405162461bcd60e51b8152600401620000609062000376565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060085560405163095ea7b360e01b81529116915063095ea7b3906200015b9030906000199060040162000357565b602060405180830381600087803b1580156200017657600080fd5b505af11580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001b1919081019062000277565b50505050505062000419565b8051620001ca81620003de565b92915050565b8051620001ca81620003f8565b8051620001ca8162000403565b8051620001ca816200040e565b600080600080600060a086880312156200021057600080fd5b60006200021e8888620001bd565b95505060206200023188828901620001bd565b94505060406200024488828901620001ea565b93505060606200025788828901620001dd565b92505060806200026a88828901620001dd565b9150509295509295909350565b6000602082840312156200028a57600080fd5b6000620002988484620001d0565b949350505050565b620002ab81620003d1565b82525050565b620002ab81620003a3565b6000620002cb6011836200039a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002fa6019836200039a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620002ab81620003b5565b60408101620003418285620002a0565b620003506020830184620002b1565b9392505050565b60408101620003678285620002a0565b62000350602083018462000326565b60208082528101620001ca81620002bc565b60208082528101620001ca81620002eb565b90815260200190565b6000620001ca82620003c5565b151590565b90565b6000620001ca82620003a3565b6001600160a01b031690565b6000620001ca82620003b8565b620003e981620003a3565b8114620003f557600080fd5b50565b620003e981620003b0565b620003e981620003b5565b620003e981620003b8565b61257a80620004296000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d68146103d1578063dbd06c85146103f1578063ee5f3f5c14610406578063fc0c546a1461041b57610166565b80638a926d0f146103925780638da5cb5b146103a757806391b4ded9146103bc57610166565b80635c975abb146102fc5780635cfc1a51146103115780636ad8826914610326578063741853601461034657806379ba50971461035b578063899ffef41461037057610166565b80631f23a352116101235780631f23a352146102405780632af64bd31461025557806342966c6814610277578063509bf42a1461029757806353a47bb7146102ac5780635c095e54146102ce57610166565b806304f3bcec146101875780630902f1ac146101b25780631627540c146101d457806316c38b3c146101f657806317c943bc1461021657806318819a311461022b575b60405162461bcd60e51b815260040161017e90612393565b60405180910390fd5b34801561019357600080fd5b5061019c610430565b6040516101a99190612364565b60405180910390f35b3480156101be57600080fd5b506101c7610444565b6040516101a991906122ff565b3480156101e057600080fd5b506101f46101ef366004611c2a565b6104cb565b005b34801561020257600080fd5b506101f4610211366004611c6e565b610529565b34801561022257600080fd5b506101c761059e565b34801561023757600080fd5b506101c76105a4565b34801561024c57600080fd5b506101c76105af565b34801561026157600080fd5b5061026a6105b5565b6040516101a991906122f1565b34801561028357600080fd5b506101f4610292366004611cc8565b6106d1565b3480156102a357600080fd5b506101c7610b13565b3480156102b857600080fd5b506102c1610b1e565b6040516101a9919061223d565b3480156102da57600080fd5b506102ee6102e9366004611cc8565b610b2d565b6040516101a9929190612463565b34801561030857600080fd5b5061026a610b82565b34801561031d57600080fd5b506101c7610b8b565b34801561033257600080fd5b506102ee610341366004611cc8565b610bcd565b34801561035257600080fd5b506101f4610bda565b34801561036757600080fd5b506101f4610d30565b34801561037c57600080fd5b50610385610dcc565b6040516101a991906122e0565b34801561039e57600080fd5b506101c7610eee565b3480156103b357600080fd5b506102c1610ef9565b3480156103c857600080fd5b506101c7610f08565b3480156103dd57600080fd5b506101f46103ec366004611cc8565b610f0e565b3480156103fd57600080fd5b506101c761126d565b34801561041257600080fd5b506101c7611273565b34801561042757600080fd5b5061019c6112b7565b60035461010090046001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a082319061047590309060040161224b565b60206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c59190810190611caa565b90505b90565b6104d36112c6565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061051e90839061223d565b60405180910390a150565b6105316112c6565b60035460ff16151581151514156105475761059b565b6003805460ff1916821515179081905560ff161561056457426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161051e9160ff909116906122f1565b50565b60085481565b60006104c5306112f2565b60075481565b600060606105c1610dcc565b905060005b81518110156106c85760008282815181106105dd57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610633918691016122ff565b60206040518083038186803b15801561064b57600080fd5b505afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106839190810190611c50565b6001600160a01b03161415806106ae57506000818152600460205260409020546001600160a01b0316155b156106bf57600093505050506104c8565b506001016105c6565b50600191505090565b60035460ff16156106f45760405162461bcd60e51b815260040161017e90612433565b6106fc6113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506107546113e7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161077f919061224b565b60206040518083038186803b15801561079757600080fd5b505afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107cf9190810190611caa565b8111156107ee5760405162461bcd60e51b815260040161017e90612423565b6107f66113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b815260040161082391906122ff565b60206040518083038186803b15801561083b57600080fd5b505afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108739190810190611c8c565b156108905760405162461bcd60e51b815260040161017e906123c3565b600061089a611273565b116108b75760405162461bcd60e51b815260040161017e90612453565b6000806108c5600854610bcd565b9150915060008082156109935784600854106108e157846108f4565b6008546108f4908563ffffffff61140f16565b915061098c610901610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561094557600080fd5b505af4158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097d9190810190611caa565b8491900363ffffffff61143716565b9050610a60565b60085485906109a8908663ffffffff61146116565b106109b357846109c6565b6008546109c6908563ffffffff61146116565b9150610a5d6109d3610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1757600080fd5b505af4158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a4f9190810190611caa565b84910163ffffffff61148d16565b90505b600083610a7c57610a77838363ffffffff61140f16565b610a7f565b60005b600554909150600090610a9d906001600160a01b03163033866114b7565b905080610abc5760405162461bcd60e51b815260040161017e906123f3565b610ac58461154f565b336001600160a01b03167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0848487604051610b0293929190612349565b60405180910390a250505050505050565b60006104c530611725565b6001546001600160a01b031681565b6000806000610b3a6105a4565b90506000811215610b6557610b5984600083900363ffffffff61177716565b60019250925050610b7d565b610b75848263ffffffff61177716565b600092509250505b915091565b60035460ff1681565b600080610b96610444565b90506000610ba2610eee565b9050808210610bb6576000925050506104c8565b610bc6818363ffffffff61140f16565b9250505090565b6000806000610b3a610b13565b6060610be4610dcc565b905060005b8151811015610d2c576000828281518110610c0057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c429190612232565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c6e929190612329565b60206040518083038186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cbe9190810190611c50565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d1a908490849061230d565b60405180910390a15050600101610be9565b5050565b6001546001600160a01b03163314610d5a5760405162461bcd60e51b815260040161017e90612383565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d9d926001600160a01b039182169291169061228f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610dd761178c565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b81600081518110610e1857fe5b60200260200101818152505060075481600181518110610e3457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610e5e57fe5b6020026020010181815250506844656274436163686560b81b81600381518110610e8457fe5b6020026020010181815250506b53797374656d53746174757360a01b81600481518110610ead57fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610ed857fe5b602002602001018181525050610bc682826117dd565b60006104c530611899565b6000546001600160a01b031681565b60025481565b60035460ff1615610f315760405162461bcd60e51b815260040161017e90612433565b610f396113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b5050600554604051636eb1769f60e11b81526001600160a01b03909116925063dd62ed3e9150610fbb9033903090600401612259565b60206040518083038186803b158015610fd357600080fd5b505afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100b9190810190611caa565b81111561102a5760405162461bcd60e51b815260040161017e906123a3565b6005546040516370a0823160e01b81526001600160a01b03909116906370a082319061105a90339060040161224b565b60206040518083038186803b15801561107257600080fd5b505afa158015611086573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110aa9190810190611caa565b8111156110c95760405162461bcd60e51b815260040161017e90612423565b6110d16113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004016110fe91906122ff565b60206040518083038186803b15801561111657600080fd5b505afa15801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114e9190810190611c8c565b1561116b5760405162461bcd60e51b815260040161017e906123c3565b6000611175610b8b565b9050600081116111975760405162461bcd60e51b815260040161017e90612443565b60008282106111a657826111a8565b815b90506000806111b683610b2d565b915091506000816111d6576111d1848463ffffffff61140f16565b6111e6565b6111e6848463ffffffff61146116565b600554909150600090611204906001600160a01b03163330886114b7565b9050806112235760405162461bcd60e51b815260040161017e906123f3565b61122c826118e9565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919838561125a578661125d565b60005b88604051610b0293929190612349565b60065481565b600061127d6113f4565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040161047593929190612349565b6005546001600160a01b031681565b6000546001600160a01b031633146112f05760405162461bcd60e51b815260040161017e90612403565b565b60006112fc611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b856040516020016113449291906121ec565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161137792919061231b565b60206040518083038186803b15801561138f57600080fd5b505afa1580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c79190810190611caa565b92915050565b60006104c56b53797374656d53746174757360a01b611a21565b60006104c5600754611a21565b60006104c56c45786368616e6765526174657360981b611a21565b6000828211156114315760405162461bcd60e51b815260040161017e906123d3565b50900390565b6000670de0b6b3a7640000611452848463ffffffff611a7e16565b8161145957fe5b049392505050565b6000828201838110156114865760405162461bcd60e51b815260040161017e906123b3565b9392505050565b6000611486826114ab85670de0b6b3a764000063ffffffff611a7e16565b9063ffffffff611ab816565b600060608484846040516024016114d0939291906122aa565b60408051601f19818403018152919052602080820180516001600160e01b03166323b872dd60e01b178152825160ff600090815293945092908390828b5af161151857600080fd5b60005160ff8114611536576001811461153657801561153f57600080fd5b60019350611544565b600093505b505050949350505050565b6000611559610444565b600854909150600090611572838563ffffffff61146116565b1161157e5760006115a1565b6008546115a190611595848663ffffffff61146116565b9063ffffffff61140f16565b905060006115ad6113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b81526004016115e593929190612349565b60206040518083038186803b1580156115fd57600080fd5b505afa158015611611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116359190810190611caa565b905061163f6113e7565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040161166c929190612274565b600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b505050506000811115611716576116af611aed565b6001600160a01b031663867904b46116c5611b04565b836040518363ffffffff1660e01b81526004016116e39291906122d2565b600060405180830381600087803b1580156116fd57600080fd5b505af1158015611711573d6000803e3d6000fd5b505050505b61171f83611b20565b50505050565b600061172f611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b856040516020016113449291906121ec565b60006114868383670de0b6b3a7640000611b95565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b835181101561184f5783818151811061182857fe5b602002602001015182828151811061183c57fe5b6020908102919091010152600101611813565b5060005b82518110156118925782818151811061186857fe5b602002602001015182828651018151811061187f57fe5b6020908102919091010152600101611853565b5092915050565b60006118a3611a08565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b856040516020016113449291906121ec565b60006118f3610444565b9050600061190c8360085461146190919063ffffffff16565b821161191957600061193d565b60085461193d90611930908563ffffffff61146116565b839063ffffffff61140f16565b905060006119496113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040161198193929190612349565b60206040518083038186803b15801561199957600080fd5b505afa1580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d19190810190611caa565b90506119db6113e7565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040161166c929190612274565b60006104c56e466c657869626c6553746f7261676560881b5b60008181526004602090815260408083205490516001600160a01b039091169182151591611a5191869101612212565b604051602081830303815290604052906118925760405162461bcd60e51b815260040161017e9190612372565b600082611a8d575060006113c7565b82820282848281611a9a57fe5b04146114865760405162461bcd60e51b815260040161017e90612413565b6000808211611ad95760405162461bcd60e51b815260040161017e906123e3565b6000828481611ae457fe5b04949350505050565b60006104c56814de5b9d1a1cd554d160ba1b611a21565b60006104c56d57726170706572466163746f727960901b611a21565b611b28611bd1565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b8152600401611b5b92919061231b565b600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b50505060089190915550565b600080600a8304611bac868663ffffffff611a7e16565b81611bb357fe5b0490506005600a820610611bc557600a015b600a9004949350505050565b60006104c56844656274436163686560b81b611a21565b80356113c781612511565b80516113c781612511565b80356113c781612525565b80516113c781612525565b80516113c78161252e565b80356113c78161252e565b600060208284031215611c3c57600080fd5b6000611c488484611be8565b949350505050565b600060208284031215611c6257600080fd5b6000611c488484611bf3565b600060208284031215611c8057600080fd5b6000611c488484611bfe565b600060208284031215611c9e57600080fd5b6000611c488484611c09565b600060208284031215611cbc57600080fd5b6000611c488484611c14565b600060208284031215611cda57600080fd5b6000611c488484611c1f565b6000611cf28383611d85565b505060200190565b611d03816124b2565b82525050565b611d0381612496565b611d03611d1e82612496565b6124f0565b6000611d2e82612484565b611d388185612488565b9350611d438361247e565b8060005b83811015611d71578151611d5b8882611ce6565b9750611d668361247e565b925050600101611d47565b509495945050505050565b611d03816124a1565b611d03816104c8565b611d03611d9a826104c8565b6104c8565b611d03816124b9565b6000611db382612484565b611dbd8185612488565b9350611dcd8185602086016124c4565b611dd681612501565b9093019392505050565b6000611ded603583612488565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611e44601d83612488565b7f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000815260200192915050565b6000611e7d601983612488565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000611eb6601b83612488565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611eef601883612488565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000611f28601e83612488565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611f61601a83612488565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611f9a601183612491565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611fc7601883612488565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b6000612000602f83612488565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612051602183612488565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612094601283612488565b7142616c616e636520697320746f6f206c6f7760701b815260200192915050565b60006120c2603c83612488565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000612121601983612491565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061215a602683612488565b7f436f6e747261637420686173206e6f20737061726520636170616369747920748152651bc81b5a5b9d60d21b602082015260400192915050565b60006121a2603583612488565b7f436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20815274746f6b656e2062616c616e6365206973207a65726f60581b602082015260400192915050565b60006121f88285611d8e565b6020820191506122088284611d12565b5060140192915050565b600061221d82611f8d565b91506122298284611d8e565b50602001919050565b600061221d82612114565b602081016113c78284611d09565b602081016113c78284611cfa565b604081016122678285611cfa565b6114866020830184611cfa565b604081016122828285611cfa565b6114866020830184611d85565b6040810161229d8285611d09565b6114866020830184611d09565b606081016122b88286611d09565b6122c56020830185611d09565b611c486040830184611d85565b604081016122828285611d09565b602080825281016114868184611d23565b602081016113c78284611d7c565b602081016113c78284611d85565b6040810161229d8285611d85565b604081016122828285611d85565b604081016123378285611d85565b8181036020830152611c488184611da8565b606081016123578286611d85565b6122c56020830185611d85565b602081016113c78284611d9f565b602080825281016114868184611da8565b602080825281016113c781611de0565b602080825281016113c781611e37565b602080825281016113c781611e70565b602080825281016113c781611ea9565b602080825281016113c781611ee2565b602080825281016113c781611f1b565b602080825281016113c781611f54565b602080825281016113c781611fba565b602080825281016113c781611ff3565b602080825281016113c781612044565b602080825281016113c781612087565b602080825281016113c7816120b5565b602080825281016113c78161214d565b602080825281016113c781612195565b604081016124718285611d85565b6114866020830184611d7c565b60200190565b5190565b90815260200190565b919050565b60006113c7826124a6565b151590565b6001600160a01b031690565b60006113c7825b60006113c782612496565b60005b838110156124df5781810151838201526020016124c7565b8381111561171f5750506000910152565b60006113c78260006113c78261250b565b601f01601f191690565b60601b90565b61251a81612496565b811461059b57600080fd5b61251a816124a1565b61251a816104c856fea365627a7a72315820b1c4b0e75aa342df894bad2f1424212f7596a6f05c247520dbb2ceecb0ea92b26c6578706572696d656e74616cf564736f6c63430005100040a365627a7a72315820af4384c43344e9c944b096cd446edcb79b19ffe4c702177fb9dee6a7ce0396b56c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapperAddress",
							"type": "address"
						}
					],
					"name": "WrapperCreated",
					"type": "event"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "token",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "synthContractName",
							"type": "bytes32"
						}
					],
					"name": "createWrapper",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "distributeFees",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feesEscrowed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "possibleWrapper",
							"type": "address"
						}
					],
					"name": "isWrapper",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49",
				"urls": [
					"bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481",
					"dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"WrapperFactory.sol": "WrapperFactory"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"WrapperFactory.sol": {
						"keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49",
						"urls": [
							"bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481",
							"dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV"
						]
					}
				},
				"version": 1
			}
		},
		"DirectIntegrationManager": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001b4038038062001b408339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61191d80620002236000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063697b659b11610066578063697b659b14610113578063741853601461013357806379ba50971461013b578063899ffef4146101435780638da5cb5b146101585761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d657806353a47bb7146100eb5780635a68456214610100575b600080fd5b6100ab610160565b6040516100b891906117c0565b60405180910390f35b6100d46100cf366004611280565b61016f565b005b6100de6101cd565b6040516100b8919061175b565b6100f36102e5565b6040516100b8919061171a565b6100d461010e3660046112c4565b6102f4565b61012661012136600461132f565b610343565b6040516100b8919061180f565b6100d46106a3565b6100d46107f9565b61014b61089e565b6040516100b8919061174a565b6100f36108ef565b6002546001600160a01b031681565b6101776108fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101c290839061171a565b60405180910390a150565b600060606101d961089e565b905060005b81518110156102db5760008282815181106101f557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610246908590600401611769565b60206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029691908101906112a6565b6001600160a01b03161415806102c157506000818152600360205260409020546001600160a01b0316155b156102d257600093505050506102e2565b506001016101de565b5060019150505b90565b6001546001600160a01b031681565b6102fc6108fe565b60005b8281101561033c576103348585858481811061031757fe5b905060200201358480360361032f9190810190611369565b61092a565b6001016102ff565b5050505050565b61034b611046565b610353611046565b506001600160a01b03808416600090815260046020818152604080842087855282529283902083516101a080820186528254825260018301548716828501908152600284015488168388015260038401546060840152948301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a830154610140830152600b830154610160830152600c90920154610180820152845191820190945286815291519293919290830191166104d15761042a610a54565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161047c929190611785565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104cc91908101906112a6565b6104d7565b82602001515b6001600160a01b0316815260200160006001600160a01b031683604001516001600160a01b031614156105125761050d85610a76565b610518565b82604001515b6001600160a01b0316815260200160008360600151116105405761053b85610b56565b610546565b82606001515b815260200160008360800151116105645761055f610c2e565b61056a565b82608001515b815260200160008360a001511161058857610583610cd9565b61058e565b8260a001515b815260200160008360c00151116105ad576105a885610d41565b6105b3565b8260c001515b815260200160008360e00151116105d2576105cd85610d9e565b6105d8565b8260e001515b81526020016000836101000151116105f8576105f385610dfb565b6105ff565b8261010001515b815260200160008361012001511161061e57610619610e4a565b610625565b8261012001515b81526020016000836101400151116106445761063f610eaa565b61064b565b8261014001515b815260200160008361016001511161066a57610665610f12565b610671565b8261016001515b81526020016000836101800151116106905761068b610f7a565b610697565b8261018001515b90529150505b92915050565b60606106ad61089e565b905060005b81518110156107f55760008282815181106106c957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161070b919061170f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016107379291906117a0565b60206040518083038186803b15801561074f57600080fd5b505afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061078791908101906112a6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906107e39084908490611777565b60405180910390a150506001016106b2565b5050565b6001546001600160a01b0316331461082c5760405162461bcd60e51b8152600401610823906117df565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261086f926001600160a01b0391821692911690611728565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108e057fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b8152600401610823906117ef565b565b6001600160a01b0383166109505760405162461bcd60e51b8152600401610823906117ff565b6001600160a01b03808416600081815260046020818152604080842088855282529283902086518155908601516001820180549187166001600160a01b031992831617905583870151600283018054919097169116179094556060850151600385015560808501519084015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b840155610180840151600c9093019290925590518391907fac520ced31ca01ad123194e41989084aeb335064dd7b37291e59a85eb9c972ec90610a4790859061180f565b60405180910390a3505050565b6000610a716e466c657869626c6553746f7261676560881b610fe2565b905090565b6000610a80610a54565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e6700000085604051602001610ad39291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610b06929190611785565b60206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906112a6565b6000610b60610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b85604051602001610bab9291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610bde929190611785565b60206040518083038186803b158015610bf657600080fd5b505afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d9190810190611388565b6000610c38610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401610c89929190611785565b60206040518083038186803b158015610ca157600080fd5b505afa158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a719190810190611388565b6000610ce3610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610d4b610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f770000000085604051602001610bab9291906116c9565b6000610da8610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c64000000000000000085604051602001610bab9291906116c9565b6000610e05610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b85604051602001610bab9291906116c9565b6000610e54610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7465786368616e67654d617844796e616d696346656560581b6040518363ffffffff1660e01b8152600401610c89929190611785565b6000610eb4610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d6963466565526f756e647300000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f1c610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d69634665655468726573686f6c6400000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f84610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d696346656557656967687444656361790000006040518363ffffffff1660e01b8152600401610c89929190611785565b60008181526003602090815260408083205490516001600160a01b039091169182151591611012918691016116ef565b6040516020818303038152906040529061103f5760405162461bcd60e51b815260040161082391906117ce565b5092915050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561069d816118ba565b805161069d816118ba565b60008083601f8401126110eb57600080fd5b50813567ffffffffffffffff81111561110357600080fd5b60208301915083602082028301111561111b57600080fd5b9250929050565b803561069d816118d1565b60006101a0828403121561114057600080fd5b50919050565b60006101a0828403121561115957600080fd5b6111646101a061181e565b905060006111728484611122565b8252506020611183848483016110c3565b6020830152506040611197848285016110c3565b60408301525060606111ab84828501611122565b60608301525060806111bf84828501611122565b60808301525060a06111d384828501611122565b60a08301525060c06111e784828501611122565b60c08301525060e06111fb84828501611122565b60e08301525061010061121084828501611122565b6101008301525061012061122684828501611122565b6101208301525061014061123c84828501611122565b6101408301525061016061125284828501611122565b6101608301525061018061126884828501611122565b6101808301525092915050565b805161069d816118d1565b60006020828403121561129257600080fd5b600061129e84846110c3565b949350505050565b6000602082840312156112b857600080fd5b600061129e84846110ce565b6000806000806101e085870312156112db57600080fd5b60006112e787876110c3565b945050602085013567ffffffffffffffff81111561130457600080fd5b611310878288016110d9565b935093505060406113238782880161112d565b91505092959194509250565b6000806040838503121561134257600080fd5b600061134e85856110c3565b925050602061135f85828601611122565b9150509250929050565b60006101a0828403121561137c57600080fd5b600061129e8484611146565b60006020828403121561139a57600080fd5b600061129e8484611275565b60006113b2838361142b565b505060200190565b6113c38161185d565b82525050565b60006113d48261184b565b6113de818561184f565b93506113e983611845565b8060005b8381101561141757815161140188826113a6565b975061140c83611845565b9250506001016113ed565b509495945050505050565b6113c381611868565b6113c3816102e2565b6113c3611440826102e2565b6102e2565b6113c381611879565b60006114598261184b565b611463818561184f565b9350611473818560208601611884565b61147c816118b0565b9093019392505050565b600061149360358361184f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006114ea601183611858565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611517602f8361184f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061156860138361184f565b720416464726573732063616e6e6f74206265203606c1b815260200192915050565b6000611597601983611858565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b80516101a08301906115d5848261142b565b5060208201516115e860208501826113ba565b5060408201516115fb60408501826113ba565b50606082015161160e606085018261142b565b506080820151611621608085018261142b565b5060a082015161163460a085018261142b565b5060c082015161164760c085018261142b565b5060e082015161165a60e085018261142b565b5061010082015161166f61010085018261142b565b5061012082015161168461012085018261142b565b5061014082015161169961014085018261142b565b506101608201516116ae61016085018261142b565b506101808201516116c361018085018261142b565b50505050565b60006116d58285611434565b6020820191506116e58284611434565b5060200192915050565b60006116fa826114dd565b91506117068284611434565b50602001919050565b60006116fa8261158a565b6020810161069d82846113ba565b6040810161173682856113ba565b61174360208301846113ba565b9392505050565b6020808252810161174381846113c9565b6020810161069d8284611422565b6020810161069d828461142b565b60408101611736828561142b565b60408101611793828561142b565b611743602083018461142b565b604081016117ae828561142b565b818103602083015261129e818461144e565b6020810161069d8284611445565b60208082528101611743818461144e565b6020808252810161069d81611486565b6020808252810161069d8161150a565b6020808252810161069d8161155b565b6101a0810161069d82846115c3565b60405181810167ffffffffffffffff8111828210171561183d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061069d8261186d565b151590565b6001600160a01b031690565b600061069d8261185d565b60005b8381101561189f578181015183820152602001611887565b838111156116c35750506000910152565b601f01601f191690565b6118c38161185d565b81146118ce57600080fd5b50565b6118c3816102e256fea365627a7a72315820e54e62efc2f7018972e7a23f74201cf4f611ed621ff24e26e6eeb92bff5967f66c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "overrides",
							"type": "tuple"
						}
					],
					"name": "IntegrationParametersSet",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getExchangeParameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "overrides",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "settings",
							"type": "tuple"
						}
					],
					"name": "setExchangeParameters",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5",
				"urls": [
					"bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd",
					"dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DirectIntegrationManager.sol": "DirectIntegrationManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DirectIntegrationManager.sol": {
						"keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5",
						"urls": [
							"bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd",
							"dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582024b7cf3f357023bc943ad3ca5c11a62c6c29c5d9fa23fe3309cb5629f86a29ba64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3",
				"urls": [
					"bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d",
					"dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3",
						"urls": [
							"bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d",
							"dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralSynth": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620037af380380620037af833981016040819052620000349162000363565b878787878787878780888888888660128a86816001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620005a6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200054a565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000594565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001479083906200053a565b60405180910390a150600480546001600160a01b0319166001600160a01b03881617905584516200018090600590602088019062000235565b5083516200019690600690602087019062000235565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620001f35760405162461bcd60e51b8152600401620000709062000570565b6001600160a01b0384166200021c5760405162461bcd60e51b8152600401620000709062000582565b5050600a5550620006a69b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027857805160ff1916838001178555620002a8565b82800160010185558215620002a8579182015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b620002d791905b80821115620002b65760008155600101620002c1565b90565b8051620002e78162000676565b92915050565b8051620002e78162000690565b8051620002e7816200069b565b600082601f8301126200031957600080fd5b8151620003306200032a82620005df565b620005b8565b915080825260208301602083018583830111156200034d57600080fd5b6200035a83828462000643565b50505092915050565b600080600080600080600080610100898b0312156200038157600080fd5b60006200038f8b8b620002da565b9850506020620003a28b828c01620002fa565b97505060408901516001600160401b03811115620003bf57600080fd5b620003cd8b828c0162000307565b96505060608901516001600160401b03811115620003ea57600080fd5b620003f88b828c0162000307565b95505060806200040b8b828c01620002da565b94505060a06200041e8b828c01620002ed565b93505060c0620004318b828c01620002ed565b92505060e0620004448b828c01620002da565b9150509295985092959890939650565b6200045f8162000636565b82525050565b6200045f8162000610565b60006200047f60128362000607565b7105f70726f78792063616e6e6f7420626520360741b815260200192915050565b6000620004af60128362000607565b7105f6f776e65722063616e6e6f7420626520360741b815260200192915050565b6000620004df60118362000607565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200050e60198362000607565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002e7828462000454565b604081016200055a828562000454565b62000569602083018462000465565b9392505050565b60208082528101620002e78162000470565b60208082528101620002e781620004a0565b60208082528101620002e781620004d0565b60208082528101620002e781620004ff565b6040518181016001600160401b0381118282101715620005d757600080fd5b604052919050565b60006001600160401b03821115620005f657600080fd5b506020601f91909101601f19160190565b90815260200190565b6000620002e7826200062a565b6000620002e78262000610565b6001600160a01b031690565b6000620002e7826200061d565b60005b838110156200066057818101518382015260200162000646565b8381111562000670576000848401525b50505050565b620006818162000610565b81146200068d57600080fd5b50565b6200068181620002d7565b62000681816200061d565b6130f980620006b66000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146103d5578063eb1edd61146103dd578063ec556889146103e5578063f7ea7a3d146103ed578063ffff51d614610400576101fb565b8063d67bdd251461039f578063dbd06c85146103a7578063dd62ed3e146103af578063e73cced3146103c2576101fb565b80639f769807116100e95780639f76980714610353578063a9059cbb14610366578063b014c3a314610379578063bc67f8321461038c576101fb565b80638da5cb5b1461031d57806395d89b411461032557806397107d6d1461032d5780639dc29fac14610340576101fb565b8063313ce56711610192578063741853601161016157806374185360146102e557806379ba5097146102ed578063867904b4146102f5578063899ffef414610308576101fb565b8063313ce567146102ad57806353a47bb7146102b5578063614d08f8146102ca57806370a08231146102d2576101fb565b806318160ddd116101ce57806318160ddd1461026857806323b872dd1461027d5780632af64bd3146102905780632e0f262514610298576101fb565b806304f3bcec1461020057806306fdde031461021e578063095ea7b3146102335780631627540c14610253575b600080fd5b610208610413565b6040516102159190612ee7565b60405180910390f35b610226610427565b6040516102159190612ef5565b610246610241366004612595565b6104b5565b6040516102159190612dbd565b6102666102613660046124ca565b610542565b005b6102706105a0565b6040516102159190612dcb565b61024661028b366004612548565b6105a6565b6102466105cf565b6102a06106ec565b6040516102159190612fe7565b6102a06106f1565b6102bd6106fa565b6040516102159190612cae565b610270610709565b6102706102e03660046124ca565b610724565b6102666107ae565b610266610904565b610266610303366004612595565b6109a9565b6103106109d8565b6040516102159190612dac565b6102bd610a9c565b610226610aab565b61026661033b3660046124ca565b610b06565b61026661034e366004612595565b610b59565b6102666103613660046125e3565b610b8d565b610246610374366004612595565b610bbc565b610246610387366004612595565b610c4d565b61026661039a3660046124ca565b610daa565b6102bd610dd4565b610270610de3565b6102706103bd36600461250e565b610de9565b6102466103d0366004612548565b610e6d565b610208610fb7565b6102bd610fc6565b610208610fde565b6102666103fb366004612601565b610fed565b61027061040e3660046124ca565b610ffa565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b505050505081565b60006104bf611139565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c916104f99185918991899101612d69565b600060405180830381600087803b15801561051357600080fd5b505af1158015610527573d6000803e3d6000fd5b50505050610536818585611179565b60019150505b92915050565b61054a611230565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610595908390612cae565b60405180910390a150565b60075481565b60006105b061125a565b6105ba84836112af565b6105c58484846113e4565b90505b9392505050565b600060606105db6109d8565b905060005b81518110156106e25760008282815181106105f757fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061064d908590600401612dcb565b60206040518083038186803b15801561066557600080fd5b505afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906124f0565b6001600160a01b03161415806106c857506000818152600960205260409020546001600160a01b0316155b156106d957600093505050506106e9565b506001016105e0565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a082319161075691869101612cae565b60206040518083038186803b15801561076e57600080fd5b505afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107a6919081019061261f565b90505b919050565b60606107b86109d8565b905060005b81518110156109005760008282815181106107d457fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016108169190612c98565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610842929190612de7565b60206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089291908101906124f0565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ee9084908490612dd9565b60405180910390a150506001016107bd565b5050565b6001546001600160a01b031633146109375760405162461bcd60e51b815260040161092e90612f16565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261097a926001600160a01b0391821692911690612cca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6109b233611574565b6109ce5760405162461bcd60e51b815260040161092e90612f83565b61090082826116ba565b6060806109e36117d1565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610a2b57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610a5457fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610a7f57fe5b602002602001018181525050610a9582826118be565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b610b0e611230565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610595908390612cbc565b610b6233611574565b610b7e5760405162461bcd60e51b815260040161092e90612f83565b610b88828261197a565b505050565b610b95611a41565b600480546001600160a01b0319166001600160a01b038316179055610bb981611aaf565b50565b6000610bc661125a565b600354610bdc906001600160a01b0316836112af565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610c1257610c0b8383611b56565b905061053c565b6001600160a01b038316610c3657600354610c0b906001600160a01b03168361197a565b6003546105c8906001600160a01b03168484611cac565b6000610c5761125a565b6000610c61611e36565b600354600a546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93610c9593911691600401612d91565b606060405180830381600087803b158015610caf57600080fd5b505af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce7919081019061266d565b9250849150508115610d7857600480546003546040516370a0823160e01b81526001600160a01b03928316936370a0823193610d2593169101612cae565b60206040518083038186803b158015610d3d57600080fd5b505afa158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d75919081019061261f565b90505b808411610d855783610d87565b805b600354909450610da1906001600160a01b03168686611cac565b95945050505050565b610db2611e52565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91610e1d918791879101612cca565b60206040518083038186803b158015610e3557600080fd5b505afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105c8919081019061261f565b6000610e7761125a565b6000610e81611e36565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b8152600401610eb0929190612d91565b606060405180830381600087803b158015610eca57600080fd5b505af1158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f02919081019061266d565b9250849150508115610f9057600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191610f3d918a9101612cae565b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8d919081019061261f565b90505b80841015610f9e5783610fa0565b805b9350610fad8686866113e4565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b610ff5611a41565b600755565b600080611005611e36565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b8152600401611034929190612d91565b60606040518083038186803b15801561104c57600080fd5b505afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611084919081019061266d565b5050600480546040516370a0823160e01b81529293506000926001600160a01b03909116916370a08231916110bb91889101612cae565b60206040518083038186803b1580156110d357600080fd5b505afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110b919081019061261f565b905080821115611120576000925050506107a9565b611130818363ffffffff611e7c16565b925050506107a9565b6002546001600160a01b0316331480159061115f57506003546001600160a01b03163314155b1561117757600380546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff979061119f908490602001612dcb565b60405160208183030381529060405260036040516111bc90612c77565b60405180910390206111cd88611ea4565b6111d688611ea4565b60006040518763ffffffff1660e01b81526004016111f996959493929190612ea0565b600060405180830381600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612f73565b6002546001600160a01b031633141561127257611177565b61127b33611eb0565b1561129757600380546001600160a01b03191633179055611177565b60405162461bcd60e51b815260040161092e90612fca565b6112b7611e36565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b81526004016112e6929190612d91565b60206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611336919081019061261f565b156113535760405162461bcd60e51b815260040161092e90612fba565b8061135d83610ffa565b101561137b5760405162461bcd60e51b815260040161092e90612f53565b6113836121a7565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004016113b09190612dcb565b60006040518083038186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b505050505050565b60048054600354604051636eb1769f60e11b8152600093600019936001600160a01b039081169363dd62ed3e93611421938b939092169101612cca565b60206040518083038186803b15801561143957600080fd5b505afa15801561144d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611471919081019061261f565b146115695760048054600354604051636eb1769f60e11b81526001600160a01b039283169363da46098c9389931691611518918891879163dd62ed3e916114bc918891889101612cca565b60206040518083038186803b1580156114d457600080fd5b505afa1580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150c919081019061261f565b9063ffffffff611e7c16565b6040518463ffffffff1660e01b815260040161153693929190612d69565b600060405180830381600087803b15801561155057600080fd5b505af1158015611564573d6000803e3d6000fd5b505050505b6105c5848484611cac565b600061157f826121c1565b80611608575061158d612233565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016115b89190612cae565b60206040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061160891908101906125c5565b806116915750611616612252565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b81526004016116419190612cae565b60206040518083038186803b15801561165957600080fd5b505afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169191908101906125c5565b806107a6575061169f61226e565b6001600160a01b0316826001600160a01b0316149050919050565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f691859161175591869186916370a08231916116f991879101612cae565b60206040518083038186803b15801561171157600080fd5b505afa158015611725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611749919081019061261f565b9063ffffffff61228816565b6040518363ffffffff1660e01b8152600401611772929190612d91565b600060405180830381600087803b15801561178c57600080fd5b505af11580156117a0573d6000803e3d6000fd5b50506007546117b8925090508263ffffffff61228816565b6007556117c7600083836122ad565b61090082826122f0565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181157fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061183757fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061185a57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061187e57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b816004815181106118af57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156118ee578160200160208202803883390190505b50905060005b83518110156119305783818151811061190957fe5b602002602001015182828151811061191d57fe5b60209081029190910101526001016118f4565b5060005b82518110156119735782818151811061194957fe5b602002602001015182828651018151811061196057fe5b6020908102919091010152600101611934565b5092915050565b600480546040516370a0823160e01b81526000926001600160a01b039092169163b46310f69186916119bc91879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b81526004016119d9929190612d91565b600060405180830381600087803b1580156119f357600080fd5b505af1158015611a07573d6000803e3d6000fd5b5050600754611a1f925090508363ffffffff611e7c16565b600755611a2e836000846122ad565b611a388383612396565b50600192915050565b6002546001600160a01b03163314801590611a6757506003546001600160a01b03163314155b15611a7f57600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146111775760405162461bcd60e51b815260040161092e90612f33565b6002546040516001600160a01b039091169063907dff9790611ad5908490602001612cae565b6040516020818303038152906040526001604051611af290612c82565b6040519081900381206001600160e01b031960e086901b168252611b2193929160009081908190600401612e07565b600060405180830381600087803b158015611b3b57600080fd5b505af1158015611b4f573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b1415611b8a57506003548290611b84906001600160a01b03168583611cac565b50611c3d565b611b92611e36565b600354600a546040516327c319e960e11b81526001600160a01b0393841693634f8633d293611be893911691829190899073feefeefeefeefeefeefeefeefeefeefeefeefeef9060009081908190600401612ce5565b6040805180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c39919081019061263d565b5090505b611c456123d9565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b8152600401611c709190612dcb565b600060405180830381600087803b158015611c8a57600080fd5b505af1158015611c9e573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b03831615801590611ccf57506001600160a01b0383163014155b8015611ce957506002546001600160a01b03848116911614155b611d055760405162461bcd60e51b815260040161092e90612f06565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6918791611d4491879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b8152600401611d61929190612d91565b600060405180830381600087803b158015611d7b57600080fd5b505af1158015611d8f573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f692508691611dd291879186916370a08231916116f991879101612cae565b6040518363ffffffff1660e01b8152600401611def929190612d91565b600060405180830381600087803b158015611e0957600080fd5b505af1158015611e1d573d6000803e3d6000fd5b50505050611e2c8484846122ad565b5060019392505050565b6000611e4d6822bc31b430b733b2b960b91b6123ea565b905090565b6002546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612fca565b600082821115611e9e5760405162461bcd60e51b815260040161092e90612f63565b50900390565b6001600160a01b031690565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a72190611ee490600401612f93565b60206040518083038186803b158015611efc57600080fd5b505afa158015611f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f3491908101906124f0565b6001600160a01b0316826001600160a01b03161480611fe557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190611f8090600401612f26565b60206040518083038186803b158015611f9857600080fd5b505afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fd091908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061208257506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061201d90600401612fda565b60206040518083038186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206d91908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061211f57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906120ba90600401612fa0565b60206040518083038186803b1580156120d257600080fd5b505afa1580156120e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061210a91908101906124f0565b6001600160a01b0316826001600160a01b0316145b806107a657506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061215790600401612fad565b60206040518083038186803b15801561216f57600080fd5b505afa158015612183573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169f91908101906124f0565b6000611e4d6b53797374656d53746174757360a01b6123ea565b60006121cb6123d9565b6001600160a01b0316826001600160a01b0316148061220257506121ed611e36565b6001600160a01b0316826001600160a01b0316145b806122255750612210612447565b6001600160a01b0316826001600160a01b0316145b806107a6575061169f61245b565b6000611e4d7021b7b63630ba32b930b626b0b730b3b2b960791b6123ea565b6000611e4d6d57726170706572466163746f727960901b6123ea565b6000611e4d6b22ba3432b92bb930b83832b960a11b6123ea565b6000828201838110156105c85760405162461bcd60e51b815260040161092e90612f43565b6002546040516001600160a01b039091169063907dff97906122d3908490602001612dcb565b60405160208183030381529060405260036040516111bc90612ca3565b6002546040516001600160a01b039091169063907dff9790612316908490602001612dcb565b604051602081830303815290604052600260405161233390612c8d565b604051809103902061234487611ea4565b6000806040518763ffffffff1660e01b815260040161236896959493929190612e66565b600060405180830381600087803b15801561238257600080fd5b505af11580156113dc573d6000803e3d6000fd5b6002546040516001600160a01b039091169063907dff97906123bc908490602001612dcb565b604051602081830303815290604052600260405161233390612c6c565b6000611e4d66119959541bdbdb60ca1b5b60008181526009602090815260408083205490516001600160a01b03909116918215159161241a91869101612c4c565b604051602081830303815290604052906119735760405162461bcd60e51b815260040161092e9190612ef5565b6000611e4d6524b9b9bab2b960d11b6123ea565b6000611e4d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6123ea565b803561053c81613087565b805161053c81613087565b805161053c8161309b565b805161053c816130a4565b803561053c816130a4565b803561053c816130ad565b805161053c816130ad565b6000602082840312156124dc57600080fd5b60006124e8848461247d565b949350505050565b60006020828403121561250257600080fd5b60006124e88484612488565b6000806040838503121561252157600080fd5b600061252d858561247d565b925050602061253e8582860161247d565b9150509250929050565b60008060006060848603121561255d57600080fd5b6000612569868661247d565b935050602061257a8682870161247d565b925050604061258b868287016124b4565b9150509250925092565b600080604083850312156125a857600080fd5b60006125b4858561247d565b925050602061253e858286016124b4565b6000602082840312156125d757600080fd5b60006124e88484612493565b6000602082840312156125f557600080fd5b60006124e884846124a9565b60006020828403121561261357600080fd5b60006124e884846124b4565b60006020828403121561263157600080fd5b60006124e884846124bf565b6000806040838503121561265057600080fd5b600061265c85856124bf565b925050602061253e8582860161249e565b60008060006060848603121561268257600080fd5b600061268e86866124bf565b935050602061269f868287016124bf565b925050604061258b868287016124bf565b60006126bc838361273e565b505060200190565b6126cd81613029565b82525050565b6126cd81613008565b60006126e782612ffb565b6126f18185612fff565b93506126fc83612ff5565b8060005b8381101561272a57815161271488826126b0565b975061271f83612ff5565b925050600101612700565b509495945050505050565b6126cd81613013565b6126cd816106e9565b6126cd612753826106e9565b6106e9565b600061276382612ffb565b61276d8185612fff565b935061277d81856020860161304d565b6127868161307d565b9093019392505050565b6126cd81613018565b6126cd81613034565b6126cd81613042565b60006127b8601f83612fff565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006127f1603583612fff565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6c29bcb73a342932b232b2b6b2b960991b9052565b600061285d601383612fff565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b600061288c601b83612fff565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006128c5602f83612fff565b7f496e73756666696369656e742062616c616e636520616674657220616e79207381526e6574746c656d656e74206f77696e6760881b602082015260400192915050565b6000612916601e83612fff565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061294f6011836107a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061297c6017836107a9565b7f4275726e656428616464726573732c75696e7432353629000000000000000000815260170192915050565b60006129b5602f83612fff565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612a12601f83612fff565b7f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400815260200192915050565b6000612a4b6021836107a9565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612a8e601a836107a9565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000612ac76017836107a9565b7f49737375656428616464726573732c75696e7432353629000000000000000000815260170192915050565b6e10dbdb1b185d195c985b14da1bdc9d608a1b9052565b712730ba34bb32a2ba3432b92bb930b83832b960711b9052565b6000612b316019836107a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6411195c1bdd60da1b9052565b6000612b77602583612fff565b7f43616e6e6f74207472616e7366657220647572696e672077616974696e672070815264195c9a5bd960da1b602082015260400192915050565b6000612bbe6021836107a9565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612c01601783612fff565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6d57726170706572466163746f727960901b9052565b6126cd81613023565b6000612c5782612942565b9150612c638284612747565b50602001919050565b600061053c8261296f565b600061053c82612a3e565b600061053c82612a81565b600061053c82612aba565b6000612c5782612b24565b600061053c82612bb1565b6020810161053c82846126d3565b6020810161053c82846126c4565b60408101612cd882856126d3565b6105c860208301846126d3565b6101208101612cf4828b6126d3565b612d01602083018a6126d3565b612d0e604083018961273e565b612d1b606083018861273e565b612d27608083016129f9565b612d3460a08301876126d3565b612d4160c0830186612735565b612d4e60e08301856126c4565b612d5c61010083018461273e565b9998505050505050505050565b60608101612d7782866126d3565b612d8460208301856126d3565b6124e8604083018461273e565b60408101612d9f82856126d3565b6105c8602083018461273e565b602080825281016105c881846126dc565b6020810161053c8284612735565b6020810161053c828461273e565b60408101612cd8828561273e565b60408101612df5828561273e565b81810360208301526105c58184612758565b60c08082528101612e188189612758565b9050612e2760208301886127a2565b612e34604083018761273e565b612e416060830186612799565b612e4e6080830185612799565b612e5b60a0830184612799565b979650505050505050565b60c08082528101612e778189612758565b9050612e8660208301886127a2565b612e93604083018761273e565b612e41606083018661273e565b60c08082528101612eb18189612758565b9050612ec060208301886127a2565b612ecd604083018761273e565b612eda606083018661273e565b612e4e608083018561273e565b6020810161053c8284612790565b602080825281016105c88184612758565b602080825281016107a6816127ab565b602080825281016107a6816127e4565b602081016107a98261283b565b602080825281016107a681612850565b602080825281016107a68161287f565b602080825281016107a6816128b8565b602080825281016107a681612909565b602080825281016107a6816129a8565b602080825281016107a681612a05565b602081016107a982612af3565b602081016107a982612b0a565b602081016107a982612b5d565b602080825281016107a681612b6a565b602080825281016107a681612bf4565b602081016107a982612c2d565b6020810161053c8284612c43565b60200190565b5190565b90815260200190565b60006107a682611ea4565b151590565b60006107a682613008565b60ff1690565b60006107a682613018565b60006107a6612753836106e9565b60006107a6826106e9565b60005b83811015613068578181015183820152602001613050565b83811115613077576000848401525b50505050565b601f01601f191690565b61309081613008565b8114610bb957600080fd5b61309081613013565b61309081613018565b613090816106e956fea365627a7a72315820845bdc1a78eaffe4ecadefeaff13fc9da099a4b459aeb9193f61cfd23a8499cc6c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d",
				"urls": [
					"bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac",
					"dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralSynth.sol": "MultiCollateralSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralSynth.sol": {
						"keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d",
						"urls": [
							"bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac",
							"dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G"
						]
					}
				},
				"version": 1
			}
		},
		"EmptyEtherWrapper": {
			"bytecode": "6080604052348015600f57600080fd5b5060938061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063bb57ad20146037578063ee5f3f5c14603f575b600080fd5b603d6057565b005b60456059565b60408051918252519081900360200190f35b565b60009056fea265627a7a723158206a60db15b4da239c6ed46eeea8ab7688d0796c09e6dee73e48b23ba8c3828a7464736f6c63430005100032",
			"abi": [
				{
					"inputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "distributeFees",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x093f5e6102d9c3727f552c549f835b27c38d51568c8af2071dd1a1434600ee5f",
				"urls": [
					"bzz-raw://cbbf1b68e71f757b11039b0a762aedeff096685a84b989c90ccbd9f0665f5456",
					"dweb:/ipfs/QmUaCwTWubTQ1uqcPmJpyf3JooVnunq5LomHhVxayXCPFv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EmptyEtherWrapper.sol": "EmptyEtherWrapper"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EmptyEtherWrapper.sol": {
						"keccak256": "0x093f5e6102d9c3727f552c549f835b27c38d51568c8af2071dd1a1434600ee5f",
						"urls": [
							"bzz-raw://cbbf1b68e71f757b11039b0a762aedeff096685a84b989c90ccbd9f0665f5456",
							"dweb:/ipfs/QmUaCwTWubTQ1uqcPmJpyf3JooVnunq5LomHhVxayXCPFv"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralUtil": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200160f3803806200160f83398101604081905262000034916200006d565b600080546001600160a01b0319166001600160a01b0392909216919091179055620000c2565b80516200006781620000a8565b92915050565b6000602082840312156200008057600080fd5b60006200008e84846200005a565b949350505050565b60006001600160a01b03821662000067565b620000b38162000096565b8114620000bf57600080fd5b50565b61153d80620000d26000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063899ffef41161005b578063899ffef4146100ea5780638a739975146100ff578063e99f964714610112578063fbfeca401461012557610088565b806304f3bcec1461008d5780632af64bd3146100ab5780633c4aa0f3146100c057806374185360146100e0575b600080fd5b610095610138565b6040516100a29190611402565b60405180910390f35b6100b3610147565b6040516100a29190611349565b6100d36100ce366004610f52565b61025d565b6040516100a29190611357565b6100e861039a565b005b6100f26104ef565b6040516100a29190611338565b6100d361010d36600461103f565b61055b565b6100d3610120366004610f9f565b61068f565b6100d3610133366004610fdb565b6107ee565b6000546001600160a01b031681565b600060606101536104ef565b905060005b815181101561025357600082828151811061016f57fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a721906101be908590600401611357565b60206040518083038186803b1580156101d657600080fd5b505afa1580156101ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061020e9190810190610f34565b6001600160a01b031614158061023957506000818152600160205260409020546001600160a01b0316155b1561024a576000935050505061025a565b50600101610158565b5060019150505b90565b600080610268610acb565b9050610272610b7d565b6001600160a01b031663654a60ac8686866040518463ffffffff1660e01b81526004016102a1939291906113da565b60206040518083038186803b1580156102b957600080fd5b505afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f19190810190611021565b915061038f6103828273__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561033e57600080fd5b505af4158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103769190810190611021565b9063ffffffff610c0e16565b839063ffffffff610c3c16565b9150505b9392505050565b60606103a46104ef565b905060005b81518110156104eb5760008282815181106103c057fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610401919061132d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161042d92919061139b565b60206040518083038186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047d9190810190610f34565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104d99084908490611365565b60405180910390a150506001016103a9565b5050565b6060806104fa610c66565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b8160008151811061053e57fe5b6020026020010181815250506105548282610cb7565b9250505090565b6000806105ea8473__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a657600080fd5b505af41580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105de9190810190611021565b9063ffffffff610d7316565b90506106836105f7610b7d565b6001600160a01b031663654a60ac8589896040518463ffffffff1660e01b8152600401610626939291906113da565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190611021565b829063ffffffff610c3c16565b9150505b949350505050565b60008061069a610b7d565b6001600160a01b031663654a60ac848660400135631cd554d160e21b6040518463ffffffff1660e01b81526004016106d4939291906113da565b60206040518083038186803b1580156106ec57600080fd5b505afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107249190810190611021565b90506000610730610b7d565b6001600160a01b031663654a60ac606087013561075b608089013560c08a013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610781939291906113da565b60206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107d19190810190611021565b90506107e3828263ffffffff610d8816565b925050505b92915050565b6000806107f9610acb565b90506000610805610b7d565b6001600160a01b031663654a60ac606088013561083060808a013560c08b013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610856939291906113da565b60206040518083038186803b15801561086e57600080fd5b505afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108a69190810190611021565b905060006108b2610b7d565b6001600160a01b031663654a60ac868960400135631cd554d160e21b6040518463ffffffff1660e01b81526004016108ec939291906113da565b60206040518083038186803b15801561090457600080fd5b505afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093c9190810190611021565b9050600073__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561098457600080fd5b505af4158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109bc9190810190611021565b905060006109e06109d3848a63ffffffff610d8816565b859063ffffffff610db216565b90506000610a14610a078a6109fb868a63ffffffff610c0e16565b9063ffffffff610d8816565b849063ffffffff610db216565b90506000610a28838363ffffffff610d8816565b9050610a32610b7d565b6001600160a01b031663654a60ac631cd554d160e21b838e606001356040518463ffffffff1660e01b8152600401610a6c939291906113da565b60206040518083038186803b158015610a8457600080fd5b505afa158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610abc9190810190611021565b9b9a5050505050505050505050565b6000610ad5610dda565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401610b28929190611380565b60206040518083038186803b158015610b4057600080fd5b505afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190611021565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610bbe906c45786368616e6765526174657360981b906004016113bb565b60206040518083038186803b158015610bd657600080fd5b505afa158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190610f34565b6000828201838110156103935760405162461bcd60e51b8152600401610c3390611421565b60405180910390fd5b6000670de0b6b3a7640000610c57848463ffffffff610df716565b81610c5e57fe5b049392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610ca857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610ce7578160200160208202803883390190505b50905060005b8351811015610d2957838181518110610d0257fe5b6020026020010151828281518110610d1657fe5b6020908102919091010152600101610ced565b5060005b8251811015610d6c57828181518110610d4257fe5b6020026020010151828286510181518110610d5957fe5b6020908102919091010152600101610d2d565b5092915050565b60006103938383670de0b6b3a7640000610e31565b600061039382610da685670de0b6b3a764000063ffffffff610df716565b9063ffffffff610e6816565b600082821115610dd45760405162461bcd60e51b8152600401610c3390611431565b50900390565b6000610b786e466c657869626c6553746f7261676560881b610e9d565b600082610e06575060006107e8565b82820282848281610e1357fe5b04146103935760405162461bcd60e51b8152600401610c3390611451565b600080610e4b84610da687600a870263ffffffff610df716565b90506005600a820610610e5c57600a015b600a9004949350505050565b6000808211610e895760405162461bcd60e51b8152600401610c3390611441565b6000828481610e9457fe5b04949350505050565b60008181526001602090815260408083205490516001600160a01b039091169182151591610ecd9186910161130d565b60405160208183030381529060405290610d6c5760405162461bcd60e51b8152600401610c339190611410565b80516107e8816114da565b80356107e8816114f1565b60006101208284031215610f2357600080fd5b50919050565b80516107e8816114f1565b600060208284031215610f4657600080fd5b60006106878484610efa565b600080600060608486031215610f6757600080fd5b6000610f738686610f05565b9350506020610f8486828701610f05565b9250506040610f9586828701610f05565b9150509250925092565b6000806101408385031215610fb357600080fd5b6000610fbf8585610f10565b925050610120610fd185828601610f05565b9150509250929050565b60008060006101608486031215610ff157600080fd5b6000610ffd8686610f10565b93505061012061100f86828701610f05565b925050610140610f9586828701610f05565b60006020828403121561103357600080fd5b60006106878484610f29565b6000806000806080858703121561105557600080fd5b60006110618787610f05565b945050602061107287828801610f05565b935050604061108387828801610f05565b925050606061109487828801610f05565b91505092959194509250565b60006110ac8383611125565b505060200190565b6110bd81611479565b82525050565b60006110ce82611467565b6110d8818561146b565b93506110e383611461565b8060005b838110156111115781516110fb88826110a0565b975061110683611461565b9250506001016110e7565b509495945050505050565b6110bd81611484565b6110bd8161025a565b6110bd61113a8261025a565b61025a565b6110bd81611495565b600061115382611467565b61115d818561146b565b935061116d8185602086016114a0565b611176816114d0565b9093019392505050565b600061118d601b8361146b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006111c6601e8361146b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006111ff601a8361146b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611238601183611474565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061126560218361146b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112a8601e8361146b565b7f4d697373696e672045786368616e6765526174657320636f6e74726163740000815260200192915050565b60006112e1601983611474565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006113188261122b565b9150611324828461112e565b50602001919050565b6000611318826112d4565b6020808252810161039381846110c3565b602081016107e8828461111c565b602081016107e88284611125565b604081016113738285611125565b61039360208301846110b4565b6040810161138e8285611125565b6103936020830184611125565b604081016113a98285611125565b81810360208301526106878184611148565b604081016113c98284611125565b81810360208301526103938161129b565b606081016113e88286611125565b6113f56020830185611125565b6106876040830184611125565b602081016107e8828461113f565b602080825281016103938184611148565b602080825281016107e881611180565b602080825281016107e8816111b9565b602080825281016107e8816111f2565b602080825281016107e881611258565b60200190565b5190565b90815260200190565b919050565b60006107e882611489565b151590565b6001600160a01b031690565b60006107e882611479565b60005b838110156114bb5781810151838201526020016114a3565b838111156114ca576000848401525b50505050565b601f01601f191690565b6114e381611479565b81146114ee57600080fd5b50565b6114e38161025a56fea365627a7a72315820be04d82aebb54ce767309e3d506d29666dcd7ada38d5615ac8e1df1d6c8017ae6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "collateralKey",
							"type": "bytes32"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						},
						{
							"internalType": "bytes32",
							"name": "collateralKey",
							"type": "bytes32"
						}
					],
					"name": "getCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						},
						{
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "collateralKey",
							"type": "bytes32"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "collateralKey",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c",
				"urls": [
					"bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68",
					"dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralUtil.sol": "CollateralUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralUtil.sol": {
						"keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c",
						"urls": [
							"bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68",
							"dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a72315820564c21bf069c74a21ecf15d016131f6d3bed30e9ca2d69ee992e0e758c6444ae6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "addShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "borrowRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "borrowRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRateAt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "getShortRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ratesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "removeShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "shortRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709",
				"urls": [
					"bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33",
					"dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManagerState.sol": "CollateralManagerState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralManagerState.sol": {
						"keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709",
						"urls": [
							"bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33",
							"dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a764000060105560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a0526200004390601590600262000369565b503480156200005157600080fd5b5060405162004093380380620040938339810160408190526200007491620003f9565b84866001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f906200061f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f5918490620005c3565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f906200060d565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169189169190911790556200017a84620001e4565b6200018e836001600160e01b036200025c16565b620001a2826001600160e01b03620002a616565b620001b6816001600160e01b03620002f016565b5050600080546001600160a01b0319166001600160a01b03959095169490941790935550620006ad92505050565b620001f76001600160e01b036200033a16565b600081116200021a5760405162461bcd60e51b81526004016200009f90620005e9565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200025190839062000631565b60405180910390a150565b6200026f6001600160e01b036200033a16565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906200025190839062000631565b620002b96001600160e01b036200033a16565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200025190839062000631565b620003036001600160e01b036200033a16565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200025190839062000631565b6000546001600160a01b03163314620003675760405162461bcd60e51b81526004016200009f90620005fb565b565b82601881019282156200039a579160200282015b828111156200039a5782518255916020019190600101906200037d565b50620003a8929150620003ac565b5090565b620003c991905b80821115620003a85760008155600101620003b3565b90565b8051620003d9816200067d565b92915050565b8051620003d98162000697565b8051620003d981620006a2565b600080600080600080600060e0888a0312156200041557600080fd5b6000620004238a8a620003df565b9750506020620004368a828b01620003cc565b9650506040620004498a828b01620003cc565b95505060606200045c8a828b01620003ec565b94505060806200046f8a828b01620003ec565b93505060a0620004828a828b01620003ec565b92505060c0620004958a828b01620003ec565b91505092959891949750929550565b620004af8162000670565b82525050565b620004af816200064a565b6000620004cf60168362000641565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b60006200050a602f8362000641565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006200055d60118362000641565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200058c60198362000641565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620004af81620003c9565b60408101620005d38285620004a4565b620005e26020830184620004b5565b9392505050565b60208082528101620003d981620004c0565b60208082528101620003d981620004fb565b60208082528101620003d9816200054e565b60208082528101620003d9816200057d565b60208101620003d98284620005b8565b90815260200190565b6000620003d98262000664565b6000620003d9826200064a565b6001600160a01b031690565b6000620003d98262000657565b62000688816200064a565b81146200069457600080fd5b50565b620006888162000657565b6200068881620003c9565b6139d680620006bd6000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c80638da5cb5b116101b8578063bbb601cd11610104578063e31f27c1116100a2578063eb94bbde1161007c578063eb94bbde146106a7578063edc77dc2146106ba578063ee81f790146106c2578063ffa749cd146106d557610342565b8063e31f27c11461066e578063e32261fe14610681578063e50a31b31461069457610342565b8063c9e18015116100de578063c9e1801514610638578063ca969f2314610640578063d0064c0014610653578063d2f004751461065b57610342565b8063bbb601cd14610615578063bf38668214610628578063c19d93fb1461063057610342565b8063af07aa9d11610171578063b4d6cb401161014b578063b4d6cb40146105c6578063b9e2451c146105e7578063ba1c5e80146105fa578063baa380361461060257610342565b8063af07aa9d14610598578063b38988f7146105ab578063b3b46732146105be57610342565b80638da5cb5b1461054757806391b4ded91461054f57806393a72fbe146105575780639f7eac371461056a578063a894a14b1461057d578063ad79a8581461059057610342565b8063614d08f81161029257806379ba509711610230578063899ffef41161020a578063899ffef4146105045780638b173e81146105195780638d1341901461052c5780638d6ad02d1461053f57610342565b806379ba5097146104c857806380054666146104d05780638471db13146104f157610342565b806372e18b6a1161026c57806372e18b6a14610487578063741853601461049a578063744d646e146104a25780637687402a146104b557610342565b8063614d08f8146104595780636526941b14610461578063710388d11461047457610342565b806323d60e2e116102ff5780634db7764c116102d95780634db7764c146104215780635246f2b91461042957806353a47bb71461043c5780635c975abb1461045157610342565b806323d60e2e146103d95780632af64bd3146103ec578063382453771461040157610342565b806303f048b01461034757806304f3bcec146103735780630c9c81a1146103885780631627540c1461039d57806316c38b3c146103b05780631e33fc6b146103c3575b600080fd5b61035a61035536600461317d565b6106e8565b60405161036a9493929190613877565b60405180910390f35b61037b61077f565b60405161036a91906137a8565b61039b61039636600461317d565b610793565b005b61039b6103ab366004612fcd565b6107db565b61039b6103be366004613141565b61082e565b6103cb6108a3565b60405161036a929190613737565b61039b6103e7366004613080565b610b1e565b6103f4610c4e565b60405161036a91906136f2565b61041461040f36600461317d565b610d6b565b60405161036a919061371b565b610414610d7d565b61039b6104373660046131b9565b610d83565b610444610e16565b60405161036a91906136b8565b6103f4610e25565b610414610e2e565b61039b61046f36600461317d565b610e46565b61039b610482366004613080565b610ea3565b6103f4610495366004613080565b610fb7565b61039b611051565b6103f46104b036600461304b565b6111a7565b61039b6104c33660046131b9565b6111f1565b61039b61124d565b6104e36104de366004613208565b6112e9565b60405161036a929190613765565b6103f46104ff36600461317d565b611414565b61050c611428565b60405161036a91906136e1565b61039b61052736600461317d565b611595565b61039b61053a36600461317d565b6115d2565b610414611662565b610444611668565b610414611677565b6103f4610565366004613080565b61167d565b61039b61057836600461317d565b611760565b61039b61058b366004613080565b6117bd565b6103cb61190c565b61035a6105a63660046131b9565b611afa565b6103f46105b9366004612fcd565b611b95565b610414611bae565b6105d96105d43660046131b9565b611c67565b60405161036a929190613700565b6104146105f536600461317d565b611d2f565b6103cb611d41565b61039b61061036600461317d565b611e64565b61039b610623366004613009565b611ea1565b610414611f81565b61037b611f87565b610414611f96565b61039b61064e366004613009565b611f9c565b610414612155565b61041461066936600461317d565b61215b565b61039b61067c3660046131b9565b6121dc565b61041461068f36600461317d565b612238565b61039b6106a23660046131b9565b612269565b61039b6106b53660046131b9565b6122c5565b6103cb612321565b6103cb6106d036600461317d565b612515565b61039b6106e3366004613009565b612745565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b09061072090889060040161371b565b60806040518083038186803b15801561073857600080fd5b505afa15801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107709190810190613255565b92989197509550909350915050565b60035461010090046001600160a01b031681565b61079b6127fe565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906107d090839061371b565b60405180910390a150565b6107e36127fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107d09083906136b8565b6108366127fe565b60035460ff161515811515141561084c576108a0565b6003805460ff1916821515179081905560ff161561086957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107d09160ff909116906136f2565b50565b600880546040805160208084028201810190925282815260009384936060938301828280156108f157602002820191906000526020600020905b8154815260200190600101908083116108dd575b50505050509050600081511115610b195760005b8151811015610b1757600082828151811061091c57fe5b60200260200101519050631cd554d160e21b8114156109cb5760055460405163d2f0047560e01b81526109c4916001600160a01b03169063d2f004759061096790859060040161371b565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b7919081019061319b565b869063ffffffff61282a16565b9450610b0e565b6000806109d6612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610a01919061371b565b604080518083038186803b158015610a1857600080fd5b505afa158015610a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5091908101906131e9565b60055460405163d2f0047560e01b8152929450909250600091610aeb9185916001600160a01b039091169063d2f0047590610a8f90899060040161371b565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061319b565b9063ffffffff61287616565b9050610afd888263ffffffff61282a16565b97508115610b0a57600196505b5050505b50600101610905565b505b509091565b610b266127fe565b828114610b4e5760405162461bcd60e51b8152600401610b45906137c7565b60405180910390fd5b60005b83811015610c3f57610b7f858583818110610b6857fe5b90506020020135600a6128a090919063ffffffff16565b610c37576000858583818110610b9157fe5b905060200201359050610bae81600a6128f090919063ffffffff16565b610bd4848484818110610bbd57fe5b9050602002013560086128f090919063ffffffff16565b80600c6000868686818110610be557fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610c2d919061371b565b60405180910390a1505b600101610b51565b50610c48611051565b50505050565b60006060610c5a611428565b905060005b8151811015610d61576000828281518110610c7657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610ccc9186910161371b565b60206040518083038186803b158015610ce457600080fd5b505afa158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1c9190810190612feb565b6001600160a01b0316141580610d4757506000818152600460205260409020546001600160a01b0316155b15610d585760009350505050610d68565b50600101610c5f565b5060019150505b90565b600c6020526000908152604090205481565b60145481565b6000610d8e33611b95565b905080610dad5760405162461bcd60e51b8152600401610b4590613857565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610ddf9086908690600401613765565b600060405180830381600087803b158015610df957600080fd5b505af1158015610e0d573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e4e6127fe565b60008111610e6e5760405162461bcd60e51b8152600401610b4590613827565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906107d090839061371b565b610eab6127fe565b828114610eca5760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610fb057610ee4858583818110610b6857fe5b15610fa857610f0f858583818110610ef857fe5b90506020020135600a61292890919063ffffffff16565b610f35838383818110610f1e57fe5b90506020020135600861292890919063ffffffff16565b600c6000848484818110610f4557fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f8b57fe5b90506020020135604051610f9f919061371b565b60405180910390a15b600101610ecd565b5050505050565b600a546000908414610fcb57506000611049565b60005b8481101561104357610fe5868683818110610b6857fe5b610ff3576000915050611049565b858582818110610fff57fe5b90506020020135600c600086868581811061101657fe5b905060200201358152602001908152602001600020541461103b576000915050611049565b600101610fce565b50600190505b949350505050565b606061105b611428565b905060005b81518110156111a357600082828151811061107757fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110b991906136ad565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110e5929190613745565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111359190810190612feb565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906111919084908490613729565b60405180910390a15050600101611060565b5050565b6000805b82518110156111e6576111d08382815181106111c357fe5b6020026020010151611b95565b6111de5760009150506111ec565b6001016111ab565b50600190505b919050565b60006111fc33611b95565b90508061121b5760405162461bcd60e51b8152600401610b4590613857565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610ddf9086908690600401613765565b6001546001600160a01b031633146112775760405162461bcd60e51b8152600401610b45906137d7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926112ba926001600160a01b03918216929116906136c6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60008060006112f733611b95565b9050806113165760405162461bcd60e51b8152600401610b4590613857565b6000806000808761132f5761132a8a6106e8565b611339565b611339898b611afa565b93509350935093506000808961135657611351611d41565b61135f565b61135f8b612515565b9150915080156113815760405162461bcd60e51b8152600401610b4590613867565b60006113ab670de0b6b3a764000061139f428863ffffffff6129fc16565b9063ffffffff612a2416565b905060006113cf6113c2858463ffffffff61287616565b889063ffffffff61282a16565b90506113e1818963ffffffff6129fc16565b9a508499508b6113f9576113f481612a5e565b611403565b6114038d82612abc565b505050505050505050935093915050565b6000908152600c6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061146357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061148d57fe5b6020908102919091010152600d54606090801561151657806040519080825280602002602001820160405280156114ce578160200160208202803883390190505b50915060005b8181101561151457600d8054829081106114ea57fe5b906000526020600020015483828151811061150157fe5b60209081029190910101526001016114d4565b505b600a80546040805160208084028201810190925282815260609361156f93879383018282801561156557602002820191906000526020600020905b815481526020019060010190808311611551575b5050505050612aee565b80519091501561158a576115838185612aee565b945061158e565b8394505b5050505090565b61159d6127fe565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906107d090839061371b565b60006115dd33611b95565b9050806115fc5760405162461bcd60e51b8152600401610b4590613857565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b69061162c90859060040161371b565b600060405180830381600087803b15801561164657600080fd5b505af115801561165a573d6000803e3d6000fd5b505050505050565b60125481565b6000546001600160a01b031681565b60025481565b600083821461169e5760405162461bcd60e51b8152600401610b45906137c7565b600d5484146116af57506000611049565b60005b82811015611043576005546001600160a01b031663a0356f6e8585848181106116d757fe5b905060200201356040518263ffffffff1660e01b81526004016116fa919061371b565b60206040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174a919081019061319b565b611758576000915050611049565b6001016116b2565b6117686127fe565b600081116117885760405162461bcd60e51b8152600401610b4590613827565b60108190556040517fcf53b24098da84a81615c6450c76443db743815230079981717af7ff9d647fd4906107d090839061371b565b6117c56127fe565b8281146117e45760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610c3f5760008585838181106117fd57fe5b90506020020135905061181a81600d6128a090919063ffffffff16565b6119035761182f600d8263ffffffff6128f016565b80600f600086868681811061184057fe5b905060200201358152602001908152602001600020819055507fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a81604051611888919061371b565b60405180910390a16005546001600160a01b031663ed0391548585858181106118ad57fe5b905060200201356040518263ffffffff1660e01b81526004016118d0919061371b565b600060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050505b506001016117e7565b600d805460408051602080840282018101909252828152600093849360609383018282801561195a57602002820191906000526020600020905b815481526020019060010190808311611946575b50505050509050600081511115610b195760005b8151811015610b1757600061199583838151811061198857fe5b6020026020010151612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a05919081019061319b565b9050600080611a12612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401611a3d919061371b565b604080518083038186803b158015611a5457600080fd5b505afa158015611a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a8c91908101906131e9565b60055460405163719130ff60e11b8152929450909250600091611acb9185916001600160a01b039091169063e32261fe90610a8f90899060040161371b565b9050611add888263ffffffff61282a16565b97508115611aea57600196505b50506001909201915061196e9050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d90611b359089908990600401613765565b60806040518083038186803b158015611b4d57600080fd5b505afa158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b859190810190613255565b9299919850965090945092505050565b6000611ba860068363ffffffff612bb516565b92915050565b600080611bba33611b95565b905080611bd95760405162461bcd60e51b8152600401610b4590613857565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c2957600080fd5b505af1158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c61919081019061319b565b91505090565b6000806000611c74612856565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b8152600401611caa93929190613780565b60206040518083038186803b158015611cc257600080fd5b505afa158015611cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cfa919081019061319b565b9050600080611d07612321565b6011549193509150611d1f838563ffffffff61282a16565b11159450925050505b9250929050565b600f6020526000908152604090205481565b6000806000611d4e612c22565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611d83929190613737565b60206040518083038186803b158015611d9b57600080fd5b505afa158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd3919081019061319b565b9050600080611de06108a3565b90925090506000611df7848463ffffffff61282a16565b90506000611e266a1a1a7062e5185d7e380000611e1a868563ffffffff612c3616565b9063ffffffff612c3616565b90506000611e3f6010548361287690919063ffffffff16565b9050611e566013548261282a90919063ffffffff16565b989397509295505050505050565b611e6c6127fe565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906107d090839061371b565b611ea96127fe565b60005b81811015611f7c57611ee6838383818110611ec357fe5b9050602002016020611ed89190810190612fcd565b60069063ffffffff612bb516565b611f7457611f1c838383818110611ef957fe5b9050602002016020611f0e9190810190612fcd565b60069063ffffffff612c6016565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611f4957fe5b9050602002016020611f5e9190810190612fcd565b604051611f6b91906136b8565b60405180910390a15b600101611eac565b505050565b60135481565b6005546001600160a01b031681565b60105481565b611fa46127fe565b60005b81811015611f7c57611fd5838383818110611fbe57fe5b90506020020135600d6128a090919063ffffffff16565b1561214d57612000838383818110611fe957fe5b90506020020135600d61292890919063ffffffff16565b600061201d84848481811061201157fe5b90506020020135612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061208d919081019061319b565b6000818152600f6020526040808220919091556005549051636431e0bd60e01b81529192506001600160a01b031690636431e0bd906120d090849060040161371b565b600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b505050507f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b84848481811061212f57fe5b90506020020135604051612143919061371b565b60405180910390a1505b600101611fa7565b60115481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f004759061218c90859060040161371b565b60206040518083038186803b1580156121a457600080fd5b505afa1580156121b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba8919081019061319b565b60006121e733611b95565b9050806122065760405162461bcd60e51b8152600401610b4590613857565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610ddf9086908690600401613765565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe9061218c90859060040161371b565b600061227433611b95565b9050806122935760405162461bcd60e51b8152600401610b4590613857565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610ddf9086908690600401613765565b60006122d033611b95565b9050806122ef5760405162461bcd60e51b8152600401610b4590613857565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610ddf9086908690600401613765565b6008805460408051602080840282018101909252828152600093849360609383018282801561236f57602002820191906000526020600020905b81548152602001906001019080831161235b575b50505050509050600081511115610b19576060600061238c612856565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016123b791906136e1565b60006040518083038186803b1580156123cf57600080fd5b505afa1580156123e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261240b91908101906130f0565b909250905060005b825181101561250d57600061248984838151811061242d57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663d2f0047588868151811061246557fe5b60200260200101516040518263ffffffff1660e01b8152600401610a8f919061371b565b905060006124d485848151811061249c57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663e32261fe89878151811061246557fe5b90506124f6816124ea8a8563ffffffff61282a16565b9063ffffffff61282a16565b9750831561250357600196505b5050600101612413565b505050509091565b600080612520612856565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161254b919061371b565b60206040518083038186803b15801561256357600080fd5b505afa158015612577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259b919081019061315f565b6000848152600f6020526040812054919250906125b790612baa565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125ef57600080fd5b505afa158015612603573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612627919081019061319b565b60055460405163719130ff60e11b81529192506000916001600160a01b039091169063e32261fe9061265d90889060040161371b565b60206040518083038186803b15801561267557600080fd5b505afa158015612689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126ad919081019061319b565b9050808211156126c35750600092506127409050565b60006126d5828463ffffffff6129fc16565b905060006127086a1a1a7062e5185d7e380000611e1a6126fb878763ffffffff61282a16565b859063ffffffff612c3616565b905060006127216012548361287690919063ffffffff16565b90506127386014548261282a90919063ffffffff16565b965050505050505b915091565b61274d6127fe565b60005b81811015611f7c57612767838383818110611ec357fe5b156127f65761279e83838381811061277b57fe5b90506020020160206127909190810190612fcd565b60069063ffffffff612cb216565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a5938383838181106127cb57fe5b90506020020160206127e09190810190612fcd565b6040516127ed91906136b8565b60405180910390a15b600101612750565b6000546001600160a01b031633146128285760405162461bcd60e51b8152600401610b4590613837565b565b60008282018381101561284f5760405162461bcd60e51b8152600401610b45906137e7565b9392505050565b60006128716c45786368616e6765526174657360981b612dc8565b905090565b6000670de0b6b3a7640000612891848463ffffffff612a2416565b8161289857fe5b049392505050565b81546000906128b157506000611ba8565b600082815260018401602052604090205480151580611049575082846000016000815481106128dc57fe5b906000526020600020015414949350505050565b6128fa82826128a0565b6111a35781546000828152600180850160209081526040832084905590830185558482529020018190555050565b61293282826128a0565b61294e5760405162461bcd60e51b8152600401610b45906137f7565b60008181526001830160205260409020548254600019018082146129bc57600084600001828154811061297d57fe5b906000526020600020015490508085600001848154811061299a57fe5b6000918252602080832090910192909255918252600186019052604090208290555b83548490806129c757fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b600082821115612a1e5760405162461bcd60e51b8152600401610b4590613807565b50900390565b600082612a3357506000611ba8565b82820282848281612a4057fe5b041461284f5760405162461bcd60e51b8152600401610b4590613847565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612a8e90849060040161371b565b600060405180830381600087803b158015612aa857600080fd5b505af1158015610fb0573d6000803e3d6000fd5b600554604051632462063960e01b81526001600160a01b039091169063246206399061162c9085908590600401613765565b60608151835101604051908082528060200260200182016040528015612b1e578160200160208202803883390190505b50905060005b8351811015612b6057838181518110612b3957fe5b6020026020010151828281518110612b4d57fe5b6020908102919091010152600101612b24565b5060005b8251811015612ba357828181518110612b7957fe5b6020026020010151828286510181518110612b9057fe5b6020908102919091010152600101612b64565b5092915050565b6000611ba882612dc8565b8154600090612bc657506000611ba8565b6001600160a01b0382166000908152600184016020526040902054801515806110495750826001600160a01b031684600001600081548110612c0457fe5b6000918252602090912001546001600160a01b031614949350505050565b60006128716524b9b9bab2b960d11b612dc8565b600061284f82612c5485670de0b6b3a764000063ffffffff612a2416565b9063ffffffff612e2516565b612c6a8282612bb5565b6111a35781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b612cbc8282612bb5565b612cd85760405162461bcd60e51b8152600401610b45906137f7565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612d77576000846000018281548110612d1157fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612d3a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612d8257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612df89186910161368d565b60405160208183030381529060405290612ba35760405162461bcd60e51b8152600401610b4591906137b6565b6000808211612e465760405162461bcd60e51b8152600401610b4590613817565b6000828481612e5157fe5b04949350505050565b8035611ba88161396d565b8051611ba88161396d565b60008083601f840112612e8257600080fd5b50813567ffffffffffffffff811115612e9a57600080fd5b602083019150836020820283011115611d2857600080fd5b600082601f830112612ec357600080fd5b8135612ed6612ed1826138dc565b6138b5565b91508181835260208401935060208101905083856020840282011115612efb57600080fd5b60005b83811015612f275781612f118882612e5a565b8452506020928301929190910190600101612efe565b5050505092915050565b600082601f830112612f4257600080fd5b8151612f50612ed1826138dc565b91508181835260208401935060208101905083856020840282011115612f7557600080fd5b60005b83811015612f275781612f8b8882612fc2565b8452506020928301929190910190600101612f78565b8035611ba881613981565b8051611ba881613981565b8035611ba88161398a565b8051611ba88161398a565b600060208284031215612fdf57600080fd5b60006110498484612e5a565b600060208284031215612ffd57600080fd5b60006110498484612e65565b6000806020838503121561301c57600080fd5b823567ffffffffffffffff81111561303357600080fd5b61303f85828601612e70565b92509250509250929050565b60006020828403121561305d57600080fd5b813567ffffffffffffffff81111561307457600080fd5b61104984828501612eb2565b6000806000806040858703121561309657600080fd5b843567ffffffffffffffff8111156130ad57600080fd5b6130b987828801612e70565b9450945050602085013567ffffffffffffffff8111156130d857600080fd5b6130e487828801612e70565b95989497509550505050565b6000806040838503121561310357600080fd5b825167ffffffffffffffff81111561311a57600080fd5b61312685828601612f31565b925050602061313785828601612fac565b9150509250929050565b60006020828403121561315357600080fd5b60006110498484612fa1565b60006020828403121561317157600080fd5b60006110498484612fac565b60006020828403121561318f57600080fd5b60006110498484612fb7565b6000602082840312156131ad57600080fd5b60006110498484612fc2565b600080604083850312156131cc57600080fd5b60006131d88585612fb7565b925050602061313785828601612fb7565b600080604083850312156131fc57600080fd5b60006131268585612fc2565b60008060006060848603121561321d57600080fd5b60006132298686612fb7565b935050602061323a86828701612fb7565b925050604061324b86828701612fa1565b9150509250925092565b6000806000806080858703121561326b57600080fd5b60006132778787612fc2565b945050602061328887828801612fc2565b935050604061329987828801612fc2565b92505060606132aa87828801612fc2565b91505092959194509250565b60006132c2838361333b565b505060200190565b6132d381613910565b82525050565b60006132e482613903565b6132ee8185613907565b93506132f9836138fd565b8060005b8381101561332757815161331188826132b6565b975061331c836138fd565b9250506001016132fd565b509495945050505050565b6132d38161391b565b6132d381610d68565b6132d361335082610d68565b610d68565b6132d38161392c565b600061336982613903565b6133738185613907565b9350613383818560208601613937565b61338c81613963565b9093019392505050565b60006133a3601b83613907565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006133dc603583613907565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613433601b83613907565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061346c601383613907565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061349b601e83613907565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006134d4601a83613907565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061350d6011836111ec565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061353a601683613907565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b600061356c602f83613907565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006135bd602183613907565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613600601983613907565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006136396019836111ec565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613672600c83613907565b6b496e76616c6964207261746560a01b815260200192915050565b600061369882613500565b91506136a48284613344565b50602001919050565b60006136988261362c565b60208101611ba882846132ca565b604081016136d482856132ca565b61284f60208301846132ca565b6020808252810161284f81846132d9565b60208101611ba88284613332565b6040810161370e8285613332565b61284f6020830184613332565b60208101611ba8828461333b565b604081016136d4828561333b565b6040810161370e828561333b565b60408101613753828561333b565b8181036020830152611049818461335e565b60408101613773828561333b565b61284f602083018461333b565b6060810161378e828661333b565b61379b602083018561333b565b611049604083018461333b565b60208101611ba88284613355565b6020808252810161284f818461335e565b60208082528101611ba881613396565b60208082528101611ba8816133cf565b60208082528101611ba881613426565b60208082528101611ba88161345f565b60208082528101611ba88161348e565b60208082528101611ba8816134c7565b60208082528101611ba88161352d565b60208082528101611ba88161355f565b60208082528101611ba8816135b0565b60208082528101611ba8816135f3565b60208082528101611ba881613665565b60808101613885828761333b565b613892602083018661333b565b61389f604083018561333b565b6138ac606083018461333b565b95945050505050565b60405181810167ffffffffffffffff811182821017156138d457600080fd5b604052919050565b600067ffffffffffffffff8211156138f357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000611ba882613920565b151590565b6001600160a01b031690565b6000611ba882613910565b60005b8381101561395257818101518382015260200161393a565b83811115610c485750506000910152565b601f01601f191690565b61397681613910565b81146108a057600080fd5b6139768161391b565b61397681610d6856fea365627a7a72315820574487fe17eeec2752cfb340e849e5e1b4623fdb32a5c2d6e52e205ff3b1febf6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_maxSkewRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "BaseBorrowRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseShortRate",
							"type": "uint256"
						}
					],
					"name": "BaseShortRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDebt",
							"type": "uint256"
						}
					],
					"name": "MaxDebtUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxSkewRate",
							"type": "uint256"
						}
					],
					"name": "MaxSkewRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "ShortableSynthAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "ShortableSynthRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "SynthAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "SynthRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "UtilisationMultiplierUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "interestIndex",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "isShort",
							"type": "bool"
						}
					],
					"name": "accrueInterest",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "difference",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "addCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredSynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortableSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredSynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortableSynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredSynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "hasAllCollaterals",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxSkewRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortableSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "setBaseBorrowRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"name": "setBaseShortRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						}
					],
					"name": "setMaxDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxSkewRate",
							"type": "uint256"
						}
					],
					"name": "setMaxSkewRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "setUtilisationMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortableSynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "susdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLongAndShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "susdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "susdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRatesCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRatesCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "utilisationMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad",
				"urls": [
					"bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd",
					"dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManager.sol": "CollateralManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralManager.sol": {
						"keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad",
						"urls": [
							"bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd",
							"dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b506040516200476938038062004769833981016040819052620000419162000150565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b8152600401620000739062000261565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c99184906200023b565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550506001600e5550620002e295505050505050565b80516200013081620002b2565b92915050565b80516200013081620002cc565b80516200013081620002d7565b60008060008060008060c087890312156200016a57600080fd5b600062000178898962000123565b96505060206200018b89828a0162000143565b95505060406200019e89828a0162000123565b9450506060620001b189828a0162000136565b9350506080620001c489828a0162000136565b92505060a0620001d789828a0162000136565b9150509295509295509295565b620001ef81620002a5565b82525050565b620001ef816200027c565b60006200020f60198362000273565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200024b8285620001e4565b6200025a6020830184620001f5565b9392505050565b60208082528101620001308162000200565b90815260200190565b6000620001308262000299565b90565b600062000130826200027c565b6001600160a01b031690565b600062000130826200028c565b620002bd816200027c565b8114620002c957600080fd5b50565b620002bd8162000289565b620002bd816200028c565b61447780620002f26000396000f3fe60806040526004361061020f5760003560e01c806372e18b6a11610118578063925ead11116100a0578063ba2de9bc1161006f578063ba2de9bc146105b0578063d2b8035a146105c5578063de81eda9146105e5578063e1ec3c6814610605578063f3f437031461063a5761020f565b8063925ead1114610546578063a76cdfa51461055b578063aa2d8ce31461057b578063b562a1ab1461059b5761020f565b8063846321a4116100e7578063846321a4146104af578063899ffef4146104cf5780638cd2e0c7146104f15780638da5cb5b1461051157806390abb4d9146105265761020f565b806372e18b6a14610445578063741853601461046557806379ba50971461047a5780637e1323551461048f5761020f565b8063379607f51161019b578063441a3e701161016a578063441a3e70146103bb57806347e7ef24146103db578063481c6a75146103ee57806353a47bb7146104035780635eb2ad01146104255761020f565b8063379607f51461034657806338245377146103665780634065b81b1461038657806341c738011461039b5761020f565b80631627540c116101e25780631627540c146102af57806323d60e2e146102cf5780632af64bd3146102ef57806330edd96114610311578063361e2086146103315761020f565b806304f3bcec1461021457806306c19e3f1461023f5780630710285c1461025f5780630aebeb4e14610281575b600080fd5b34801561022057600080fd5b5061022961065a565b6040516102369190614009565b60405180910390f35b61025261024d3660046136c0565b610669565b6040516102369190613f97565b34801561026b57600080fd5b5061027f61027a36600461355b565b61067f565b005b34801561028d57600080fd5b506102a161029c366004613684565b6106c5565b604051610236929190613fb3565b3480156102bb57600080fd5b5061027f6102ca3660046134e5565b61070e565b3480156102db57600080fd5b5061027f6102ea3660046135a8565b61076c565b3480156102fb57600080fd5b5061030461083b565b6040516102369190613f89565b34801561031d57600080fd5b5061025261032c366004613684565b610953565b34801561033d57600080fd5b50610252610971565b34801561035257600080fd5b5061027f610361366004613684565b610977565b34801561037257600080fd5b50610252610381366004613684565b610a4c565b34801561039257600080fd5b50610304610a5e565b3480156103a757600080fd5b506102526103b6366004613684565b610a67565b3480156103c757600080fd5b506102a16103d63660046136c0565b610b7f565b6102a16103e9366004613521565b610bca565b3480156103fa57600080fd5b50610229610be3565b34801561040f57600080fd5b50610418610bf2565b6040516102369190613f26565b34801561043157600080fd5b5061027f610440366004613521565b610c01565b34801561045157600080fd5b506103046104603660046135a8565b610c37565b34801561047157600080fd5b5061027f610cfb565b34801561048657600080fd5b5061027f610e4d565b34801561049b57600080fd5b506102526104aa3660046136c0565b610ee9565b3480156104bb57600080fd5b5061027f6104ca366004613684565b610f2e565b3480156104db57600080fd5b506104e4610f6b565b6040516102369190613f78565b3480156104fd57600080fd5b506102a161050c36600461355b565b6110fb565b34801561051d57600080fd5b50610418611116565b34801561053257600080fd5b5061027f610541366004613618565b611125565b34801561055257600080fd5b50610252611171565b34801561056757600080fd5b5061027f610576366004613684565b611177565b34801561058757600080fd5b50610252610596366004613684565b6111b4565b3480156105a757600080fd5b50610252611278565b3480156105bc57600080fd5b5061025261127e565b3480156105d157600080fd5b506102a16105e03660046136c0565b611284565b3480156105f157600080fd5b50610418610600366004613684565b611291565b34801561061157600080fd5b50610625610620366004613684565b6112ac565b604051610236999897969594939291906141ee565b34801561064657600080fd5b506102526106553660046134e5565b611306565b6002546001600160a01b031681565b60006106783484846000611318565b9392505050565b600061068c8484846119c0565b336000908152600f60205260409020549091506106af908263ffffffff611d2716565b336000908152600f602052604090205550505050565b6000806106d23384611d4c565b336000908152600f602052604090205491935091506106f7908263ffffffff611d2716565b336000908152600f60205260409020559092909150565b610716611e42565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610761908390613f26565b60405180910390a150565b610774611e42565b82811461079c5760405162461bcd60e51b815260040161079390614048565b60405180910390fd5b60005b8381101561082c5760008585838181106107b557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061080957fe5b60209081029290920135835250810191909152604001600020555060010161079f565b50610835610cfb565b50505050565b60006060610847610f6b565b905060005b815181101561094957600082828151811061086357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906108b4908590600401613f97565b60206040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109049190810190613503565b6001600160a01b031614158061092f57506000818152600360205260409020546001600160a01b0316155b156109405760009350505050610950565b5060010161084c565b5060019150505b90565b6007818154811061096057fe5b600091825260209091200154905081565b600c5481565b600e805460010190819055336000908152600f60205260409020546109a2908363ffffffff611e6e16565b336000818152600f602052604080822093909355915184906109c390613f1b565b60006040518083038185875af1925050503d8060008114610a00576040519150601f19603f3d011682016040523d82523d6000602084013e610a05565b606091505b5050905080610a265760405162461bcd60e51b815260040161079390614058565b50600e548114610a485760405162461bcd60e51b815260040161079390614168565b5050565b60086020526000908152604090205481565b600d5460ff1681565b6000610a71613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610afc611e96565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610b2f939291906141a5565b60206040518083038186803b158015610b4757600080fd5b505afa158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067891908101906136a2565b600080610b8c8484611eb7565b336000908152600f60205260409020549193509150610bb1908463ffffffff611d2716565b336000908152600f602052604090205590939092509050565b600080610bd8848434611f5c565b909590945092505050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610c09611e42565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c4b57506000610cf3565b60005b84811015610ced576000868683818110610c6457fe5b9050602002013590508060078381548110610c7b57fe5b906000526020600020015414610c9657600092505050610cf3565b60078281548110610ca357fe5b906000526020600020015460086000878786818110610cbe57fe5b9050602002013581526020019081526020016000205414610ce457600092505050610cf3565b50600101610c4e565b50600190505b949350505050565b6060610d05610f6b565b905060005b8151811015610a48576000828281518110610d2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d639190613f10565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d8f929190613fc1565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ddf9190810190613503565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e3b9084908490613fa5565b60405180910390a15050600101610d0a565b6001546001600160a01b03163314610e775760405162461bcd60e51b815260040161079390614038565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610eba926001600160a01b0391821692911690613f4f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610ef3611e96565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610b2f94939291906142da565b92915050565b610f36611e42565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d90610761908390613f97565b606080610f7661202d565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fb557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610fdf57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061100557fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061102e57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061105457fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b8160058151811061107f57fe5b6020026020010181815250506060611097838361207e565b90506110f38160078054806020026020016040519081016040528092919081815260200182805480156110e957602002820191906000526020600020905b8154815260200190600101908083116110d5575b505050505061207e565b935050505090565b60008061110a8533868661213a565b90969095509350505050565b6000546001600160a01b031681565b61112d611e42565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107619160ff90911690613f89565b600a5481565b61117f611e42565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610761908390613f97565b60006111be613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152611249611e96565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610b2f929190614188565b60045481565b600b5481565b600080610bd884846122e9565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b600f6020526000908152604090205481565b600061132261272b565b61132a6127cd565b600d5460ff1661134c5760405162461bcd60e51b815260040161079390614118565b6000838152600860205260409020546113775760405162461bcd60e51b815260040161079390614068565b61137f612821565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016113aa9190613f97565b60206040518083038186803b1580156113c257600080fd5b505afa1580156113d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113fa9190810190613636565b156114175760405162461bcd60e51b8152600401610793906140f8565b600b548510156114395760405162461bcd60e51b815260040161079390614148565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb40906114709089908990600401613fb3565b604080518083038186803b15801561148757600080fd5b505afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bf9190810190613654565b915091508180156114ce575080155b6114ea5760405162461bcd60e51b8152600401610793906140d8565b6114f48786610ee9565b8611156115135760405162461bcd60e51b815260040161079390614138565b600061152a600c548861283c90919063ffffffff16565b9050600061153e888363ffffffff611e6e16565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115c891908101906136a2565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061169290612851565b61169c8288612943565b851561188f576116aa612b2f565b6001600160a01b031663867904b4336116c1612821565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016116f793929190613fe1565b60206040518083038186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174791908101906136a2565b6040518363ffffffff1660e01b8152600401611764929190613f34565b600060405180830381600087803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c191506117c8908a908c90600401613fb3565b600060405180830381600087803b1580156117e257600080fd5b505af11580156117f6573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b031615905061188a576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906118579033908c90600401613f34565b600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050505b61196b565b6000878152600860205260409020546118a790612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016118d4929190613f34565b600060405180830381600087803b1580156118ee57600080fd5b505af1158015611902573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150611938908a908c90600401613fb3565b600060405180830381600087803b15801561195257600080fd5b505af1158015611966573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516119ac9594939291906142f5565b60405180910390a250505050949350505050565b60006119ca61272b565b6119d26127cd565b600082116119f25760405162461bcd60e51b815260040161079390614178565b60006119fe8486612b51565b9050611a0f33826003015485612ba5565b600a54611a1a611e96565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b8152600401611a499291906141d0565b60206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9991908101906136a2565b10611ab65760405162461bcd60e51b815260040161079390614158565b6000611ac0611e96565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b8152600401611af3939291906141df565b60206040518083038186803b158015611b0b57600080fd5b505afa158015611b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b4391908101906136a2565b90506000848210611b545784611b56565b815b90506000611b7584600601548560040154611d2790919063ffffffff16565b9050808210611b9657611b89883386612c5d565b9550610678945050505050565b611ba533856003015484612ba5565b611baf8483612cce565b611bb7611e96565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b8152600401611bec93929190613fe1565b60206040518083038186803b158015611c0457600080fd5b505afa158015611c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3c91908101906136a2565b6002850154909550611c54908663ffffffff611e6e16565b60028501556003840154600090815260086020526040902054611c7690612b46565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611ca3929190613f34565b600060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d149493929190614274565b60405180910390a2505050509392505050565b6000828201838110156106785760405162461bcd60e51b815260040161079390614078565b600080611d5761272b565b611d5f6127cd565b6000611d6b8486612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611de790612ebd565b611df2858683612f0a565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f90611e32908790613f97565b60405180910390a2509250929050565b6000546001600160a01b03163314611e6c5760405162461bcd60e51b8152600401610793906140b8565b565b600082821115611e905760405162461bcd60e51b815260040161079390614098565b50900390565b6000611eb26d10dbdb1b185d195c985b155d1a5b60921b613170565b905090565b600080611ec261272b565b611eca6127cd565b6000611ed68533612b51565b6002810154909150611eee908563ffffffff611e6e16565b6002820155611efc816131cd565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611f3d93929190613fe1565b60405180910390a28060040154816002015492509250505b9250929050565b600080611f6761272b565b611f6f6127cd565b60008311611f8f5760405162461bcd60e51b815260040161079390614128565b60008481526005602052604090206007810154611fab90613206565b611fb481612851565b6002810154611fc9908563ffffffff611d2716565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c9161200e918991899190613fe1565b60405180910390a2806004015481600201549250925050935093915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061206f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156120ae578160200160208202803883390190505b50905060005b83518110156120f0578381815181106120c957fe5b60200260200101518282815181106120dd57fe5b60209081029190910101526001016120b4565b5060005b82518110156121335782818151811061210957fe5b602002602001015182828651018151811061212057fe5b60209081029190910101526001016120f4565b5092915050565b60008061214561272b565b61214d6127cd565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e082015260088201546101008201526121d790612ebd565b6121e686826003015486612ba5565b6121ef81612851565b6121f98185612cce565b600381015460009081526008602052604090205461221690612b46565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401612243929190613f6a565b600060405180830381600087803b15801561225d57600080fd5b505af1158015612271573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f878785600401546040516122c993929190613fe1565b60405180910390a380600401548160020154925092505094509492505050565b6000806122f461272b565b6122fc6127cd565b60006123088533612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061238490612ebd565b6004810154612399908563ffffffff611d2716565b60048201556123a7816131cd565b60006123be600c548661283c90919063ffffffff16565b905060006123d2868363ffffffff611e6e16565b600584015490915060ff16156125df57600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c191612417918a90600401613fb3565b600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b50505050612451612b2f565b6001600160a01b031663867904b433612468612821565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b81526004016124a293929190613fe1565b60206040518083038186803b1580156124ba57600080fd5b505afa1580156124ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124f291908101906136a2565b6040518363ffffffff1660e01b815260040161250f929190613f34565b600060405180830381600087803b15801561252957600080fd5b505af115801561253d573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156125da5760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906125a79033908a90600401613f34565b600060405180830381600087803b1580156125c157600080fd5b505af11580156125d5573d6000803e3d6000fd5b505050505b6126c3565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde91612614918a90600401613fb3565b600060405180830381600087803b15801561262e57600080fd5b505af1158015612642573d6000803e3d6000fd5b50505060038401546000908152600860205260409020546126639150612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612690929190613f34565b600060405180830381600087803b1580156126aa57600080fd5b505af11580156126be573d6000803e3d6000fd5b505050505b6126d1828460030154612943565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106549061270b908a908a90613fb3565b60405180910390a282600401548360020154945094505050509250929050565b612733612821565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127609190613f97565b60206040518083038186803b15801561277857600080fd5b505afa15801561278c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127b09190810190613636565b15611e6c5760405162461bcd60e51b8152600401610793906140f8565b6127d5613223565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561280d57600080fd5b505afa158015610835573d6000803e3d6000fd5b6000611eb26c45786368616e6765526174657360981b613170565b60006106788383670de0b6b3a764000061323d565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936128999360ff909116906004016142b2565b6040805180830381600087803b1580156128b257600080fd5b505af11580156128c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ea91908101906136df565b9150915060008360070154600014612916576004840154612911908463ffffffff61327916565b612919565b60005b6006850154909150612931908263ffffffff611d2716565b60068501555060079092019190915550565b8115610a4857631cd554d160e21b81146129e85761295f612821565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161299593929190613fe1565b60206040518083038186803b1580156129ad57600080fd5b505afa1580156129c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129e591908101906136a2565b91505b6129f0612b2f565b6001600160a01b031663867904b4612a066132a3565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190613503565b846040518363ffffffff1660e01b8152600401612a94929190613f6a565b600060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b50505050612ace6132a3565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401612af99190613f97565b600060405180830381600087803b158015612b1357600080fd5b505af1158015612b27573d6000803e3d6000fd5b505050505050565b6000611eb26814de5b9d1a1cd554d160ba1b613170565b6000610f2882613170565b60008281526005602052604090206007810154612b6d90613206565b60018101546001600160a01b03838116911614612b9c5760405162461bcd60e51b815260040161079390614108565b610f2881612851565b6000828152600860205260409020548190612bbf90612b46565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612bea9190613f26565b60206040518083038186803b158015612c0257600080fd5b505afa158015612c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c3a91908101906136a2565b1015612c585760405162461bcd60e51b8152600401610793906140a8565b505050565b600080612c6b858585612f0a565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612cbe93929190613fe1565b60405180910390a3935093915050565b60008111612cee5760405162461bcd60e51b815260040161079390614178565b600682015415612d5057600082600601548211612d0b5781612d11565b82600601545b6006840154909150612d29908263ffffffff611e6e16565b6006840155612d3e828263ffffffff611e6e16565b9150612d4e818460030154612943565b505b8015610a48576004820154612d6b908263ffffffff611e6e16565b6004830155600582015460ff1615612e88576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612db2918590600401613fb3565b600060405180830381600087803b158015612dcc57600080fd5b505af1158015612de0573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612e8357600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612e50929116908590600401613f34565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b610a48565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b391612af9918590600401613fb3565b612eca8160e00151613206565b42612ee9612ed7306132b8565b6101008401519063ffffffff611d2716565b1115612f075760405162461bcd60e51b8152600401610793906140e8565b50565b6000806000612f2a84600601548560040154611d2790919063ffffffff16565b90508360040154925083600201549150612f4985856003015483612ba5565b6003840154600090815260086020526040902054612f6690612b46565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612f93929190613f6a565b600060405180830381600087803b158015612fad57600080fd5b505af1158015612fc1573d6000803e3d6000fd5b50505050600584015460ff16156130df576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361300c9390929101613fb3565b600060405180830381600087803b15801561302657600080fd5b505af115801561303a573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156130da5760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926130a7928b929101613f6a565b600060405180830381600087803b1580156130c157600080fd5b505af11580156130d5573d6000803e3d6000fd5b505050505b61314c565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b3936131199390929101613fb3565b600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b505050505b61315e84600601548560030154612943565b6131678461338b565b50935093915050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916131a091869101613ef0565b604051602081830303815290604052906121335760405162461bcd60e51b81526004016107939190614017565b60048101546131db57612f07565b600a5481546131e9906111b4565b11612f075760405162461bcd60e51b815260040161079390614028565b80612f075760405162461bcd60e51b815260040161079390614088565b6000611eb26b53797374656d53746174757360a01b613170565b600080600a8304613254868663ffffffff6133b016565b8161325b57fe5b0490506005600a82061061326d57600a015b600a9004949350505050565b6000670de0b6b3a7640000613294848463ffffffff6133b016565b8161329b57fe5b049392505050565b6000611eb266119959541bdbdb60ca1b613170565b60006132c26133ea565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b85604051602001613308929190613eca565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161333b929190613fb3565b60206040518083038186803b15801561335357600080fd5b505afa158015613367573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f2891908101906136a2565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000826133bf57506000610f28565b828202828482816133cc57fe5b04146106785760405162461bcd60e51b8152600401610793906140c8565b6000611eb26e466c657869626c6553746f7261676560881b613170565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f288161440e565b8051610f288161440e565b60008083601f84011261348957600080fd5b50813567ffffffffffffffff8111156134a157600080fd5b602083019150836020820283011115611f5557600080fd5b8035610f2881614422565b8051610f2881614422565b8035610f288161442b565b8051610f288161442b565b6000602082840312156134f757600080fd5b6000610cf38484613461565b60006020828403121561351557600080fd5b6000610cf3848461346c565b6000806040838503121561353457600080fd5b60006135408585613461565b9250506020613551858286016134cf565b9150509250929050565b60008060006060848603121561357057600080fd5b600061357c8686613461565b935050602061358d868287016134cf565b925050604061359e868287016134cf565b9150509250925092565b600080600080604085870312156135be57600080fd5b843567ffffffffffffffff8111156135d557600080fd5b6135e187828801613477565b9450945050602085013567ffffffffffffffff81111561360057600080fd5b61360c87828801613477565b95989497509550505050565b60006020828403121561362a57600080fd5b6000610cf384846134b9565b60006020828403121561364857600080fd5b6000610cf384846134c4565b6000806040838503121561366757600080fd5b600061367385856134c4565b9250506020613551858286016134c4565b60006020828403121561369657600080fd5b6000610cf384846134cf565b6000602082840312156136b457600080fd5b6000610cf384846134da565b600080604083850312156136d357600080fd5b600061354085856134cf565b600080604083850312156136f257600080fd5b60006136fe85856134da565b9250506020613551858286016134da565b600061371b83836137ae565b505060200190565b61372c8161437b565b82525050565b61372c8161436b565b61372c6137478261436b565b6143ed565b600061375782614347565b613761818561434b565b935061376c83614341565b8060005b8381101561379a578151613784888261370f565b975061378f83614341565b925050600101613770565b509495945050505050565b61372c81614376565b61372c81610950565b61372c6137c382610950565b610950565b61372c81614382565b60006137dc82614347565b6137e6818561434b565b93506137f681856020860161438d565b6137ff816143fe565b9093019392505050565b6000613816600e8361434b565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061384060358361434b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061389760158361434b565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b60006138c8600f8361434b565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b60006138f360148361434b565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613923601b8361434b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061395c600e8361434b565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613986601e8361434b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006139bf601183614354565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006139ec60128361434b565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613a1a602f8361434b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613a6b60218361434b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613aae601a8361434b565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000613ae760138361434b565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000613b16601983614354565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4f600c8361434b565b6b496e76616c6964207261746560a01b815260200192915050565b6000613b7760108361434b565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000610f28600083614354565b6000613bb0600d8361434b565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000613bd960178361434b565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000613c1260178361434b565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b6000613c4b60158361434b565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b6000613c7c60168361434b565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000613cae601f8361434b565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000613ce760178361434b565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b8051610120830190613d2584826137ae565b506020820151613d386020850182613732565b506040820151613d4b60408501826137ae565b506060820151613d5e60608501826137ae565b506080820151613d7160808501826137ae565b5060a0820151613d8460a08501826137a5565b5060c0820151613d9760c08501826137ae565b5060e0820151613daa60e08501826137ae565b506101008201516108356101008501826137ae565b8054610120830190613dd0816143df565b613dda85826137ae565b50506001820154613dea816143b9565b613df76020860182613732565b50506002820154613e07816143df565b613e1460408601826137ae565b50506003820154613e24816143df565b613e3160608601826137ae565b50506004820154613e41816143df565b613e4e60808601826137ae565b50506005820154613e5e816143cc565b613e6b60a08601826137a5565b50506006820154613e7b816143df565b613e8860c08601826137ae565b50506007820154613e98816143df565b613ea560e08601826137ae565b50506008820154613eb5816143df565b613ec36101008601826137ae565b5050505050565b6000613ed682856137b7565b602082019150613ee6828461373b565b5060140192915050565b6000613efb826139b2565b9150613f0782846137b7565b50602001919050565b6000613efb82613b09565b6000610f2882613b96565b60208101610f288284613732565b60408101613f428285613723565b61067860208301846137ae565b60408101613f5d8285613732565b6106786020830184613732565b60408101613f428285613732565b60208082528101610678818461374c565b60208101610f2882846137a5565b60208101610f2882846137ae565b60408101613f5d82856137ae565b60408101613f4282856137ae565b60408101613fcf82856137ae565b8181036020830152610cf381846137d1565b60608101613fef82866137ae565b613ffc60208301856137ae565b610cf360408301846137ae565b60208101610f2882846137c8565b6020808252810161067881846137d1565b60208082528101610f2881613809565b60208082528101610f2881613833565b60208082528101610f288161388a565b60208082528101610f28816138bb565b60208082528101610f28816138e6565b60208082528101610f2881613916565b60208082528101610f288161394f565b60208082528101610f2881613979565b60208082528101610f28816139df565b60208082528101610f2881613a0d565b60208082528101610f2881613a5e565b60208082528101610f2881613aa1565b60208082528101610f2881613ada565b60208082528101610f2881613b42565b60208082528101610f2881613b6a565b60208082528101610f2881613ba3565b60208082528101610f2881613bcc565b60208082528101610f2881613c05565b60208082528101610f2881613c3e565b60208082528101610f2881613c6f565b60208082528101610f2881613ca1565b60208082528101610f2881613cda565b61014081016141978285613d13565b6106786101208301846137ae565b61016081016141b48286613d13565b6141c26101208301856137ae565b610cf36101408301846137ae565b61014081016141978285613dbf565b61016081016141b48286613dbf565b61012081016141fd828c6137ae565b61420a602083018b613732565b614217604083018a6137ae565b61422460608301896137ae565b61423160808301886137ae565b61423e60a08301876137a5565b61424b60c08301866137ae565b61425860e08301856137ae565b6142666101008301846137ae565b9a9950505050505050505050565b6080810161428282876137ae565b61428f6020830186613723565b61429c60408301856137ae565b6142a960608301846137ae565b95945050505050565b606081016142c082866137ae565b6142cd60208301856137ae565b610cf360408301846137a5565b608081016142e882876137ae565b61428f60208301866137ae565b60a0810161430382886137ae565b61431060208301876137ae565b61431d60408301866137ae565b61432a60608301856137ae565b61433760808301846137ae565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f2882614359565b151590565b6000610f28825b6000610f288261436b565b60005b838110156143a8578181015183820152602001614390565b838111156108355750506000910152565b6000610f286143c783610950565b614359565b6000610f286143da83610950565b614365565b6000610f286137c383610950565b6000610f28826000610f2882614408565b601f01601f191690565b60601b90565b6144178161436b565b8114612f0757600080fd5b61441781614376565b6144178161095056fea365627a7a723158204e3f97b3f5802dab33a13b27f84889972a099dcf1e4dd1f2e1f4db2ce2ef17d36c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract ICollateralManager",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByRepayment",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "claim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "liqAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "loans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "short",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interestIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastInteraction",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "contract ICollateralManager",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pendingWithdrawals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"name": "setMinCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4",
				"urls": [
					"bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06",
					"dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralEth.sol": "CollateralEth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralEth.sol": {
						"keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4",
						"urls": [
							"bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06",
							"dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b5060405162004c7138038062004c7183398101604081905262000041916200014b565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b815260040162000073906200025c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c991849062000236565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550620002dd975050505050505050565b80516200012b81620002ad565b92915050565b80516200012b81620002c7565b80516200012b81620002d2565b60008060008060008060c087890312156200016557600080fd5b60006200017389896200011e565b96505060206200018689828a016200013e565b95505060406200019989828a016200011e565b9450506060620001ac89828a0162000131565b9350506080620001bf89828a0162000131565b92505060a0620001d289828a0162000131565b9150509295509295509295565b620001ea81620002a0565b82525050565b620001ea8162000277565b60006200020a6019836200026e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002468285620001df565b620002556020830184620001f0565b9392505050565b602080825281016200012b81620001fb565b90815260200190565b60006200012b8262000294565b90565b60006200012b8262000277565b6001600160a01b031690565b60006200012b8262000287565b620002b88162000277565b8114620002c457600080fd5b50565b620002b88162000284565b620002b88162000287565b61498480620002ed6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806379ba509711610130578063981bddf2116100b8578063c799bd5c1161007c578063c799bd5c14610457578063d2b8035a1461046a578063de81eda91461047d578063e1ec3c6814610490578063f93451ed146104b857610227565b8063981bddf21461040e578063a76cdfa514610421578063aa2d8ce314610434578063b562a1ab14610447578063ba2de9bc1461044f57610227565b8063899ffef4116100ff578063899ffef4146103c35780638cd2e0c7146103d85780638da5cb5b146103eb57806390abb4d9146103f3578063925ead111461040657610227565b806379ba5097146103825780637e1323551461038a5780637e9c9b741461039d578063846321a4146103b057610227565b806338245377116101b3578063481c6a7511610182578063481c6a751461033757806353a47bb71461033f5780635eb2ad011461035457806372e18b6a14610367578063741853601461037a57610227565b806338245377146102f65780634065b81b1461030957806341c7380114610311578063441a3e701461032457610227565b80631627540c116101fa5780631627540c1461029357806323d60e2e146102a65780632af64bd3146102b957806330edd961146102ce578063361e2086146102ee57610227565b806304f3bcec1461022c5780630710285c1461024a5780630aebeb4e1461025f5780630efe6a8b14610280575b600080fd5b6102346104cb565b6040516102419190614516565b60405180910390f35b61025d610258366004613a05565b6104da565b005b61027261026d366004613b2e565b610577565b6040516102419291906144cd565b61027261028e366004613a05565b610616565b61025d6102a136600461398f565b610767565b61025d6102b4366004613a52565b6107c5565b6102c161088b565b60405161024191906144a3565b6102e16102dc366004613b2e565b6109a3565b60405161024191906144b1565b6102e16109c1565b6102e1610304366004613b2e565b6109c7565b6102c16109d9565b6102e161031f366004613b2e565b6109e2565b610272610332366004613b6a565b610b01565b610234610ba2565b610347610bb1565b604051610241919061440a565b61025d6103623660046139cb565b610bc0565b6102c1610375366004613a52565b610bf6565b61025d610cba565b61025d610e10565b6102e1610398366004613b6a565b610eac565b6102726103ab366004613b6a565b610f44565b61025d6103be366004613b2e565b610f5d565b6103cb610f9a565b6040516102419190614492565b6102726103e6366004613a05565b61112a565b610347611139565b61025d610401366004613ac2565b611148565b6102e1611194565b61027261041c3660046139cb565b61119a565b61025d61042f366004613b2e565b611233565b6102e1610442366004613b2e565b611270565b6102e1611334565b6102e161133a565b610272610465366004613b2e565b611340565b610272610478366004613b6a565b611365565b61034761048b366004613b2e565b611372565b6104a361049e366004613b2e565b61138d565b604051610241999897969594939291906146fb565b6102e16104c6366004613bb9565b6113e7565b6002546001600160a01b031681565b60006104e7848484611480565b90506104f16117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161051e92919061445b565b602060405180830381600087803b15801561053857600080fd5b505af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105709190810190613ae0565b5050505050565b6000806105843384611803565b90925090506105916117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105be92919061445b565b602060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106109190810190613ae0565b50915091565b6000806106216117e7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161064e929190614418565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190613b4c565b8311156106c65760405162461bcd60e51b81526004016106bd906145e5565b60405180910390fd5b6106ce6117e7565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b81526004016106fd93929190614433565b602060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074f9190810190613ae0565b5061075b8585856118f9565b90969095509350505050565b61076f6119ca565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107ba90839061440a565b60405180910390a150565b6107cd6119ca565b8281146107ec5760405162461bcd60e51b81526004016106bd90614555565b60005b8381101561087c57600085858381811061080557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061085957fe5b6020908102929092013583525081019190915260400160002055506001016107ef565b50610885610cba565b50505050565b60006060610897610f9a565b905060005b81518110156109995760008282815181106108b357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906109049085906004016144b1565b60206040518083038186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095491908101906139ad565b6001600160a01b031614158061097f57506000818152600360205260409020546001600160a01b0316155b1561099057600093505050506109a0565b5060010161089c565b5060019150505b90565b600781815481106109b057fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600d5460ff1681565b60006109ec6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610a776119f6565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610aaa939291906146b2565b60206040518083038186803b158015610ac257600080fd5b505afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afa9190810190613b4c565b9392505050565b600080610b0e8484611a12565b9092509050610b1b6117e7565b6001600160a01b031663a9059cbb33856040518363ffffffff1660e01b8152600401610b4892919061445b565b602060405180830381600087803b158015610b6257600080fd5b505af1158015610b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9a9190810190613ae0565b509250929050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610bc86119ca565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c0a57506000610cb2565b60005b84811015610cac576000868683818110610c2357fe5b9050602002013590508060078381548110610c3a57fe5b906000526020600020015414610c5557600092505050610cb2565b60078281548110610c6257fe5b906000526020600020015460086000878786818110610c7d57fe5b9050602002013581526020019081526020016000205414610ca357600092505050610cb2565b50600101610c0d565b50600190505b949350505050565b6060610cc4610f9a565b905060005b8151811015610e0c576000828281518110610ce057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d2291906143ff565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d4e9291906144db565b60206040518083038186803b158015610d6657600080fd5b505afa158015610d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d9e91908101906139ad565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610dfa90849084906144bf565b60405180910390a15050600101610cc9565b5050565b6001546001600160a01b03163314610e3a5760405162461bcd60e51b81526004016106bd90614545565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610e7d926001600160a01b0391821692911690614476565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610eb66119f6565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610eeb94939291906147e7565b60206040518083038186803b158015610f0357600080fd5b505afa158015610f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3b9190810190613b4c565b90505b92915050565b600080610f52338585611ab6565b909590945092505050565b610f656119ca565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d906107ba9083906144b1565b606080610fa5611d4f565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fe457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061100e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061103457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061105d57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061108357fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b816005815181106110ae57fe5b60200260200101818152505060606110c68383611da0565b905061112281600780548060200260200160405190810160405280929190818152602001828054801561111857602002820191906000526020600020905b815481526020019060010190808311611104575b5050505050611da0565b935050505090565b60008061075b85338686611e5c565b6000546001600160a01b031681565b6111506119ca565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107ba9160ff909116906144a3565b600a5481565b6000806111a56138b1565b5050506000818152600560208181526040928390208351610120810185528154815260018201546001600160a01b0316928101929092526002810154938201849052600381015460608301526004810154608083018190529281015460ff16151560a0830152600681015460c0830152600781015460e08301526008015461010090910152905b9250929050565b61123b6119ca565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906107ba9083906144b1565b600061127a6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526113056119f6565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610aaa929190614695565b60045481565b600b5481565b60008061134d338461200b565b90925090508015611360576105916117e7565b915091565b600080610f5284846120a2565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b60006113f16117e7565b6001600160a01b03166323b872dd3330876040518463ffffffff1660e01b815260040161142093929190614433565b602060405180830381600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114729190810190613ae0565b50610cb284848460016124e4565b600061148a612b8c565b611492612c2e565b600082116114b25760405162461bcd60e51b81526004016106bd90614685565b60006114be8486612c82565b90506114cf33826003015485612cd6565b600a546114da6119f6565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b81526004016115099291906146dd565b60206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115599190810190613b4c565b106115765760405162461bcd60e51b81526004016106bd90614675565b60006115806119f6565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b81526004016115b3939291906146ec565b60206040518083038186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116039190810190613b4c565b905060008482106116145784611616565b815b9050600061163584600601548560040154612d8e90919063ffffffff16565b905080821061165657611649883386612db3565b9550610afa945050505050565b61166533856003015484612cd6565b61166f8483612e24565b6116776119f6565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b81526004016116ac939291906144fb565b60206040518083038186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116fc9190810190613b4c565b6002850154909550611714908663ffffffff61304916565b6002850155600384015460009081526008602052604090205461173690613071565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161176392919061445b565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516117d49493929190614781565b60405180910390a2505050509392505050565b60006117fe6814de5b9d1a1cd554d160ba1b613078565b905090565b60008061180e612b8c565b611816612c2e565b60006118228486612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061189e906130d5565b6118a9858683613122565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f906118e99087906144b1565b60405180910390a2509250929050565b600080611904612b8c565b61190c612c2e565b6000831161192c5760405162461bcd60e51b81526004016106bd90614645565b6000848152600560205260409020600781015461194890613388565b611951816133a5565b6002810154611966908563ffffffff612d8e16565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c916119ab9189918991906144fb565b60405180910390a2806004015481600201549250925050935093915050565b6000546001600160a01b031633146119f45760405162461bcd60e51b81526004016106bd906145c5565b565b60006117fe6d10dbdb1b185d195c985b155d1a5b60921b613078565b600080611a1d612b8c565b611a25612c2e565b6000611a318533612c82565b6002810154909150611a49908563ffffffff61304916565b6002820155611a5781613497565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611a98939291906144fb565b60405180910390a28060040154816002015492509250509250929050565b600080611ac1612b8c565b611ac9612c2e565b6000611ad58587612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611b51906130d5565b60068101546004820154611b6a9163ffffffff612d8e16565b841115611b895760405162461bcd60e51b81526004016106bd906145b5565b611b938185612e24565b600080611b9e6134d0565b6001600160a01b031663f450aa34878560030154631cd554d160e21b6040518463ffffffff1660e01b8152600401611bd8939291906144fb565b60606040518083038186803b158015611bf057600080fd5b505afa158015611c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c289190810190613bda565b5090925090506000611c40838363ffffffff612d8e16565b90506000611c54828463ffffffff612d8e16565b6002860154909150611c6c908263ffffffff61304916565b6002860155611c8283631cd554d160e21b6134e7565b611c8a6117e7565b6001600160a01b0316639dc29fac30836040518363ffffffff1660e01b8152600401611cb7929190614484565b600060405180830381600087803b158015611cd157600080fd5b505af1158015611ce5573d6000803e3d6000fd5b5050426008880155505060048501546040516001600160a01b038c169182917fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f91611d33918e918e916144fb565b60405180910390a3505050506002015492959294509192505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611d9157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611dd0578160200160208202803883390190505b50905060005b8351811015611e1257838181518110611deb57fe5b6020026020010151828281518110611dff57fe5b6020908102919091010152600101611dd6565b5060005b8251811015611e5557828181518110611e2b57fe5b6020026020010151828286510181518110611e4257fe5b6020908102919091010152600101611e16565b5092915050565b600080611e67612b8c565b611e6f612c2e565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152611ef9906130d5565b611f0886826003015486612cd6565b611f11816133a5565b611f1b8185612e24565b6003810154600090815260086020526040902054611f3890613071565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401611f65929190614484565b600060405180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f87878560040154604051611feb939291906144fb565b60405180910390a380600401548160020154925092505094509492505050565b600080600061201a8486612c82565b9050600061203982600601548360040154612d8e90919063ffffffff16565b9050612046868683611ab6565b90945092506120548261369d565b856001600160a01b03167f70346f402be1b9ee8737498472823400f3a14730d534d309f1d2d365ca7511e6868686604051612091939291906144fb565b60405180910390a250509250929050565b6000806120ad612b8c565b6120b5612c2e565b60006120c18533612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061213d906130d5565b6004810154612152908563ffffffff612d8e16565b600482015561216081613497565b6000612177600c54866136c290919063ffffffff16565b9050600061218b868363ffffffff61304916565b600584015490915060ff161561239857600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c1916121d0918a906004016144cd565b600060405180830381600087803b1580156121ea57600080fd5b505af11580156121fe573d6000803e3d6000fd5b5050505061220a6117e7565b6001600160a01b031663867904b4336122216136d7565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b815260040161225b939291906144fb565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122ab9190810190613b4c565b6040518363ffffffff1660e01b81526004016122c892919061445b565b600060405180830381600087803b1580156122e257600080fd5b505af11580156122f6573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156123935760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906123609033908a9060040161445b565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505b61247c565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde916123cd918a906004016144cd565b600060405180830381600087803b1580156123e757600080fd5b505af11580156123fb573d6000803e3d6000fd5b505050600384015460009081526008602052604090205461241c9150613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161244992919061445b565b600060405180830381600087803b15801561246357600080fd5b505af1158015612477573d6000803e3d6000fd5b505050505b61248a8284600301546134e7565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654906124c4908a908a906144cd565b60405180910390a282600401548360020154945094505050509250929050565b60006124ee612b8c565b6124f6612c2e565b600d5460ff166125185760405162461bcd60e51b81526004016106bd90614635565b6000838152600860205260409020546125435760405162461bcd60e51b81526004016106bd90614565565b61254b6136d7565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161257691906144b1565b60206040518083038186803b15801561258e57600080fd5b505afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c69190810190613ae0565b156125e35760405162461bcd60e51b81526004016106bd90614615565b600b548510156126055760405162461bcd60e51b81526004016106bd90614665565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb409061263c90899089906004016144cd565b604080518083038186803b15801561265357600080fd5b505afa158015612667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061268b9190810190613afe565b9150915081801561269a575080155b6126b65760405162461bcd60e51b81526004016106bd906145f5565b6126c08786610eac565b8611156126df5760405162461bcd60e51b81526004016106bd90614655565b60006126f6600c54886136c290919063ffffffff16565b9050600061270a888363ffffffff61304916565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127949190810190613b4c565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061285e906133a5565b61286882886134e7565b8515612a5b576128766117e7565b6001600160a01b031663867904b43361288d6136d7565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016128c3939291906144fb565b60206040518083038186803b1580156128db57600080fd5b505afa1580156128ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129139190810190613b4c565b6040518363ffffffff1660e01b815260040161293092919061445b565b600060405180830381600087803b15801561294a57600080fd5b505af115801561295e573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c19150612994908a908c906004016144cd565b600060405180830381600087803b1580156129ae57600080fd5b505af11580156129c2573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b0316159050612a56576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612a239033908c9060040161445b565b600060405180830381600087803b158015612a3d57600080fd5b505af1158015612a51573d6000803e3d6000fd5b505050505b612b37565b600087815260086020526040902054612a7390613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612aa092919061445b565b600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150612b04908a908c906004016144cd565b600060405180830381600087803b158015612b1e57600080fd5b505af1158015612b32573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b87604051612b78959493929190614802565b60405180910390a250505050949350505050565b612b946136d7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612bc191906144b1565b60206040518083038186803b158015612bd957600080fd5b505afa158015612bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c119190810190613ae0565b156119f45760405162461bcd60e51b81526004016106bd90614615565b612c366136f2565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c6e57600080fd5b505afa158015610885573d6000803e3d6000fd5b60008281526005602052604090206007810154612c9e90613388565b60018101546001600160a01b03838116911614612ccd5760405162461bcd60e51b81526004016106bd90614625565b610f3e816133a5565b6000828152600860205260409020548190612cf090613071565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612d1b919061440a565b60206040518083038186803b158015612d3357600080fd5b505afa158015612d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6b9190810190613b4c565b1015612d895760405162461bcd60e51b81526004016106bd906145a5565b505050565b600082820183811015610f3b5760405162461bcd60e51b81526004016106bd90614575565b600080612dc1858585613122565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612e14939291906144fb565b60405180910390a3935093915050565b60008111612e445760405162461bcd60e51b81526004016106bd90614685565b600682015415612ea657600082600601548211612e615781612e67565b82600601545b6006840154909150612e7f908263ffffffff61304916565b6006840155612e94828263ffffffff61304916565b9150612ea48184600301546134e7565b505b8015610e0c576004820154612ec1908263ffffffff61304916565b6004830155600582015460ff1615612fde576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612f089185906004016144cd565b600060405180830381600087803b158015612f2257600080fd5b505af1158015612f36573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612fd957600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612fa692911690859060040161445b565b600060405180830381600087803b158015612fc057600080fd5b505af1158015612fd4573d6000803e3d6000fd5b505050505b610e0c565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b3916130139185906004016144cd565b600060405180830381600087803b15801561302d57600080fd5b505af1158015613041573d6000803e3d6000fd5b505050505050565b60008282111561306b5760405162461bcd60e51b81526004016106bd90614595565b50900390565b6000610f3e825b60008181526003602090815260408083205490516001600160a01b0390911691821515916130a8918691016143df565b60405160208183030381529060405290611e555760405162461bcd60e51b81526004016106bd9190614524565b6130e28160e00151613388565b426131016130ef3061370c565b6101008401519063ffffffff612d8e16565b111561311f5760405162461bcd60e51b81526004016106bd90614605565b50565b600080600061314284600601548560040154612d8e90919063ffffffff16565b9050836004015492508360020154915061316185856003015483612cd6565b600384015460009081526008602052604090205461317e90613071565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016131ab929190614484565b600060405180830381600087803b1580156131c557600080fd5b505af11580156131d9573d6000803e3d6000fd5b50505050600584015460ff16156132f7576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361322493909291016144cd565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156132f25760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926132bf928b929101614484565b600060405180830381600087803b1580156132d957600080fd5b505af11580156132ed573d6000803e3d6000fd5b505050505b613364565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b39361333193909291016144cd565b600060405180830381600087803b15801561334b57600080fd5b505af115801561335f573d6000803e3d6000fd5b505050505b613376846006015485600301546134e7565b61337f8461369d565b50935093915050565b8061311f5760405162461bcd60e51b81526004016106bd90614585565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936133ed9360ff909116906004016147bf565b6040805180830381600087803b15801561340657600080fd5b505af115801561341a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061343e9190810190613b89565b915091506000836007015460001461346a576004840154613465908463ffffffff6137df16565b61346d565b60005b6006850154909150613485908263ffffffff612d8e16565b60068501555060079092019190915550565b60048101546134a55761311f565b600a5481546134b390611270565b1161311f5760405162461bcd60e51b81526004016106bd90614535565b60006117fe6822bc31b430b733b2b960b91b613078565b8115610e0c57631cd554d160e21b811461358c576135036136d7565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401613539939291906144fb565b60206040518083038186803b15801561355157600080fd5b505afa158015613565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135899190810190613b4c565b91505b6135946117e7565b6001600160a01b031663867904b46135aa613809565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e257600080fd5b505afa1580156135f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061361a91908101906139ad565b846040518363ffffffff1660e01b8152600401613638929190614484565b600060405180830381600087803b15801561365257600080fd5b505af1158015613666573d6000803e3d6000fd5b50505050613672613809565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161301391906144b1565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000610f3b8383670de0b6b3a764000061381e565b60006117fe6c45786368616e6765526174657360981b613078565b60006117fe6b53797374656d53746174757360a01b613078565b600061371661385a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161375c9291906143b9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161378f9291906144cd565b60206040518083038186803b1580156137a757600080fd5b505afa1580156137bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3e9190810190613b4c565b6000670de0b6b3a76400006137fa848463ffffffff61387716565b8161380157fe5b049392505050565b60006117fe66119959541bdbdb60ca1b613078565b600080600a8304613835868663ffffffff61387716565b8161383c57fe5b0490506005600a82061061384e57600a015b600a9004949350505050565b60006117fe6e466c657869626c6553746f7261676560881b613078565b60008261388657506000610f3e565b8282028284828161389357fe5b0414610f3b5760405162461bcd60e51b81526004016106bd906145d5565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f3e8161491b565b8051610f3e8161491b565b60008083601f84011261393357600080fd5b50813567ffffffffffffffff81111561394b57600080fd5b60208301915083602082028301111561122c57600080fd5b8035610f3e8161492f565b8051610f3e8161492f565b8035610f3e81614938565b8051610f3e81614938565b6000602082840312156139a157600080fd5b6000610cb2848461390b565b6000602082840312156139bf57600080fd5b6000610cb28484613916565b600080604083850312156139de57600080fd5b60006139ea858561390b565b92505060206139fb85828601613979565b9150509250929050565b600080600060608486031215613a1a57600080fd5b6000613a26868661390b565b9350506020613a3786828701613979565b9250506040613a4886828701613979565b9150509250925092565b60008060008060408587031215613a6857600080fd5b843567ffffffffffffffff811115613a7f57600080fd5b613a8b87828801613921565b9450945050602085013567ffffffffffffffff811115613aaa57600080fd5b613ab687828801613921565b95989497509550505050565b600060208284031215613ad457600080fd5b6000610cb28484613963565b600060208284031215613af257600080fd5b6000610cb2848461396e565b60008060408385031215613b1157600080fd5b6000613b1d858561396e565b92505060206139fb8582860161396e565b600060208284031215613b4057600080fd5b6000610cb28484613979565b600060208284031215613b5e57600080fd5b6000610cb28484613984565b60008060408385031215613b7d57600080fd5b60006139ea8585613979565b60008060408385031215613b9c57600080fd5b6000613ba88585613984565b92505060206139fb85828601613984565b600080600060608486031215613bce57600080fd5b6000613a268686613979565b600080600060608486031215613bef57600080fd5b6000613bfb8686613984565b9350506020613c0c86828701613984565b9250506040613a4886828701613984565b6000613c298383613cbc565b505060200190565b613c3a81614888565b82525050565b613c3a81614878565b613c3a613c5582614878565b6148fa565b6000613c6582614854565b613c6f8185614858565b9350613c7a8361484e565b8060005b83811015613ca8578151613c928882613c1d565b9750613c9d8361484e565b925050600101613c7e565b509495945050505050565b613c3a81614883565b613c3a816109a0565b613c3a613cd1826109a0565b6109a0565b613c3a8161488f565b6000613cea82614854565b613cf48185614858565b9350613d0481856020860161489a565b613d0d8161490b565b9093019392505050565b6000613d24600e83614858565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000613d4e603583614858565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613da5601583614858565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b6000613dd6601483614858565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613e06601b83614858565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e3f600e83614858565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613e69601e83614858565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613ea2601183614861565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613ecf601283614858565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613efd601083614858565b6f0a0c2f2dacadce840e8dede40d0d2ced60831b815260200192915050565b6000613f29602f83614858565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f7a602183614858565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fbd601183614858565b70416c6c6f77616e636520746f6f206c6f7760781b815260200192915050565b6000613fea601a83614858565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000614023601383614858565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000614052601983614861565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061408b600c83614858565b6b496e76616c6964207261746560a01b815260200192915050565b60006140b3601083614858565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b60006140df600d83614858565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000614108601783614858565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000614141601783614858565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b600061417a601583614858565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b60006141ab601683614858565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b60006141dd601783614858565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b805161012083019061421b8482613cbc565b50602082015161422e6020850182613c40565b5060408201516142416040850182613cbc565b5060608201516142546060850182613cbc565b5060808201516142676080850182613cbc565b5060a082015161427a60a0850182613cb3565b5060c082015161428d60c0850182613cbc565b5060e08201516142a060e0850182613cbc565b50610100820151610885610100850182613cbc565b80546101208301906142c6816148ec565b6142d08582613cbc565b505060018201546142e0816148c6565b6142ed6020860182613c40565b505060028201546142fd816148ec565b61430a6040860182613cbc565b5050600382015461431a816148ec565b6143276060860182613cbc565b50506004820154614337816148ec565b6143446080860182613cbc565b50506005820154614354816148d9565b61436160a0860182613cb3565b50506006820154614371816148ec565b61437e60c0860182613cbc565b5050600782015461438e816148ec565b61439b60e0860182613cbc565b505060088201546143ab816148ec565b610570610100860182613cbc565b60006143c58285613cc5565b6020820191506143d58284613c49565b5060140192915050565b60006143ea82613e95565b91506143f68284613cc5565b50602001919050565b60006143ea82614045565b60208101610f3e8284613c40565b604081016144268285613c31565b610afa6020830184613c40565b606081016144418286613c31565b61444e6020830185613c40565b610cb26040830184613cbc565b604081016144698285613c31565b610afa6020830184613cbc565b604081016144268285613c40565b604081016144698285613c40565b60208082528101610f3b8184613c5a565b60208101610f3e8284613cb3565b60208101610f3e8284613cbc565b604081016144268285613cbc565b604081016144698285613cbc565b604081016144e98285613cbc565b8181036020830152610cb28184613cdf565b606081016145098286613cbc565b61444e6020830185613cbc565b60208101610f3e8284613cd6565b60208082528101610f3b8184613cdf565b60208082528101610f3e81613d17565b60208082528101610f3e81613d41565b60208082528101610f3e81613d98565b60208082528101610f3e81613dc9565b60208082528101610f3e81613df9565b60208082528101610f3e81613e32565b60208082528101610f3e81613e5c565b60208082528101610f3e81613ec2565b60208082528101610f3e81613ef0565b60208082528101610f3e81613f1c565b60208082528101610f3e81613f6d565b60208082528101610f3e81613fb0565b60208082528101610f3e81613fdd565b60208082528101610f3e81614016565b60208082528101610f3e8161407e565b60208082528101610f3e816140a6565b60208082528101610f3e816140d2565b60208082528101610f3e816140fb565b60208082528101610f3e81614134565b60208082528101610f3e8161416d565b60208082528101610f3e8161419e565b60208082528101610f3e816141d0565b61014081016146a48285614209565b610afa610120830184613cbc565b61016081016146c18286614209565b6146cf610120830185613cbc565b610cb2610140830184613cbc565b61014081016146a482856142b5565b61016081016146c182866142b5565b610120810161470a828c613cbc565b614717602083018b613c40565b614724604083018a613cbc565b6147316060830189613cbc565b61473e6080830188613cbc565b61474b60a0830187613cb3565b61475860c0830186613cbc565b61476560e0830185613cbc565b614773610100830184613cbc565b9a9950505050505050505050565b6080810161478f8287613cbc565b61479c6020830186613c31565b6147a96040830185613cbc565b6147b66060830184613cbc565b95945050505050565b606081016147cd8286613cbc565b6147da6020830185613cbc565b610cb26040830184613cb3565b608081016147f58287613cbc565b61479c6020830186613cbc565b60a081016148108288613cbc565b61481d6020830187613cbc565b61482a6040830186613cbc565b6148376060830185613cbc565b6148446080830184613cbc565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f3e82614866565b151590565b6000610f3e825b6000610f3e82614878565b60005b838110156148b557818101518382015260200161489d565b838111156108855750506000910152565b6000610f3e6148d4836109a0565b614866565b6000610f3e6148e7836109a0565b614872565b6000610f3e613cd1836109a0565b6000610f3e826000610f3e82614915565b601f01601f191690565b60601b90565b61492481614878565b811461311f57600080fd5b61492481614883565b614924816109a056fea365627a7a723158203b9554cf14ae2d1fb9cfd26d257949d3aa3ab882db0be81afdf1a0dc1393ed0c6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract ICollateralManager",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByRepayment",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "closeWithCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "getShortAndCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "liqAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "loans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "short",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interestIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastInteraction",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "contract ICollateralManager",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repayWithCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"name": "setMinCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "principal",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73",
				"urls": [
					"bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0",
					"dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralShort.sol": "CollateralShort"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralShort.sol": {
						"keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73",
						"urls": [
							"bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0",
							"dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP"
						]
					}
				},
				"version": 1
			}
		},
		"FuturesMarketManager": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162003090380380620030908339810160408190526200003491620000fa565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f90620001b6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000190565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002119050565b8051620000f481620001f7565b92915050565b600080604083850312156200010e57600080fd5b60006200011c8585620000e7565b92505060206200012f85828601620000e7565b9150509250929050565b6200014481620001e3565b82525050565b6200014481620001d1565b600062000164601983620001c8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a0828562000139565b620001af60208301846200014a565b9392505050565b60208082528101620000f48162000155565b90815260200190565b60006001600160a01b038216620000f4565b6000620000f4826000620000f482620001d1565b6200020281620001d1565b81146200020e57600080fd5b50565b612e6f80620002216000396000f3fe608060405234801561001057600080fd5b50600436106102055760003560e01c80638da5cb5b1161011a578063ca079885116100ad578063f04cfcea1161007c578063f04cfcea14610413578063f607d90014610426578063fb77549c14610439578063fc7b9c181461044c578063fe11edc91461046257610205565b8063ca079885146103c7578063d289ade2146103da578063da40385d146103ed578063e63bfadb1461040057610205565b8063a9e0bef7116100e9578063a9e0bef71461037b578063bfef7bdf1461038e578063c03852fb146103a1578063c6bbdafb146103b457610205565b80638da5cb5b1461033a57806395fafa4a14610342578063a237e94d14610355578063a7b5833f1461036857610205565b80634dc253481161019d5780636f9a0ca61161016c5780636f9a0ca6146102ef578063741853601461030257806379ba50971461030a57806383ce902214610312578063899ffef41461032557610205565b80634dc25348146102b75780634ed03526146102bf57806353a47bb7146102d2578063614d08f8146102e757610205565b80632af64bd3116101d95780632af64bd314610272578063375a7cba146102875780633c88ee181461028f5780634b955c38146102a457610205565b80628d3aca1461020a57806304f3bcec146102335780631627540c1461024857806326e04f9d1461025d575b600080fd5b61021d610218366004612496565b610475565b60405161022a9190612be3565b60405180910390f35b61023b6104bc565b60405161022a9190612c60565b61025b610256366004612420565b6104cb565b005b610265610529565b60405161022a9190612c24565b61027a610530565b60405161022a9190612c16565b61021d610647565b610297610665565b60405161022a9190612c05565b61025b6102b2366004612496565b610677565b61021d61072d565b61025b6102cd366004612496565b610746565b6102da61078d565b60405161022a9190612b9f565b61026561079c565b6102656102fd36600461245c565b6107b7565b61025b610965565b61025b610abb565b610297610320366004612496565b610b57565b61032d610b98565b60405161022a9190612bf4565b6102da610c2d565b61021d6103503660046125f2565b610c3c565b61027a610363366004612420565b610c76565b61025b61037636600461245c565b610c91565b610297610389366004612496565b610d04565b61025b61039c366004612496565b610d42565b6102656103af36600461250d565b610d86565b61025b6103c23660046125d3565b610da0565b61025b6103d5366004612496565b610db2565b61025b6103e836600461252b565b610e5b565b61025b6103fb366004612496565b610e71565b6102da61040e36600461252b565b610eb8565b61025b610421366004612496565b610ed3565b61021d61043436600461250d565b610f1f565b61025b610447366004612496565b610f5c565b610454611038565b60405161022a929190612d0f565b61021d6104703660046125d3565b611125565b60606104b383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061113992505050565b90505b92915050565b6002546001600160a01b031681565b6104d36111e9565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061051e908390612b9f565b60405180910390a150565b6004545b90565b6000606061053c610b98565b905060005b815181101561063e57600082828151811061055857fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906105a9908590600401612c24565b60206040518083038186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105f9919081019061243e565b6001600160a01b031614158061062457506000818152600360205260409020546001600160a01b0316155b15610635576000935050505061052d565b50600101610541565b50600191505090565b600480546060916106609160009063ffffffff61121516565b905090565b6060610660610672610647565b6112e9565b61067f6111e9565b8060005b8181101561072757600084848381811061069957fe5b90506020020160206106ae9190810190612420565b90506001600160a01b0381166106df5760405162461bcd60e51b81526004016106d690612cbf565b60405180910390fd5b6106f060048263ffffffff6117b016565b61070c5760405162461bcd60e51b81526004016106d690612cff565b6107158161181e565b61071e8161191a565b50600101610683565b50505050565b600e80546060916106609160009063ffffffff61121516565b61074e6111e9565b8060005b818110156107275761078584848381811061076957fe5b905060200201602061077e9190810190612420565b60016119f8565b600101610752565b6001546001600160a01b031681565b73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81565b60006107c1611bf5565b60006107cb611c39565b905060006107d7611c50565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b815260040161080b929190612bc8565b606060405180830381600087803b15801561082557600080fd5b505af1158015610839573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061085d919081019061263f565b5090915084905081156108e9576040516370a0823160e01b81526001600160a01b038416906370a0823190610896908990600401612b9f565b60206040518083038186803b1580156108ae57600080fd5b505afa1580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e69190810190612549565b90505b8481106108f657846108f8565b805b604051632770a7eb60e21b81529095506001600160a01b03841690639dc29fac906109299089908990600401612bc8565b600060405180830381600087803b15801561094357600080fd5b505af1158015610957573d6000803e3d6000fd5b509698975050505050505050565b606061096f610b98565b905060005b8151811015610ab757600082828151811061098b57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109cd9190612b94565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109f9929190612c40565b60206040518083038186803b158015610a1157600080fd5b505afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a49919081019061243e565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610aa59084908490612c32565b60405180910390a15050600101610974565b5050565b6001546001600160a01b03163314610ae55760405162461bcd60e51b81526004016106d690612c7f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b28926001600160a01b0391821692911690612bad565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60606104b361067284848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061113992505050565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b81600081518110610bd457fe5b60200260200101818152505066119959541bdbdb60ca1b81600181518110610bf857fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110610c1e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b60608115610c5d57610c566008858563ffffffff61121516565b9050610c6f565b610c566006858563ffffffff61121516565b9392505050565b6000610c89600e8363ffffffff6117b016565b90505b919050565b610c99611bf5565b610ca1611c39565b6001600160a01b031663867904b483836040518363ffffffff1660e01b8152600401610cce929190612bc8565b600060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050505050565b60606104b38383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506112e992505050565b610d4a6111e9565b610ab7828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611c6792505050565b60008115610d975750600854610c8c565b50600654610c8c565b610da8611bf5565b610ab78282611e95565b610dba6111e9565b60005b81811015610e5657610df7838383818110610dd457fe5b9050602002016020610de99190810190612420565b600e9063ffffffff611fdd16565b7f696384f01e94455c2445de779911f5b368f4eac3e16adf75bdc0d48ac54e8d19838383818110610e2457fe5b9050602002016020610e399190810190612420565b604051610e469190612b9f565b60405180910390a1600101610dbd565b505050565b610e63611bf5565b610e6e816000611e95565b50565b610e796111e9565b8060005b8181101561072757610eb0848483818110610e9457fe5b9050602002016020610ea99190810190612420565b60006119f8565b600101610e7d565b600a602052600090815260409020546001600160a01b031681565b610edb6111e9565b610ab7610f1a83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061113992505050565b611c67565b60608115610f455760088054610f3e919060009063ffffffff61121516565b9050610c8c565b60068054610f3e919060009063ffffffff61121516565b610f646111e9565b60005b81811015610e5657610fa1838383818110610f7e57fe5b9050602002016020610f939190810190612420565b600e9063ffffffff6117b016565b1561103057610fd8838383818110610fb557fe5b9050602002016020610fca9190810190612420565b600e9063ffffffff61202f16565b7f833f79c2defb42e058e0f2ee06ccf0ed0d316289148a5d3b28d1296d8a6e00f483838381811061100557fe5b905060200201602061101a9190810190612420565b6040516110279190612b9f565b60405180910390a15b600101610f67565b600454600090819081908190815b8181101561111a576000806004600001838154811061106157fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663e8c634706040518163ffffffff1660e01b8152600401604080518083038186803b1580156110b657600080fd5b505afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110ee91908101906125a3565b9092509050611103868363ffffffff61214516565b9550848061110e5750805b94505050600101611046565b509193509150509091565b60606104b36004848463ffffffff61121516565b606060008251905060608160405190808252806020026020018201604052801561116d578160200160208202803883390190505b50905060005b828110156111e157600a600086838151811061118b57fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106111c157fe5b6001600160a01b0390921660209283029190910190910152600101611173565b509392505050565b6000546001600160a01b031633146112135760405162461bcd60e51b81526004016106d690612ccf565b565b825460609083830190811115611229575083545b838111611246575050604080516000815260208101909152610c6f565b604080518583038082526020808202830101909252606090828015611275578160200160208202803883390190505b50905060005b828110156112de57876000018782018154811061129457fe5b9060005260206000200160009054906101000a90046001600160a01b03168282815181106112be57fe5b6001600160a01b039092166020928302919091019091015260010161127b565b509695505050505050565b606060008251905060608160405190808252806020026020018201604052801561132d57816020015b61131a6121e3565b8152602001906001900390816113125790505b50905060005b828110156111e157600085828151811061134957fe5b602002602001015190506000816001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561138e57600080fd5b505afa1580156113a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c69190810190612549565b90506000826001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561140357600080fd5b505afa158015611417573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061143b9190810190612549565b9050600080846001600160a01b031663d24378eb6040518163ffffffff1660e01b8152600401604080518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114b091908101906125a3565b915091506000856001600160a01b031663e8c634706040518163ffffffff1660e01b8152600401604080518083038186803b1580156114ee57600080fd5b505afa158015611502573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152691908101906125a3565b50905060006115528c898151811061153a57fe5b602002602001015160086117b090919063ffffffff16565b9050604051806101600160405280886001600160a01b03168152602001868152602001878152602001858152602001886001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115ba57600080fd5b505afa1580156115ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f29190810190612585565b6001600160801b03168152602001886001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116719190810190612567565b600f0b8152602001838152602001886001600160a01b0316633aef4d0b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b857600080fd5b505afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f09190810190612549565b815260200182611701576000611772565b886001600160a01b031663b74e38066040518163ffffffff1660e01b815260040160206040518083038186803b15801561173a57600080fd5b505afa15801561174e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117729190810190612549565b8152602001841515815260200182151581525089898151811061179157fe5b6020026020010181905250505050505050508080600101915050611333565b81546000906117c1575060006104b6565b6001600160a01b0382166000908152600184016020526040902054801515806118165750826001600160a01b0316846000016000815481106117ff57fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6001600160a01b0381166000908152600d602090815260409182902080548351818402810184019094528084526060939283018282801561188857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161186a575b50939450600093505050505b81518110156118f8576118c48282815181106118ac57fe5b6020026020010151600b6117b090919063ffffffff16565b156118f0576118f08282815181106118d857fe5b6020026020010151600b61202f90919063ffffffff16565b600101611894565b506001600160a01b0382166000908152600d60205260408120610ab79161223f565b6060816001600160a01b0316631d46021f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561195557600080fd5b505afa158015611969573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261199191908101906124d8565b905060005b81518110156119ce576119c68282815181106119ae57fe5b6020026020010151600b611fdd90919063ffffffff16565b600101611996565b506001600160a01b0382166000908152600d602090815260409091208251610e569284019061225d565b611a006111e9565b611a1160048363ffffffff6117b016565b15611a2e5760405162461bcd60e51b81526004016106d690612caf565b6000826001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6957600080fd5b505afa158015611a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aa19190810190612549565b90506000836001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015611ade57600080fd5b505afa158015611af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b169190810190612549565b6000838152600a60205260409020549091506001600160a01b031615611b4e5760405162461bcd60e51b81526004016106d690612cdf565b6000828152600a6020526040902080546001600160a01b0319166001600160a01b038616179055611b80600485611fdd565b8215611ba557611b9760088563ffffffff611fdd16565b611ba08461191a565b611bb6565b611bb660068563ffffffff611fdd16565b81817f96bfb0243b17c28e58d33656cd16adf56e92fc6bbeedab19c4a1c56f585274d686604051611be79190612b9f565b60405180910390a350505050565b611c0660063363ffffffff6117b016565b80611c1d5750611c1d600b3363ffffffff6117b016565b6112135760405162461bcd60e51b81526004016106d690612cef565b60006106606814de5b9d1a1cd554d160ba1b61216a565b60006106606822bc31b430b733b2b960b91b61216a565b805160005b81811015610e56576000838281518110611c8257fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611cbf5760405162461bcd60e51b81526004016106d690612cff565b6000816001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015611cfa57600080fd5b505afa158015611d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d329190810190612549565b90506000826001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6f57600080fd5b505afa158015611d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611da79190810190612549565b6000838152600a60205260409020549091506001600160a01b0316611dde5760405162461bcd60e51b81526004016106d690612cff565b611def60088463ffffffff6117b016565b15611e1357611dfd8361181e565b611e0e60088463ffffffff61202f16565b611e24565b611e2460068463ffffffff61202f16565b6000828152600a6020526040902080546001600160a01b0319169055611e5160048463ffffffff61202f16565b81817fce64c0b68d87b6796835a03e01a9e3935b8ed965b01df87766b1e5e35ab44bfd85604051611e829190612b9f565b60405180910390a3505050600101611c6c565b50600080611ea16121ce565b9050611eab611c39565b6001600160a01b031663867904b4826001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505afa158015611f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f2a919081019061243e565b856040518363ffffffff1660e01b8152600401611f48929190612bc8565b600060405180830381600087803b158015611f6257600080fd5b505af1158015611f76573d6000803e3d6000fd5b50506040516322bf55ef60e01b81526001600160a01b03841692506322bf55ef9150611fa6908690600401612c24565b600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050505050565b611fe782826117b0565b610ab75781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b61203982826117b0565b6120555760405162461bcd60e51b81526004016106d690612c9f565b6001600160a01b03811660009081526001830160205260409020548254600019018082146120f457600084600001828154811061208e57fe5b60009182526020909120015485546001600160a01b03909116915081908690859081106120b757fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b83548490806120ff57fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b6000828201838110156104b35760405162461bcd60e51b81526004016106d690612c8f565b60008181526003602090815260408083205490516001600160a01b03909116918215159161219a91869101612b74565b604051602081830303815290604052906121c75760405162461bcd60e51b81526004016106d69190612c6e565b5092915050565b600061066066119959541bdbdb60ca1b61216a565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b5080546000825590600052602060002090810190610e6e91906122c2565b8280548282559060005260206000209081019282156122b2579160200282015b828111156122b257825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061227d565b506122be9291506122dc565b5090565b61052d91905b808211156122be57600081556001016122c8565b61052d91905b808211156122be5780546001600160a01b03191681556001016122e2565b80356104b681612df4565b80516104b681612df4565b60008083601f84011261232857600080fd5b50813567ffffffffffffffff81111561234057600080fd5b60208301915083602082028301111561235857600080fd5b9250929050565b600082601f83011261237057600080fd5b815161238361237e82612d51565b612d2a565b915081818352602084019350602081019050838560208402820111156123a857600080fd5b60005b838110156123d457816123be888261230b565b84525060209283019291909101906001016123ab565b5050505092915050565b80356104b681612e08565b80516104b681612e08565b80356104b681612e11565b80516104b681612e11565b80516104b681612e1a565b80516104b681612e23565b60006020828403121561243257600080fd5b60006118168484612300565b60006020828403121561245057600080fd5b6000611816848461230b565b6000806040838503121561246f57600080fd5b600061247b8585612300565b925050602061248c858286016123f4565b9150509250929050565b600080602083850312156124a957600080fd5b823567ffffffffffffffff8111156124c057600080fd5b6124cc85828601612316565b92509250509250929050565b6000602082840312156124ea57600080fd5b815167ffffffffffffffff81111561250157600080fd5b6118168482850161235f565b60006020828403121561251f57600080fd5b600061181684846123de565b60006020828403121561253d57600080fd5b600061181684846123f4565b60006020828403121561255b57600080fd5b600061181684846123ff565b60006020828403121561257957600080fd5b6000611816848461240a565b60006020828403121561259757600080fd5b60006118168484612415565b600080604083850312156125b657600080fd5b60006125c285856123ff565b925050602061248c858286016123e9565b600080604083850312156125e657600080fd5b600061247b85856123f4565b60008060006060848603121561260757600080fd5b600061261386866123f4565b9350506020612624868287016123f4565b9250506040612635868287016123de565b9150509250925092565b60008060006060848603121561265457600080fd5b600061266086866123ff565b9350506020612671868287016123ff565b9250506040612635868287016123ff565b600061268e83836126b7565b505060200190565b600061268e83836127c4565b60006126ae8383612a9e565b50506101600190565b6126c081612d85565b82525050565b60006126d182612d78565b6126db8185612d7c565b93506126e683612d72565b8060005b838110156127145781516126fe8882612682565b975061270983612d72565b9250506001016126ea565b509495945050505050565b600061272a82612d78565b6127348185612d7c565b935061273f83612d72565b8060005b838110156127145781516127578882612696565b975061276283612d72565b925050600101612743565b600061277882612d78565b6127828185612d7c565b935061278d83612d72565b8060005b838110156127145781516127a588826126a2565b97506127b083612d72565b925050600101612791565b6126c081612d90565b6126c08161052d565b6126c06127d98261052d565b61052d565b6126c081612db3565b60006127f282612d78565b6127fc8185612d7c565b935061280c818560208601612dbe565b61281581612dea565b9093019392505050565b600061282c603583612d7c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612883601b83612d7c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006128bc601383612d7c565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b60006128eb601583612d7c565b744d61726b657420616c72656164792065786973747360581b815260200192915050565b600061291c601183610c8c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612949600e83612d7c565b6d125b9d985b1a59081b585c9ad95d60921b815260200192915050565b6000612973602f83612d7c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006129c4601d83612d7c565b7f4d61726b657420616c72656164792065786973747320666f72206b6579000000815260200192915050565b60006129fd601983610c8c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612a36602983612d7c565b7f5065726d6974746564206f6e6c7920666f72206d61726b657420696d706c656d815268656e746174696f6e7360b81b602082015260400192915050565b6000612a81600e83612d7c565b6d155b9adb9bdddb881b585c9ad95d60921b815260200192915050565b8051610160830190612ab084826126b7565b506020820151612ac360208501826127c4565b506040820151612ad660408501826127c4565b506060820151612ae960608501826127c4565b506080820151612afc60808501826127c4565b5060a0820151612b0f60a08501826127c4565b5060c0820151612b2260c08501826127c4565b5060e0820151612b3560e08501826127c4565b50610100820151612b4a6101008501826127c4565b50610120820151612b5f6101208501826127bb565b506101408201516107276101408501826127bb565b6000612b7f8261290f565b9150612b8b82846127cd565b50602001919050565b6000612b7f826129f0565b602081016104b682846126b7565b60408101612bbb82856126b7565b610c6f60208301846126b7565b60408101612bd682856126b7565b610c6f60208301846127c4565b602080825281016104b381846126c6565b602080825281016104b3818461271f565b602080825281016104b3818461276d565b602081016104b682846127bb565b602081016104b682846127c4565b60408101612bbb82856127c4565b60408101612c4e82856127c4565b818103602083015261181681846127e7565b602081016104b682846127de565b602080825281016104b381846127e7565b60208082528101610c898161281f565b60208082528101610c8981612876565b60208082528101610c89816128af565b60208082528101610c89816128de565b60208082528101610c898161293c565b60208082528101610c8981612966565b60208082528101610c89816129b7565b60208082528101610c8981612a29565b60208082528101610c8981612a74565b60408101612d1d82856127c4565b610c6f60208301846127bb565b60405181810167ffffffffffffffff81118282101715612d4957600080fd5b604052919050565b600067ffffffffffffffff821115612d6857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610c8982612da7565b151590565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b6000610c8982612d85565b60005b83811015612dd9578181015183820152602001612dc1565b838111156107275750506000910152565b601f01601f191690565b612dfd81612d85565b8114610e6e57600080fd5b612dfd81612d90565b612dfd8161052d565b612dfd81612d95565b612dfd81612d9b56fea365627a7a72315820c0ae651725b0f979fcc310164cc514a21aa3159fe8976b317e8f41d095beea1e6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "endorsedAddress",
							"type": "address"
						}
					],
					"name": "EndorsedAddressAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "endorsedAddress",
							"type": "address"
						}
					],
					"name": "EndorsedAddressRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "market",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "asset",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "MarketAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "market",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "asset",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "MarketRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "addEndorsedAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "marketsToAdd",
							"type": "address[]"
						}
					],
					"name": "addMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "marketsToAdd",
							"type": "address[]"
						}
					],
					"name": "addProxiedMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allEndorsedAddresses",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allMarketSummaries",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "marketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"internalType": "bool",
									"name": "priceInvalid",
									"type": "bool"
								},
								{
									"internalType": "bool",
									"name": "proxied",
									"type": "bool"
								}
							],
							"internalType": "struct FuturesMarketManager.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "allMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSUSD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "postReclamationAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isEndorsed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSUSD",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "marketForKey",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "marketSummaries",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "marketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"internalType": "bool",
									"name": "priceInvalid",
									"type": "bool"
								},
								{
									"internalType": "bool",
									"name": "proxied",
									"type": "bool"
								}
							],
							"internalType": "struct FuturesMarketManager.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "marketSummariesForKeys",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "marketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"internalType": "bool",
									"name": "priceInvalid",
									"type": "bool"
								},
								{
									"internalType": "bool",
									"name": "proxied",
									"type": "bool"
								}
							],
							"internalType": "struct FuturesMarketManager.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "markets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "markets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "marketsForKeys",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "numMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "numMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "payFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "payFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "removeEndorsedAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "marketsToRemove",
							"type": "address[]"
						}
					],
					"name": "removeMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeysToRemove",
							"type": "bytes32[]"
						}
					],
					"name": "removeMarketsByKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "marketsToUpdate",
							"type": "address[]"
						}
					],
					"name": "updateMarketsImplementations",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa3cbb62115ffba274772e31f298d60e857f159c0d95d58cfd299a542ad858bd9",
				"urls": [
					"bzz-raw://a37478cb5d504d9f2c736cf9fefc1ccb95b56b0c26ec5bac767f52c78f76e39e",
					"dweb:/ipfs/QmTNZKKRUVCwDvY6Zi8jLs7X1kbMYqeMVq46JzUTi2tEAq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FuturesMarketManager.sol": "FuturesMarketManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FuturesMarketManager.sol": {
						"keccak256": "0xa3cbb62115ffba274772e31f298d60e857f159c0d95d58cfd299a542ad858bd9",
						"urls": [
							"bzz-raw://a37478cb5d504d9f2c736cf9fefc1ccb95b56b0c26ec5bac767f52c78f76e39e",
							"dweb:/ipfs/QmTNZKKRUVCwDvY6Zi8jLs7X1kbMYqeMVq46JzUTi2tEAq"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketData": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620027ed380380620027ed83398101604081905262000034916200006d565b600080546001600160a01b0319166001600160a01b0392909216919091179055620000d6565b80516200006781620000bc565b92915050565b6000602082840312156200008057600080fd5b60006200008e84846200005a565b949350505050565b60006200006782620000b0565b6000620000678262000096565b6001600160a01b031690565b620000c781620000a3565b8114620000d357600080fd5b50565b61270780620000e66000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063808bad3411610071578063808bad341461012957806383ce902214610149578063985f289e1461015c578063a9e0bef71461016f578063c1d1df5614610182578063c312452514610195576100a9565b806302506804146100ae578063093bfd66146100d75780633c88ee18146100ec5780636a59e495146100f4578063730e003714610109575b600080fd5b6100c16100bc366004611c3f565b6101aa565b6040516100ce91906125a9565b60405180910390f35b6100df6101c1565b6040516100ce9190612515565b6100df610258565b6100fc61029d565b6040516100ce9190612542565b61011c610117366004611cb5565b6102ac565b6040516100ce919061259a565b61013c610137366004611cd3565b6102bd565b6040516100ce91906125b8565b6100df610157366004611baa565b6102d6565b61013c61016a366004611c7b565b61030f565b6100df61017d366004611baa565b6103a3565b61011c610190366004611c3f565b6103e1565b61019d610474565b6040516100ce919061258c565b6101b2611533565b6101bb8261066e565b92915050565b60606102536101ce6106fa565b6001600160a01b031663f607d90060016040518263ffffffff1660e01b81526004016101fa9190612526565b60006040518083038186803b15801561021257600080fd5b505afa158015610226573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261024e9190810190611bec565b610779565b905090565b60606102536102656106fa565b6001600160a01b031663375a7cba6040518163ffffffff1660e01b815260040160006040518083038186803b15801561021257600080fd5b6000546001600160a01b031681565b6102b46115dd565b6101bb82610d22565b6102c5611640565b6102cf83836110f5565b9392505050565b60606102cf6102e36106fa565b6001600160a01b0316628d3aca85856040518363ffffffff1660e01b81526004016101fa929190612503565b610317611640565b6102cf6103226106fa565b6001600160a01b031663e63bfadb856040518263ffffffff1660e01b815260040161034d9190612534565b60206040518083038186803b15801561036557600080fd5b505afa158015610379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061039d9190810190611b84565b836110f5565b60606102cf83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061077992505050565b6103e96115dd565b6101bb6103f46106fa565b6001600160a01b031663e63bfadb846040518263ffffffff1660e01b815260040161041f9190612534565b60206040518083038186803b15801561043757600080fd5b505afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061046f9190810190611b84565b610d22565b61047c61168d565b60006104866111f9565b90506040518060800160405280826001600160a01b0316638f20f2ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104cc57600080fd5b505afa1580156104e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105049190810190611c5d565b8152602001826001600160a01b031663cfe711036040518163ffffffff1660e01b815260040160206040518083038186803b15801561054257600080fd5b505afa158015610556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061057a9190810190611c5d565b8152602001826001600160a01b031663139955026040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b857600080fd5b505afa1580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105f09190810190611c5d565b8152602001826001600160a01b031663acdde53e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106669190810190611c5d565b905291505090565b610676611533565b61067e6111f9565b6001600160a01b03166302506804836040518263ffffffff1660e01b81526004016106a99190612534565b6102c06040518083038186803b1580156106c257600080fd5b505afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101bb9190810190611d40565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d019061072990600401612550565b60206040518083038186803b15801561074157600080fd5b505afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102539190810190611b84565b60606000825190506060816040519080825280602002602001820160405280156107bd57816020015b6107aa6116b5565b8152602001906001900390816107a25790505b50905060606107ca6106fa565b6001600160a01b031663f607d90060006040518263ffffffff1660e01b81526004016107f69190612526565b60006040518083038186803b15801561080e57600080fd5b505afa158015610822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084a9190810190611bec565b905060005b83811015610d1857600086828151811061086557fe5b602002602001015190506000816001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e29190810190611c5d565b90506000826001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190611c5d565b9050610961611533565b61096a8361066e565b90506000846001600160a01b031663d24378eb6040518163ffffffff1660e01b8152600401604080518083038186803b1580156109a657600080fd5b505afa1580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109de9190810190611d10565b5090506000856001600160a01b031663e8c634706040518163ffffffff1660e01b8152600401604080518083038186803b158015610a1b57600080fd5b505afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a539190810190611d10565b5090506000610a75898e8a81518110610a6857fe5b6020026020010151611228565b9050604051806101600160405280886001600160a01b031681526020018681526020018781526020018560c001518152602001848152602001886001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae757600080fd5b505afa158015610afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b1f9190810190611d7d565b6001600160801b03168152602001886001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6657600080fd5b505afa158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9e9190810190611cf2565b600f0b8152602001838152602001886001600160a01b0316633aef4d0b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610be557600080fd5b505afa158015610bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1d9190810190611c5d565b815260200182610c9d57886001600160a01b031663b74e38066040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6057600080fd5b505afa158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c989190810190611c5d565b610ca0565b60005b81526020016040518060c0016040528087600001518152602001876020015181526020018760400151815260200187606001518152602001876080015181526020018760a001518152508152508a8981518110610cf957fe5b602002602001018190525050505050505050808060010191505061084f565b5090949350505050565b610d2a6115dd565b600080836001600160a01b031663d24378eb6040518163ffffffff1660e01b8152600401604080518083038186803b158015610d6557600080fd5b505afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d9d9190810190611d10565b915091506000846001600160a01b031663e8c634706040518163ffffffff1660e01b8152600401604080518083038186803b158015610ddb57600080fd5b505afa158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e139190810190611d10565b5090506000856001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5157600080fd5b505afa158015610e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e899190810190611c5d565b90506000866001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec657600080fd5b505afa158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efe9190810190611c5d565b9050610f08611533565b610f118261066e565b9050604051806101000160405280896001600160a01b031681526020018481526020018381526020016040518060c0016040528084600001518152602001846020015181526020018460400151815260200184606001518152602001846080015181526020018460a00151815250815260200160405180604001604052808460c0015181526020018460e001518152508152602001610faf8361127e565b815260200160405180608001604052808b6001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff857600080fd5b505afa15801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110309190810190611d7d565b6001600160801b031681526020016110478c6112a8565b81526020018781526020018b6001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c39190810190611cf2565b600f0b815250815260200160405180604001604052808981526020018815158152508152509650505050505050919050565b6110fd611640565b604051806101000160405280611113858561133d565b815260200161112285856113c1565b81526020016111318585611448565b81526020016111408585611477565b815260200161114f85856114a6565b815260200161115e85856114d5565b815260200161116d8585611504565b8152602001846001600160a01b031663b9f4ff55856040518263ffffffff1660e01b815260040161119e91906124f5565b60206040518083038186803b1580156111b657600080fd5b505afa1580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ee9190810190611c21565b151590529392505050565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d01906107299060040161256e565b6000805b835181101561127457826001600160a01b031684828151811061124b57fe5b60200260200101516001600160a01b0316141561126c5760019150506101bb565b60010161122c565b5060009392505050565b61128661171e565b5060408051808201909152610100820151815261012090910151602082015290565b6112b061171e565b600080836001600160a01b0316635fc890c26040518163ffffffff1660e01b8152600401604080518083038186803b1580156112eb57600080fd5b505afa1580156112ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113239190810190611d9b565b604080518082019091529182526020820152949350505050565b611345611738565b60405163055f575160e41b81526001600160a01b038416906355f57510906113719085906004016124f5565b60a06040518083038186803b15801561138957600080fd5b505afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102cf9190810190611d5f565b600080836001600160a01b031663b895daab846040518263ffffffff1660e01b81526004016113f091906124f5565b604080518083038186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061143f9190810190611d10565b50949350505050565b600080836001600160a01b031663b111dfac846040518263ffffffff1660e01b81526004016113f091906124f5565b600080836001600160a01b0316631bf556d0846040518263ffffffff1660e01b81526004016113f091906124f5565b600080836001600160a01b0316639cfbf4e4846040518263ffffffff1660e01b81526004016113f091906124f5565b600080836001600160a01b031663785cdeec846040518263ffffffff1660e01b81526004016113f091906124f5565b600080836001600160a01b031663964db90c846040518263ffffffff1660e01b81526004016113f091906124f5565b604051806102c00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b60408051610100810182526000808252602082018190529181019190915260608101611607611766565b815260200161161461171e565b815260200161162161171e565b815260200161162e61179c565b815260200161163b6117ca565b905290565b604051806101000160405280611654611738565b81526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b60405180610160016040528060006001600160a01b0316815260200160008019168152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200161163b611766565b604051806040016040528060008152602001600081525090565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280600081526020016117b661171e565b815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b80356101bb81612677565b80516101bb81612677565b60008083601f84011261180957600080fd5b50813567ffffffffffffffff81111561182157600080fd5b60208301915083602082028301111561183957600080fd5b9250929050565b600082601f83011261185157600080fd5b815161186461185f826125ee565b6125c7565b9150818183526020840193506020810190508385602084028201111561188957600080fd5b60005b838110156118b5578161189f88826117ec565b845250602092830192919091019060010161188c565b5050505092915050565b80516101bb8161268e565b80356101bb81612697565b80516101bb81612697565b80356101bb816126a0565b80516101bb816126a9565b60006102c0828403121561190957600080fd5b6119146102c06125c7565b9050600061192284846118d5565b8252506020611933848483016118d5565b6020830152506040611947848285016118d5565b604083015250606061195b848285016118d5565b606083015250608061196f848285016118d5565b60808301525060a0611983848285016118d5565b60a08301525060c0611997848285016118d5565b60c08301525060e06119ab848285016118d5565b60e0830152506101006119c0848285016118d5565b610100830152506101206119d6848285016118d5565b610120830152506101406119ec848285016118d5565b61014083015250610160611a02848285016118d5565b61016083015250610180611a18848285016118d5565b610180830152506101a0611a2e848285016118d5565b6101a0830152506101c0611a44848285016118d5565b6101c0830152506101e0611a5a848285016118d5565b6101e083015250610200611a70848285016118d5565b61020083015250610220611a86848285016118d5565b61022083015250610240611a9c848285016118d5565b61024083015250610260611ab2848285016118d5565b61026083015250610280611ac8848285016118d5565b610280830152506102a0611ade848285016118d5565b6102a08301525092915050565b600060a08284031215611afd57600080fd5b611b0760a06125c7565b90506000611b158484611b79565b8252506020611b2684848301611b79565b6020830152506040611b3a84828501611b6e565b6040830152506060611b4e84828501611b6e565b6060830152506080611b62848285016118eb565b60808301525092915050565b80516101bb816126b2565b80516101bb816126bb565b600060208284031215611b9657600080fd5b6000611ba284846117ec565b949350505050565b60008060208385031215611bbd57600080fd5b823567ffffffffffffffff811115611bd457600080fd5b611be0858286016117f7565b92509250509250929050565b600060208284031215611bfe57600080fd5b815167ffffffffffffffff811115611c1557600080fd5b611ba284828501611840565b600060208284031215611c3357600080fd5b6000611ba284846118bf565b600060208284031215611c5157600080fd5b6000611ba284846118ca565b600060208284031215611c6f57600080fd5b6000611ba284846118d5565b60008060408385031215611c8e57600080fd5b6000611c9a85856118ca565b9250506020611cab858286016117e1565b9150509250929050565b600060208284031215611cc757600080fd5b6000611ba284846118e0565b60008060408385031215611ce657600080fd5b6000611c9a85856118e0565b600060208284031215611d0457600080fd5b6000611ba284846118eb565b60008060408385031215611d2357600080fd5b6000611d2f85856118d5565b9250506020611cab858286016118bf565b60006102c08284031215611d5357600080fd5b6000611ba284846118f6565b600060a08284031215611d7157600080fd5b6000611ba28484611aeb565b600060208284031215611d8f57600080fd5b6000611ba28484611b6e565b60008060408385031215611dae57600080fd5b6000611dba85856118d5565b9250506020611cab858286016118d5565b6000611dd78383612134565b50506102000190565b611de981612622565b82525050565b6000611dfb8385612619565b93506001600160fb1b03831115611e1157600080fd5b602083029250611e2283858461266b565b50500190565b6000611e3382612615565b611e3d8185612619565b9350611e488361260f565b8060005b83811015611e76578151611e608882611dcb565b9750611e6b8361260f565b925050600101611e4c565b509495945050505050565b611de98161262d565b611de981612632565b611de981612635565b611de981612640565b6000611eb2602483612619565b7f4d697373696e6720467574757265734d61726b65744d616e61676572204164648152637265737360e01b602082015260400192915050565b6000611ef8602583612619565b7f4d697373696e6720506572707356324d61726b657453657474696e6773204164815264647265737360d81b602082015260400192915050565b73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b9052565b74506572707356324d61726b657453657474696e677360581b9052565b805160c0830190611f7c8482611e8a565b506020820151611f8f6020850182611e8a565b506040820151611fa26040850182611e8a565b506060820151611fb56060850182611e8a565b506080820151611fc86080850182611e8a565b5060a0820151611fdb60a0850182611e8a565b50505050565b80516040830190611ff28482611e8a565b506020820151611fdb6020850182611e8a565b805160808301906120168482611e8a565b5060208201516120296020850182611e8a565b50604082015161203c6040850182611e8a565b506060820151611fdb6060850182611e8a565b80516102808301906120618482611de0565b5060208201516120746020850182611e8a565b5060408201516120876040850182611e8a565b50606082015161209a6060850182611f6b565b5060808201516120ae610120850182611fe1565b5060a08201516120c2610160850182611fe1565b5060c08201516120d66101a08501826120ea565b5060e0820151611fdb6102408501826124bf565b805160a08301906120fb8482611e8a565b50602082015161210e6020850182611fe1565b5060408201516121216060850182611e8a565b506060820151611fdb6080850182611e8a565b80516102008301906121468482611de0565b5060208201516121596020850182611e8a565b50604082015161216c6040850182611e8a565b50606082015161217f6060850182611e8a565b5060808201516121926080850182611e8a565b5060a08201516121a560a0850182611e8a565b5060c08201516121b860c0850182611e8a565b5060e08201516121cb60e0850182611e8a565b506101008201516121e0610100850182611e8a565b506101208201516121f5610120850182611e8a565b50610140820151611fdb610140850182611f6b565b80516102c083019061221c8482611e8a565b50602082015161222f6020850182611e8a565b5060408201516122426040850182611e8a565b5060608201516122556060850182611e8a565b5060808201516122686080850182611e8a565b5060a082015161227b60a0850182611e8a565b5060c082015161228e60c0850182611e8a565b5060e08201516122a160e0850182611e8a565b506101008201516122b6610100850182611e8a565b506101208201516122cb610120850182611e8a565b506101408201516122e0610140850182611e8a565b506101608201516122f5610160850182611e8a565b5061018082015161230a610180850182611e8a565b506101a082015161231f6101a0850182611e8a565b506101c08201516123346101c0850182611e8a565b506101e08201516123496101e0850182611e8a565b5061020082015161235e610200850182611e8a565b50610220820151612373610220850182611e8a565b50610240820151612388610240850182611e8a565b5061026082015161239d610260850182611e8a565b506102808201516123b2610280850182611e8a565b506102a0820151611fdb6102a0850182611e8a565b80516101808301906123d98482612462565b5060208201516123ec60a0850182611e8a565b5060408201516123ff60c0850182611e8a565b50606082015161241260e0850182611e8a565b506080820151612426610100850182611e8a565b5060a082015161243a610120850182611e8a565b5060c082015161244e610140850182611e8a565b5060e0820151611fdb610160850182611e81565b805160a083019061247384826124ec565b50602082015161248660208501826124ec565b50604082015161249960408501826124e3565b5060608201516124ac60608501826124e3565b506080820151611fdb6080850182611e9c565b805160408301906124d08482611e8a565b506020820151611fdb6020850182611e81565b611de981612646565b611de98161265e565b602081016101bb8284611de0565b60208082528101611ba2818486611def565b602080825281016102cf8184611e28565b602081016101bb8284611e81565b602081016101bb8284611e8a565b602081016101bb8284611e93565b6040810161255d82611f32565b81810360208301526101bb81611ea5565b6040810161257b82611f4e565b81810360208301526101bb81611eeb565b608081016101bb8284612005565b61028081016101bb828461204f565b6102c081016101bb828461220a565b61018081016101bb82846123c7565b60405181810167ffffffffffffffff811182821017156125e657600080fd5b604052919050565b600067ffffffffffffffff82111561260557600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006101bb82612652565b151590565b90565b60006101bb82612622565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b67ffffffffffffffff1690565b82818337506000910152565b61268081612622565b811461268b57600080fd5b50565b6126808161262d565b61268081612632565b61268081612635565b61268081612640565b61268081612646565b6126808161265e56fea365627a7a723158209b15d5718ae9145279082deb22d14a64844c471331df8ade1fe18481120d5e446c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "_resolverProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allMarketSummaries",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "key",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allProxiedMarketSummaries",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "key",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "globals",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "minInitialMargin",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationFeeRatio",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "minKeeperFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxKeeperFee",
									"type": "uint256"
								}
							],
							"internalType": "struct PerpsV2MarketData.FuturesGlobals",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IPerpsV2MarketViews",
							"name": "market",
							"type": "address"
						}
					],
					"name": "marketDetails",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "baseAsset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "marketKey",
									"type": "bytes32"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "maxLeverage",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "maxMarketValue",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.MarketLimits",
									"name": "limits",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "maxFundingVelocity",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "skewScale",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FundingParameters",
									"name": "fundingParameters",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "marketSize",
											"type": "uint256"
										},
										{
											"components": [
												{
													"internalType": "uint256",
													"name": "long",
													"type": "uint256"
												},
												{
													"internalType": "uint256",
													"name": "short",
													"type": "uint256"
												}
											],
											"internalType": "struct PerpsV2MarketData.Sides",
											"name": "sides",
											"type": "tuple"
										},
										{
											"internalType": "uint256",
											"name": "marketDebt",
											"type": "uint256"
										},
										{
											"internalType": "int256",
											"name": "marketSkew",
											"type": "int256"
										}
									],
									"internalType": "struct PerpsV2MarketData.MarketSizeDetails",
									"name": "marketSizeDetails",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "price",
											"type": "uint256"
										},
										{
											"internalType": "bool",
											"name": "invalid",
											"type": "bool"
										}
									],
									"internalType": "struct PerpsV2MarketData.PriceDetails",
									"name": "priceDetails",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "marketDetailsForKey",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "baseAsset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "marketKey",
									"type": "bytes32"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "maxLeverage",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "maxMarketValue",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.MarketLimits",
									"name": "limits",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "maxFundingVelocity",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "skewScale",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FundingParameters",
									"name": "fundingParameters",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "marketSize",
											"type": "uint256"
										},
										{
											"components": [
												{
													"internalType": "uint256",
													"name": "long",
													"type": "uint256"
												},
												{
													"internalType": "uint256",
													"name": "short",
													"type": "uint256"
												}
											],
											"internalType": "struct PerpsV2MarketData.Sides",
											"name": "sides",
											"type": "tuple"
										},
										{
											"internalType": "uint256",
											"name": "marketDebt",
											"type": "uint256"
										},
										{
											"internalType": "int256",
											"name": "marketSkew",
											"type": "int256"
										}
									],
									"internalType": "struct PerpsV2MarketData.MarketSizeDetails",
									"name": "marketSizeDetails",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "price",
											"type": "uint256"
										},
										{
											"internalType": "bool",
											"name": "invalid",
											"type": "bool"
										}
									],
									"internalType": "struct PerpsV2MarketData.PriceDetails",
									"name": "priceDetails",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "markets",
							"type": "address[]"
						}
					],
					"name": "marketSummaries",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "key",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "marketSummariesForKeys",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "market",
									"type": "address"
								},
								{
									"internalType": "bytes32",
									"name": "asset",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "key",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "price",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "marketSize",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "marketSkew",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "marketDebt",
									"type": "uint256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingRate",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "currentFundingVelocity",
									"type": "int256"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "takerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "takerFeeOffchainDelayedOrder",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "makerFeeOffchainDelayedOrder",
											"type": "uint256"
										}
									],
									"internalType": "struct PerpsV2MarketData.FeeRates",
									"name": "feeRates",
									"type": "tuple"
								}
							],
							"internalType": "struct PerpsV2MarketData.MarketSummary[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "parameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "takerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxMarketValue",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxFundingVelocity",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "skewScale",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "nextPriceConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "delayedOrderConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "minDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMinAge",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMaxAge",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "offchainMarketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "offchainPriceDivergence",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationPremiumMultiplier",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationBufferRatio",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLiquidationDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxPD",
									"type": "uint256"
								}
							],
							"internalType": "struct IPerpsV2MarketSettings.Parameters",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IPerpsV2MarketViews",
							"name": "market",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "positionDetails",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint64",
											"name": "id",
											"type": "uint64"
										},
										{
											"internalType": "uint64",
											"name": "lastFundingIndex",
											"type": "uint64"
										},
										{
											"internalType": "uint128",
											"name": "margin",
											"type": "uint128"
										},
										{
											"internalType": "uint128",
											"name": "lastPrice",
											"type": "uint128"
										},
										{
											"internalType": "int128",
											"name": "size",
											"type": "int128"
										}
									],
									"internalType": "struct IPerpsV2MarketBaseTypes.Position",
									"name": "position",
									"type": "tuple"
								},
								{
									"internalType": "int256",
									"name": "notionalValue",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "profitLoss",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "accruedFunding",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "remainingMargin",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "accessibleMargin",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationPrice",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "canLiquidatePosition",
									"type": "bool"
								}
							],
							"internalType": "struct PerpsV2MarketData.PositionData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "positionDetailsForMarketKey",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint64",
											"name": "id",
											"type": "uint64"
										},
										{
											"internalType": "uint64",
											"name": "lastFundingIndex",
											"type": "uint64"
										},
										{
											"internalType": "uint128",
											"name": "margin",
											"type": "uint128"
										},
										{
											"internalType": "uint128",
											"name": "lastPrice",
											"type": "uint128"
										},
										{
											"internalType": "int128",
											"name": "size",
											"type": "int128"
										}
									],
									"internalType": "struct IPerpsV2MarketBaseTypes.Position",
									"name": "position",
									"type": "tuple"
								},
								{
									"internalType": "int256",
									"name": "notionalValue",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "profitLoss",
									"type": "int256"
								},
								{
									"internalType": "int256",
									"name": "accruedFunding",
									"type": "int256"
								},
								{
									"internalType": "uint256",
									"name": "remainingMargin",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "accessibleMargin",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationPrice",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "canLiquidatePosition",
									"type": "bool"
								}
							],
							"internalType": "struct PerpsV2MarketData.PositionData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x1b1a5495143dbc0b314e7e93e5286790e784713f6a3c910c154b1f53a9c20443",
				"urls": [
					"bzz-raw://6e421a481ba7bb9b9953e6a1ecd69f33d6d9c12f9722fa9936d458f7f7ebdd97",
					"dweb:/ipfs/QmRUokk15B7qbARotMSFLAKMfwm7wCRYZwAecwY19uEwQt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketData.sol": "PerpsV2MarketData"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketData.sol": {
						"keccak256": "0x1b1a5495143dbc0b314e7e93e5286790e784713f6a3c910c154b1f53a9c20443",
						"urls": [
							"bzz-raw://6e421a481ba7bb9b9953e6a1ecd69f33d6d9c12f9722fa9936d458f7f7ebdd97",
							"dweb:/ipfs/QmRUokk15B7qbARotMSFLAKMfwm7wCRYZwAecwY19uEwQt"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketSettings": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162003178380380620031788339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b612f5580620002236000396000f3fe608060405234801561001057600080fd5b50600436106103db5760003560e01c8063741853601161020a578063a9ec141611610125578063c460ffd8116100b8578063d9b102e211610087578063d9b102e21461081e578063e7de75bb14610831578063f601333514610844578063f616992314610857578063fa92f5901461086a576103db565b8063c460ffd8146107dd578063c6174a98146107f0578063cfe7110314610803578063d28fe4121461080b576103db565b8063b21a7e86116100f4578063b21a7e8614610791578063b9f4e160146107a4578063bec07329146107b7578063c3b8b582146107ca576103db565b8063a9ec141614610750578063acdde53e14610763578063ae7dff481461076b578063af4fe4061461077e576103db565b80638fb4855e1161019d5780639c02908b1161016c5780639c02908b14610704578063a3bc0db014610717578063a53d5ba01461072a578063a61fd3481461073d576103db565b80638fb4855e146106b857806395556494146106cb57806396129d2b146106de5780639a33f109146106f1576103db565b8063899ffef4116101d9578063899ffef4146106805780638c3556e9146106955780638da5cb5b146106a85780638f20f2ea146106b0576103db565b8063741853601461064a5780637553759614610652578063798133bd1461066557806379ba509714610678576103db565b806331f90c96116102fa578063435355281161028d578063614d08f81161025c578063614d08f81461060957806361fba68214610611578063633026dd146106245780636f45905014610637576103db565b806343535528146105bb57806343b3c004146105ce57806353a47bb7146105e157806358da2168146105f6576103db565b80633d570bff116102c95780633d570bff1461056f5780633da61cf8146105825780633df761f914610595578063409a071a146105a8576103db565b806331f90c9614610523578063333ef2531461053657806336320f4914610549578063381bc1871461055c576103db565b8063183180b3116103725780632814affe116103415780632814affe146104e05780632af64bd3146104f35780632e94e9cf1461050857806331f29d6b14610510576103db565b8063183180b3146104945780631a9294b9146104a757806320edcdb8146104ba57806320f937f6146104cd576103db565b80630b1ccf80116103ae5780630b1ccf80146104515780631399550214610466578063153ee8751461046e5780631627540c14610481576103db565b806301a79ac3146103e0578063025068041461040957806304f3bcec146104295780630730bf531461043e575b600080fd5b6103f36103ee3660046126ae565b61087d565b6040516104009190612d1b565b60405180910390f35b61041c6104173660046126ae565b61088e565b6040516104009190612e39565b6104316109d9565b6040516104009190612d9a565b6103f361044c3660046126ae565b6109e8565b61046461045f3660046126ea565b6109f3565b005b6103f3610a46565b61046461047c3660046126ea565b610a56565b61046461048f36600461266a565b610a7f565b6104646104a23660046126ea565b610add565b6104646104b53660046126ea565b610b0c565b6104646104c83660046126ae565b610b33565b6104646104db3660046126ea565b610c22565b6103f36104ee3660046126ae565b610c6a565b6104fb610c75565b6040516104009190612d0d565b6103f3610d8c565b6103f361051e3660046126ae565b610d96565b6103f36105313660046126ae565b610da1565b6104646105443660046126ae565b610dac565b6104646105573660046126ea565b610ece565b61046461056a3660046126ea565b610efb565b61046461057d3660046126ea565b610f41565b6103f36105903660046126ae565b610f93565b6103f36105a33660046126ae565b610f9e565b6103f36105b63660046126ae565b610fa9565b6104646105c9366004612724565b610fb4565b6104646105dc3660046126ea565b611104565b6105e9611130565b6040516104009190612cd3565b6103f36106043660046126ae565b61113f565b6103f361114a565b61046461061f3660046126ea565b61115c565b6104646106323660046126ea565b61118f565b6104646106453660046126ea565b6111b3565b6104646112be565b6103f36106603660046126ae565b611410565b6104646106733660046126ea565b61141b565b61046461144c565b6106886114e8565b6040516104009190612cfc565b6103f36106a33660046126ae565b61155b565b6105e9611566565b6103f3611575565b6104646106c63660046126ae565b61157f565b6104646106d93660046126ea565b611644565b6103f36106ec3660046126ae565b611677565b6103f36106ff3660046126ae565b611682565b6104646107123660046126ea565b61168d565b6103f36107253660046126ae565b6116b4565b6104646107383660046126ea565b6116bf565b61046461074b3660046126ea565b6116da565b61046461075e3660046126ae565b6116fb565b6103f36117c9565b6104646107793660046126ea565b6117d3565b61046461078c3660046126ea565b6117ff565b6103f361079f3660046126ae565b61185a565b6103f36107b23660046126ae565b611865565b6104646107c53660046126ae565b611870565b6104646107d83660046126ea565b61195b565b6103f36107eb3660046126ae565b6119ae565b6104646107fe3660046126ea565b6119b9565b6103f3611a14565b6103f36108193660046126ae565b611a1e565b6103f361082c3660046126ae565b611a29565b6103f361083f3660046126ae565b611a34565b6103f36108523660046126ae565b611a3f565b6104646108653660046126ea565b611a4a565b6103f36108783660046126ae565b611a9c565b600061088882611aa7565b92915050565b610896612570565b604051806102c001604052806108ab84611b78565b81526020016108b984611b8f565b81526020016108c784611ba6565b81526020016108d584611bc9565b81526020016108e384611bec565b81526020016108f184611c18565b81526020016108ff84611c44565b815260200161090d84611c5e565b815260200161091b84611c7b565b815260200161092984611c9c565b815260200161093784611cb4565b815260200161094584611cd9565b815260200161095384611d01565b815260200161096184611d21565b815260200161096f84611d41565b815260200161097d84611d6d565b815260200161098b84611aa7565b815260200161099984611d99565b81526020016109a784611dbf565b81526020016109b584611deb565b81526020016109c384611e10565b81526020016109d184611e32565b905292915050565b6002546001600160a01b031681565b600061088882611c44565b6109fb611e46565b670de0b6b3a7640000811115610a2c5760405162461bcd60e51b8152600401610a2390612dd9565b60405180910390fd5b610a4282676d616b657246656560c01b83611e72565b5050565b6000610a50611f4f565b90505b90565b610a5e611e46565b610a4282726d61784c69717569646174696f6e44656c746160681b83611e72565b610a87611e46565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610ad2908390612cd3565b60405180910390a150565b610ae5611e46565b610a42827864656c617965644f72646572436f6e6669726d57696e646f7760381b83611e72565b610b14611e46565b610a4282706d696e44656c617954696d6544656c746160781b83611e72565b610b3b611e46565b80610b44611f4f565b1115610b625760405162461bcd60e51b8152600401610a2390612de9565b610b6a611ffa565b6001600160a01b0316631d5b277f600080516020612ef3833981519152763832b93839ab1926b4b724b734ba34b0b626b0b933b4b760491b846040518463ffffffff1660e01b8152600401610bc193929190612d52565b600060405180830381600087803b158015610bdb57600080fd5b505af1158015610bef573d6000803e3d6000fd5b505050507ff5958b2492f4eeb807d26adb1e05d927402a2b27ec6b67e98a76def8bf9fbb9981604051610ad29190612d1b565b610c2a611e46565b60008111610c4a5760405162461bcd60e51b8152600401610a2390612df9565b610c5382612017565b610a428268736b65775363616c6560b81b83611e72565b600061088882611dbf565b60006060610c816114e8565b905060005b8151811015610d83576000828281518110610c9d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610cee908590600401612d1b565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3e9190810190612690565b6001600160a01b0316141580610d6957506000818152600360205260409020546001600160a01b0316155b15610d7a5760009350505050610a53565b50600101610c86565b50600191505090565b6000610a506121a5565b600061088882611d99565b600061088882611e10565b610db4611e46565b610dbc612201565b811115610ddb5760405162461bcd60e51b8152600401610a2390612de9565b6000610de5612260565b1115610e1257610df3612260565b811115610e125760405162461bcd60e51b8152600401610a2390612e29565b610e1a611ffa565b6001600160a01b0316631d5b277f600080516020612ef383398151915272706572707356324d696e4b656570657246656560681b846040518463ffffffff1660e01b8152600401610e6d93929190612d52565b600060405180830381600087803b158015610e8757600080fd5b505af1158015610e9b573d6000803e3d6000fd5b505050507f19aa707c9ee917e97ea0ac9146e39c123d4bd88e1f2cd719d32a8a54fe40990281604051610ad29190612d1b565b610ed6611e46565b610a4282766f6666636861696e5072696365446976657267656e636560481b83611e72565b610f03611e46565b670de0b6b3a7640000811115610f2b5760405162461bcd60e51b8152600401610a2390612dc9565b610a42826774616b657246656560c01b83611e72565b610f49611e46565b670de0b6b3a7640000811115610f715760405162461bcd60e51b8152600401610a2390612dc9565b610a4282733a30b5b2b92332b2a232b630bcb2b227b93232b960611b83611e72565b600061088882611b8f565b600061088882611bc9565b600061088882611e32565b610fbc611e46565b610fc582612017565b610fd0828235610efb565b610fde8282602001356109f3565b610fec828260c001356116da565b610ffa828260e0013561118f565b6110098282610100013561141b565b61101882826101200135610c22565b611026828260400135610f41565b611034828260600135611a4a565b61104382826101400135611104565b61105282826101600135610add565b61106182826101800135610b0c565b61107082826101a0013561168d565b61107e8282608001356117ff565b61108c828260a001356119b9565b61109b82826101c0013561115c565b6110aa82826101e00135611644565b6110b9828261020001356111b3565b6110c882826102200135610ece565b6110d78282610240013561195b565b6110e6828261026001356117d3565b6110f582826102800135610a56565b610a4282826102a001356116bf565b61110c611e46565b610a4282756e6578745072696365436f6e6669726d57696e646f7760501b83611e72565b6001546001600160a01b031681565b600061088882611cd9565b600080516020612ef383398151915281565b611164611e46565b610a42827f6f6666636861696e44656c617965644f726465724d696e41676500000000000083611e72565b611197611e46565b610a42826d6d61784d61726b657456616c756560901b83611e72565b6111bb611e46565b6111c3611ffa565b6001600160a01b0316624b62d6600080516020612ef383398151915284706f6666636861696e4d61726b65744b657960781b604051602001611206929190612c82565b60405160208183030381529060405280519060200120846040518463ffffffff1660e01b815260040161123b93929190612d52565b600060405180830381600087803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b50505050706f6666636861696e4d61726b65744b657960781b827f2b2171bdafe7d860cca6c1336be5f1761e7e1a17e78fbd0ed99295eee8e42dc5836040516112b29190612d1b565b60405180910390a35050565b60606112c86114e8565b905060005b8151811015610a425760008282815181106112e457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113269190612cc8565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611352929190612d7a565b60206040518083038186803b15801561136a57600080fd5b505afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113a29190810190612690565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906113fe9084908490612d29565b60405180910390a150506001016112cd565b600061088882611d41565b611423611e46565b61142c82612017565b610a4282716d617846756e64696e6756656c6f6369747960701b83611e72565b6001546001600160a01b031633146114765760405162461bcd60e51b8152600401610a2390612db9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926114b9926001600160a01b0391821692911690612ce1565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806114f36122bb565b604080516001808252818301909252919250606091906020808301908038833901905050905073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160008151811061153e57fe5b602002602001018181525050611554828261230c565b9250505090565b600061088882611b78565b6000546001600160a01b031681565b6000610a50612201565b611587611e46565b61158f611ffa565b6001600160a01b0316631d5b277f600080516020612ef3833981519152736b65657065724c69717569646174696f6e46656560601b846040518463ffffffff1660e01b81526004016115e393929190612d52565b600060405180830381600087803b1580156115fd57600080fd5b505af1158015611611573d6000803e3d6000fd5b505050507f6b3f66ae1ca3399d67740353b4871b7b1a7bd353c6d98a441be97133ec1d493381604051610ad29190612d1b565b61164c611e46565b610a42827f6f6666636861696e44656c617965644f726465724d617841676500000000000083611e72565b600061088882611cb4565b600061088882611bec565b611695611e46565b610a4282706d617844656c617954696d6544656c746160781b83611e72565b600061088882611c7b565b6116c7611e46565b610a4282641b585e141160da1b83611e72565b6116e2611e46565b610a42826a6d61784c6576657261676560a81b83611e72565b611703611e46565b61170b611ffa565b6001600160a01b0316631d5b277f600080516020612ef38339815191527f706572707356324c69717569646174696f6e466565526174696f000000000000846040518463ffffffff1660e01b815260040161176893929190612d52565b600060405180830381600087803b15801561178257600080fd5b505af1158015611796573d6000803e3d6000fd5b505050507fc20b071f9997836faebec2ea68df94cb8cd01c8721f2c0b973443d8316eaa07081604051610ad29190612d1b565b6000610a50612260565b6117db611e46565b610a4282756c69717569646174696f6e427566666572526174696f60501b83611e72565b611807611e46565b670de0b6b3a764000081111561182f5760405162461bcd60e51b8152600401610a2390612dc9565b610a42827f74616b65724665654f6666636861696e44656c617965644f726465720000000083611e72565b600061088882611ba6565b600061088882611c9c565b611878611e46565b611880611f4f565b81101561189f5760405162461bcd60e51b8152600401610a2390612e29565b6118a7611ffa565b6001600160a01b0316631d5b277f600080516020612ef383398151915272706572707356324d61784b656570657246656560681b846040518463ffffffff1660e01b81526004016118fa93929190612d52565b600060405180830381600087803b15801561191457600080fd5b505af1158015611928573d6000803e3d6000fd5b505050507f5f76c6c4116194987a36d1002399cf6129c9623bb38b557dd907e10515071a5281604051610ad29190612d1b565b611963611e46565b600081116119835760405162461bcd60e51b8152600401610a2390612e09565b610a42827f6c69717569646174696f6e5072656d69756d4d756c7469706c6965720000000083611e72565b600061088882611d21565b6119c1611e46565b670de0b6b3a76400008111156119e95760405162461bcd60e51b8152600401610a2390612dd9565b610a42827f6d616b65724665654f6666636861696e44656c617965644f726465720000000083611e72565b6000610a506123c8565b600061088882611d6d565b600061088882611c5e565b600061088882611c18565b600061088882611d01565b611a52611e46565b670de0b6b3a7640000811115611a7a5760405162461bcd60e51b8152600401610a2390612dd9565b610a42827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b83611e72565b600061088882611deb565b6000611ab1611ffa565b6001600160a01b031663f7833c5d600080516020612ef383398151915284706f6666636861696e4d61726b65744b657960781b604051602001611af5929190612c82565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611b28929190612d37565b60206040518083038186803b158015611b4057600080fd5b505afa158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088891908101906126cc565b6000610888826774616b657246656560c01b61242d565b600061088882676d616b657246656560c01b61242d565b600061088882733a30b5b2b92332b2a232b630bcb2b227b93232b960611b61242d565b6000610888827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b61242d565b6000610888827f74616b65724665654f6666636861696e44656c617965644f726465720000000061242d565b6000610888827f6d616b65724665654f6666636861696e44656c617965644f726465720000000061242d565b6000610888826a6d61784c6576657261676560a81b61242d565b6000610888826d6d61784d61726b657456616c756560901b61242d565b600061088882716d617846756e64696e6756656c6f6369747960701b61242d565b60006108888268736b65775363616c6560b81b61242d565b600061088882756e6578745072696365436f6e6669726d57696e646f7760501b61242d565b6000610888827864656c617965644f72646572436f6e6669726d57696e646f7760381b61242d565b600061088882706d696e44656c617954696d6544656c746160781b61242d565b600061088882706d617844656c617954696d6544656c746160781b61242d565b6000610888827f6f6666636861696e44656c617965644f726465724d696e41676500000000000061242d565b6000610888827f6f6666636861696e44656c617965644f726465724d617841676500000000000061242d565b600061088882766f6666636861696e5072696365446976657267656e636560481b61242d565b6000610888827f6c69717569646174696f6e5072656d69756d4d756c7469706c6965720000000061242d565b600061088882756c69717569646174696f6e427566666572526174696f60501b61242d565b600061088882726d61784c69717569646174696f6e44656c746160681b61242d565b600061088882641b585e141160da1b61242d565b6000546001600160a01b03163314611e705760405162461bcd60e51b8152600401610a2390612e19565b565b611e7a611ffa565b6001600160a01b0316631d5b277f600080516020612ef38339815191528585604051602001611eaa929190612c82565b60405160208183030381529060405280519060200120846040518463ffffffff1660e01b8152600401611edf93929190612d52565b600060405180830381600087803b158015611ef957600080fd5b505af1158015611f0d573d6000803e3d6000fd5b5050505081837fb1e024a1aed9a1f08ef2258cedd5c544e48dcb5befc1ec2aa0ff9ea60997d14f83604051611f429190612d1b565b60405180910390a3505050565b6000611f59611ffa565b6001600160a01b03166323257c2b600080516020612ef383398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611faa929190612d37565b60206040518083038186803b158015611fc257600080fd5b505afa158015611fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5091908101906126cc565b6000610a506e466c657869626c6553746f7261676560881b6124f1565b600061202161254e565b6001600160a01b031663e63bfadb836040518263ffffffff1660e01b815260040161204c9190612d1b565b60206040518083038186803b15801561206457600080fd5b505afa158015612078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061209c9190810190612690565b905060008190506000816001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156120de57600080fd5b505afa1580156120f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121169190810190612755565b6001600160801b031611156121a0576000829050806001600160a01b0316634eb985cc6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561216557600080fd5b505af1158015612179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061219d91908101906126cc565b50505b505050565b60006121af611ffa565b6001600160a01b03166323257c2b600080516020612ef3833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611faa929190612d37565b600061220b611ffa565b6001600160a01b03166323257c2b600080516020612ef3833981519152763832b93839ab1926b4b724b734ba34b0b626b0b933b4b760491b6040518363ffffffff1660e01b8152600401611faa929190612d37565b600061226a611ffa565b6001600160a01b03166323257c2b600080516020612ef383398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611faa929190612d37565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106122fd57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561233c578160200160208202803883390190505b50905060005b835181101561237e5783818151811061235757fe5b602002602001015182828151811061236b57fe5b6020908102919091010152600101612342565b5060005b82518110156123c15782818151811061239757fe5b60200260200101518282865101815181106123ae57fe5b6020908102919091010152600101612382565b5092915050565b60006123d2611ffa565b6001600160a01b03166323257c2b600080516020612ef38339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611faa929190612d37565b6000612437611ffa565b6001600160a01b03166323257c2b600080516020612ef38339815191528585604051602001612467929190612c82565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161249a929190612d37565b60206040518083038186803b1580156124b257600080fd5b505afa1580156124c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124ea91908101906126cc565b9392505050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161252191869101612ca8565b604051602081830303815290604052906123c15760405162461bcd60e51b8152600401610a239190612da8565b6000610a5073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6124f1565b604051806102c00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561088881612ec9565b805161088881612ec9565b803561088881612ee0565b805161088881612ee0565b60006102c0828403121561265957600080fd5b50919050565b805161088881612ee9565b60006020828403121561267c57600080fd5b6000612688848461261a565b949350505050565b6000602082840312156126a257600080fd5b60006126888484612625565b6000602082840312156126c057600080fd5b60006126888484612630565b6000602082840312156126de57600080fd5b6000612688848461263b565b600080604083850312156126fd57600080fd5b60006127098585612630565b925050602061271a85828601612630565b9150509250929050565b6000806102e0838503121561273857600080fd5b60006127448585612630565b925050602061271a85828601612646565b60006020828403121561276757600080fd5b6000612688848461265f565b600061277f83836127f8565b505060200190565b61279081612e60565b82525050565b60006127a182612e4e565b6127ab8185612e52565b93506127b683612e48565b8060005b838110156127e45781516127ce8882612773565b97506127d983612e48565b9250506001016127ba565b509495945050505050565b61279081612e6b565b61279081610a53565b61279061280d82610a53565b610a53565b61279081612e88565b600061282682612e4e565b6128308185612e52565b9350612840818560208601612e93565b61284981612ebf565b9093019392505050565b6000612860603583612e52565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006128b7601883612e52565b7f74616b6572206665652067726561746572207468616e20310000000000000000815260200192915050565b60006128f0601883612e52565b7f6d616b6572206665652067726561746572207468616e20310000000000000000815260200192915050565b6000612929601c83612e52565b7f6d696e206d617267696e203c206c69717569646174696f6e2066656500000000815260200192915050565b6000612962601783612e52565b7f63616e6e6f742073657420736b6577207363616c652030000000000000000000815260200192915050565b600061299b601183612e5b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006129c8602b83612e52565b7f63616e6e6f7420736574206c69717569646174696f6e207072656d69756d206d81526a0756c7469706c69657220360ac1b602082015260400192915050565b6000612a15602f83612e52565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612a66601983612e5b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612a9f601183612e52565b706d617820666565203c206d696e2066656560781b815260200192915050565b80516102c0830190612ad184826127f8565b506020820151612ae460208501826127f8565b506040820151612af760408501826127f8565b506060820151612b0a60608501826127f8565b506080820151612b1d60808501826127f8565b5060a0820151612b3060a08501826127f8565b5060c0820151612b4360c08501826127f8565b5060e0820151612b5660e08501826127f8565b50610100820151612b6b6101008501826127f8565b50610120820151612b806101208501826127f8565b50610140820151612b956101408501826127f8565b50610160820151612baa6101608501826127f8565b50610180820151612bbf6101808501826127f8565b506101a0820151612bd46101a08501826127f8565b506101c0820151612be96101c08501826127f8565b506101e0820151612bfe6101e08501826127f8565b50610200820151612c136102008501826127f8565b50610220820151612c286102208501826127f8565b50610240820151612c3d6102408501826127f8565b50610260820151612c526102608501826127f8565b50610280820151612c676102808501826127f8565b506102a0820151612c7c6102a08501826127f8565b50505050565b6000612c8e8285612801565b602082019150612c9e8284612801565b5060200192915050565b6000612cb38261298e565b9150612cbf8284612801565b50602001919050565b6000612cb382612a59565b602081016108888284612787565b60408101612cef8285612787565b6124ea6020830184612787565b602080825281016124ea8184612796565b6020810161088882846127ef565b6020810161088882846127f8565b60408101612cef82856127f8565b60408101612d4582856127f8565b6124ea60208301846127f8565b60608101612d6082866127f8565b612d6d60208301856127f8565b61268860408301846127f8565b60408101612d8882856127f8565b8181036020830152612688818461281b565b602081016108888284612812565b602080825281016124ea818461281b565b6020808252810161088881612853565b60208082528101610888816128aa565b60208082528101610888816128e3565b602080825281016108888161291c565b6020808252810161088881612955565b60208082528101610888816129bb565b6020808252810161088881612a08565b6020808252810161088881612a92565b6102c081016108888284612abf565b60200190565b5190565b90815260200190565b919050565b600061088882612e7c565b151590565b6001600160801b031690565b6001600160a01b031690565b600061088882612e60565b60005b83811015612eae578181015183820152602001612e96565b83811115612c7c5750506000910152565b601f01601f191690565b612ed281612e60565b8114612edd57600080fd5b50565b612ed281610a53565b612ed281612e7056fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820f1c1c9169be35edf6194780c5102b08eeed8aed5e30c629e138257359a033e806c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "keeperFee",
							"type": "uint256"
						}
					],
					"name": "KeeperLiquidationFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "bps",
							"type": "uint256"
						}
					],
					"name": "LiquidationBufferRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "bps",
							"type": "uint256"
						}
					],
					"name": "LiquidationFeeRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "sUSD",
							"type": "uint256"
						}
					],
					"name": "MaxKeeperFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minMargin",
							"type": "uint256"
						}
					],
					"name": "MinInitialMarginUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "sUSD",
							"type": "uint256"
						}
					],
					"name": "MinKeeperFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "parameter",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ParameterUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "parameter",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ParameterUpdatedBytes32",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "delayedOrderConfirmWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "keeperLiquidationFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "liquidationBufferRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationFeeRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "liquidationPremiumMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "makerFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "makerFeeDelayedOrder",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "makerFeeOffchainDelayedOrder",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxDelayTimeDelta",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxFundingVelocity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxKeeperFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxLeverage",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxLiquidationDelta",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxMarketValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "maxPD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "minDelayTimeDelta",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minInitialMargin",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minKeeperFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "nextPriceConfirmWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "offchainDelayedOrderMaxAge",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "offchainDelayedOrderMinAge",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "offchainMarketKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "offchainPriceDivergence",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "parameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "takerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxMarketValue",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxFundingVelocity",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "skewScale",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "nextPriceConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "delayedOrderConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "minDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMinAge",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMaxAge",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "offchainMarketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "offchainPriceDivergence",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationPremiumMultiplier",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationBufferRatio",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLiquidationDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxPD",
									"type": "uint256"
								}
							],
							"internalType": "struct IPerpsV2MarketSettings.Parameters",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_delayedOrderConfirmWindow",
							"type": "uint256"
						}
					],
					"name": "setDelayedOrderConfirmWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_keeperFee",
							"type": "uint256"
						}
					],
					"name": "setKeeperLiquidationFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_ratio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationBufferRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_ratio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationFeeRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationPremiumMultiplier",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPremiumMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_makerFee",
							"type": "uint256"
						}
					],
					"name": "setMakerFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_makerFeeDelayedOrder",
							"type": "uint256"
						}
					],
					"name": "setMakerFeeDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_makerFeeOffchainDelayedOrder",
							"type": "uint256"
						}
					],
					"name": "setMakerFeeOffchainDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxDelayTimeDelta",
							"type": "uint256"
						}
					],
					"name": "setMaxDelayTimeDelta",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxFundingVelocity",
							"type": "uint256"
						}
					],
					"name": "setMaxFundingVelocity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_sUSD",
							"type": "uint256"
						}
					],
					"name": "setMaxKeeperFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxLeverage",
							"type": "uint256"
						}
					],
					"name": "setMaxLeverage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxLiquidationDelta",
							"type": "uint256"
						}
					],
					"name": "setMaxLiquidationDelta",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxMarketValue",
							"type": "uint256"
						}
					],
					"name": "setMaxMarketValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_maxPD",
							"type": "uint256"
						}
					],
					"name": "setMaxPD",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minDelayTimeDelta",
							"type": "uint256"
						}
					],
					"name": "setMinDelayTimeDelta",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minMargin",
							"type": "uint256"
						}
					],
					"name": "setMinInitialMargin",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_sUSD",
							"type": "uint256"
						}
					],
					"name": "setMinKeeperFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_nextPriceConfirmWindow",
							"type": "uint256"
						}
					],
					"name": "setNextPriceConfirmWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_offchainDelayedOrderMaxAge",
							"type": "uint256"
						}
					],
					"name": "setOffchainDelayedOrderMaxAge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_offchainDelayedOrderMinAge",
							"type": "uint256"
						}
					],
					"name": "setOffchainDelayedOrderMinAge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_offchainMarketKey",
							"type": "bytes32"
						}
					],
					"name": "setOffchainMarketKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_offchainPriceDivergence",
							"type": "uint256"
						}
					],
					"name": "setOffchainPriceDivergence",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "takerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "takerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "makerFeeOffchainDelayedOrder",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLeverage",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxMarketValue",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxFundingVelocity",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "skewScale",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "nextPriceConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "delayedOrderConfirmWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "minDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxDelayTimeDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMinAge",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "offchainDelayedOrderMaxAge",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "offchainMarketKey",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "offchainPriceDivergence",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationPremiumMultiplier",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "liquidationBufferRatio",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxLiquidationDelta",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "maxPD",
									"type": "uint256"
								}
							],
							"internalType": "struct IPerpsV2MarketSettings.Parameters",
							"name": "_parameters",
							"type": "tuple"
						}
					],
					"name": "setParameters",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_skewScale",
							"type": "uint256"
						}
					],
					"name": "setSkewScale",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_takerFee",
							"type": "uint256"
						}
					],
					"name": "setTakerFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_takerFeeDelayedOrder",
							"type": "uint256"
						}
					],
					"name": "setTakerFeeDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_takerFeeOffchainDelayedOrder",
							"type": "uint256"
						}
					],
					"name": "setTakerFeeOffchainDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "skewScale",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "takerFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "takerFeeDelayedOrder",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "takerFeeOffchainDelayedOrder",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc65960395723b7ea4a08a6d983cb7b05b4a7c1161e450b6b8d258e16412252a8",
				"urls": [
					"bzz-raw://0de0bb78645cca67a5164fcab233912bb927bcdc26d450ad1f4aad2ec9efd74d",
					"dweb:/ipfs/QmaL1J3einC3ryFsdvoKLTgagwjjWro9wKDjPH2mLdu3Lj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketSettings.sol": "PerpsV2MarketSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketSettings.sol": {
						"keccak256": "0xc65960395723b7ea4a08a6d983cb7b05b4a7c1161e450b6b8d258e16412252a8",
						"urls": [
							"bzz-raw://0de0bb78645cca67a5164fcab233912bb927bcdc26d450ad1f4aad2ec9efd74d",
							"dweb:/ipfs/QmaL1J3einC3ryFsdvoKLTgagwjjWro9wKDjPH2mLdu3Lj"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2ExchangeRate": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200206138038062002061833981016040819052620000349162000101565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000197565b60405180910390a1506001600255600380546001600160a01b0319166001600160a01b03929092169190911790555062000218915050565b8051620000fb81620001fe565b92915050565b600080604083850312156200011557600080fd5b6000620001238585620000ee565b92505060206200013685828601620000ee565b9150509250929050565b6200014b81620001ea565b82525050565b6200014b81620001d8565b60006200016b601983620001cf565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a7828562000140565b620001b6602083018462000151565b9392505050565b60208082528101620000fb816200015c565b90815260200190565b60006001600160a01b038216620000fb565b6000620000fb826000620000fb82620001d8565b6200020981620001d8565b81146200021557600080fd5b50565b611e3980620002286000396000f3fe6080604052600436106101145760003560e01c8063475dea55116100a057806379ba50971161006457806379ba5097146102e4578063899ffef4146102f95780638da5cb5b1461031b578063c040b5db14610330578063c679ce4b1461035057610114565b8063475dea551461024b57806353a47bb714610278578063614d08f81461029a5780636d2da02f146102af57806374185360146102cf57610114565b80632af64bd3116100e75780632af64bd314610199578063312d6b73146101bb578063368bde96146101dd5780633b798e8a1461020b57806342a449be1461022b57610114565b806304f3bcec1461011957806308f9c88e146101445780631627540c14610159578063230ee97b14610179575b600080fd5b34801561012557600080fd5b5061012e610365565b60405161013b9190611c0a565b60405180910390f35b610157610152366004611517565b610374565b005b34801561016557600080fd5b506101576101743660046114db565b610579565b34801561018557600080fd5b5061015761019436600461156d565b6105d7565b3480156101a557600080fd5b506101ae6106b7565b60405161013b9190611b55565b3480156101c757600080fd5b506101d06107cf565b60405161013b9190611b21565b3480156101e957600080fd5b506101fd6101f83660046115df565b6107ed565b60405161013b929190611b7f565b34801561021757600080fd5b506101fd6102263660046115a3565b610831565b34801561023757600080fd5b5061015761024636600461156d565b610871565b34801561025757600080fd5b5061026b6102663660046115a3565b61092a565b60405161013b9190611b63565b34801561028457600080fd5b5061028d610a03565b60405161013b9190611af8565b3480156102a657600080fd5b5061026b610a12565b3480156102bb57600080fd5b506101576102ca3660046114db565b610a2c565b3480156102db57600080fd5b50610157610af3565b3480156102f057600080fd5b50610157610c49565b34801561030557600080fd5b5061030e610ce5565b60405161013b9190611b32565b34801561032757600080fd5b5061028d610d36565b34801561033c57600080fd5b5061015761034b3660046115df565b610d45565b34801561035c57600080fd5b5061012e610e3e565b6003546001600160a01b031681565b600280546001019081905561039060053363ffffffff610eec16565b6103b55760405162461bcd60e51b81526004016103ac90611c59565b60405180910390fd5b60006103bf610e3e565b6001600160a01b031663d47eed4585856040518363ffffffff1660e01b81526004016103ec929190611b43565b60206040518083038186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061043c91908101906115c1565b90508034101561045e5760405162461bcd60e51b81526004016103ac90611c89565b610466610e3e565b6001600160a01b031663ef9e5e288286866040518463ffffffff1660e01b8152600401610494929190611b43565b6000604051808303818588803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050505060008134031115610551576000856001600160a01b03168234036040516104ec90611aed565b60006040518083038185875af1925050503d8060008114610529576040519150601f19603f3d011682016040523d82523d6000602084013e61052e565b606091505b505090508061054f5760405162461bcd60e51b81526004016103ac90611c79565b505b5060025481146105735760405162461bcd60e51b81526004016103ac90611c99565b50505050565b610581610f5a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105cc908390611af8565b60405180910390a150565b6105df610f5a565b60005b818110156106b25761061c8383838181106105f957fe5b905060200201602061060e91908101906114db565b60059063ffffffff610eec16565b6106aa5761065283838381811061062f57fe5b905060200201602061064491908101906114db565b60059063ffffffff610f8616565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f83838381811061067f57fe5b905060200201602061069491908101906114db565b6040516106a19190611af8565b60405180910390a15b6001016105e2565b505050565b600060606106c3610ce5565b905060005b81518110156107c55760008282815181106106df57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161073091869101611b63565b60206040518083038186803b15801561074857600080fd5b505afa15801561075c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061078091908101906114f9565b6001600160a01b03161415806107ab57506000818152600460205260409020546001600160a01b0316155b156107bc57600093505050506107cc565b506001016106c8565b5060019150505b90565b600580546060916107e89160009063ffffffff610fd816565b905090565b60008060006107fb8561092a565b90508061081a5760405162461bcd60e51b81526004016103ac90611c49565b61082481856110ae565b92509250505b9250929050565b600080600061083f8461092a565b90508061085e5760405162461bcd60e51b81526004016103ac90611c49565b6108678161115a565b9250925050915091565b610879610f5a565b60005b818110156106b2576108938383838181106105f957fe5b15610922576108ca8383838181106108a757fe5b90506020020160206108bc91908101906114db565b60059063ffffffff61120216565b7f9faa24f7f20c2e0f689165e6886278f3005b15b94407109799ead3257067a66a8383838181106108f757fe5b905060200201602061090c91908101906114db565b6040516109199190611af8565b60405180910390a15b60010161087c565b6000610934611318565b6001600160a01b031663f7833c5d725065727073563245786368616e67655261746560681b6a1c1c9a58d951995959125960aa1b8560405160200161097a929190611a9c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016109ad929190611b7f565b60206040518083038186803b1580156109c557600080fd5b505afa1580156109d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109fd91908101906115c1565b92915050565b6001546001600160a01b031681565b725065727073563245786368616e67655261746560681b81565b610a34610f5a565b610a3c611318565b6001600160a01b0316634dca0978725065727073563245786368616e67655261746560681b6d6f6666636861696e4f7261636c6560901b846040518463ffffffff1660e01b8152600401610a9293929190611b9a565b600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b505050507ff8ad76f417192ced84abe3abf840e1da06bc5fe7d88fb07002eeb763a6a70655816040516105cc9190611af8565b6060610afd610ce5565b905060005b8151811015610c45576000828281518110610b1957fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610b5b9190611ae2565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610b87929190611bea565b60206040518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd791908101906114f9565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610c339084908490611b71565b60405180910390a15050600101610b02565b5050565b6001546001600160a01b03163314610c735760405162461bcd60e51b81526004016103ac90611c29565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610cb6926001600160a01b0391821692911690611b06565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610d2757fe5b60200260200101818152505090565b6000546001600160a01b031681565b610d4d610f5a565b610d55611318565b6001600160a01b0316624b62d6725065727073563245786368616e67655261746560681b6a1c1c9a58d951995959125960aa1b85604051602001610d9a929190611a9c565b60405160208183030381529060405280519060200120846040518463ffffffff1660e01b8152600401610dcf93929190611bc2565b600060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050507f96a8b94dfd7ff7c78db402b935e8a43578fe44aaaf032a4dc471539cc3987f3c8282604051610e32929190611b7f565b60405180910390a15050565b6000610e48611318565b6001600160a01b0316639ee5955a725065727073563245786368616e67655261746560681b6d6f6666636861696e4f7261636c6560901b6040518363ffffffff1660e01b8152600401610e9c929190611b7f565b60206040518083038186803b158015610eb457600080fd5b505afa158015610ec8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e891908101906114f9565b8154600090610efd575060006109fd565b6001600160a01b038216600090815260018401602052604090205480151580610f525750826001600160a01b031684600001600081548110610f3b57fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6000546001600160a01b03163314610f845760405162461bcd60e51b81526004016103ac90611c69565b565b610f908282610eec565b610c455781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b825460609083830190811115610fec575083545b8381116110095750506040805160008152602081019091526110a7565b604080518583038082526020808202830101909252606090828015611038578160200160208202803883390190505b50905060005b828110156110a157876000018782018154811061105757fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061108157fe5b6001600160a01b039092166020928302919091019091015260010161103e565b50925050505b9392505050565b6000806110b96113b6565b6110c1610e3e565b6001600160a01b031663a4ae35e086866040518363ffffffff1660e01b81526004016110ee929190611b7f565b60806040518083038186803b15801561110657600080fd5b505afa15801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061113e9190810190611619565b905061114981611335565b925080606001519150509250929050565b6000806111656113b6565b61116d610e3e565b6001600160a01b03166396834ad3856040518263ffffffff1660e01b81526004016111989190611b63565b60806040518083038186803b1580156111b057600080fd5b505afa1580156111c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111e89190810190611619565b90506111f381611335565b92508060600151915050915091565b61120c8282610eec565b6112285760405162461bcd60e51b81526004016103ac90611c39565b6001600160a01b03811660009081526001830160205260409020548254600019018082146112c757600084600001828154811061126157fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061128a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b83548490806112d257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60006107e86e466c657869626c6553746f7261676560881b611352565b6040810151905160070b601260039290920b91909101600a0a0290565b60008181526004602090815260408083205490516001600160a01b03909116918215159161138291869101611ac2565b604051602081830303815290604052906113af5760405162461bcd60e51b81526004016103ac9190611c18565b5092915050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b80356109fd81611dbb565b80516109fd81611dbb565b60008083601f84011261140557600080fd5b50813567ffffffffffffffff81111561141d57600080fd5b60208301915083602082028301111561082a57600080fd5b80356109fd81611dd2565b80516109fd81611dd2565b80516109fd81611ddb565b80516109fd81611de4565b60006080828403121561147357600080fd5b61147d6080611ca9565b9050600061148b8484611456565b825250602061149c848483016114d0565b60208301525060406114b08482850161144b565b60408301525060606114c484828501611440565b60608301525092915050565b80516109fd81611ded565b6000602082840312156114ed57600080fd5b6000610f5284846113dd565b60006020828403121561150b57600080fd5b6000610f5284846113e8565b60008060006040848603121561152c57600080fd5b600061153886866113dd565b935050602084013567ffffffffffffffff81111561155557600080fd5b611561868287016113f3565b92509250509250925092565b6000806020838503121561158057600080fd5b823567ffffffffffffffff81111561159757600080fd5b610824858286016113f3565b6000602082840312156115b557600080fd5b6000610f528484611435565b6000602082840312156115d357600080fd5b6000610f528484611440565b600080604083850312156115f257600080fd5b60006115fe8585611435565b925050602061160f85828601611435565b9150509250929050565b60006080828403121561162b57600080fd5b6000610f528484611461565b60006116438383611664565b505060200190565b60006116438383611792565b6000610f528484846117ac565b61166d81611d39565b82525050565b600061167e82611cd6565b6116888185611cda565b935061169383611cd0565b8060005b838110156116c15781516116ab8882611637565b97506116b683611cd0565b925050600101611697565b509495945050505050565b60006116d782611cd6565b6116e18185611cda565b93506116ec83611cd0565b8060005b838110156116c1578151611704888261164b565b975061170f83611cd0565b9250506001016116f0565b60006117268385611cda565b935083602084028501611738846107cc565b8060005b8781101561177c5784840389526117538284611ce8565b61175e868284611657565b955061176984611cd0565b60209b909b019a9350505060010161173c565b5091979650505050505050565b61166d81611d44565b61166d816107cc565b61166d6117a7826107cc565b6107cc565b60006117b88385611cda565b93506117c5838584611d79565b6117ce83611db1565b9093019392505050565b61166d81611d6e565b60006117ec82611cd6565b6117f68185611cda565b9350611806818560208601611d85565b6117ce81611db1565b600061181c603583611cda565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611873601383611cda565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b60006118a2601183611ce3565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006118cf601d83611cda565b7f4e6f207072696365206665656420666f756e6420666f72206173736574000000815260200192915050565b6000611908603383611cda565b7f4f6e6c7920616e206173736f63696174656420636f6e74726163742063616e208152723832b93337b936903a3434b99030b1ba34b7b760691b602082015260400192915050565b600061195d602f83611cda565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006119ae601783611cda565b7f4661696c656420746f20726566756e642063616c6c6572000000000000000000815260200192915050565b60006119e7602183611cda565b7f4e6f7420656e6f7567682065746820666f7220706179696e67207468652066658152606560f81b602082015260400192915050565b6000611a2a601983611ce3565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006109fd600083611ce3565b6000611a70601f83611cda565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611aa8828561179b565b602082019150611ab8828461179b565b5060200192915050565b6000611acd82611895565b9150611ad9828461179b565b50602001919050565b6000611acd82611a1d565b60006109fd82611a56565b602081016109fd8284611664565b60408101611b148285611664565b6110a76020830184611664565b602080825281016110a78184611673565b602080825281016110a781846116cc565b60208082528101610f5281848661171a565b602081016109fd8284611789565b602081016109fd8284611792565b60408101611b148285611792565b60408101611b8d8285611792565b6110a76020830184611792565b60608101611ba88286611792565b611bb56020830185611792565b610f526040830184611664565b60608101611bd08286611792565b611bdd6020830185611792565b610f526040830184611792565b60408101611bf88285611792565b8181036020830152610f5281846117e1565b602081016109fd82846117d8565b602080825281016110a781846117e1565b602080825281016109fd8161180f565b602080825281016109fd81611866565b602080825281016109fd816118c2565b602080825281016109fd816118fb565b602080825281016109fd81611950565b602080825281016109fd816119a1565b602080825281016109fd816119da565b602080825281016109fd81611a63565b60405181810167ffffffffffffffff81118282101715611cc857600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000808335601e1936859003018112611d0057600080fd5b83810160208101935035915067ffffffffffffffff821115611d2157600080fd5b36829003841315611d3157600080fd5b509250929050565b60006109fd82611d55565b151590565b60030b90565b60070b90565b6001600160a01b031690565b67ffffffffffffffff1690565b60006109fd82611d39565b82818337506000910152565b60005b83811015611da0578181015183820152602001611d88565b838111156105735750506000910152565b601f01601f191690565b611dc481611d39565b8114611dcf57600080fd5b50565b611dc4816107cc565b611dc481611d49565b611dc481611d4f565b611dc481611d6156fea365627a7a72315820bb332cea9303aa96012b9f671f0948068428091e326ecdcc3fa61bbba79b77f16c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "offchainOracle",
							"type": "address"
						}
					],
					"name": "OffchainOracleUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "assetId",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "priceFeedId",
							"type": "bytes32"
						}
					],
					"name": "OffchainPriceFeedIdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "associatedContracts",
							"type": "address[]"
						}
					],
					"name": "addAssociatedContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContracts",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "offchainOracle",
					"outputs": [
						{
							"internalType": "contract IPyth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "assetId",
							"type": "bytes32"
						}
					],
					"name": "offchainPriceFeedId",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "associatedContracts",
							"type": "address[]"
						}
					],
					"name": "removeAssociatedContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "assetId",
							"type": "bytes32"
						}
					],
					"name": "resolveAndGetLatestPrice",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "publishTime",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "assetId",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "maxAge",
							"type": "uint256"
						}
					],
					"name": "resolveAndGetPrice",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "publishTime",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "offchainOracle",
							"type": "address"
						}
					],
					"name": "setOffchainOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "assetId",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "priceFeedId",
							"type": "bytes32"
						}
					],
					"name": "setOffchainPriceFeedId",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						},
						{
							"internalType": "bytes[]",
							"name": "priceUpdateData",
							"type": "bytes[]"
						}
					],
					"name": "updatePythPrice",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc70dadb26b69eec386f54e9abb8898ccf803e6055ac19012dbea59219e27aafd",
				"urls": [
					"bzz-raw://76fa30c6aac8e5b75c208db4bd7bd8e1d744268623bd36749e71ac305ce71e2d",
					"dweb:/ipfs/QmPV9UiW74X8xwaj1chpA2YnE34RcM5rS6fyCJjDFsVXzY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2ExchangeRate.sol": "PerpsV2ExchangeRate"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2ExchangeRate.sol": {
						"keccak256": "0xc70dadb26b69eec386f54e9abb8898ccf803e6055ac19012dbea59219e27aafd",
						"urls": [
							"bzz-raw://76fa30c6aac8e5b75c208db4bd7bd8e1d744268623bd36749e71ac305ce71e2d",
							"dweb:/ipfs/QmPV9UiW74X8xwaj1chpA2YnE34RcM5rS6fyCJjDFsVXzY"
						]
					}
				},
				"version": 1
			}
		},
		"SynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b50604051620012fa380380620012fa83398101604081905261003191610067565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b5565b80516100618161009e565b92915050565b60006020828403121561007957600080fd5b60006100858484610056565b949350505050565b60006001600160a01b038216610061565b6100a78161008d565b81146100b257600080fd5b50565b61123580620000c56000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630120be331461005c57806327fe55a614610085578063492dbcdd1461009b578063a827bf48146100b2578063d18ab376146100c5575b600080fd5b61006f61006a366004610e0c565b6100da565b60405161007c919061113b565b60405180910390f35b61008d610377565b60405161007c929190611060565b6100a361048b565b60405161007c93929190611085565b6100a36100c0366004610dc8565b610825565b6100cd610bca565b60405161007c919061112d565b6000806100e5610bd9565b905060006100f1610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561012e57600080fd5b505afa158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101669190810190610eb0565b905060005b8181101561036c576040516320d7846760e21b81526000906001600160a01b0386169063835e119c906101a290859060040161113b565b60206040518083038186803b1580156101ba57600080fd5b505afa1580156101ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101f29190810190610ece565b9050836001600160a01b031663654a60ac826001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561023c57600080fd5b505afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102749190810190610eb0565b6040516370a0823160e01b81526001600160a01b038516906370a08231906102a0908e9060040161103a565b60206040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f09190810190610eb0565b8a6040518463ffffffff1660e01b815260040161030f93929190611105565b60206040518083038186803b15801561032757600080fd5b505afa15801561033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035f9190810190610eb0565b909501945060010161016b565b505050505b92915050565b6060806060610384610bd9565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f89190810190610e46565b905080610403610c6b565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b815260040161042e9190611048565b60006040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104829190810190610e7b565b92509250509091565b6060806060600061049a610bd9565b905060006104a6610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061051b9190810190610eb0565b9050606081604051908082528060200260200182016040528015610549578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610578578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156105a7578160200160208202803883390190505b50905060005b84811015610815576040516320d7846760e21b81526000906001600160a01b0389169063835e119c906105e490859060040161113b565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106349190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561066f57600080fd5b505afa158015610683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a79190810190610eb0565b8583815181106106b357fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f857600080fd5b505afa15801561070c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107309190810190610eb0565b84838151811061073c57fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061076357fe5b602002602001015186858151811061077757fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b81526004016107a593929190611105565b60206040518083038186803b1580156107bd57600080fd5b505afa1580156107d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107f59190810190610eb0565b83838151811061080157fe5b6020908102919091010152506001016105ad565b5091975095509350505050909192565b60608060606000610834610bd9565b90506000610840610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b59190810190610eb0565b90506060816040519080825280602002602001820160405280156108e3578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610912578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610941578160200160208202803883390190505b50905060005b84811015610bb9576040516320d7846760e21b81526000906001600160a01b0389169063835e119c9061097e90859060040161113b565b60206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ce9190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a419190810190610eb0565b858381518110610a4d57fe5b60209081029190910101526040516370a0823160e01b81526001600160a01b038216906370a0823190610a84908f9060040161103a565b60206040518083038186803b158015610a9c57600080fd5b505afa158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad49190810190610eb0565b848381518110610ae057fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610b0757fe5b6020026020010151868581518110610b1b57fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b8152600401610b4993929190611105565b60206040518083038186803b158015610b6157600080fd5b505afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b999190810190610eb0565b838381518110610ba557fe5b602090810291909101015250600101610947565b509199909850909650945050505050565b6000546001600160a01b031681565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c1690680a6f2dce8d0cae8d2f60bb1b906004016110c7565b60206040518083038186803b158015610c2e57600080fd5b505afa158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c669190810190610dee565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c16906c45786368616e6765526174657360981b906004016110e6565b8035610371816111c9565b8051610371816111c9565b600082601f830112610cd357600080fd5b8151610ce6610ce182611170565b611149565b91508181835260208401935060208101905083856020840282011115610d0b57600080fd5b60005b8381101561036c5781610d218882610db2565b8452506020928301929190910190600101610d0e565b600082601f830112610d4857600080fd5b8151610d56610ce182611170565b91508181835260208401935060208101905083856020840282011115610d7b57600080fd5b60005b8381101561036c5781610d918882610db2565b8452506020928301929190910190600101610d7e565b8035610371816111e0565b8051610371816111e0565b8051610371816111e9565b600060208284031215610dda57600080fd5b6000610de68484610cac565b949350505050565b600060208284031215610e0057600080fd5b6000610de68484610cb7565b60008060408385031215610e1f57600080fd5b6000610e2b8585610cac565b9250506020610e3c85828601610da7565b9150509250929050565b600060208284031215610e5857600080fd5b815167ffffffffffffffff811115610e6f57600080fd5b610de684828501610cc2565b600060208284031215610e8d57600080fd5b815167ffffffffffffffff811115610ea457600080fd5b610de684828501610d37565b600060208284031215610ec257600080fd5b6000610de68484610db2565b600060208284031215610ee057600080fd5b6000610de68484610dbd565b6000610ef88383610fb6565b505060200190565b610f09816111a4565b82525050565b6000610f1a82611197565b610f24818561119b565b9350610f2f83611191565b8060005b83811015610f5d578151610f478882610eec565b9750610f5283611191565b925050600101610f33565b509495945050505050565b6000610f7382611197565b610f7d818561119b565b9350610f8883611191565b8060005b83811015610f5d578151610fa08882610eec565b9750610fab83611191565b925050600101610f8c565b610f09816111af565b610f09816111b2565b6000610fd560198361119b565b7f4d697373696e672053796e746865746978206164647265737300000000000000815260200192915050565b600061100e601d8361119b565b7f4d697373696e672045786368616e676552617465732061646472657373000000815260200192915050565b602081016103718284610f00565b602080825281016110598184610f0f565b9392505050565b604080825281016110718185610f0f565b90508181036020830152610de68184610f68565b606080825281016110968186610f0f565b905081810360208301526110aa8185610f68565b905081810360408301526110be8184610f68565b95945050505050565b604081016110d58284610fb6565b818103602083015261105981610fc8565b604081016110f48284610fb6565b818103602083015261105981611001565b606081016111138286610fb6565b6111206020830185610fb6565b610de66040830184610fb6565b602081016103718284610fbf565b602081016103718284610fb6565b60405181810167ffffffffffffffff8111828210171561116857600080fd5b604052919050565b600067ffffffffffffffff82111561118757600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610371826111bd565b90565b6000610371826111a4565b6001600160a01b031690565b6111d2816111a4565b81146111dd57600080fd5b50565b6111d2816111af565b6111d2816111b256fea365627a7a72315820fd594dfd419eb714c29d3c4ddb7628d89bbb5a7105aef84400a39323e52579096c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "synthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalSynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xbb637763460e39eb27806d576e08681b70d4dcbe46bb068ba3bad689561b422a",
				"urls": [
					"bzz-raw://e20c760749d3a1f5d4ea962446d691fb253d9860af9797a605e7040d6dcae329",
					"dweb:/ipfs/QmYsAJGAH1pDcethMF9LKNHb1m8DAhtHhjYrwQbMnW3oQ8"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthUtil.sol": "SynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthUtil.sol": {
						"keccak256": "0xbb637763460e39eb27806d576e08681b70d4dcbe46bb068ba3bad689561b422a",
						"urls": [
							"bzz-raw://e20c760749d3a1f5d4ea962446d691fb253d9860af9797a605e7040d6dcae329",
							"dweb:/ipfs/QmYsAJGAH1pDcethMF9LKNHb1m8DAhtHhjYrwQbMnW3oQ8"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582098904cebe8ef8aefb47c931ce1314c75c778876cff249d62011f743b58b418af64736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3",
				"urls": [
					"bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66",
					"dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3",
						"urls": [
							"bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66",
							"dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyPerpsV2": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620016c6380380620016c68339810160408190526200003491620000d7565b806001600160a01b038116620000675760405162461bcd60e51b81526004016200005e906200017d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b491849062000157565b60405180910390a15050620001d8565b8051620000d181620001be565b92915050565b600060208284031215620000ea57600080fd5b6000620000f88484620000c4565b949350505050565b6200010b81620001aa565b82525050565b6200010b8162000198565b60006200012b6019836200018f565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000167828562000100565b62000176602083018462000111565b9392505050565b60208082528101620000d1816200011c565b90815260200190565b60006001600160a01b038216620000d1565b6000620000d1826000620000d18262000198565b620001c98162000198565b8114620001d557600080fd5b50565b6114de80620001e86000396000f3fe60806040526004361061009c5760003560e01c806345019a971161006457806345019a97146102bd57806353a47bb7146102ea5780637696b5bb1461030c57806379ba50971461032e5780638da5cb5b14610343578063907dff97146103585761009c565b80631627540c146102035780631939f17f146102255780631a6e649e146102455780631d46021f1461027b5780633a671e641461029d575b6001600160e01b0319600035166100b281610378565b6100d75760405162461bcd60e51b81526004016100ce906113d0565b60405180910390fd5b6001600160e01b0319811660009081526003602052604081205460028054909190811061010057fe5b6000918252602080832091909101546001600160e01b0319851683526003909152604082205460028054600160201b9093046001600160a01b0316945091811061014657fe5b600091825260209091200154600160c01b900460ff16905080156101865760405136600082376000803683865afa3d6000833e80610182573d82fd5b3d82f35b604051635e33fc1960e11b81526001600160a01b0383169063bc67f832906101b2903390600401611308565b600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b505050506040513660008237600080368334875af13d6000833e80610182573d82fd5b34801561020f57600080fd5b5061022361021e366004610eb4565b6103ea565b005b34801561023157600080fd5b50610223610240366004610ef8565b610448565b34801561025157600080fd5b50610265610260366004610eda565b6106d9565b6040516102729190611400565b60405180910390f35b34801561028757600080fd5b50610290610796565b6040516102729190611338565b3480156102a957600080fd5b506102236102b8366004610eda565b6107f8565b3480156102c957600080fd5b506102dd6102d8366004610fe9565b6109b1565b6040516102729190611349565b3480156102f657600080fd5b506102ff610ae7565b60405161027291906112fa565b34801561031857600080fd5b50610321610af6565b604051610272919061140e565b34801561033a57600080fd5b50610223610afc565b34801561034f57600080fd5b506102ff610b98565b34801561036457600080fd5b50610223610373366004610f45565b610ba7565b60025460009061038a575060006103e5565b6001600160e01b03198216600090815260036020526040902054801515806103e15750826001600160e01b03191660026000815481106103c657fe5b60009182526020909120015460e01b6001600160e01b031916145b9150505b919050565b6103f2610c86565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061043d9083906112fa565b60405180910390a150565b610450610c86565b6001600160e01b031983166104775760405162461bcd60e51b81526004016100ce906113b0565b61048083610378565b1561051d576001600160e01b031983166000908152600360205260408120546002805490919081106104ae57fe5b600091825260209091200180549091506104d790600160201b90046001600160a01b0316610cb2565b805463ffffffff191660e085901c17640100000000600160c01b031916600160201b6001600160a01b038516021760ff60c01b1916600160c01b831515021790556105ec565b6002546001600160e01b03198416600090815260036020526040902055610542610e1f565b6001600160e01b0319841681526001600160a01b0380841660208301908152831515604084019081526002805460018101825560009190915293517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9094018054925191511515600160c01b0260ff60c01b1992909416600160201b02640100000000600160c01b031960e09690961c63ffffffff19909416939093179490941691909117161790555b6001600160a01b03821660009081526004602052604090208054600190810191829055141561069957600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0384161790556040517f754dc0878f0e981d97e717f071376c2d2fe16d7f004be06dbadb70b6947075ab906106909084906112fa565b60405180910390a15b7f50baa98668b326aa278119ffadc1468a16913ac8582b3cbd063c7e69e4b2bdd08383836040516106cc93929190611368565b60405180910390a1505050565b6106e1610e1f565b6106ea82610378565b610711575060408051606081018252600080825260208201819052918101919091526103e5565b6001600160e01b0319821660009081526003602052604090205460028054909190811061073a57fe5b600091825260209182902060408051606081018252929091015460e081901b6001600160e01b0319168352600160201b81046001600160a01b031693830193909352600160c01b90920460ff1615159181019190915292915050565b606060058054806020026020016040519081016040528092919081815260200182805480156107ee57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107d0575b5050505050905090565b610800610c86565b61080981610378565b6108255760405162461bcd60e51b81526004016100ce906113a0565b6001600160e01b0319811660009081526003602052604090205460028054600019810191610878918490811061085757fe5b600091825260209091200154600160201b90046001600160a01b0316610cb2565b8082146109385760006002828154811061088e57fe5b90600052602060002001905080600284815481106108a857fe5b6000918252602080832084549201805463ffffffff191663ffffffff909316929092178083558454640100000000600160c01b0319909116600160201b918290046001600160a01b031690910217808355935460ff60c01b19909416600160c01b9485900460ff161515909402939093179055915460e01b6001600160e01b031916825260039052604090208290555b600280548061094357fe5b60008281526020808220830160001990810180546001600160c81b03191690559092019092556001600160e01b03198516825260039052604080822091909155517f76d504ba17812cd58154028a97a1e6704678fd628c01ae5514483383a787e959906106cc90859061135a565b600254606090838301908111156109c757506002545b838111610a085760408051600080825260208201909252906109ff565b6109ec610e1f565b8152602001906001900390816109e45790505b50915050610ae1565b604080518583038082526020808202830101909252606090828015610a4757816020015b610a34610e1f565b815260200190600190039081610a2c5790505b50905060005b82811015610adb57600287820181548110610a6457fe5b60009182526020918290206040805160608101825291909201546001600160e01b031960e082901b1682526001600160a01b03600160201b8204169382019390935260ff600160c01b909304929092161515908201528251839083908110610ac857fe5b6020908102919091010152600101610a4d565b50925050505b92915050565b6001546001600160a01b031681565b60025490565b6001546001600160a01b03163314610b265760405162461bcd60e51b81526004016100ce90611390565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b69926001600160a01b0391821692911690611316565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b33600090815260046020526040902054610bd35760405162461bcd60e51b81526004016100ce906113c0565b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c3d5760018114610c485760028114610c545760038114610c615760048114610c6f57610c7a565b8260208301a0610c7a565b868360208401a1610c7a565b85878460208501a2610c7a565b8486888560208601a3610c7a565b838587898660208701a45b50505050505050505050565b6000546001600160a01b03163314610cb05760405162461bcd60e51b81526004016100ce906113e0565b565b6001600160a01b038116600090815260046020526040902054610ce75760405162461bcd60e51b81526004016100ce906113f0565b6001600160a01b038116600090815260046020526040902080546000190190819055610e1c5760005b600554811015610dec57816001600160a01b031660058281548110610d3157fe5b6000918252602090912001546001600160a01b03161415610de457600580546000198101908110610d5e57fe5b600091825260209091200154600580546001600160a01b039092169183908110610d8457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506005805480610dbd57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610dec565b600101610d10565b507fc46f5d4a0bdb1a319220635019815a6b89dbb2edf2a73b6ac3259edd2405b8088160405161043d91906112fa565b50565b604080516060810182526000808252602082018190529181019190915290565b8035610ae18161146c565b8035610ae181611480565b8035610ae181611489565b8035610ae181611492565b60008083601f840112610e7d57600080fd5b50813567ffffffffffffffff811115610e9557600080fd5b602083019150836001820283011115610ead57600080fd5b9250929050565b600060208284031215610ec657600080fd5b6000610ed28484610e3f565b949350505050565b600060208284031215610eec57600080fd5b6000610ed28484610e60565b600080600060608486031215610f0d57600080fd5b6000610f198686610e60565b9350506020610f2a86828701610e3f565b9250506040610f3b86828701610e4a565b9150509250925092565b600080600080600080600060c0888a031215610f6057600080fd5b873567ffffffffffffffff811115610f7757600080fd5b610f838a828b01610e6b565b97509750506020610f968a828b01610e55565b9550506040610fa78a828b01610e55565b9450506060610fb88a828b01610e55565b9350506080610fc98a828b01610e55565b92505060a0610fda8a828b01610e55565b91505092959891949750929550565b60008060408385031215610ffc57600080fd5b60006110088585610e55565b925050602061101985828601610e55565b9150509250929050565b600061102f838361105a565b505060200190565b600061104383836112b4565b505060600190565b6110548161145b565b82525050565b6110548161142f565b600061106e82611422565b6110788185611426565b93506110838361141c565b8060005b838110156110b157815161109b8882611023565b97506110a68361141c565b925050600101611087565b509495945050505050565b60006110c782611422565b6110d18185611426565b93506110dc8361141c565b8060005b838110156110b15781516110f48882611037565b97506110ff8361141c565b9250506001016110e0565b6110548161143a565b61105481611442565b6000611129603583611426565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611180601483611426565b7329b2b632b1ba37b9103737ba1034b71039b2ba1760611b815260200192915050565b60006111b0601483611426565b7324b73b30b634b2103734b61039b2b632b1ba37b960611b815260200192915050565b60006111e0601683611426565b75135d5cdd0818994818481c1c9bde1e481d185c99d95d60521b815260200192915050565b6000611212601083611426565b6f24b73b30b634b21039b2b632b1ba37b960811b815260200192915050565b600061123e602f83611426565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061128f601683611426565b752a30b933b2ba103737ba103932b332b932b731b2b21760511b815260200192915050565b805160608301906112c58482611113565b5060208201516112d8602085018261105a565b5060408201516112eb604085018261110a565b50505050565b6110548161143f565b60208101610ae1828461105a565b60208101610ae1828461104b565b60408101611324828561105a565b611331602083018461105a565b9392505050565b602080825281016113318184611063565b6020808252810161133181846110bc565b60208101610ae18284611113565b606081016113768286611113565b611383602083018561105a565b610ed2604083018461110a565b60208082528101610ae18161111c565b60208082528101610ae181611173565b60208082528101610ae1816111a3565b60208082528101610ae1816111d3565b60208082528101610ae181611205565b60208082528101610ae181611231565b60208082528101610ae181611282565b60608101610ae182846112b4565b60208101610ae182846112f1565b60200190565b5190565b90815260200190565b6000610ae18261144f565b151590565b90565b6001600160e01b03191690565b6001600160a01b031690565b6000610ae1826000610ae18261142f565b6114758161142f565b8114610e1c57600080fd5b6114758161143a565b6114758161143f565b6114758161144256fea365627a7a723158205b02e755ac6d3e549725a5dcd619ef392321dbbc79a350352f7917c7bc2618476c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes4",
							"name": "route",
							"type": "bytes4"
						}
					],
					"name": "RouteRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes4",
							"name": "route",
							"type": "bytes4"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "implementation",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isView",
							"type": "bool"
						}
					],
					"name": "RouteUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "targetedRoute",
							"type": "address"
						}
					],
					"name": "TargetedRouteAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "targetedRoute",
							"type": "address"
						}
					],
					"name": "TargetedRouteRemoved",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes4",
							"name": "selector",
							"type": "bytes4"
						},
						{
							"internalType": "address",
							"name": "implementation",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isView",
							"type": "bool"
						}
					],
					"name": "addRoute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAllTargets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes4",
							"name": "selector",
							"type": "bytes4"
						}
					],
					"name": "getRoute",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bytes4",
									"name": "selector",
									"type": "bytes4"
								},
								{
									"internalType": "address",
									"name": "implementation",
									"type": "address"
								},
								{
									"internalType": "bool",
									"name": "isView",
									"type": "bool"
								}
							],
							"internalType": "struct ProxyPerpsV2.Route",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRoutesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getRoutesPage",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bytes4",
									"name": "selector",
									"type": "bytes4"
								},
								{
									"internalType": "address",
									"name": "implementation",
									"type": "address"
								},
								{
									"internalType": "bool",
									"name": "isView",
									"type": "bool"
								}
							],
							"internalType": "struct ProxyPerpsV2.Route[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes4",
							"name": "selector",
							"type": "bytes4"
						}
					],
					"name": "removeRoute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0480bc37486601da59cc4839de601a83ebc4828675c64c3f89eddb49cecafcac",
				"urls": [
					"bzz-raw://83d32fadffa413a554ac89cfc035ba8e30a6bd170ef6232810c5b5d4c5e27e22",
					"dweb:/ipfs/QmNMaQ8pTtCTrrsvfFJWmxYBDDhR64TSvUZgSRUyHX7TsR"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyPerpsV2.sol": "ProxyPerpsV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyPerpsV2.sol": {
						"keccak256": "0x0480bc37486601da59cc4839de601a83ebc4828675c64c3f89eddb49cecafcac",
						"urls": [
							"bzz-raw://83d32fadffa413a554ac89cfc035ba8e30a6bd170ef6232810c5b5d4c5e27e22",
							"dweb:/ipfs/QmNMaQ8pTtCTrrsvfFJWmxYBDDhR64TSvUZgSRUyHX7TsR"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketState": {
			"bytecode": "6080604052601480546001600160401b03191660011790553480156200002457600080fd5b506040516200393c3803806200393c8339810160408190526200004791620004d7565b83856001600160a01b0381166200007b5760405162461bcd60e51b81526004016200007290620006bf565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c891849062000675565b60405180910390a1506000546001600160a01b0316620000fc5760405162461bcd60e51b81526004016200007290620006ad565b62000110816001600160e01b036200029716565b50600a83905560098290556001600160a01b038116156200028c576006805460ff60a01b196001600160a01b038085166001600160a01b03199093169290921716600160a01b17918290556040805163cdf456e160e01b81529051929091169163cdf456e191600480820192602092909190829003018186803b1580156200019757600080fd5b505afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001d291908101906200056f565b600a541480156200026d5750600660009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200026891908101906200056f565b600954145b6200028c5760405162461bcd60e51b815260040162000072906200069b565b505050505062000777565b60005b81518110156200035e57620002d3828281518110620002b557fe5b602002602001015160026200036260201b620022291790919060201c565b620003555762000307828281518110620002e957fe5b60200260200101516002620003d660201b620023d91790919060201c565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106200033557fe5b60200260200101516040516200034c919062000665565b60405180910390a15b6001016200029a565b5050565b81546000906200037557506000620003d0565b6001600160a01b038216600090815260018401602052604090205480151580620003cc5750826001600160a01b031684600001600081548110620003b557fe5b6000918252602090912001546001600160a01b0316145b9150505b92915050565b620003eb82826001600160e01b036200036216565b6200035e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b8051620003d08162000752565b600082601f8301126200045357600080fd5b81516200046a6200046482620006f8565b620006d1565b915081818352602084019350602081019050838560208402820111156200049057600080fd5b60005b83811015620004c05781620004a9888262000434565b845250602092830192919091019060010162000493565b5050505092915050565b8051620003d0816200076c565b600080600080600060a08688031215620004f057600080fd5b6000620004fe888862000434565b95505060208601516001600160401b038111156200051b57600080fd5b620005298882890162000441565b94505060406200053c88828901620004ca565b93505060606200054f88828901620004ca565b9250506080620005628882890162000434565b9150509295509295909350565b6000602082840312156200058257600080fd5b6000620003cc8484620004ca565b6200059b816200073e565b82525050565b6200059b8162000722565b6000620005bb602b8362000719565b7f496e76616c6964206c656761637920737461746520626173654173736574206f81526a72206d61726b65744b657960a81b602082015260400192915050565b60006200060a60118362000719565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200063960198362000719565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620003d08284620005a1565b6040810162000685828562000590565b620006946020830184620005a1565b9392505050565b60208082528101620003d081620005ac565b60208082528101620003d081620005fb565b60208082528101620003d0816200062a565b6040518181016001600160401b0381118282101715620006f057600080fd5b604052919050565b60006001600160401b038211156200070f57600080fd5b5060209081020190565b90815260200190565b6000620003d08262000732565b90565b6001600160a01b031690565b6000620003d0826000620003d08262000722565b6200075d8162000722565b81146200076957600080fd5b50565b6200075d816200072f565b6131b580620007876000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80635af0d81f1161015c578063b3a3444e116100ce578063d7103a4611610087578063d7103a4614610559578063e44c84c214610561578063eb56105d14610569578063edd6aa881461057e578063fc6bb1f214610591578063fef48a99146105a45761028a565b8063b3a3444e146104fb578063b545f7121461050e578063c8b809aa14610521578063cded0cea14610541578063cdf456e114610549578063d0a514b3146105515761028a565b806389789e961161012057806389789e961461049d578063899346c7146104b05780638da5cb5b146104c557806395e76562146104cd5780639866471a146104e0578063a720184e146104f35761028a565b80635af0d81f146104545780636938dc0e146104675780636eda00e51461047a57806379ba509714610482578063884fc1821461048a5761028a565b80632bd11f221161020057806342a449be116101b957806342a449be146103d157806345d65e31146103e4578063460af7a6146104045780634eb6b7ac1461041757806353a47bb71461042c57806355f57510146104345761028a565b80632bd11f2214610368578063312d6b731461037b5780633b8d1e7f146103905780633ef3461a146103a357806340aa8c4e146103ab57806341108cf2146103be5761028a565b80632118aa90116102525780632118aa90146102fb57806322d3090a1461030e578063230ee97b1461032357806323393c0d1461033657806327b9a2361461034b5780632b58ecef146103605761028a565b806307369b0b1461028f578063104d46f7146102a4578063158ef93e146102b75780631627540c146102d55780631d2c6717146102e8575b600080fd5b6102a261029d366004612703565b6105b7565b005b6102a26102b23660046129de565b610715565b6102bf61078b565b6040516102cc9190612f9d565b60405180910390f35b6102a26102e3366004612703565b610794565b6102a26102f6366004612721565b6107f2565b6102a26103093660046129c0565b61087e565b6103166108fe565b6040516102cc9190612fef565b6102a26103313660046128bb565b610907565b61033e61094b565b6040516102cc9190612fe1565b61035361095a565b6040516102cc91906130a8565b61031661096d565b6102a26103763660046129de565b61097d565b6103836109f3565b6040516102cc9190612f8c565b6102a261039e3660046129c0565b610a11565b6102a2610a91565b6102a26103b936600461275b565b6110d8565b6103166103cc3660046129c0565b6113b8565b6102a26103df3660046128bb565b61149d565b6103f76103f2366004612703565b61157e565b6040516102cc9190612f63565b6102a2610412366004612a1a565b611599565b61041f61160a565b6040516102cc9190612fd3565b6103f7611610565b610447610442366004612703565b61161f565b6040516102cc919061308c565b6102a2610462366004612834565b6117de565b6102a2610475366004612703565b611a60565b61041f611afc565b6102a2611b02565b610383610498366004612a74565b611b9e565b6103836104ab366004612a74565b611bbb565b6104b8611bfc565b6040516102cc91906130b6565b6103f7611c0b565b6102a26104db366004612aa4565b611c1a565b6102a26104ee366004612703565b611c8f565b61041f611e14565b610383610509366004612a74565b611e1a565b6102a261051c3660046129de565b611e2e565b61053461052f366004612703565b611ea2565b6040516102cc919061307d565b61041f6120ac565b61041f6120b6565b61041f6120bc565b61041f6120c2565b6103166120c8565b6105716120d1565b6040516102cc919061309a565b6102a261058c366004612ae0565b6120e0565b6102a261059f3660046129de565b612152565b6102bf6105b2366004612703565b612209565b60045460ff166105e25760405162461bcd60e51b81526004016105d99061301d565b60405180910390fd5b6105f360023363ffffffff61222916565b61060f5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152600f602052604081208181556001015561063f60108263ffffffff61222916565b156106555761065560108263ffffffff61229716565b600654600160a01b900460ff16801561068757506001600160a01b03811660009081526007602052604090205460ff16155b15610712576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b906106bc908490600401612f63565b600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600760205260409020805460ff19166001179055505b50565b60045460ff166107375760405162461bcd60e51b81526004016105d99061301d565b61074860023363ffffffff61222916565b6107645760405162461bcd60e51b81526004016105d99061303d565b600c8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60045460ff1681565b61079c6123ad565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107e7908390612f63565b60405180910390a150565b60045460ff166108145760405162461bcd60e51b81526004016105d99061301d565b61082560023363ffffffff61222916565b6108415760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b03828116600090815260166020526040902080546001600160a01b03191691831691909117905561087a6017836123d9565b5050565b60045460ff166108a05760405162461bcd60e51b81526004016105d99061301d565b6108b160023363ffffffff61222916565b6108cd5760405162461bcd60e51b81526004016105d99061303d565b600a5415806108dd5750600a5481145b6108f95760405162461bcd60e51b81526004016105d99061302d565b600a55565b600c54600f0b90565b61090f6123ad565b61087a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061242b92505050565b6006546001600160a01b031681565b600c54600160801b900463ffffffff1681565b600b54600160801b9004600f0b81565b60045460ff1661099f5760405162461bcd60e51b81526004016105d99061301d565b6109b060023363ffffffff61222916565b6109cc5760405162461bcd60e51b81526004016105d99061303d565b600e8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60028054606091610a0c9160009063ffffffff6124dc16565b905090565b60045460ff16610a335760405162461bcd60e51b81526004016105d99061301d565b610a4460023363ffffffff61222916565b610a605760405162461bcd60e51b81526004016105d99061303d565b6009541580610a70575060095481145b610a8c5760405162461bcd60e51b81526004016105d99061306d565b600955565b610a996123ad565b60045460ff1615610abc5760405162461bcd60e51b81526004016105d99061304d565b600654600160a01b900460ff161561100f57600660009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1c57600080fd5b505afa158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b549190810190612a38565b600b80546001600160801b0319166001600160801b039290921691909117905560065460408051632b58ecef60e01b815290516001600160a01b0390921691632b58ecef91600480820192602092909190829003018186803b158015610bb957600080fd5b505afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf191908101906129fc565b600b60106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550600660009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ca091908101906129fc565b600c8054600f9290920b6001600160801b03166001600160801b03199092169190911790556006546040805163899346c760e01b815290516001600160a01b039092169163899346c791600480820192602092909190829003018186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d429190810190612afe565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055600654604080516313dcd11b60e11b815290516001600160a01b03909216916327b9a23691600480820192602092909190829003018186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de09190810190612ac2565b600c60106101000a81548163ffffffff021916908363ffffffff160217905550600660009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4e57600080fd5b505afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e8691908101906129fc565b600e60006101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060006001600660009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0157600080fd5b505afa158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f399190810190612a56565b600654604051632088467960e11b8152929091039250600d916001600160a01b03909116906341108cf290610f72908590600401612fd3565b60206040518083038186803b158015610f8a57600080fd5b505afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc291908101906129fc565b8154600180820184556000938452602090932060028204018054939091166010026101000a6001600160801b0381810219909416600f9390930b9390931692909202179055600555611073565b600d8054600180820183556000929092527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb560028204018054929091166010026101000a6001600160801b0302199091169055600e80546001600160801b03191690555b6004805460ff191660011790556009546006546005546040517f7b65f444d88d87070324049cb0a854897564e3039d5cd94238a1a7fbc799a112926110ce92600160a01b820460ff16926001600160a01b0390921691612fab565b60405180910390a2565b60045460ff166110fa5760405162461bcd60e51b81526004016105d99061301d565b61110b60023363ffffffff61222916565b6111275760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561115957506001600160a01b038a1660009081526008602052604090205460ff16155b156111e457600654604051634c33238d60e11b81526001600160a01b0390911690639866471a9061118e908d90600401612f63565b600060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600860205260409020805460ff19166001179055505b6040518061012001604052808a1515815260200189600f0b8152602001886001600160801b03168152602001876001600160801b03168152602001866001600160801b03168152602001856001600160801b0316815260200184815260200183815260200182815250601560008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060a08201518160020160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816003015560e0820151816004015561010082015181600501559050506113ac8a60126123d990919063ffffffff16565b50505050505050505050565b600654600090600160a01b900460ff1680156113d5575060055482105b1561146157600654604051632088467960e11b81526001600160a01b03909116906341108cf29061140a908590600401612fd3565b60206040518083038186803b15801561142257600080fd5b505afa158015611436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145a91908101906129fc565b9050611498565b600d60055483038154811061147257fe5b90600052602060002090600291828204019190066010029054906101000a9004600f0b90505b919050565b6114a56123ad565b60005b81811015611579576114e28383838181106114bf57fe5b90506020020160206114d49190810190612703565b60029063ffffffff61222916565b15611571576115198383838181106114f657fe5b905060200201602061150b9190810190612703565b60029063ffffffff61229716565b7f9faa24f7f20c2e0f689165e6886278f3005b15b94407109799ead3257067a66a83838381811061154657fe5b905060200201602061155b9190810190612703565b6040516115689190612f63565b60405180910390a15b6001016114a8565b505050565b6016602052600090815260409020546001600160a01b031681565b60045460ff166115bb5760405162461bcd60e51b81526004016105d99061301d565b6115cc60023363ffffffff61222916565b6115e85760405162461bcd60e51b81526004016105d99061303d565b600b80546001600160801b0319166001600160801b0392909216919091179055565b60125490565b6001546001600160a01b031681565b6116276125b2565b600654600160a01b900460ff16801561165957506001600160a01b03821660009081526007602052604090205460ff16155b801561168457506001600160a01b0382166000908152600f60205260409020546001600160401b0316155b1561175f5760065460405163055f575160e41b815260009182918291829182916001600160a01b0316906355f57510906116c2908a90600401612f63565b60a06040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117129190810190612b1c565b6040805160a0810182526001600160401b0396871681529590941660208601526001600160801b0392831693850193909352166060830152600f0b60808201529550611498945050505050565b506001600160a01b03166000908152600f6020818152604092839020835160a08101855281546001600160401b03808216835268010000000000000000820416938201939093526001600160801b03600160801b9384900481169582019590955260019091015493841660608201529204810b810b900b608082015290565b60045460ff166118005760405162461bcd60e51b81526004016105d99061301d565b61181160023363ffffffff61222916565b61182d5760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561185f57506001600160a01b03861660009081526007602052604090205460ff16155b156118ea576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b90611894908990600401612f63565b600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b5050506001600160a01b0387166000908152600760205260409020805460ff19166001179055505b6040518060a00160405280866001600160401b03168152602001856001600160401b03168152602001846001600160801b03168152602001836001600160801b0316815260200182600f0b815250600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555060208201518160000160086101000a8154816001600160401b0302191690836001600160401b0316021790555060408201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160010160106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550905050611a588660106123d990919063ffffffff16565b505050505050565b60045460ff16611a825760405162461bcd60e51b81526004016105d99061301d565b611a9360023363ffffffff61222916565b611aaf5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b038116600090815260166020526040902080546001600160a01b0319169055611ae660178263ffffffff61222916565b156107125761071260178263ffffffff61229716565b60055481565b6001546001600160a01b03163314611b2c5760405162461bcd60e51b81526004016105d990612ffd565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b6f926001600160a01b0391821692911690612f71565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060611bb26012848463ffffffff6124dc16565b90505b92915050565b6060611bce60023363ffffffff61222916565b611bea5760405162461bcd60e51b81526004016105d99061303d565b611bb26010848463ffffffff6124dc16565b6014546001600160401b031690565b6000546001600160a01b031681565b60045460ff16611c3c5760405162461bcd60e51b81526004016105d99061301d565b611c4d60023363ffffffff61222916565b611c695760405162461bcd60e51b81526004016105d99061303d565b600c805463ffffffff909216600160801b0263ffffffff60801b19909216919091179055565b60045460ff16611cb15760405162461bcd60e51b81526004016105d99061301d565b611cc260023363ffffffff61222916565b611cde5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152601560205260408120805470ffffffffffffffffffffffffffffffffff191681556001810182905560028101829055600381018290556004810182905560050155611d3f60128263ffffffff61222916565b15611d5557611d5560128263ffffffff61229716565b600654600160a01b900460ff168015611d8757506001600160a01b03811660009081526008602052604090205460ff16155b1561071257600654604051634c33238d60e11b81526001600160a01b0390911690639866471a90611dbc908490600401612f63565b600060405180830381600087803b158015611dd657600080fd5b505af1158015611dea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600860205260409020805460ff191660011790555050565b60175490565b6060611bb26017848463ffffffff6124dc16565b60045460ff16611e505760405162461bcd60e51b81526004016105d99061301d565b611e6160023363ffffffff61222916565b611e7d5760405162461bcd60e51b81526004016105d99061303d565b600b8054600f9290920b6001600160801b03908116600160801b029216919091179055565b611eaa6125e0565b600654600160a01b900460ff168015611edc57506001600160a01b03821660009081526008602052604090205460ff16155b8015611f0a57506001600160a01b0382166000908152601560205260409020546101009004600f90810b900b155b1561200a5760065460405163645c04d560e11b8152600091829182918291829182918291829182916001600160a01b03169063c8b809aa90611f50908e90600401612f63565b6101206040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fa191908101906128fc565b60408051610120810182529915158a52600f9890980b60208a01526001600160801b03968716978901979097529385166060880152918416608087015290921660a085015260c084019190915260e0830152610100820152995061149898505050505050505050565b506001600160a01b0316600090815260156020908152604091829020825161012081018452815460ff81161515825261010090819004600f90810b810b900b9382019390935260018201546001600160801b0380821695830195909552600160801b9081900485166060830152600283015480861660808401520490931660a0840152600381015460c0840152600481015460e0840152600501549082015290565b600d546005540190565b600a5481565b60105490565b60095481565b600e54600f0b81565b600b546001600160801b031681565b60045460ff166121025760405162461bcd60e51b81526004016105d99061301d565b61211360023363ffffffff61222916565b61212f5760405162461bcd60e51b81526004016105d99061303d565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055565b60045460ff166121745760405162461bcd60e51b81526004016105d99061301d565b61218560023363ffffffff61222916565b6121a15760405162461bcd60e51b81526004016105d99061303d565b600d805460018082018355600092909252600281047fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600f9490940b6001600160801b03908116601094909316939093026101000a9182029290910219909216179055565b6001600160a01b0390811660009081526016602052604090205416151590565b815460009061223a57506000611bb5565b6001600160a01b03821660009081526001840160205260409020548015158061228f5750826001600160a01b03168460000160008154811061227857fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6122a18282612229565b6122bd5760405162461bcd60e51b81526004016105d99061300d565b6001600160a01b038116600090815260018301602052604090205482546000190180821461235c5760008460000182815481106122f657fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061231f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b835484908061236757fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b6000546001600160a01b031633146123d75760405162461bcd60e51b81526004016105d99061305d565b565b6123e38282612229565b61087a5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60005b815181101561087a5761245e82828151811061244657fe5b6020026020010151600261222990919063ffffffff16565b6124d45761248982828151811061247157fe5b602002602001015160026123d990919063ffffffff16565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106124b657fe5b60200260200101516040516124cb9190612f63565b60405180910390a15b60010161242e565b8254606090838301908111156124f0575083545b83811161250d5750506040805160008152602081019091526125ab565b60408051858303808252602080820283010190925260609082801561253c578160200160208202803883390190505b50905060005b828110156125a557876000018782018154811061255b57fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061258557fe5b6001600160a01b0390921660209283029190910190910152600101612542565b50925050505b9392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611bb581613128565b60008083601f84011261264957600080fd5b5081356001600160401b0381111561266057600080fd5b60208301915083602082028301111561267857600080fd5b9250929050565b8035611bb58161313c565b8051611bb58161313c565b8035611bb581613145565b8051611bb581613145565b8035611bb58161314e565b8051611bb58161314e565b8035611bb581613157565b8051611bb581613157565b8035611bb581613160565b8051611bb581613160565b8035611bb581613169565b8051611bb581613169565b60006020828403121561271557600080fd5b600061228f848461262c565b6000806040838503121561273457600080fd5b6000612740858561262c565b92505060206127518582860161262c565b9150509250929050565b6000806000806000806000806000806101408b8d03121561277b57600080fd5b60006127878d8d61262c565b9a505060206127988d828e0161267f565b99505060406127a98d828e016126ab565b98505060606127ba8d828e016126c1565b97505060806127cb8d828e016126c1565b96505060a06127dc8d828e016126c1565b95505060c06127ed8d828e016126c1565b94505060e06127fe8d828e01612695565b9350506101006128108d828e01612695565b9250506101206128228d828e01612695565b9150509295989b9194979a5092959850565b60008060008060008060c0878903121561284d57600080fd5b6000612859898961262c565b965050602061286a89828a016126ed565b955050604061287b89828a016126ed565b945050606061288c89828a016126c1565b935050608061289d89828a016126c1565b92505060a06128ae89828a016126ab565b9150509295509295509295565b600080602083850312156128ce57600080fd5b82356001600160401b038111156128e457600080fd5b6128f085828601612637565b92509250509250929050565b60008060008060008060008060006101208a8c03121561291b57600080fd5b60006129278c8c61268a565b99505060206129388c828d016126b6565b98505060406129498c828d016126cc565b975050606061295a8c828d016126cc565b965050608061296b8c828d016126cc565b95505060a061297c8c828d016126cc565b94505060c061298d8c828d016126a0565b93505060e061299e8c828d016126a0565b9250506101006129b08c828d016126a0565b9150509295985092959850929598565b6000602082840312156129d257600080fd5b600061228f8484612695565b6000602082840312156129f057600080fd5b600061228f84846126ab565b600060208284031215612a0e57600080fd5b600061228f84846126b6565b600060208284031215612a2c57600080fd5b600061228f84846126c1565b600060208284031215612a4a57600080fd5b600061228f84846126cc565b600060208284031215612a6857600080fd5b600061228f84846126a0565b60008060408385031215612a8757600080fd5b6000612a938585612695565b925050602061275185828601612695565b600060208284031215612ab657600080fd5b600061228f84846126d7565b600060208284031215612ad457600080fd5b600061228f84846126e2565b600060208284031215612af257600080fd5b600061228f84846126ed565b600060208284031215612b1057600080fd5b600061228f84846126f8565b600080600080600060a08688031215612b3457600080fd5b6000612b4088886126f8565b9550506020612b51888289016126f8565b9450506040612b62888289016126cc565b9350506060612b73888289016126cc565b9250506080612b84888289016126b6565b9150509295509295909350565b6000612b9d8383612ba5565b505060200190565b612bae816130d7565b82525050565b6000612bbf826130ca565b612bc981856130ce565b9350612bd4836130c4565b8060005b83811015612c02578151612bec8882612b91565b9750612bf7836130c4565b925050600101612bd8565b509495945050505050565b612bae816130e2565b612bae816130e7565b612bae8161311d565b612bae816130ea565b6000612c3e6035836130ce565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c956013836130ce565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b6000612cc46015836130ce565b7414dd185d19481b9bdd081a5b9a5d1a585b1a5e9959605a1b815260200192915050565b6000612cf56018836130ce565b7f43616e6e6f74206368616e676520626173652061737365740000000000000000815260200192915050565b6000612d2e6033836130ce565b7f4f6e6c7920616e206173736f63696174656420636f6e74726163742063616e208152723832b93337b936903a3434b99030b1ba34b7b760691b602082015260400192915050565b6000612d836019836130ce565b7f537461746520616c726561647920696e697469616c697a656400000000000000815260200192915050565b6000612dbc602f836130ce565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612e0d6018836130ce565b7f43616e6e6f74206368616e6765206d61726b6574206b65790000000000000000815260200192915050565b8051610120830190612e4b8482612c0d565b506020820151612e5e6020850182612c28565b506040820151612e716040850182612f48565b506060820151612e846060850182612f48565b506080820151612e976080850182612f48565b5060a0820151612eaa60a0850182612f48565b5060c0820151612ebd60c0850182612c16565b5060e0820151612ed060e0850182612c16565b50610100820151612ee5610100850182612c16565b50505050565b805160a0830190612efc8482612f5a565b506020820151612f0f6020850182612f5a565b506040820151612f226040850182612f48565b506060820151612f356060850182612f48565b506080820151612ee56080850182612c28565b612bae816130f0565b612bae81613108565b612bae81613111565b60208101611bb58284612ba5565b60408101612f7f8285612ba5565b6125ab6020830184612ba5565b60208082528101611bb28184612bb4565b60208101611bb58284612c0d565b60608101612fb98286612c0d565b612fc66020830185612ba5565b61228f6040830184612c16565b60208101611bb58284612c16565b60208101611bb58284612c1f565b60208101611bb58284612c28565b60208082528101611bb581612c31565b60208082528101611bb581612c88565b60208082528101611bb581612cb7565b60208082528101611bb581612ce8565b60208082528101611bb581612d21565b60208082528101611bb581612d76565b60208082528101611bb581612daf565b60208082528101611bb581612e00565b6101208101611bb58284612e39565b60a08101611bb58284612eeb565b60208101611bb58284612f48565b60208101611bb58284612f51565b60208101611bb58284612f5a565b60200190565b5190565b90815260200190565b6000611bb5826130fc565b151590565b90565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b6000611bb5826130d7565b613131816130d7565b811461071257600080fd5b613131816130e2565b613131816130e7565b613131816130ea565b613131816130f0565b61313181613108565b6131318161311156fea365627a7a7231582019f0df94463d99cfa3fe50b1f75981332c855073b42a7a00d179ff6ef813b38e6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address[]",
							"name": "_associatedContracts",
							"type": "address[]"
						},
						{
							"internalType": "bytes32",
							"name": "_baseAsset",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_legacyState",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "legacyContractExists",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "legacyState",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "legacyFundinSequenceOffset",
							"type": "uint256"
						}
					],
					"name": "MarketStateInitialized",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "associatedContracts",
							"type": "address[]"
						}
					],
					"name": "addAssociatedContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContracts",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseAsset",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "delayedOrders",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bool",
									"name": "isOffchain",
									"type": "bool"
								},
								{
									"internalType": "int128",
									"name": "sizeDelta",
									"type": "int128"
								},
								{
									"internalType": "uint128",
									"name": "desiredFillPrice",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "targetRoundId",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "commitDeposit",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "keeperDeposit",
									"type": "uint128"
								},
								{
									"internalType": "uint256",
									"name": "executableAtTime",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "intentionTime",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "trackingCode",
									"type": "bytes32"
								}
							],
							"internalType": "struct IPerpsV2MarketBaseTypes.DelayedOrder",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "deleteDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "deletePosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "entryDebtCorrection",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "flagger",
							"type": "address"
						}
					],
					"name": "flag",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingLastRecomputed",
					"outputs": [
						{
							"internalType": "uint32",
							"name": "",
							"type": "uint32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingRateLastRecomputed",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "fundingSequence",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingSequenceLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getDelayedOrderAddressesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getDelayedOrderAddressesPage",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getFlaggedAddressesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getFlaggedAddressesPage",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPositionAddressesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getPositionAddressesPage",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "legacyFundinSequenceOffset",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "legacyState",
					"outputs": [
						{
							"internalType": "contract PerpsV2MarketStateLegacyR1",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "linkOrInitializeState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketSize",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketSkew",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextPositionId",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "",
							"type": "uint64"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "positionFlagger",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "positions",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "id",
									"type": "uint64"
								},
								{
									"internalType": "uint64",
									"name": "lastFundingIndex",
									"type": "uint64"
								},
								{
									"internalType": "uint128",
									"name": "margin",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "lastPrice",
									"type": "uint128"
								},
								{
									"internalType": "int128",
									"name": "size",
									"type": "int128"
								}
							],
							"internalType": "struct IPerpsV2MarketBaseTypes.Position",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int128",
							"name": "fundingSequence",
							"type": "int128"
						}
					],
					"name": "pushFundingSequence",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "associatedContracts",
							"type": "address[]"
						}
					],
					"name": "removeAssociatedContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_baseAsset",
							"type": "bytes32"
						}
					],
					"name": "setBaseAsset",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int128",
							"name": "entryDebtCorrection",
							"type": "int128"
						}
					],
					"name": "setEntryDebtCorrection",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint32",
							"name": "lastRecomputed",
							"type": "uint32"
						}
					],
					"name": "setFundingLastRecomputed",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int128",
							"name": "_fundingRateLastRecomputed",
							"type": "int128"
						}
					],
					"name": "setFundingRateLastRecomputed",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_marketKey",
							"type": "bytes32"
						}
					],
					"name": "setMarketKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint128",
							"name": "_marketSize",
							"type": "uint128"
						}
					],
					"name": "setMarketSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int128",
							"name": "_marketSkew",
							"type": "int128"
						}
					],
					"name": "setMarketSkew",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint64",
							"name": "nextPositionId",
							"type": "uint64"
						}
					],
					"name": "setNextPositionId",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "unflag",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isOffchain",
							"type": "bool"
						},
						{
							"internalType": "int128",
							"name": "sizeDelta",
							"type": "int128"
						},
						{
							"internalType": "uint128",
							"name": "desiredFillPrice",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "targetRoundId",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "commitDeposit",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "keeperDeposit",
							"type": "uint128"
						},
						{
							"internalType": "uint256",
							"name": "executableAtTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "intentionTime",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "updateDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint64",
							"name": "id",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "lastFundingIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint128",
							"name": "margin",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "lastPrice",
							"type": "uint128"
						},
						{
							"internalType": "int128",
							"name": "size",
							"type": "int128"
						}
					],
					"name": "updatePosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x56ac7ab663afd9e84c2735cdb3ff02011497e3f98d47195fbaa07186dad7f25c",
				"urls": [
					"bzz-raw://ef98e8547104d19a5a27b425905918594fdff2c138fb6b7f4327d93f9500a34d",
					"dweb:/ipfs/QmY9MeUK1PC2HhhYdKqAvtS9QzbaCbDoSFebz9Y6FRpz3A"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketState.sol": "PerpsV2MarketState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketState.sol": {
						"keccak256": "0x56ac7ab663afd9e84c2735cdb3ff02011497e3f98d47195fbaa07186dad7f25c",
						"urls": [
							"bzz-raw://ef98e8547104d19a5a27b425905918594fdff2c138fb6b7f4327d93f9500a34d",
							"dweb:/ipfs/QmY9MeUK1PC2HhhYdKqAvtS9QzbaCbDoSFebz9Y6FRpz3A"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2Market": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005b0938038062005b09833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6150d18062000a386000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806374185360116100ad57806397107d6d1161007157806397107d6d1461022c578063a126d6011461023f578063bc67f83214610252578063d67bdd2514610265578063ec5568891461026d5761012c565b806374185360146101ec57806379ba5097146101f457806388a3c848146101fc578063899ffef41461020f5780638da5cb5b146102245761012c565b80634ad4914b116100f45780634ad4914b146101945780634eb985cc146101a757806353a47bb7146101bc5780635a1cbd2b146101d15780635c8011c3146101d95761012c565b806304f3bcec1461013157806308fb1b771461014f5780631627540c146101575780632af64bd31461016c57806332f0510314610181575b600080fd5b610139610275565b6040516101469190614d79565b60405180910390f35b610139610284565b61016a6101653660046141a0565b610293565b005b6101746102f1565b6040516101469190614c17565b61016a61018f36600461428e565b610409565b61016a6101a2366004614254565b610419565b6101af610429565b6040516101469190614c25565b6101c4610495565b6040516101469190614b5a565b61016a6104a4565b61016a6101e7366004614254565b610569565b61016a610573565b61016a6106c5565b61016a61020a366004614236565b610761565b61021761079a565b6040516101469190614c06565b6101c4610905565b61016a61023a3660046141a0565b610914565b61016a61024d366004614236565b610967565b61016a6102603660046141a0565b610975565b6101c461099f565b6101396109ae565b6002546001600160a01b031681565b6004546001600160a01b031681565b61029b6109bd565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102e6908390614b5a565b60405180910390a150565b600060606102fd61079a565b905060005b81518110156103ff57600082828151811061031957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061036a908590600401614c25565b60206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103ba91908101906141be565b6001600160a01b03161415806103e557506000818152600360205260409020546001600160a01b0316155b156103f65760009350505050610406565b50600101610302565b5060019150505b90565b6104148383836109e9565b505050565b610425828260006109e9565b5050565b600061044f610436610b24565b6007546001600160a01b03908116911614156009610b42565b60008061045a610b85565b9150915080156104855760405162461bcd60e51b815260040161047c90614e77565b60405180910390fd5b61048e82610cb6565b9250505090565b6001546001600160a01b031681565b6104ac610f04565b6007546001600160a01b031660006104c381610f2e565b90506104ce81610cb6565b506004805460405163055f575160e41b8152600092610559926001600160a01b0316916355f575109161050391889101614b5a565b60a06040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055391908101906142fa565b83611127565b60000390506104148183856111f2565b61042582826115c3565b606061057d61079a565b905060005b815181101561042557600082828151811061059957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016105db9190614b23565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610607929190614c84565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065791908101906141be565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906106b39084908490614c33565b60405180910390a15050600101610582565b6001546001600160a01b031633146106ef5760405162461bcd60e51b815260040161047c90614db7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610732926001600160a01b0391821692911690614b76565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610769610f04565b60006107756000610f2e565b905061078081610cb6565b5060075461042590839083906001600160a01b03166111f2565b6060806107a561178f565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106107e757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061081157fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061083a57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061086b57fe5b60200260200101818152505060008051602061506f8339815191528160048151811061089357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106108c357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106108ef57fe5b60200260200101818152505061048e82826117e0565b6000546001600160a01b031681565b61091c6109bd565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906102e6908390614b68565b6109728160006115c3565b50565b61097d610f04565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e27565b565b6109f1610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610a2393169101614b5a565b6101206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a7491908101906142db565b60200151600f0b15610a985760405162461bcd60e51b815260040161047c90614dc7565b6000610aa46000610f2e565b9050610aaf81610cb6565b506007546040805160e08101825286815260208101849052610b1e926001600160a01b0316918101610ae1888661189c565b8152602001868152602001610afc610af76119ce565b611a56565b8152602001610b11610b0c6119ce565b611a6d565b8152602001859052611a84565b50505050565b6000610b3d60008051602061506f833981519152612197565b905090565b8115610425576005600082600f811115610b5857fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161047c9190614da6565b600080610b906121f4565b6001600160a01b0316630c71cd23610ba661220f565b6040518263ffffffff1660e01b8152600401610bc29190614c25565b604080518083038186803b158015610bd957600080fd5b505afa158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c119190810190614336565b90925090508080610c20575081155b80610cb05750610c2e61225f565b6001600160a01b031663b431c0ea610c4461220f565b6040518263ffffffff1660e01b8152600401610c609190614c25565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cb091908101906141dc565b90509091565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3291908101906141fa565b90506000610d3e612279565b90506000610d4b856122df565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291610d7b91859101614d87565b600060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e765629250610ddc91429101614f0d565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250610e3d91869101614d87565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b81529051610efb9550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b158015610eb857600080fd5b505afa158015610ecc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ef091908101906143a9565b63ffffffff1661233a565b50909392505050565b6006546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e67565b6000610f3861225f565b6001600160a01b031663856aae6c610f4e6119ce565b6040518263ffffffff1660e01b8152600401610f6a9190614c25565b60006040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b50505050610fa261225f565b6001600160a01b03166342a28e21610fb861220f565b6040518263ffffffff1660e01b8152600401610fd49190614c25565b60006040518083038186803b158015610fec57600080fd5b505afa158015611000573d6000803e3d6000fd5b50505050811561107d5761101261225f565b6001600160a01b031663856aae6c61103061102b6119ce565b6123ea565b6040518263ffffffff1660e01b815260040161104c9190614c25565b60006040518083038186803b15801561106457600080fd5b505afa158015611078573d6000803e3d6000fd5b505050505b600080600061108a6121f4565b6001600160a01b031663045056f86110a061220f565b6040518263ffffffff1660e01b81526004016110bc9190614c25565b606060405180830381600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110e9190810190614366565b925092509250610efb82806111205750815b6001610b42565b600066038d7ea4c6800081611152826111466111416119ce565b6124bb565b9063ffffffff6124d516565b9050600061117f61117a8361116e8960800151600f0b896124fd565b9063ffffffff61251616565b612540565b905080156111b357600061119161254b565b90508082101561119f578091505b6111af828563ffffffff6125c816565b9150505b60006111bf87876125ed565b90508181116111d55760009450505050506111ec565b6111e5818363ffffffff6124d516565b9450505050505b92915050565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161122391859101614b5a565b60206040518083038186803b15801561123b57600080fd5b505afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061127391908101906141dc565b156112835760056000600e610b58565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936112b593169101614b5a565b6101206040518083038186803b1580156112ce57600080fd5b505afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061130691908101906142db565b60200151600f0b1561132a5760405162461bcd60e51b815260040161047c90614dc7565b600061133585612540565b905060008513156113dc57600061134a61260f565b6001600160a01b0316636f9a0ca685846040518363ffffffff1660e01b8152600401611377929190614b91565b602060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c991908101906141fa565b90508181146113d6578095505b50611457565b6000851215611451576113ed61260f565b6001600160a01b031663a7b5833f84836040518363ffffffff1660e01b815260040161141a929190614b91565b600060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b50505050611457565b50610b1e565b61145f613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161148e91889101614b5a565b60a06040518083038186803b1580156114a657600080fd5b505afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114de91908101906142fa565b90506114ee84826000888a612631565b6114f884876128d9565b6115bb81600001516001600160401b03168583604001516001600160801b03168460800151600f0b60008a61152b61297f565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b39190810190614218565b600f0b612a0c565b505050505050565b6115cb610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936115fd93169101614b5a565b6101206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164e91908101906142db565b60200151600f0b156116725760405162461bcd60e51b815260040161047c90614dc7565b6004805460075460405163055f575160e41b81526000936001600160a01b03938416936355f57510936116a89391169101614b5a565b60a06040518083038186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f891908101906142fa565b60800151600f0b905061170d8115600b610b42565b60006117196000610f2e565b905061172481610cb6565b506007546040805160e081018252600085900380825260208201859052610b1e936001600160a01b03169282019061175c908661189c565b8152602001878152602001611772610af76119ce565b8152602001611782610b0c6119ce565b8152602001869052611a84565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611810578160200160208202803883390190505b50905060005b83518110156118525783818151811061182b57fe5b602002602001015182828151811061183f57fe5b6020908102919091010152600101611816565b5060005b82518110156118955782818151811061186b57fe5b602002602001015182828651018151811061188257fe5b6020908102919091010152600101611856565b5092915050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119189190810190614218565b600f0b9050600061192f61192a6119ce565b612a91565b90506000611943838363ffffffff61251616565b9050600061195b8361116e868a63ffffffff612aa916565b9050600061197f611972888563ffffffff612aef16565b889063ffffffff612aa916565b905060006119a3611996898563ffffffff612aef16565b899063ffffffff612aa916565b90506119c1671bc16d674ec8000061116e848463ffffffff612aa916565b9998505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b3d91908101906141fa565b60006111ec826774616b657246656560c01b612b19565b60006111ec82676d616b657246656560c01b612b19565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a9991611ab591859101614b5a565b60206040518083038186803b158015611acd57600080fd5b505afa158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b0591908101906141dc565b15611b155760056000600e610b58565b611b1d613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611b4c91889101614b5a565b60a06040518083038186803b158015611b6457600080fd5b505afa158015611b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b9c91908101906142fa565b9050611ba6613fb5565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b8152509050611c12613fb5565b600080611c1f8488612bd6565b925092509250611c2e81612ebe565b611c45876040015188606001518960000151612edc565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f71294611cfe94600f90810b94611cf294910b928892632b58ecef928083019260209291829003018186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ce39190810190614218565b600f0b9063ffffffff612aa916565b9063ffffffff612f0416565b6040518263ffffffff1660e01b8152600401611d1a9190614d87565b600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a69150611e1890611d7690600f0b612540565b611146611d898860800151600f0b612540565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015611dcb57600080fd5b505afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e039190810190614318565b6001600160801b03169063ffffffff6125c816565b6040518263ffffffff1660e01b8152600401611e349190614e97565b600060405180830381600087803b158015611e4e57600080fd5b505af1158015611e62573d6000803e3d6000fd5b505050508160001015611ed557611e7761260f565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401611ea29190614c25565b600060405180830381600087803b158015611ebc57600080fd5b505af1158015611ed0573d6000803e3d6000fd5b505050505b60c087015115611eff57611eff8760c00151611eef61220f565b611ef76119ce565b8a5186612f4a565b6040808401516001600160801b031690860152611f1c8385612ffb565b83516000611f2861297f565b90508460800151600f0b60001415611f575760008088526080880181905260608801819052602088015261207c565b6080860151600f0b61204357600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015611fa557600080fd5b505afa158015611fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdd91908101906143c7565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa889161201091600187019101614f29565b600060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b81526004016120db96959493929190614bac565b600060405180830381600087803b1580156120f557600080fd5b505af1158015612109573d6000803e3d6000fd5b5050505061218b826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b50505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916121c791869101614b03565b604051602081830303815290604052906118955760405162461bcd60e51b815260040161047c9190614d95565b6000610b3d6c45786368616e6765526174657360981b612197565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b6000610b3d6b53797374656d53746174757360a01b612197565b6000610b3d61229d612289613089565b612291613130565b9063ffffffff612aef16565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611cab57600080fd5b60006111ec6122ed83613157565b6004546001600160a01b03166341108cf261230661297f565b6040518263ffffffff1660e01b81526004016123229190614c25565b60206040518083038186803b158015611cab57600080fd5b6006546040516001600160a01b039091169063907dff9790612366908790879087908790602001614c4f565b604051602081830303815290604052600160405161238390614b4f565b6040519081900381206001600160e01b031960e086901b1682526123b293929160009081908190600401614ca4565b600060405180830381600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b5050505050505050565b60006123f46131e4565b6001600160a01b031663f7833c5d60008051602061506f83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612438929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161246b929190614c41565b60206040518083038186803b15801561248357600080fd5b505afa158015612497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ec91908101906141fa565b60006111ec826a6d61784c6576657261676560a81b612b19565b6000828211156124f75760405162461bcd60e51b815260040161047c90614df7565b50900390565b600061250f838363ffffffff612aef16565b9392505050565b600061250f8261253485670de0b6b3a764000063ffffffff61320116565b9063ffffffff61326c16565b60006111ec826132d0565b60006125556131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b60206040518083038186803b158015611a1e57600080fd5b60008282018381101561250f5760405162461bcd60e51b815260040161047c90614dd7565b6000806125fa84846132e6565b905061260760008261332c565b949350505050565b6000610b3d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612197565b612639613fb5565b5083600080612649838686613341565b9150915061265681612ebe565b600061266061297f565b905061271c6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612ffb565b6001600160801b03831660408901526080880151600f0b1561283d576001600160801b03861660608901526001600160401b0381166020890152600085121561283d5760006127728960800151600f0b886133bc565b905060006127978261278b8c60800151600f0b8b613422565b9063ffffffff6125c816565b90506127a7818611156008610b42565b60808a01516000906127c290600f0b8b63ffffffff612aa916565b905060006127d78c60800151600f0b8361346c565b80156127f957506127ee8c60800151600f0b612540565b6127f783612540565b105b9050806128385761282461281161117a8e8d8b61348b565b61281c6111416119ce565b106007610b42565b61283861282f61254b565b88106008610b42565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b815260040161289c96959493929190614bac565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff97906128ff908490602001614c25565b604051602081830303815290604052600260405161291c90614b44565b604051809103902061292d876134af565b6000806040518763ffffffff1660e01b815260040161295196959493929190614cf8565b600060405180830381600087803b15801561296b57600080fd5b505af11580156115bb573d6000803e3d6000fd5b6000610b3d6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d457600080fd5b505afa1580156129e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114691908101906141fa565b6006546040516001600160a01b039091169063907dff9790612a3e908a908a908a908a908a908a908a90602001614ea5565b6040516020818303038152906040526003604051612a5b90614b2e565b6040519081900390208d612a6e8e6134af565b60006040518763ffffffff1660e01b815260040161289c96959493929190614d32565b60006111ec8268736b65775363616c6560b81b612b19565b6000828201818312801590612abe5750838112155b80612ad35750600083128015612ad357508381125b61250f5760405162461bcd60e51b815260040161047c90614de7565b6000670de0b6b3a7640000612b0a848463ffffffff61320116565b81612b1157fe5b059392505050565b6000612b236131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191528585604051602001612b53929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401612b86929190614c41565b60206040518083038186803b158015612b9e57600080fd5b505afa158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061250f91908101906141fa565b612bde613fb5565b81516000908190612bf8575083915060009050600a612eb7565b612c068585602001516134bb565b15612c1a5750839150600090506004612eb7565b600080612c256134f9565b915091508015612c42575085935060009250600c9150612eb79050565b612c4c8683613596565b9350600080612c6389896040015188600003613341565b91509150612c7081613790565b15612c8757889650600095509350612eb792505050565b612c8f613fb5565b6040518060a001604052808b600001516001600160401b03168152602001612cb561297f565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b03168152602001612d038b600001518d60800151600f0b612aa990919063ffffffff16565b600f0b81525090506000612d258b60800151600f0b8360800151600f0b61346c565b8015612d4e5750612d3c8b60800151600f0b612540565b612d4c8360800151600f0b612540565b105b905080612d9857612d5d61254b565b6040830151612d7b906001600160801b03168a63ffffffff6125c816565b1015612d9857508997506000965060089550612eb7945050505050565b6000612daf8360800151600f0b8c602001516133bc565b90506000612dcc8261278b8660800151600f0b8f60200151613422565b9050808611612ded57509198506000975060049650612eb795505050505050565b6000612e20612e02888d63ffffffff6125c816565b61116e8f604001518860800151600f0b612aef90919063ffffffff16565b9050612e2b81612540565b612e41662386f26fc1000061278b6111416119ce565b1015612e6157508c9a506000995060079850612eb7975050505050505050565b50612e8a612e75612e706119ce565b6137a7565b8e60800151600f0b8660800151600f0b6137c4565b15612ea857508b99506000985060069750612eb79650505050505050565b50919850600096505050505050505b9250925092565b612ec781613790565b15610972576005600082600f811115610b5857fe5b6000612efc60008313612ef157838510612ef5565b8385115b600d610b42565b509192915050565b6000818303818312801590612f195750838113155b80612f2e5750600083128015612f2e57508381135b61250f5760405162461bcd60e51b815260040161047c90614e57565b6006546040516001600160a01b039091169063907dff9790612f76908790879087908790602001614c4f565b6040516020818303038152906040526002604051612f9390614b39565b6040519081900381206001600160e01b031960e086901b168252612fc29392918b906000908190600401614cf8565b600060405180830381600087803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b505050505050505050565b6000613006836139ae565b90506000613013836139ae565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261306d928692611cf292899288926322d3090a92828101926020929190829003018186803b158015611cab57600080fd5b6040518263ffffffff1660e01b81526004016123b29190614d87565b6000610b3d6201518061116e600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e357600080fd5b505afa1580156130f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061311b91908101906143a9565b63ffffffff16426124d590919063ffffffff16565b60008061314361313e6119ce565b613a8b565b905061315181612291613aac565b91505090565b600080613162612279565b905060006131c36012600a0a60020261116e84600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b6000039050612607846122916131d7613089565b849063ffffffff612aef16565b6000610b3d6e466c657869626c6553746f7261676560881b612197565b600082613210575060006111ec565b826000191480156132245750600160ff1b82145b156132415760405162461bcd60e51b815260040161047c90614e47565b8282028284828161324e57fe5b051461250f5760405162461bcd60e51b815260040161047c90614e47565b60008161328b5760405162461bcd60e51b815260040161047c90614e87565b8160001914801561329f5750600160ff1b83145b156132bc5760405162461bcd60e51b815260040161047c90614e17565b60008284816132c757fe5b05949350505050565b60008082126132df57816111ec565b5060000390565b6000806132f38484613b6c565b9050612607816133206133068787613bbc565b60408801516001600160801b03169063ffffffff612aa916565b9063ffffffff612aa916565b600081831261333b578261250f565b50919050565b60008060006133548461332088886132e6565b9050600081121561336d575060009150600890506133b4565b60808601518190600f0b60006133838289613422565b905081158015906133945750808311155b156133a95782600495509550505050506133b4565b509093506000925050505b935093915050565b6000826133cb575060006111ec565b60006133da61117a85856124fd565b90506126076133ef6133ea6119ce565b613bfa565b6134168361341661340161192a6119ce565b61340a8a612540565b9063ffffffff613c2616565b9063ffffffff613c5016565b6000806134456134386134336119ce565b613c7a565b6134168561341688612540565b9050612607613452613c9f565b61278b61345f8787613cfb565b849063ffffffff6125c816565b6000821580613479575081155b8061250f575050600090811291131490565b60008161349a5750600061250f565b6126078261116e8660800151600f0b866124fd565b6001600160a01b031690565b60008260800151600f0b600014156134d5575060006111ec565b6134e68360800151600f0b83613422565b6134f08484613d4d565b11159392505050565b600080613504613d6e565b6001600160a01b031663c39def0b631cd554d160e21b61352261220f565b6040518363ffffffff1660e01b815260040161353f929190614c41565b604080518083038186803b15801561355657600080fd5b505afa15801561356a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061358e9190810190614336565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156135da57600080fd5b505afa1580156135ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136129190810190614218565b600f0b9050600061363485604001518660000151612aef90919063ffffffff16565b905060006136458561341684612540565b9050613657866000015184018461346c565b156137265760006136f083600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b057600080fd5b505afa1580156136c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136e89190810190614218565b600f0b61346c565b6136fe578660a00151613704565b86608001515b905061371961117a848363ffffffff612aef16565b82019450505050506111ec565b85516000906137429061117a908681019063ffffffff61251616565b90506000816012600a0a039050600061376689608001516134168561341689612540565b9050600061377f8a60a00151613416856134168a612540565b919094010198975050505050505050565b60008082600f81111561379f57fe5b141592915050565b60006111ec826d6d61784d61726b657456616c756560901b612b19565b60006137d0838361346c565b80156137ec57506137e083612540565b6137e983612540565b11155b156137f95750600061250f565b60006138988361332086600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561385157600080fd5b505afa158015613865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138899190810190614218565b600f0b9063ffffffff612f0416565b905060006139436138a8856132d0565b6133206138b4886132d0565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b1580156138f657600080fd5b505afa15801561390a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061392e9190810190614318565b6001600160801b03169063ffffffff612f0416565b90506000846000121561396757613960828463ffffffff612aa916565b905061397a565b613977828463ffffffff612f0416565b90505b61398e61117a82600263ffffffff61326c16565b8710156139a1576001935050505061250f565b5060009695505050505050565b600480546020830151604051632088467960e11b81526000936111ec93613a7193613a5d936001600160a01b03909216926341108cf2926139f0929101614f1b565b60206040518083038186803b158015613a0857600080fd5b505afa158015613a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a409190810190614218565b60608601516001600160801b031690600f0b63ffffffff612aa916565b6080850151600f0b9063ffffffff612aef16565b60408401516001600160801b03169063ffffffff612f0416565b60006111ec82716d617846756e64696e6756656c6f6369747960701b612b19565b600080613b46613abd61192a6119ce565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015613aff57600080fd5b505afa158015613b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b379190810190614218565b600f0b9063ffffffff61251616565b9050613151613b5e670de0b6b3a763ffff198361332c565b670de0b6b3a7640000613d85565b60208201516000906001600160401b031680613b8c5760009150506111ec565b6000613b988285613d9b565b6080860151909150613bb390600f0b8263ffffffff612aef16565b95945050505050565b600080613bdf84606001516001600160801b031684612f0490919063ffffffff16565b608085015190915061260790600f0b8263ffffffff612aef16565b60006111ec827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000612b19565b600061250f82613c4485670de0b6b3a764000063ffffffff613e2b16565b9063ffffffff613e6516565b6000670de0b6b3a7640000613c6b848463ffffffff613e2b16565b81613c7257fe5b049392505050565b60006111ec82756c69717569646174696f6e427566666572526174696f60501b612b19565b6000613ca96131e4565b6001600160a01b03166323257c2b60008051602061506f833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016125b0929190614c41565b600080613d09613438613e9a565b90506000613d15613eff565b90506000818311613d265782613d28565b815b90506000613d34613f5a565b9050808211613d4357806111e5565b5095945050505050565b6000806125fa613d648560800151600f0b856133bc565b611cf286866132e6565b6000610b3d6822bc31b430b733b2b960b91b612197565b6000818312613d94578161250f565b5090919050565b60048054604051632088467960e11b815260009261250f926001600160a01b0316916341108cf291613dcf91889101614c25565b60206040518083038186803b158015613de757600080fd5b505afa158015613dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e1f9190810190614218565b600f0b611cf2846122df565b600082613e3a575060006111ec565b82820282848281613e4757fe5b041461250f5760405162461bcd60e51b815260040161047c90614e37565b6000808211613e865760405162461bcd60e51b815260040161047c90614e07565b6000828481613e9157fe5b04949350505050565b6000613ea46131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f096131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f646131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b80356111ec81615024565b80516111ec81615024565b80516111ec81615038565b80356111ec81615041565b80516111ec81615041565b80516111ec8161504a565b6000610120828403121561403857600080fd5b614043610120614f37565b905060006140518484613ff9565b82525060206140628484830161401a565b60208301525060406140768482850161417f565b604083015250606061408a8482850161417f565b606083015250608061409e8482850161417f565b60808301525060a06140b28482850161417f565b60a08301525060c06140c68482850161400f565b60c08301525060e06140da8482850161400f565b60e0830152506101006140ef8482850161400f565b6101008301525092915050565b600060a0828403121561410e57600080fd5b61411860a0614f37565b905060006141268484614195565b825250602061413784848301614195565b602083015250604061414b8482850161417f565b604083015250606061415f8482850161417f565b60608301525060806141738482850161401a565b60808301525092915050565b80516111ec81615053565b80516111ec8161505c565b80516111ec81615065565b6000602082840312156141b257600080fd5b60006126078484613fe3565b6000602082840312156141d057600080fd5b60006126078484613fee565b6000602082840312156141ee57600080fd5b60006126078484613ff9565b60006020828403121561420c57600080fd5b6000612607848461400f565b60006020828403121561422a57600080fd5b6000612607848461401a565b60006020828403121561424857600080fd5b60006126078484614004565b6000806040838503121561426757600080fd5b60006142738585614004565b925050602061428485828601614004565b9150509250929050565b6000806000606084860312156142a357600080fd5b60006142af8686614004565b93505060206142c086828701614004565b92505060406142d186828701614004565b9150509250925092565b600061012082840312156142ee57600080fd5b60006126078484614025565b600060a0828403121561430c57600080fd5b600061260784846140fc565b60006020828403121561432a57600080fd5b6000612607848461417f565b6000806040838503121561434957600080fd5b6000614355858561400f565b925050602061428485828601613ff9565b60008060006060848603121561437b57600080fd5b6000614387868661400f565b935050602061439886828701613ff9565b92505060406142d186828701613ff9565b6000602082840312156143bb57600080fd5b6000612607848461418a565b6000602082840312156143d957600080fd5b60006126078484614195565b60006143f18383614473565b505060200190565b61440281614fb8565b82525050565b61440281614f81565b600061441c82614f6f565b6144268185614f73565b935061443183614f5d565b8060005b8381101561445f57815161444988826143e5565b975061445483614f5d565b925050600101614435565b509495945050505050565b61440281614f8c565b61440281610406565b61440261448882610406565b610406565b600061449882614f6f565b6144a28185614f73565b93506144b2818560208601614fee565b6144bb8161501a565b9093019392505050565b61440281614fbf565b61440281614f91565b61440281614fca565b61440281614fd8565b600081546001811660008114614506576001811461452c5761456b565b607f60028304166145178187614f73565b60ff198416815295505060208501925061456b565b6002820461453a8187614f73565b955061454585614f63565b60005b8281101561456457815488820152600190910190602001614548565b8701945050505b505092915050565b6000614580603583614f73565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006145d7601483614f73565b7350656e64696e67206f726465722065786973747360601b815260200192915050565b6000614607601b83614f73565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614640602183614f73565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614683601e83614f73565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006146bc601a83614f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006146f5601183614f7c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614722602183614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614765602f83614f73565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006147b6602183614f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006147f9602783614f73565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614842601983614f7c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061487b605683614f7c565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006148f9603583614f7c565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000614950602483614f73565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000614996602183614f7c565b7f4d617267696e5472616e7366657272656428616464726573732c696e743235368152602960f81b602082015260210192915050565b60006149d9601783614f73565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000614a12600d83614f73565b6c496e76616c696420707269636560981b815260200192915050565b6000614a3b602083614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614a74603083614f7c565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61440281614f97565b61440281614fa3565b61440281614fe3565b61440281614fac565b6000614ae9828561447c565b602082019150614af9828461447c565b5060200192915050565b6000614b0e826146e8565b9150614b1a828461447c565b50602001919050565b6000614b0e82614835565b60006111ec8261486e565b60006111ec826148ec565b60006111ec82614989565b60006111ec82614a67565b602081016111ec8284614408565b602081016111ec82846143f9565b60408101614b848285614408565b61250f6020830184614408565b60408101614b9f8285614408565b61250f6020830184614473565b60c08101614bba8289614408565b614bc76020830188614ad4565b614bd46040830187614ad4565b614be16060830186614ab9565b614bee6080830185614ab9565b614bfb60a08301846144ce565b979650505050505050565b6020808252810161250f8184614411565b602081016111ec828461446a565b602081016111ec8284614473565b60408101614b848285614473565b60408101614b9f8285614473565b60808101614c5d8287614473565b614c6a6020830186614473565b614c776040830185614473565b613bb36060830184614473565b60408101614c928285614473565b8181036020830152612607818461448d565b60c08082528101614cb5818961448d565b9050614cc460208301886144e0565b614cd16040830187614473565b614cde60608301866144d7565b614ceb60808301856144d7565b614bfb60a08301846144d7565b60c08082528101614d09818961448d565b9050614d1860208301886144e0565b614d256040830187614473565b614cde6060830186614473565b60c08082528101614d43818961448d565b9050614d5260208301886144e0565b614d5f6040830187614473565b614d6c6060830186614473565b614ceb6080830185614473565b602081016111ec82846144c5565b602081016111ec82846144ce565b6020808252810161250f818461448d565b6020808252810161250f81846144e9565b602080825281016111ec81614573565b602080825281016111ec816145ca565b602080825281016111ec816145fa565b602080825281016111ec81614633565b602080825281016111ec81614676565b602080825281016111ec816146af565b602080825281016111ec81614715565b602080825281016111ec81614758565b602080825281016111ec816147a9565b602080825281016111ec816147ec565b602080825281016111ec81614943565b602080825281016111ec816149cc565b602080825281016111ec81614a05565b602080825281016111ec81614a2e565b602081016111ec8284614ab9565b60e08101614eb3828a614473565b614ec06020830189614473565b614ecd6040830188614473565b614eda6060830187614473565b614ee76080830186614473565b614ef460a0830185614473565b614f0160c0830184614473565b98975050505050505050565b602081016111ec8284614ac2565b602081016111ec8284614acb565b602081016111ec8284614ad4565b6040518181016001600160401b0381118282101715614f5557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006111ec826134af565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b60006111ec825b60006111ec82614f81565b60006111ec61448883610406565b60006111ec82610406565b60006111ec82614fac565b60005b83811015615009578181015183820152602001614ff1565b83811115610b1e5750506000910152565b601f01601f191690565b61502d81614f81565b811461097257600080fd5b61502d81614f8c565b61502d81610406565b61502d81614f91565b61502d81614f97565b61502d81614fa3565b61502d81614fac56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a7231582035cc9064f8b5d6c49ade6d3e65b88fafa87adf36c6678146c7845c2299f4065f6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_marketState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "fundingRate",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "FundingRecomputed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "marginDelta",
							"type": "int256"
						}
					],
					"name": "MarginTransferred",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "baseAsset",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "PerpsTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "margin",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "tradeSize",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastPrice",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fundingIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "skew",
							"type": "int256"
						}
					],
					"name": "PositionModified",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						}
					],
					"name": "closePosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "closePositionWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketState",
					"outputs": [
						{
							"internalType": "contract IPerpsV2MarketState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						}
					],
					"name": "modifyPosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "modifyPositionWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "recomputeFunding",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "lastIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "marginDelta",
							"type": "int256"
						}
					],
					"name": "transferMargin",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawAllMargin",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x42ced0e68bc90951bd56cbb681f9f707308989480dc1e2d420e964a2999ffd2b",
				"urls": [
					"bzz-raw://cd5d94acac84036d5d10b909922a1e3829377e644b08293cb8f994a1dbe64a39",
					"dweb:/ipfs/QmPxU9t52ZtLx8ZPQm3gNAPZt6ffvEhbSZBzC2k7hMjgZz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2Market.sol": "PerpsV2Market"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2Market.sol": {
						"keccak256": "0x42ced0e68bc90951bd56cbb681f9f707308989480dc1e2d420e964a2999ffd2b",
						"urls": [
							"bzz-raw://cd5d94acac84036d5d10b909922a1e3829377e644b08293cb8f994a1dbe64a39",
							"dweb:/ipfs/QmPxU9t52ZtLx8ZPQm3gNAPZt6ffvEhbSZBzC2k7hMjgZz"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketLiquidate": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162004d9838038062004d98833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6143608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba50971161009757806397107d6d1161006657806397107d6d146101d0578063bc67f832146101e3578063d67bdd25146101f6578063ec556889146101fe57610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063909bc379146101bd57610100565b80633c92b8ec116100d35780633c92b8ec1461015557806353a47bb714610168578063741853601461017d5780637498a0f01461018557610100565b806304f3bcec1461010557806308fb1b77146101235780631627540c1461012b5780632af64bd314610140575b600080fd5b61010d610206565b60405161011a9190613efe565b60405180910390f35b61010d610215565b61013e6101393660046133cf565b610224565b005b610148610282565b60405161011a9190613e0b565b61013e6101633660046133cf565b61039a565b6101706105cc565b60405161011a9190613d3e565b61013e6105db565b61013e6101933660046133cf565b610731565b61013e6109ae565b6101a8610a4a565b60405161011a9190613dfa565b610170610bbc565b61013e6101cb3660046133cf565b610bcb565b61013e6101de3660046133cf565b610d2c565b61013e6101f13660046133cf565b610d7f565b610170610da9565b61010d610db8565b6002546001600160a01b031681565b6004546001600160a01b031681565b61022c610dc7565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610277908390613d3e565b60405180910390a150565b6000606061028e610a4a565b905060005b81518110156103905760008282815181106102aa57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102fb908590600401613e19565b60206040518083038186803b15801561031357600080fd5b505afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061034b91908101906133ed565b6001600160a01b031614158061037657506000818152600360205260409020546001600160a01b0316155b156103875760009350505050610397565b50600101610293565b5060019150505b90565b6103a2610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a99916103d391859101613d3e565b60206040518083038186803b1580156103eb57600080fd5b505afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610423919081019061340b565b6104645760056000600f5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161045b9190613f60565b60405180910390fd5b61046c6131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161049b91879101613d3e565b60a06040518083038186803b1580156104b357600080fd5b505afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104eb9190810190613484565b905060006104f96000610e1d565b90506105048161101f565b5061050d611264565b60075460405163a237e94d60e01b81526001600160a01b039283169263a237e94d9261053e92911690600401613d3e565b60206040518083038186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058e919081019061340b565b6105aa5760405162461bcd60e51b815260040161045b90614011565b6007546105c690839086906001600160a01b031684600061128b565b50505050565b6001546001600160a01b031681565b60606105e5610a4a565b905060005b815181101561072d57600082828151811061060157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106439190613d1d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161066f929190613e43565b60206040518083038186803b15801561068757600080fd5b505afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106bf91908101906133ed565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061071b9084908490613e27565b60405180910390a150506001016105ea565b5050565b610739610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161076a91859101613d3e565b60206040518083038186803b15801561078257600080fd5b505afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ba919081019061340b565b6107c95760056000600f61042e565b6107d16131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161080091879101613d3e565b60a06040518083038186803b15801561081857600080fd5b505afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108509190810190613484565b9050600061085e6000610e1d565b90506108698161101f565b506000610874611910565b9050600061088182611998565b90506108a3816108978660800151600f0b6119b6565b9063ffffffff6119c116565b6108ac836119f2565b116108c95760405162461bcd60e51b815260040161045b90613ff1565b61095e81610897600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109569190810190613447565b600f0b6119b6565b61096783611a14565b116109845760405162461bcd60e51b815260040161045b90613fc1565b6007546109a690859088906001600160a01b0316866109a1611a28565b61128b565b505050505050565b6001546001600160a01b031633146109d85760405162461bcd60e51b815260040161045b90613f71565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a1b926001600160a01b0391821692911690613d5a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610a55611a9c565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610a9757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610ac157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610aea57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610b1b57fe5b6020026020010181815250506000805160206142fe83398151915281600481518110610b4357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610b7357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610b9f57fe5b602002602001018181525050610bb58282611aed565b9250505090565b6000546001600160a01b031681565b610bd3610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a9991610c0491859101613d3e565b60206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c54919081019061340b565b15610c645760056000600e61042e565b6000610c706000610e1d565b9050610c7b8161101f565b506004805460405163055f575160e41b8152610d0f92610d07926001600160a01b0316916355f5751091610cb191899101613d3e565b60a06040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d019190810190613484565b83611ba9565b156005611be7565b600754610d279084906001600160a01b031683611bfd565b505050565b610d34610dc7565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610277908390613d4c565b610d87610df3565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90613fe1565b565b6006546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90614041565b6000610e27611fbe565b6001600160a01b031663856aae6c610e3d611910565b6040518263ffffffff1660e01b8152600401610e599190613e19565b60006040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b50505050610e91611fbe565b6001600160a01b03166342a28e21610ea7611fd8565b6040518263ffffffff1660e01b8152600401610ec39190613e19565b60006040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050508115610f6c57610f01611fbe565b6001600160a01b031663856aae6c610f1f610f1a611910565b612028565b6040518263ffffffff1660e01b8152600401610f3b9190613e19565b60006040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050505b6000806000610f796120f9565b6001600160a01b031663045056f8610f8f611fd8565b6040518263ffffffff1660e01b8152600401610fab9190613e19565b606060405180830381600087803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ffd91908101906134c0565b925092509250611016828061100f5750815b6001611be7565b50909392505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561106357600080fd5b505afa158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061109b9190810190613429565b905060006110a7612114565b905060006110b4856121c1565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916110e491859101613f0c565b600060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506111459142910161419a565b600060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f2292506111a691869101613f0c565b600060405180830381600087803b1580156111c057600080fd5b505af11580156111d4573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516110169550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561122157600080fd5b505afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611259919081019061350d565b63ffffffff1661221c565b600061128673233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6122cc565b905090565b6080850151855167ffffffffffffffff1660006112a88886612329565b905060006112b984600f0b8761234b565b905060006112cd828763ffffffff6123b916565b90508083116112dd5760006112ed565b6112ed838263ffffffff6123de16565b6004805460408051632b58ecef60e01b815290519396506001600160a01b039091169263b545f7129261138c92600f8b900b928692632b58ecef92808201926020929091829003018186803b15801561134557600080fd5b505afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061137d9190810190613447565b600f0b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016113a89190613f0c565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b50506004546001600160a01b0316915063460af7a6905061148c6113fd600f89900b6119b6565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147791908101906134a2565b6001600160801b03169063ffffffff6123de16565b6040518263ffffffff1660e01b81526004016114a89190614061565b600060405180830381600087803b1580156114c257600080fd5b505af11580156114d6573d6000803e3d6000fd5b5050505060006114e461244c565b905061159e6040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff16815260200160006001600160801b031681526020018a6001600160801b031681526020016000600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018e6020015167ffffffffffffffff1681526020018e604001516001600160801b031681526020018e606001516001600160801b0316815260200189600f0b8152506124e5565b6115a6611264565b6001600160a01b031663a7b5833f600460009054906101000a90046001600160a01b03166001600160a01b03166345d65e318d6040518263ffffffff1660e01b81526004016115f59190613d3e565b60206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164591908101906133ed565b856040518363ffffffff1660e01b8152600401611663929190613d90565b600060405180830381600087803b15801561167d57600080fd5b505af1158015611691573d6000803e3d6000fd5b505050506000871115611706576116a6611264565b6001600160a01b031663a7b5833f8a896040518363ffffffff1660e01b81526004016116d3929190613d90565b600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b505050505b831561177257611714611264565b6001600160a01b031663d289ade2856040518263ffffffff1660e01b815260040161173f9190613e19565b600060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b505050505b600480546040516307369b0b60e01b81526001600160a01b03909116916307369b0b916117a1918e9101613d3e565b600060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b50506004805460405163349c6e0760e11b81526001600160a01b039091169350636938dc0e9250611802918e9101613d3e565b600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050506118d0858b60008060008d876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118c89190810190613447565b600f0b61257f565b8a5160075460808d01516119039267ffffffffffffffff16918d916001600160a01b0390911690600f0b8c888d8b612641565b5050505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b505afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112869190810190613429565b60006119b08268736b65775363616c6560b81b6126fd565b92915050565b60006119b0826127ba565b60006119eb826119df85670de0b6b3a764000063ffffffff6127d016565b9063ffffffff61280a16565b9392505050565b60006119b082726d61784c69717569646174696f6e44656c746160681b6126fd565b60006119b082641b585e141160da1b6126fd565b6000611a3261283f565b6001600160a01b03166323257c2b6000805160206142fe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611a84929190613e35565b60206040518083038186803b15801561196057600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ade57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b1d578160200160208202803883390190505b50905060005b8351811015611b5f57838181518110611b3857fe5b6020026020010151828281518110611b4c57fe5b6020908102919091010152600101611b23565b5060005b8251811015611ba257828181518110611b7857fe5b6020026020010151828286510181518110611b8f57fe5b6020908102919091010152600101611b63565b5092915050565b60008260800151600f0b60001415611bc3575060006119b0565b611bd48360800151600f0b8361285c565b611bde84846128a5565b11159392505050565b811561072d576005600082600f81111561042e57fe5b611c056131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611c3491889101613d3e565b60a06040518083038186803b158015611c4c57600080fd5b505afa158015611c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c849190810190613484565b60048054604051631d2c671760e01b81529293506001600160a01b031691631d2c671791611cb6918891889101613d5a565b600060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b50505050611cf06131d1565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91611d1f91899101613d3e565b6101206040518083038186803b158015611d3857600080fd5b505afa158015611d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d709190810190613465565b90508060200151600f0b600014611f9e5760808101516001600160801b031615611eb857600480548351602085015160808086015160408089015160608a0151938a01519151635af0d81f60e01b81526001600160a01b0390971697635af0d81f97611de8978f979096909593909301939101613dab565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b50505050611eb8826000015167ffffffffffffffff168683608001518560400151016001600160801b03168560800151600f0b600087606001516001600160801b0316886020015167ffffffffffffffff166000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b60a08101516001600160801b031615611f3c57611ed3611264565b60075460a083015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f93611f0993911691600401613d75565b600060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a91611f6b91899101613d3e565b600060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b505050505b8151611fb79067ffffffffffffffff16868686426128c6565b5050505050565b60006112866b53797374656d53746174757360a01b6122cc565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b600061203261283f565b6001600160a01b031663f7833c5d6000805160206142fe83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612076929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016120a9929190613e35565b60206040518083038186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b09190810190613429565b60006112866c45786368616e6765526174657360981b6122cc565b6000611286612138612124612979565b61212c612a2c565b9063ffffffff612a5316565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561217a57600080fd5b505afa15801561218e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b29190810190613447565b600f0b9063ffffffff612a7d16565b60006119b06121cf83612ac3565b6004546001600160a01b03166341108cf26121e861244c565b6040518263ffffffff1660e01b81526004016122049190613e19565b60206040518083038186803b15801561217a57600080fd5b6006546040516001600160a01b039091169063907dff9790612248908790879087908790602001613f1a565b604051602081830303815290604052600160405161226590613d33565b6040519081900381206001600160e01b031960e086901b16825261229493929160009081908190600401613e63565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b5050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916122fc91869101613ce7565b60405160208183030381529060405290611ba25760405162461bcd60e51b815260040161045b9190613f4f565b6000806123368484612b50565b9050612343600082612b96565b949350505050565b600080612372612359612bab565b61236685612366886119b6565b9063ffffffff612c1016565b9050600061237e612c3a565b9050600081831161238f5782612391565b815b9050600061239d612c95565b90508082116123ac57806123ae565b815b979650505050505050565b6000828201838110156119eb5760405162461bcd60e51b815260040161045b90613f81565b6000828211156124005760405162461bcd60e51b815260040161045b90613fa1565b50900390565b600081830381831280159061241b5750838113155b80612430575060008312801561243057508381135b6119eb5760405162461bcd60e51b815260040161045b90614031565b60006112866001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124a157600080fd5b505afa1580156124b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124d99190810190613429565b9063ffffffff6123de16565b60006124f083612cf0565b905060006124fd83612cf0565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261256392869261255792899288926322d3090a92828101926020929190829003018186803b15801561217a57600080fd5b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016122949190613f0c565b6006546040516001600160a01b039091169063907dff97906125b1908a908a908a908a908a908a908a90602001614132565b60405160208183030381529060405260036040516125ce90613d28565b6040519081900390208d6125e18e612dcd565b60006040518763ffffffff1660e01b815260040161260496959493929190613eb7565b600060405180830381600087803b15801561261e57600080fd5b505af1158015612632573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612675908b908b908b908b908b908b908b908b9060200161406f565b604051602081830303815290604052600160405161269290613d12565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401613e63565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b505050505050505050505050565b600061270761283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191528585604051602001612737929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161276a929190613e35565b60206040518083038186803b15801561278257600080fd5b505afa158015612796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119eb9190810190613429565b60008082126127c957816119b0565b5060000390565b6000826127df575060006119b0565b828202828482816127ec57fe5b04146119eb5760405162461bcd60e51b815260040161045b90614001565b600080821161282b5760405162461bcd60e51b815260040161045b90613fb1565b600082848161283657fe5b04949350505050565b60006112866e466c657869626c6553746f7261676560881b6122cc565b60008061287261235961286d611910565b612dd9565b905061234361287f611a28565b61289961288c878761234b565b849063ffffffff6123b916565b9063ffffffff6123b916565b6000806123366128bc8560800151600f0b85612dfe565b6125578686612b50565b6006546040516001600160a01b039091169063907dff97906128f490889088908890889088906020016140e6565b604051602081830303815290604052600160405161291190613d07565b6040519081900381206001600160e01b031960e086901b16825261294093929160009081908190600401613e63565b600060405180830381600087803b15801561295a57600080fd5b505af115801561296e573d6000803e3d6000fd5b505050505050505050565b600061128662015180612a20600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d357600080fd5b505afa1580156129e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a0b919081019061350d565b63ffffffff16426123de90919063ffffffff16565b9063ffffffff612e5616565b600080612a3f612a3a611910565b612e80565b9050612a4d8161212c612ea1565b91505090565b6000670de0b6b3a7640000612a6e848463ffffffff612f6116565b81612a7557fe5b059392505050565b6000828201818312801590612a925750838112155b80612aa75750600083128015612aa757508381125b6119eb5760405162461bcd60e51b815260040161045b90613f91565b600080612ace612114565b90506000612b2f6012600a0a600202612a2084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561217a57600080fd5b60000390506123438461212c612b43612979565b849063ffffffff612a5316565b600080612b5d8484612fcc565b905061234381612b8a612b70878761301d565b60408801516001600160801b03169063ffffffff612a7d16565b9063ffffffff612a7d16565b6000818312612ba557826119eb565b50919050565b6000612bb561283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611a84929190613e35565b6000670de0b6b3a7640000612c2b848463ffffffff6127d016565b81612c3257fe5b049392505050565b6000612c4461283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b6000612c9f61283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b600480546020830151604051632088467960e11b81526000936119b093612db393612d9f936001600160a01b03909216926341108cf292612d329291016141a8565b60206040518083038186803b158015612d4a57600080fd5b505afa158015612d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d829190810190613447565b60608601516001600160801b031690600f0b63ffffffff612a7d16565b6080850151600f0b9063ffffffff612a5316565b60408401516001600160801b03169063ffffffff61240616565b6001600160a01b031690565b60006119b082756c69717569646174696f6e427566666572526174696f60501b6126fd565b600082612e0d575060006119b0565b6000612e21612e1c858561305b565b6119b6565b9050612343612e36612e31611910565b61306d565b61236683612366612e4d612e48611910565b611998565b6108978a6119b6565b60006119eb82612e7485670de0b6b3a764000063ffffffff612f6116565b9063ffffffff61309916565b60006119b082716d617846756e64696e6756656c6f6369747960701b6126fd565b600080612f3b612eb2612e48611910565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612ef457600080fd5b505afa158015612f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2c9190810190613447565b600f0b9063ffffffff612e5616565b9050612a4d612f53670de0b6b3a763ffff1983612b96565b670de0b6b3a76400006130fd565b600082612f70575060006119b0565b82600019148015612f845750600160ff1b82145b15612fa15760405162461bcd60e51b815260040161045b90614021565b82820282848281612fae57fe5b05146119eb5760405162461bcd60e51b815260040161045b90614021565b602082015160009067ffffffffffffffff1680612fed5760009150506119b0565b6000612ff98285613113565b608086015190915061301490600f0b8263ffffffff612a5316565b95945050505050565b60008061304084606001516001600160801b03168461240690919063ffffffff16565b608085015190915061234390600f0b8263ffffffff612a5316565b60006119eb838363ffffffff612a5316565b60006119b0827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006126fd565b6000816130b85760405162461bcd60e51b815260040161045b90614051565b816000191480156130cc5750600160ff1b83145b156130e95760405162461bcd60e51b815260040161045b90613fd1565b60008284816130f457fe5b05949350505050565b600081831261310c57816119eb565b5090919050565b60048054604051632088467960e11b81526000926119eb926001600160a01b0316916341108cf29161314791889101613e19565b60206040518083038186803b15801561315f57600080fd5b505afa158015613173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131979190810190613447565b600f0b612557846121c1565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b80356119b0816142b0565b80516119b0816142b0565b80516119b0816142c7565b80516119b0816142d0565b80516119b0816142d9565b6000610120828403121561326757600080fd5b6132726101206141b6565b905060006132808484613233565b825250602061329184848301613249565b60208301525060406132a5848285016133ae565b60408301525060606132b9848285016133ae565b60608301525060806132cd848285016133ae565b60808301525060a06132e1848285016133ae565b60a08301525060c06132f58482850161323e565b60c08301525060e06133098482850161323e565b60e08301525061010061331e8482850161323e565b6101008301525092915050565b600060a0828403121561333d57600080fd5b61334760a06141b6565b9050600061335584846133c4565b8252506020613366848483016133c4565b602083015250604061337a848285016133ae565b604083015250606061338e848285016133ae565b60608301525060806133a284828501613249565b60808301525092915050565b80516119b0816142e2565b80516119b0816142eb565b80516119b0816142f4565b6000602082840312156133e157600080fd5b6000612343848461321d565b6000602082840312156133ff57600080fd5b60006123438484613228565b60006020828403121561341d57600080fd5b60006123438484613233565b60006020828403121561343b57600080fd5b6000612343848461323e565b60006020828403121561345957600080fd5b60006123438484613249565b6000610120828403121561347857600080fd5b60006123438484613254565b600060a0828403121561349657600080fd5b6000612343848461332b565b6000602082840312156134b457600080fd5b600061234384846133ae565b6000806000606084860312156134d557600080fd5b60006134e1868661323e565b93505060206134f286828701613233565b925050604061350386828701613233565b9150509250925092565b60006020828403121561351f57600080fd5b600061234384846133b9565b600061353783836135b9565b505060200190565b61354881614239565b82525050565b61354881614201565b6000613562826141ef565b61356c81856141f3565b9350613577836141dd565b8060005b838110156135a557815161358f888261352b565b975061359a836141dd565b92505060010161357b565b509495945050505050565b6135488161420c565b61354881610397565b6135486135ce82610397565b610397565b60006135de826141ef565b6135e881856141f3565b93506135f881856020860161427a565b613601816142a6565b9093019392505050565b61354881614240565b61354881614211565b6135488161424b565b61354881614259565b60008154600181166000811461364c5760018114613672576136b1565b607f600283041661365d81876141f3565b60ff19841681529550506020850192506136b1565b6002820461368081876141f3565b955061368b856141e3565b60005b828110156136aa5781548882015260019091019060200161368e565b8701945050505b505092915050565b60006136c66035836141f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061371d601b836141f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006137566021836141f3565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613799601e836141f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006137d2601a836141f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061380b6011836141fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613838601a836141f3565b7f696e7374616e74616e656f757320502f44206578636565646564000000000000815260200192915050565b60006138716038836141fc565b7f506f736974696f6e466c61676765642875696e743235362c616464726573732c81527f616464726573732c75696e743235362c75696e74323536290000000000000000602082015260380192915050565b60006138d06021836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613913602f836141f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006139646052836141fc565b7f506f736974696f6e4c6971756964617465642875696e743235362c616464726581527f73732c616464726573732c696e743235362c75696e743235362c75696e743235602082015271362c75696e743235362c75696e743235362960701b604082015260520192915050565b60006139de6024836141f3565b7f707269636520696d70616374206f66206c69717569646174696f6e20657863658152631959195960e21b602082015260400192915050565b6000613a246021836141f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613a676014836141f3565b731859191c995cdcc81b9bdd08195b991bdc9cd95960621b815260200192915050565b6000613a976027836141f3565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000613ae06019836141fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b196056836141fc565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000613b976024836141f3565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000613bdd6017836141f3565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c166020836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000613c4f6030836141fc565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61354881614217565b61354881614264565b61354881614223565b6135488161426f565b6135488161422c565b6000613ccd82856135c2565b602082019150613cdd82846135c2565b5060200192915050565b6000613cf2826137fe565b9150613cfe82846135c2565b50602001919050565b60006119b082613864565b60006119b082613957565b6000613cf282613ad3565b60006119b082613b0c565b60006119b082613c42565b602081016119b0828461354e565b602081016119b0828461353f565b60408101613d68828561354e565b6119eb602083018461354e565b60408101613d83828561354e565b6119eb6020830184613c9d565b60408101613d9e828561354e565b6119eb60208301846135b9565b60c08101613db9828961354e565b613dc66020830188613cb8565b613dd36040830187613cb8565b613de06060830186613c94565b613ded6080830185613c94565b6123ae60a0830184613614565b602080825281016119eb8184613557565b602081016119b082846135b0565b602081016119b082846135b9565b60408101613d6882856135b9565b60408101613d9e82856135b9565b60408101613e5182856135b9565b818103602083015261234381846135d3565b60c08082528101613e7481896135d3565b9050613e836020830188613626565b613e9060408301876135b9565b613e9d606083018661361d565b613eaa608083018561361d565b6123ae60a083018461361d565b60c08082528101613ec881896135d3565b9050613ed76020830188613626565b613ee460408301876135b9565b613ef160608301866135b9565b613eaa60808301856135b9565b602081016119b0828461360b565b602081016119b08284613614565b60808101613f2882876135b9565b613f3560208301866135b9565b613f4260408301856135b9565b61301460608301846135b9565b602080825281016119eb81846135d3565b602080825281016119eb818461362f565b602080825281016119b0816136b9565b602080825281016119b081613710565b602080825281016119b081613749565b602080825281016119b08161378c565b602080825281016119b0816137c5565b602080825281016119b08161382b565b602080825281016119b0816138c3565b602080825281016119b081613906565b602080825281016119b0816139d1565b602080825281016119b081613a17565b602080825281016119b081613a5a565b602080825281016119b081613a8a565b602080825281016119b081613b8a565b602080825281016119b081613bd0565b602080825281016119b081613c09565b602081016119b08284613c94565b610100810161407e828b6135b9565b61408b602083018a61354e565b614098604083018961354e565b6140a560608301886135b9565b6140b260808301876135b9565b6140bf60a08301866135b9565b6140cc60c08301856135b9565b6140d960e08301846135b9565b9998505050505050505050565b60a081016140f482886135b9565b614101602083018761354e565b61410e604083018661354e565b61411b60608301856135b9565b61412860808301846135b9565b9695505050505050565b60e08101614140828a6135b9565b61414d60208301896135b9565b61415a60408301886135b9565b61416760608301876135b9565b61417460808301866135b9565b61418160a08301856135b9565b61418e60c08301846135b9565b98975050505050505050565b602081016119b08284613ca6565b602081016119b08284613caf565b60405181810167ffffffffffffffff811182821017156141d557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006119b082612dcd565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006119b0825b60006119b082614201565b60006119b06135ce83610397565b60006119b082610397565b60006119b082614217565b60006119b08261422c565b60005b8381101561429557818101518382015260200161427d565b838111156105c65750506000910152565b601f01601f191690565b6142b981614201565b81146142c457600080fd5b50565b6142b98161420c565b6142b981610397565b6142b981614211565b6142b981614217565b6142b981614223565b6142b98161422c56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158200482c47b591fd84dd76d0d8589d06c065bd16a67ff4212be0e33677e7e1483d06c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_marketState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "fundingRate",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "FundingRecomputed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "baseAsset",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "PerpsTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "flagger",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "PositionFlagged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "flaggerFee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatorFee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "stakersFee",
							"type": "uint256"
						}
					],
					"name": "PositionLiquidated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "margin",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "tradeSize",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastPrice",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fundingIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "skew",
							"type": "int256"
						}
					],
					"name": "PositionModified",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagPosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "forceLiquidatePosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidatePosition",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketState",
					"outputs": [
						{
							"internalType": "contract IPerpsV2MarketState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x271ee587fdf92ec48387ec0ec7b90024fd795f3bc7794f1d8a06fddcce22bdab",
				"urls": [
					"bzz-raw://5ecb7d47bd152aa12b24e185a0d41c16594b4b3446ceca978c0aa49e3577a2a1",
					"dweb:/ipfs/QmPXghVA7FqcpnjygwbZ41GrBefy4c72Nop6rHDpV5e7V2"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketLiquidate.sol": "PerpsV2MarketLiquidate"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketLiquidate.sol": {
						"keccak256": "0x271ee587fdf92ec48387ec0ec7b90024fd795f3bc7794f1d8a06fddcce22bdab",
						"urls": [
							"bzz-raw://5ecb7d47bd152aa12b24e185a0d41c16594b4b3446ceca978c0aa49e3577a2a1",
							"dweb:/ipfs/QmPXghVA7FqcpnjygwbZ41GrBefy4c72Nop6rHDpV5e7V2"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketDelayedIntent": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200559838038062005598833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b614b608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806385f05ab5116100ad578063bc67f83211610071578063bc67f83214610217578063c5a4b07a1461022a578063d67bdd251461023d578063ec55688914610245578063ed44a2db1461024d57610121565b806385f05ab5146101c1578063899ffef4146101d45780638da5cb5b146101e957806397107d6d146101f1578063a1c35a351461020457610121565b80632af64bd3116100f45780632af64bd31461017457806353a47bb714610189578063741853601461019e578063787d6c30146101a657806379ba5097146101b957610121565b806304f3bcec1461012657806308fb1b771461014457806309461cfe1461014c5780631627540c14610161575b600080fd5b61012e610260565b60405161013b91906147dd565b60405180910390f35b61012e61026f565b61015f61015a366004613be9565b61027e565b005b61015f61016f366004613b19565b61036a565b61017c6103c8565b60405161013b9190614639565b6101916104e0565b60405161013b919061450d565b61015f6104ef565b61015f6101b4366004613c36565b610645565b61015f610700565b61015f6101cf366004613be9565b61079c565b6101dc610851565b60405161013b9190614628565b6101916109c3565b61015f6101ff366004613b19565b6109d2565b61015f610212366004613baf565b610a25565b61015f610225366004613b19565b610adf565b61015f610238366004613be9565b610b09565b610191610bb4565b61012e610bc3565b61015f61025b366004613baf565b610bd2565b6002546001600160a01b031681565b6004546001600160a01b031681565b610286610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916102bc9185910161450d565b60206040518083038186803b1580156102d457600080fd5b505afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030c9190810190613b55565b1561034e5760056000600e5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b8152600401610345919061483f565b60405180910390fd5b610364610359610caa565b858585600080610d37565b50505050565b610372611231565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103bd90839061450d565b60405180910390a150565b600060606103d4610851565b905060005b81518110156104d65760008282815181106103f057fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104419085906004016146b1565b60206040518083038186803b15801561045957600080fd5b505afa15801561046d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104919190810190613b37565b6001600160a01b03161415806104bc57506000818152600360205260409020546001600160a01b0316155b156104cd57600093505050506104dd565b506001016103d9565b5060019150505b90565b6001546001600160a01b031681565b60606104f9610851565b905060005b815181101561064157600082828151811061051557fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161055791906144ec565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016105839291906146e8565b60206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d39190810190613b37565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061062f90849084906146bf565b60405180910390a150506001016104fe565b5050565b61064d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916106839185910161450d565b60206040518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190613b55565b156106e35760056000600e610318565b6106f96106ee610caa565b868686866000610d37565b5050505050565b6001546001600160a01b0316331461072a5760405162461bcd60e51b815260040161034590614860565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261076d926001600160a01b0391821692911690614529565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6107a4610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916107da9185910161450d565b60206040518083038186803b1580156107f257600080fd5b505afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082a9190810190613b55565b1561083a5760056000600e610318565b610364610845610caa565b85600086866001610d37565b60608061085c61125b565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b8160008151811061089e57fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106108c857fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106108f157fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061092257fe5b602002602001018181525050600080516020614afe8339815191528160048151811061094a57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b8160058151811061097a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106109a657fe5b6020026020010181815250506109bc82826112ac565b9250505090565b6000546001600160a01b031681565b6109da611231565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906103bd90839061451b565b610a2d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610a639185910161450d565b60206040518083038186803b158015610a7b57600080fd5b505afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab39190810190613b55565b15610ac35760056000600e610318565b610ada610ace610caa565b84600085816001610d37565b505050565b610ae7610c7e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610b11610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610b479185910161450d565b60206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b979190810190613b55565b15610ba75760056000600e610318565b6103648484846001611368565b6007546001600160a01b031681565b6006546001600160a01b031681565b610bda610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610c109185910161450d565b60206040518083038186803b158015610c2857600080fd5b505afa158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c609190810190613b55565b15610c705760056000600e610318565b610ada600084846002611368565b6006546001600160a01b03163314610ca85760405162461bcd60e51b815260040161034590614920565b565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d329190810190613b73565b905090565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610d699316910161450d565b6101206040518083038186803b158015610d8257600080fd5b505afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dba9190810190613c97565b60200151600f0b15610dde5760405162461bcd60e51b815260040161034590614910565b83610def57610dec86611462565b93505b610df886611462565b8410158015610e0f5750610e0b86611488565b8411155b610e2b5760405162461bcd60e51b8152600401610345906148b0565b610e336138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f5751093610e659316910161450d565b60a06040518083038186803b158015610e7d57600080fd5b505afa158015610e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eb59190810190613cb6565b90506000610ec2836114a8565b90506000610ed088836116aa565b90506000610edd836117e8565b9050610ee76138d0565b6040518060e001604052808b815260200185815260200184815260200189815260200187610f1d57610f188d611a2d565b610f26565b610f268d611a50565b815260200187610f3e57610f398d611a7c565b610f47565b610f478d611a9f565b815260200188905290506000610f5d8683611acb565b92505050610f6a81611dc6565b506000610f75611de7565b600754909150610f95906001600160a01b0316878d876000869003611e5a565b611067866000015167ffffffffffffffff16600760009054906101000a90046001600160a01b031688604001516001600160801b03168960800151600f0b600089896000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061105f9190810190613b91565b600f0b612100565b6000611071612185565b6001600160a01b0316637a018a1e6110876121a0565b6040518263ffffffff1660e01b81526004016110a391906146b1565b60206040518083038186803b1580156110bb57600080fd5b505afa1580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110f39190810190613b73565b6001019050611100613910565b6040518061012001604052808a151581526020018e600f0b81526020018c6001600160801b031681526020018a611137578361113a565b60005b6001600160801b03908116825260006020830152851660408201526060018a611165578d4201611168565b60005b81524260208201526040018b905260075490915061118f906001600160a01b0316826121f0565b60048054600754835160208501516040808701516060880151608089015160a08a015160c08b015160e08c01516101008d01519651632055462760e11b81526001600160a01b039b8c169c6340aa8c4e9c6111ef9c169a99989101614544565b600060405180830381600087803b15801561120957600080fd5b505af115801561121d573d6000803e3d6000fd5b505050505050505050505050505050505050565b6000546001600160a01b03163314610ca85760405162461bcd60e51b8152600401610345906148d0565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061129d57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156112dc578160200160208202803883390190505b50905060005b835181101561131e578381815181106112f757fe5b602002602001015182828151811061130b57fe5b60209081029190910101526001016112e2565b5060005b82518110156113615782818151811061133757fe5b602002602001015182828651018151811061134e57fe5b6020908102919091010152600101611322565b5092915050565b6113706138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f57510936113a29316910161450d565b60a06040518083038186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113f29190810190613cb6565b90506114098160800151600f0b600014600b6122ca565b600082600281111561141757fe5b14156114355760405162461bcd60e51b815260040161034590614850565b6106f9611440610caa565b6080830151600003600f0b878787600288600281111561145c57fe5b14610d37565b600061148282706d696e44656c617954696d6544656c746160781b6122e0565b92915050565b600061148282706d617844656c617954696d6544656c746160781b6122e0565b60006114b26123a4565b6001600160a01b031663856aae6c6114c8610caa565b6040518263ffffffff1660e01b81526004016114e491906146b1565b60006040518083038186803b1580156114fc57600080fd5b505afa158015611510573d6000803e3d6000fd5b5050505061151c6123a4565b6001600160a01b03166342a28e216115326121a0565b6040518263ffffffff1660e01b815260040161154e91906146b1565b60006040518083038186803b15801561156657600080fd5b505afa15801561157a573d6000803e3d6000fd5b5050505081156115f75761158c6123a4565b6001600160a01b031663856aae6c6115aa6115a5610caa565b6123be565b6040518263ffffffff1660e01b81526004016115c691906146b1565b60006040518083038186803b1580156115de57600080fd5b505afa1580156115f2573d6000803e3d6000fd5b505050505b6000806000611604612185565b6001600160a01b031663045056f861161a6121a0565b6040518263ffffffff1660e01b815260040161163691906146b1565b606060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116889190810190613d22565b9250925092506116a1828061169a5750815b60016122ca565b50909392505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117269190810190613b91565b600f0b9050600061173d611738610caa565b61248f565b90506000611751838363ffffffff6124a716565b9050600061177583611769868a63ffffffff6124d116565b9063ffffffff6124a716565b9050600061179961178c888563ffffffff61251716565b889063ffffffff6124d116565b905060006117bd6117b0898563ffffffff61251716565b899063ffffffff6124d116565b90506117db671bc16d674ec80000611769848463ffffffff6124d116565b9998505050505050505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561182c57600080fd5b505afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118649190810190613b73565b90506000611870612541565b9050600061187d856125ee565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916118ad918591016147eb565b600060405180830381600087803b1580156118c757600080fd5b505af11580156118db573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e76562925061190e914291016149a8565b600060405180830381600087803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f22925061196f918691016147eb565b600060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516116a19550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b1580156119ea57600080fd5b505afa1580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a229190810190613d65565b63ffffffff16612649565b600061148282733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f74616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b6000611482827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b611ad36138a2565b81516000908190611aed575083915060009050600a611dbf565b611afb8585602001516126f9565b15611b0f5750839150600090506004611dbf565b600080611b1a612737565b915091508015611b37575085935060009250600c9150611dbf9050565b611b4186836127d4565b9350600080611b58898960400151886000036129da565b91509150611b6581612a61565b15611b7c57889650600095509350611dbf92505050565b611b846138a2565b6040518060a001604052808b6000015167ffffffffffffffff168152602001611bab612a78565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b03168152602001611bfa8b600001518d60800151600f0b6124d190919063ffffffff16565b600f0b81525090506000611c1c8b60800151600f0b8360800151600f0b612b11565b8015611c455750611c338b60800151600f0b612b30565b611c438360800151600f0b612b30565b105b905080611c8f57611c54612b3b565b6040830151611c72906001600160801b03168a63ffffffff612ba016565b1015611c8f57508997506000965060089550611dbf945050505050565b6000611ca68360800151600f0b8c60200151612bc5565b90506000611ccf82611cc38660800151600f0b8f60200151612c27565b9063ffffffff612ba016565b9050808611611cf057509198506000975060049650611dbf95505050505050565b6000611d23611d05888d63ffffffff612ba016565b6117698f604001518860800151600f0b61251790919063ffffffff16565b9050611d2e81612b30565b611d49662386f26fc10000611cc3611d44610caa565b612c71565b1015611d6957508c9a506000995060079850611dbf975050505050505050565b50611d92611d7d611d78610caa565b612c8b565b8e60800151600f0b8660800151600f0b612ca8565b15611db057508b99506000985060069750611dbf9650505050505050565b50919850600096505050505050505b9250925092565b611dcf81612a61565b15611de4576005600082600f81111561031857fe5b50565b6000611df1612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b60206040518083038186803b158015610cfa57600080fd5b611e626138a2565b5083600080611e728386866129da565b91509150611e7f81611dc6565b6000611e89612a78565b9050611f496040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018b6020015167ffffffffffffffff1681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612eaf565b6001600160801b03831660408901526080880151600f0b15612064576001600160801b038616606089015267ffffffffffffffff811660208901526000851215612064576000611fa08960800151600f0b88612bc5565b90506000611fb982611cc38c60800151600f0b8b612c27565b9050611fc98186111560086122ca565b60808a0151600090611fe490600f0b8b63ffffffff6124d116565b90506000611ff98c60800151600f0b83612b11565b801561201b57506120108c60800151600f0b612b30565b61201983612b30565b105b90508061205f5761204b6120386120338e8d8b612f49565b612b30565b612043611d44610caa565b1060076122ca565b61205f612056612b3b565b881060086122ca565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016120c3969594939291906145d9565b600060405180830381600087803b1580156120dd57600080fd5b505af11580156120f1573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612132908a908a908a908a908a908a908a90602001614940565b604051602081830303815290604052600360405161214f906144f7565b6040519081900390208d6121628e612f6d565b60006040518763ffffffff1660e01b81526004016120c396959493929190614796565b6000610d326c45786368616e6765526174657360981b612f79565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b6006548151602080840151606085015160e086015160c0870151608088015160a08901516101008a01516040516001600160a01b03909a169963907dff97996122429990989796959493929101614647565b604051602081830303815290604052600260405161225f906144e1565b604051809103902061227087612f6d565b6000806040518763ffffffff1660e01b81526004016122949695949392919061475c565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b505050505050565b8115610641576005600082600f81111561031857fe5b60006122ea612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152858560405160200161231a92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161234d9291906146cd565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061239d9190810190613b73565b9392505050565b6000610d326b53797374656d53746174757360a01b612f79565b60006123c8612e92565b6001600160a01b031663f7833c5d600080516020614afe83398151915284706f6666636861696e4d61726b65744b657960781b60405160200161240c92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161243f9291906146cd565b60206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114829190810190613b73565b60006114828268736b65775363616c6560b81b6122e0565b600061239d826124c585670de0b6b3a764000063ffffffff612fd616565b9063ffffffff61304116565b60008282018183128015906124e65750838112155b806124fb57506000831280156124fb57508381125b61239d5760405162461bcd60e51b815260040161034590614880565b6000670de0b6b3a7640000612532848463ffffffff612fd616565b8161253957fe5b059392505050565b6000610d326125656125516130a5565b61255961314c565b9063ffffffff61251716565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b1580156125a757600080fd5b505afa1580156125bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125df9190810190613b91565b600f0b9063ffffffff6124d116565b60006114826125fc83613173565b6004546001600160a01b03166341108cf2612615612a78565b6040518263ffffffff1660e01b815260040161263191906146b1565b60206040518083038186803b1580156125a757600080fd5b6006546040516001600160a01b039091169063907dff97906126759087908790879087906020016147f9565b604051602081830303815290604052600160405161269290614502565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401614708565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b5050505050505050565b60008260800151600f0b6000141561271357506000611482565b6127248360800151600f0b83612c27565b61272e8484613200565b11159392505050565b60008061274261322e565b6001600160a01b031663c39def0b631cd554d160e21b6127606121a0565b6040518363ffffffff1660e01b815260040161277d9291906146cd565b604080518083038186803b15801561279457600080fd5b505afa1580156127a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127cc9190810190613cf2565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561281857600080fd5b505afa15801561282c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128509190810190613b91565b600f0b905060006128728560400151866000015161251790919063ffffffff16565b9050600061288f8561288384612b30565b9063ffffffff61324516565b90506128a18660000151840184612b11565b1561297057600061293a83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128fa57600080fd5b505afa15801561290e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129329190810190613b91565b600f0b612b11565b612948578660a0015161294e565b86608001515b9050612963612033848363ffffffff61251716565b8201945050505050611482565b855160009061298c90612033908681019063ffffffff6124a716565b90506000816012600a0a03905060006129b089608001516128838561288389612b30565b905060006129c98a60a00151612883856128838a612b30565b919094010198975050505050505050565b60008060006129f9846129ed888861326f565b9063ffffffff6124d116565b90506000811215612a1257506000915060089050612a59565b60808601518190600f0b6000612a288289612c27565b90508115801590612a395750808311155b15612a4e578260049550955050505050612a59565b509093506000925050505b935093915050565b60008082600f811115612a7057fe5b141592915050565b6000610d326001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015612acd57600080fd5b505afa158015612ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b059190810190613b73565b9063ffffffff6132a916565b6000821580612b1e575081155b8061239d575050600090811291131490565b6000611482826132d1565b6000612b45612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60008282018381101561239d5760405162461bcd60e51b815260040161034590614870565b600082612bd457506000611482565b6000612be361203385856132e7565b9050612c1f612bf8612bf3610caa565b6132f9565b61288383612883612c0a611738610caa565b612c138a612b30565b9063ffffffff61332516565b949350505050565b600080612c4a612c3d612c38610caa565b61334f565b6128838561288388612b30565b9050612c1f612c57613374565b611cc3612c6487876133d0565b849063ffffffff612ba016565b6000611482826a6d61784c6576657261676560a81b6122e0565b6000611482826d6d61784d61726b657456616c756560901b6122e0565b6000612cb48383612b11565b8015612cd05750612cc483612b30565b612ccd83612b30565b11155b15612cdd5750600061239d565b6000612d7c836129ed86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d3557600080fd5b505afa158015612d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6d9190810190613b91565b600f0b9063ffffffff61342516565b90506000612e27612d8c856132d1565b6129ed612d98886132d1565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015612dda57600080fd5b505afa158015612dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e129190810190613cd4565b6001600160801b03169063ffffffff61342516565b905060008460001215612e4b57612e44828463ffffffff6124d116565b9050612e5e565b612e5b828463ffffffff61342516565b90505b612e7261203382600263ffffffff61304116565b871015612e85576001935050505061239d565b5060009695505050505050565b6000610d326e466c657869626c6553746f7261676560881b612f79565b6000612eba8361346b565b90506000612ec78361346b565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f792612f2d928692612f2192899288926322d3090a92828101926020929190829003018186803b1580156125a757600080fd5b9063ffffffff61342516565b6040518263ffffffff1660e01b81526004016126c191906147eb565b600081612f585750600061239d565b612c1f826117698660800151600f0b866132e7565b6001600160a01b031690565b60008181526003602090815260408083205490516001600160a01b039091169182151591612fa9918691016144c1565b604051602081830303815290604052906113615760405162461bcd60e51b8152600401610345919061482e565b600082612fe557506000611482565b82600019148015612ff95750600160ff1b82145b156130165760405162461bcd60e51b8152600401610345906148f0565b8282028284828161302357fe5b051461239d5760405162461bcd60e51b8152600401610345906148f0565b6000816130605760405162461bcd60e51b815260040161034590614930565b816000191480156130745750600160ff1b83145b156130915760405162461bcd60e51b8152600401610345906148c0565b600082848161309c57fe5b05949350505050565b6000610d3262015180611769600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ff57600080fd5b505afa158015613113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131379190810190613d65565b63ffffffff16426132a990919063ffffffff16565b60008061315f61315a610caa565b613548565b905061316d81612559613569565b91505090565b60008061317e612541565b905060006131df6012600a0a60020261176984600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a757600080fd5b6000039050612c1f846125596131f36130a5565b849063ffffffff61251716565b6000806132216132178560800151600f0b85612bc5565b612f21868661326f565b9050612c1f600082613629565b6000610d326822bc31b430b733b2b960b91b612f79565b6000670de0b6b3a7640000613260848463ffffffff61363e16565b8161326757fe5b049392505050565b60008061327c8484613678565b9050612c1f816129ed61328f87876136c9565b60408801516001600160801b03169063ffffffff6124d116565b6000828211156132cb5760405162461bcd60e51b815260040161034590614890565b50900390565b60008082126132e05781611482565b5060000390565b600061239d838363ffffffff61251716565b6000611482827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006122e0565b600061239d8261334385670de0b6b3a764000063ffffffff61363e16565b9063ffffffff61370716565b600061148282756c69717569646174696f6e427566666572526174696f60501b6122e0565b600061337e612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611e429291906146cd565b6000806133de612c3d61373c565b905060006133ea6137a1565b905060008183116133fb57826133fd565b815b90506000613409611de7565b9050808211613418578061341a565b815b979650505050505050565b600081830381831280159061343a5750838113155b8061344f575060008312801561344f57508381135b61239d5760405162461bcd60e51b815260040161034590614900565b600480546020830151604051632088467960e11b81526000936114829361352e9361351a936001600160a01b03909216926341108cf2926134ad9291016149b6565b60206040518083038186803b1580156134c557600080fd5b505afa1580156134d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134fd9190810190613b91565b60608601516001600160801b031690600f0b63ffffffff6124d116565b6080850151600f0b9063ffffffff61251716565b60408401516001600160801b03169063ffffffff61342516565b600061148282716d617846756e64696e6756656c6f6369747960701b6122e0565b60008061360361357a611738610caa565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b1580156135bc57600080fd5b505afa1580156135d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135f49190810190613b91565b600f0b9063ffffffff6124a716565b905061316d61361b670de0b6b3a763ffff1983613629565b670de0b6b3a76400006137fc565b6000818312613638578261239d565b50919050565b60008261364d57506000611482565b8282028284828161365a57fe5b041461239d5760405162461bcd60e51b8152600401610345906148e0565b602082015160009067ffffffffffffffff1680613699576000915050611482565b60006136a58285613812565b60808601519091506136c090600f0b8263ffffffff61251716565b95945050505050565b6000806136ec84606001516001600160801b03168461342590919063ffffffff16565b6080850151909150612c1f90600f0b8263ffffffff61251716565b60008082116137285760405162461bcd60e51b8152600401610345906148a0565b600082848161373357fe5b04949350505050565b6000613746612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60006137ab612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b600081831261380b578161239d565b5090919050565b60048054604051632088467960e11b815260009261239d926001600160a01b0316916341108cf291613846918891016146b1565b60206040518083038186803b15801561385e57600080fd5b505afa158015613872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138969190810190613b91565b600f0b612f21846125ee565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b803561148281614ab3565b805161148281614ab3565b805161148281614ac7565b803561148281614ad0565b805161148281614ad0565b805161148281614ad9565b600061012082840312156139b157600080fd5b6139bc6101206149c4565b905060006139ca8484613972565b82525060206139db84848301613993565b60208301525060406139ef84828501613af8565b6040830152506060613a0384828501613af8565b6060830152506080613a1784828501613af8565b60808301525060a0613a2b84828501613af8565b60a08301525060c0613a3f84828501613988565b60c08301525060e0613a5384828501613988565b60e083015250610100613a6884828501613988565b6101008301525092915050565b600060a08284031215613a8757600080fd5b613a9160a06149c4565b90506000613a9f8484613b0e565b8252506020613ab084848301613b0e565b6020830152506040613ac484828501613af8565b6040830152506060613ad884828501613af8565b6060830152506080613aec84828501613993565b60808301525092915050565b805161148281614ae2565b805161148281614aeb565b805161148281614af4565b600060208284031215613b2b57600080fd5b6000612c1f848461395c565b600060208284031215613b4957600080fd5b6000612c1f8484613967565b600060208284031215613b6757600080fd5b6000612c1f8484613972565b600060208284031215613b8557600080fd5b6000612c1f8484613988565b600060208284031215613ba357600080fd5b6000612c1f8484613993565b60008060408385031215613bc257600080fd5b6000613bce858561397d565b9250506020613bdf8582860161397d565b9150509250929050565b600080600060608486031215613bfe57600080fd5b6000613c0a868661397d565b9350506020613c1b8682870161397d565b9250506040613c2c8682870161397d565b9150509250925092565b60008060008060808587031215613c4c57600080fd5b6000613c58878761397d565b9450506020613c698782880161397d565b9350506040613c7a8782880161397d565b9250506060613c8b8782880161397d565b91505092959194509250565b60006101208284031215613caa57600080fd5b6000612c1f848461399e565b600060a08284031215613cc857600080fd5b6000612c1f8484613a75565b600060208284031215613ce657600080fd5b6000612c1f8484613af8565b60008060408385031215613d0557600080fd5b6000613d118585613988565b9250506020613bdf85828601613972565b600080600060608486031215613d3757600080fd5b6000613d438686613988565b9350506020613d5486828701613972565b9250506040613c2c86828701613972565b600060208284031215613d7757600080fd5b6000612c1f8484613b03565b6000613d8f8383613e11565b505060200190565b613da081614a47565b82525050565b613da081614a0f565b6000613dba826149fd565b613dc48185614a01565b9350613dcf836149eb565b8060005b83811015613dfd578151613de78882613d83565b9750613df2836149eb565b925050600101613dd3565b509495945050505050565b613da081614a1a565b613da0816104dd565b613da0613e26826104dd565b6104dd565b6000613e36826149fd565b613e408185614a01565b9350613e50818560208601614a7d565b613e5981614aa9565b9093019392505050565b613da081614a4e565b613da081614a1f565b613da081614a59565b613da081614a67565b600081546001811660008114613ea45760018114613eca57613f09565b607f6002830416613eb58187614a01565b60ff1984168152955050602085019250613f09565b60028204613ed88187614a01565b9550613ee3856149f1565b60005b82811015613f0257815488820152600190910190602001613ee6565b8701945050505b505092915050565b6000613f1e601283614a01565b71696e76616c6964206f72646572207479706560701b815260200192915050565b6000613f4c603583614a01565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613fa3601b83614a01565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613fdc602183614a01565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061401f601e83614a01565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614058601a83614a01565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614091601183614a0a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006140be601383614a01565b7264656c6179206f7574206f6620626f756e647360681b815260200192915050565b60006140ed602183614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614130602f83614a01565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614181602183614a01565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006141c4605a83614a0a565b7f44656c617965644f726465725375626d697474656428616464726573732c626f81527f6f6c2c696e743235362c75696e743235362c75696e743235362c75696e74323560208201527f362c75696e743235362c75696e743235362c62797465733332290000000000006040820152605a0192915050565b6000614249602783614a01565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614292601983614a0a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006142cb605683614a0a565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000614349602483614a01565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061438f601583614a01565b7470726576696f7573206f726465722065786973747360581b815260200192915050565b60006143c0601783614a01565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006143f9602083614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614432603083614a0a565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b613da081614a25565b613da081614a31565b613da081614a72565b613da081614a3a565b60006144a78285613e1a565b6020820191506144b78284613e1a565b5060200192915050565b60006144cc82614084565b91506144d88284613e1a565b50602001919050565b6000611482826141b7565b60006144cc82614285565b6000611482826142be565b600061148282614425565b602081016114828284613da6565b602081016114828284613d97565b604081016145378285613da6565b61239d6020830184613da6565b6101408101614553828d613da6565b614560602083018c613e08565b61456d604083018b613e6c565b61457a606083018a614477565b6145876080830189614477565b61459460a0830188614477565b6145a160c0830187614477565b6145ae60e0830186613e11565b6145bc610100830185613e11565b6145ca610120830184613e11565b9b9a5050505050505050505050565b60c081016145e78289613da6565b6145f46020830188614492565b6146016040830187614492565b61460e6060830186614477565b61461b6080830185614477565b61341a60a0830184613e6c565b6020808252810161239d8184613daf565b602081016114828284613e08565b6101008101614656828b613e08565b614663602083018a613e6c565b6146706040830189614477565b61467d6060830188613e11565b61468a6080830187613e11565b61469760a0830186614477565b6146a460c0830185614477565b6117db60e0830184613e11565b602081016114828284613e11565b604081016145378285613e11565b604081016146db8285613e11565b61239d6020830184613e11565b604081016146f68285613e11565b8181036020830152612c1f8184613e2b565b60c080825281016147198189613e2b565b90506147286020830188613e7e565b6147356040830187613e11565b6147426060830186613e75565b61474f6080830185613e75565b61341a60a0830184613e75565b60c0808252810161476d8189613e2b565b905061477c6020830188613e7e565b6147896040830187613e11565b6147426060830186613e11565b60c080825281016147a78189613e2b565b90506147b66020830188613e7e565b6147c36040830187613e11565b6147d06060830186613e11565b61474f6080830185613e11565b602081016114828284613e63565b602081016114828284613e6c565b608081016148078287613e11565b6148146020830186613e11565b6148216040830185613e11565b6136c06060830184613e11565b6020808252810161239d8184613e2b565b6020808252810161239d8184613e87565b6020808252810161148281613f11565b6020808252810161148281613f3f565b6020808252810161148281613f96565b6020808252810161148281613fcf565b6020808252810161148281614012565b602080825281016114828161404b565b60208082528101611482816140b1565b60208082528101611482816140e0565b6020808252810161148281614123565b6020808252810161148281614174565b602080825281016114828161423c565b602080825281016114828161433c565b6020808252810161148281614382565b60208082528101611482816143b3565b60208082528101611482816143ec565b60e0810161494e828a613e11565b61495b6020830189613e11565b6149686040830188613e11565b6149756060830187613e11565b6149826080830186613e11565b61498f60a0830185613e11565b61499c60c0830184613e11565b98975050505050505050565b602081016114828284614480565b602081016114828284614489565b60405181810167ffffffffffffffff811182821017156149e357600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b600061148282612f6d565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611482825b600061148282614a0f565b6000611482613e26836104dd565b6000611482826104dd565b600061148282614a3a565b60005b83811015614a98578181015183820152602001614a80565b838111156103645750506000910152565b601f01601f191690565b614abc81614a0f565b8114611de457600080fd5b614abc81614a1a565b614abc816104dd565b614abc81614a1f565b614abc81614a25565b614abc81614a31565b614abc81614a3a56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820231ef69835bcad00e57cc37857ad92a7aaf335e7bac7e0897985e6e64a4c8c1f6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_marketState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isOffchain",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "targetRoundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "intentionTime",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "executableAtTime",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "commitDeposit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "keeperDeposit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "DelayedOrderSubmitted",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "fundingRate",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "FundingRecomputed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "baseAsset",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "PerpsTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "margin",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "tradeSize",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastPrice",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fundingIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "skew",
							"type": "int256"
						}
					],
					"name": "PositionModified",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketState",
					"outputs": [
						{
							"internalType": "contract IPerpsV2MarketState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "desiredTimeDelta",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "submitCloseDelayedOrderWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "submitCloseOffchainDelayedOrderWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredTimeDelta",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						}
					],
					"name": "submitDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredTimeDelta",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "submitDelayedOrderWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						}
					],
					"name": "submitOffchainDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "desiredFillPrice",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "submitOffchainDelayedOrderWithTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa9d29f72e57d3f49832f41dc5895bf77ac2fb5d062572bdc2ec34c2a23e99d85",
				"urls": [
					"bzz-raw://c8db7d63c691a2027779741789f93f23377cf3d2668756ae4390de4e35724aa3",
					"dweb:/ipfs/QmZ4MfAe4jFoDNsz2b3gfYdUV942CH4HLGBcbUMEGWGdM7"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketDelayedIntent.sol": "PerpsV2MarketDelayedIntent"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketDelayedIntent.sol": {
						"keccak256": "0xa9d29f72e57d3f49832f41dc5895bf77ac2fb5d062572bdc2ec34c2a23e99d85",
						"urls": [
							"bzz-raw://c8db7d63c691a2027779741789f93f23377cf3d2668756ae4390de4e35724aa3",
							"dweb:/ipfs/QmZ4MfAe4jFoDNsz2b3gfYdUV942CH4HLGBcbUMEGWGdM7"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketDelayedExecution": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200663338038062006633833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b615bfb8062000a386000396000f3fe6080604052600436106100fe5760003560e01c80638da5cb5b11610095578063c70b41e911610064578063c70b41e91461026a578063d67bdd251461028a578063dcce58061461029f578063dfa723cc146102bf578063ec556889146102d2576100fe565b80638da5cb5b146101f557806397107d6d1461020a578063a8300afb1461022a578063bc67f8321461024a576100fe565b806353a47bb7116100d157806353a47bb71461018757806374185360146101a957806379ba5097146101be578063899ffef4146101d3576100fe565b806304f3bcec1461010357806308fb1b771461012e5780631627540c146101435780632af64bd314610165575b600080fd5b34801561010f57600080fd5b506101186102e7565b60405161012591906157c3565b60405180910390f35b34801561013a57600080fd5b506101186102f6565b34801561014f57600080fd5b5061016361015e3660046148e7565b610305565b005b34801561017157600080fd5b5061017a610363565b60405161012591906155ec565b34801561019357600080fd5b5061019c61047b565b6040516101259190615519565b3480156101b557600080fd5b5061016361048a565b3480156101ca57600080fd5b506101636105e0565b3480156101df57600080fd5b506101e8610685565b60405161012591906155db565b34801561020157600080fd5b5061019c6107f7565b34801561021657600080fd5b506101636102253660046148e7565b610806565b34801561023657600080fd5b506101636102453660046148e7565b610859565b34801561025657600080fd5b506101636102653660046148e7565b610a6f565b34801561027657600080fd5b506101636102853660046148e7565b610a99565b34801561029657600080fd5b5061019c610b7c565b3480156102ab57600080fd5b506101636102ba3660046148e7565b610b8b565b6101636102cd366004614923565b610c63565b3480156102de57600080fd5b50610118610e84565b6002546001600160a01b031681565b6004546001600160a01b031681565b61030d610e93565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610358908390615519565b60405180910390a150565b6000606061036f610685565b905060005b815181101561047157600082828151811061038b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103dc908590600401615662565b60206040518083038186803b1580156103f457600080fd5b505afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061042c9190810190614905565b6001600160a01b031614158061045757506000818152600360205260409020546001600160a01b0316155b156104685760009350505050610478565b50600101610374565b5060019150505b90565b6001546001600160a01b031681565b6060610494610685565b905060005b81518110156105dc5760008282815181106104b057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104f291906154ed565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161051e9291906156ce565b60206040518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190614905565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105ca9084908490615670565b60405180910390a15050600101610499565b5050565b6001546001600160a01b031633146106135760405162461bcd60e51b815260040161060a90615801565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610656926001600160a01b0391821692911690615535565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610690610ebf565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106106d257fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106106fc57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061072557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061075657fe5b602002602001018181525050600080516020615b998339815191528160048151811061077e57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106107ae57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106107da57fe5b6020026020010181815250506107f08282610f10565b9250505090565b6000546001600160a01b031681565b61080e610e93565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610358908390615527565b610861610fcc565b610869614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161089891869101615519565b6101206040518083038186803b1580156108b157600080fd5b505afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e991908101906149d2565b90508060200151600f0b600014156109135760405162461bcd60e51b815260040161060a906158d1565b8051156109325760405162461bcd60e51b815260040161060a90615851565b600061093c610ff6565b6001600160a01b0316637a018a1e610952611016565b6040518263ffffffff1660e01b815260040161096e9190615662565b60206040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109be9190810190614996565b90508160c00151421015806109e057508082606001516001600160801b031611155b6109fc5760405162461bcd60e51b815260040161060a906158c1565b610a188260c001518284606001516001600160801b031661109e565b15610a355760405162461bcd60e51b815260040161060a90615811565b610a6a8383610a4460006110ec565b84610a55610a506112ee565b61133e565b610a65610a606112ee565b611367565b61138a565b505050565b610a77610fcc565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610aa1610fcc565b610aa9614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ad891869101615519565b6101206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b2991908101906149d2565b90508060200151600f0b60001415610b535760405162461bcd60e51b815260040161060a906158d1565b805115610b725760405162461bcd60e51b815260040161060a90615851565b6105dc8282611684565b6007546001600160a01b031681565b610b93610fcc565b610b9b614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610bca91869101615519565b6101206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1b91908101906149d2565b90508060200151600f0b60001415610c455760405162461bcd60e51b815260040161060a906158d1565b8051610b725760405162461bcd60e51b815260040161060a90615951565b610c6b610fcc565b610c73614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ca291889101615519565b6101206040518083038186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cf391908101906149d2565b90508060200151600f0b60001415610d1d5760405162461bcd60e51b815260040161060a906158d1565b8051610d3b5760405162461bcd60e51b815260040161060a90615951565b610d436119d5565b60075460405163047ce44760e11b81526001600160a01b03928316926308f9c88e923492610d7b929091169088908890600401615550565b6000604051808303818588803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b50505050506000610dbf610dba6112ee565b6119f6565b90506000610dd3610dce6112ee565b611a22565b9050600080610de184611a4e565b915091508460e001518111610e085760405162461bcd60e51b815260040161060a90615841565b828560e00151820311610e2d5760405162461bcd60e51b815260040161060a906158c1565b838560e00151420310610e525760405162461bcd60e51b815260040161060a90615811565b610e7a8886846000610e6a610e656112ee565b611c89565b610a65610e756112ee565b611cb5565b5050505050505050565b6006546001600160a01b031681565b6000546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a906158a1565b565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610f0157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610f40578160200160208202803883390190505b50905060005b8351811015610f8257838181518110610f5b57fe5b6020026020010151828281518110610f6f57fe5b6020908102919091010152600101610f46565b5060005b8251811015610fc557828181518110610f9b57fe5b6020026020010151828286510181518110610fb257fe5b6020908102919091010152600101610f86565b5092915050565b6006546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a90615931565b60006110116c45786368616e6765526174657360981b611ce1565b905090565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b505afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110119190810190614996565b6000806110a96112ee565b905084421180156110c357506110be81611d3e565b854203115b806110e1575082841180156110e157506110dc81611d6a565b838503115b9150505b9392505050565b60006110f6611d8f565b6001600160a01b031663856aae6c61110c6112ee565b6040518263ffffffff1660e01b81526004016111289190615662565b60006040518083038186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b50505050611160611d8f565b6001600160a01b03166342a28e21611176611016565b6040518263ffffffff1660e01b81526004016111929190615662565b60006040518083038186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b50505050811561123b576111d0611d8f565b6001600160a01b031663856aae6c6111ee6111e96112ee565b611da9565b6040518263ffffffff1660e01b815260040161120a9190615662565b60006040518083038186803b15801561122257600080fd5b505afa158015611236573d6000803e3d6000fd5b505050505b6000806000611248610ff6565b6001600160a01b031663045056f861125e611016565b6040518263ffffffff1660e01b815260040161127a9190615662565b606060405180830381600087803b15801561129457600080fd5b505af11580156112a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cc9190810190614a67565b9250925092506112e582806112de5750815b6001611e7a565b50909392505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b600061136182733a30b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b92915050565b6000611361827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b60808501516007546001600160801b03909116906001600160a01b03888116911614156113c55760a08601516001600160801b031601611436565b6113cd611f7a565b60075460a088015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f9361140393911691600401615571565b600060405180830381600087803b15801561141d57600080fd5b505af1158015611431573d6000803e3d6000fd5b505050505b61143e6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161146d918c9101615519565b60a06040518083038186803b15801561148557600080fd5b505afa158015611499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bd91908101906149f1565b905060006114ca87611f9c565b905060006114df8960200151600f0b896121e1565b905083156115b7576114fb8a848b60200151600f0b848861231f565b6115b783600001516001600160401b03168b85604001516001600160801b03168660800151600f0b600086886000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b505afa15801561158b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115af91908101906149b4565b600f0b6125d1565b61160c8a6040518060e001604052808c60200151600f0b81526020018b81526020018481526020018c604001516001600160801b031681526020018981526020018881526020018c6101000151815250612656565b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161163b918e9101615519565b600060405180830381600087803b15801561165557600080fd5b505af1158015611669573d6000803e3d6000fd5b505050506116788a888b612d5d565b50505050505050505050565b600061168e610ff6565b6001600160a01b0316637a018a1e6116a4611016565b6040518263ffffffff1660e01b81526004016116c09190615662565b60206040518083038186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117109190810190614996565b905061171c8282612e33565b6007546001600160a01b038481169116141561187b5761173a6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161176991889101615519565b60a06040518083038186803b15801561178157600080fd5b505afa158015611795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b991908101906149f1565b905060006117c760006110ec565b905060006117d482611f9c565b90506117f786848760200151600f0b858960a001516001600160801b031661231f565b61187383600001516001600160401b03168785604001516001600160801b03168660800151600f0b600087876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b5050506118ec565b611883611f7a565b60075460a084015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f936118b993911691600401615571565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b505050505b60808201516001600160801b03161561196957611907611f7a565b6001600160a01b031663d289ade283608001516040518263ffffffff1660e01b8152600401611936919061596f565b600060405180830381600087803b15801561195057600080fd5b505af1158015611964573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161199891879101615519565b600060405180830381600087803b1580156119b257600080fd5b505af11580156119c6573d6000803e3d6000fd5b50505050610a6a838284612d5d565b6000611011725065727073563245786368616e67655261746560681b611ce1565b6000611361827f6f6666636861696e44656c617965644f726465724d6178416765000000000000611ebd565b6000611361827f6f6666636861696e44656c617965644f726465724d696e416765000000000000611ebd565b6000806000611a5d60016110ec565b9050611a676119d5565b6001600160a01b031663368bde96611a7d611016565b866040518363ffffffff1660e01b8152600401611a9b92919061567e565b604080518083038186803b158015611ab257600080fd5b505afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aea9190810190614ab4565b90935091508015801590611afe5750600083115b611b1a5760405162461bcd60e51b815260040161060a90615821565b6000838211611bc357611bbe73__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6a57600080fd5b505af4158015611b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba29190810190614996565b611bb2868563ffffffff612ea616565b9063ffffffff612ed016565b611c52565b611c5273__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0a57600080fd5b505af4158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c429190810190614996565b611bb2848763ffffffff612ea616565b905080611c65611c606112ee565b612ef8565b11611c825760405162461bcd60e51b815260040161060a90615901565b5050915091565b6000611361827f74616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b6000611361827f6d616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b60008181526003602090815260408083205490516001600160a01b039091169182151591611d11918691016154c2565b60405160208183030381529060405290610fc55760405162461bcd60e51b815260040161060a91906157df565b6000611361827f64656c617965644f72646572436f6e6669726d57696e646f7700000000000000611ebd565b600061136182756e6578745072696365436f6e6669726d57696e646f7760501b611ebd565b60006110116b53797374656d53746174757360a01b611ce1565b6000611db3612f24565b6001600160a01b031663f7833c5d600080516020615b9983398151915284706f6666636861696e4d61726b65744b657960781b604051602001611df792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611e2a92919061567e565b60206040518083038186803b158015611e4257600080fd5b505afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113619190810190614996565b81156105dc576005600082600f811115611e9057fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161060a91906157f0565b6000611ec7612f24565b6001600160a01b03166323257c2b600080516020615b998339815191528585604051602001611ef792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611f2a92919061567e565b60206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110e59190810190614996565b600061101173233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b611ce1565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015611fe057600080fd5b505afa158015611ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120189190810190614996565b90506000612024612f41565b9050600061203185612fa7565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291612061918591016157d1565b600060405180830381600087803b15801561207b57600080fd5b505af115801561208f573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506120c2914291016159cc565b600060405180830381600087803b1580156120dc57600080fd5b505af11580156120f0573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250612123918691016157d1565b600060405180830381600087803b15801561213d57600080fd5b505af1158015612151573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516112e59550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561219e57600080fd5b505afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121d69190810190614ae4565b63ffffffff16613002565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561222557600080fd5b505afa158015612239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061225d91908101906149b4565b600f0b9050600061227461226f6112ee565b6130a8565b90506000612288838363ffffffff6130c016565b905060006122ac836122a0868a63ffffffff6130ea16565b9063ffffffff6130c016565b905060006122d06122c3888563ffffffff61313016565b889063ffffffff6130ea16565b905060006122f46122e7898563ffffffff61313016565b899063ffffffff6130ea16565b9050612312671bc16d674ec800006122a0848463ffffffff6130ea16565b9998505050505050505050565b6123276146bf565b508360008061233783868661315a565b91509150612344816131e1565b600061234e613202565b905061240a6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b81525061328f565b6001600160801b03831660408901526080880151600f0b15612535576001600160801b03861660608901526001600160401b038116602089015260008512156125355760006124608960800151600f0b8861331d565b90506000612485826124798c60800151600f0b8b61338b565b9063ffffffff6133d516565b9050612495818611156008611e7a565b60808a01516000906124b090600f0b8b63ffffffff6130ea16565b905060006124c58c60800151600f0b836133fa565b80156124e757506124dc8c60800151600f0b613419565b6124e583613419565b105b9050806125305761251c6125046124ff8e8d8b613424565b613419565b61251461250f6112ee565b613448565b106007611e7a565b612530612527613462565b88106008611e7a565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016125949695949392919061558c565b600060405180830381600087803b1580156125ae57600080fd5b505af11580156125c2573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612603908a908a908a908a908a908a908a9060200161597d565b6040516020818303038152906040526003604051612620906154f8565b6040519081900390208d6126338e6134df565b60006040518763ffffffff1660e01b81526004016125949695949392919061577c565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a999161268791859101615519565b60206040518083038186803b15801561269f57600080fd5b505afa1580156126b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126d79190810190614978565b156126e75760056000600e611e90565b6126ef6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161271e91889101615519565b60a06040518083038186803b15801561273657600080fd5b505afa15801561274a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061276e91908101906149f1565b90506127786146bf565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b81525090506127e46146bf565b6000806127f184886134eb565b925092509250612800816131e1565b6128178760400151886060015189600001516137d3565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f712946128d094600f90810b946128c494910b928892632b58ecef928083019260209291829003018186803b15801561287d57600080fd5b505afa158015612891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128b591908101906149b4565b600f0b9063ffffffff6130ea16565b9063ffffffff6137fb16565b6040518263ffffffff1660e01b81526004016128ec91906157d1565b600060405180830381600087803b15801561290657600080fd5b505af115801561291a573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a691506129ea9061294890600f0b613419565b611bb261295b8860800151600f0b613419565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561299d57600080fd5b505afa1580156129b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129d59190810190614a0f565b6001600160801b03169063ffffffff6133d516565b6040518263ffffffff1660e01b8152600401612a069190615961565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b505050508160001015612aa757612a49611f7a565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401612a749190615662565b600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b505050505b60c087015115612ad157612ad18760c00151612ac1611016565b612ac96112ee565b8a5186613841565b6040808401516001600160801b031690860152612aee838561328f565b83516000612afa613202565b90508460800151600f0b60001415612b2957600080885260808801819052606088018190526020880152612c4e565b6080860151600f0b612c1557600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015612b7757600080fd5b505afa158015612b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612baf9190810190614b02565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa8891612be2916001870191016159e8565b600060405180830381600087803b158015612bfc57600080fd5b505af1158015612c10573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b8152600401612cad9695949392919061558c565b600060405180830381600087803b158015612cc757600080fd5b505af1158015612cdb573d6000803e3d6000fd5b50505050611678826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b60065481516020808401516060850151608086015160a08701516101008801516040516001600160a01b039098169763907dff9797612daa9790968c9690959094909390929091016155fa565b6040516020818303038152906040526002604051612dc7906154e2565b6040518091039020612dd8886134df565b6000806040518763ffffffff1660e01b8152600401612dfc96959493929190615742565b600060405180830381600087803b158015612e1657600080fd5b505af1158015612e2a573d6000803e3d6000fd5b50505050505050565b815115612e6e57612e45610dba6112ee565b8260e00151420311612e695760405162461bcd60e51b815260040161060a90615911565b6105dc565b612e8a8260c001518284606001516001600160801b031661109e565b6105dc5760405162461bcd60e51b815260040161060a906158f1565b60006110e582612ec485670de0b6b3a764000063ffffffff6138f216565b9063ffffffff61392c16565b600082821115612ef25760405162461bcd60e51b815260040161060a90615871565b50900390565b6000611361827f6f6666636861696e5072696365446976657267656e6365000000000000000000611ebd565b60006110116e466c657869626c6553746f7261676560881b611ce1565b6000611011612f65612f51613961565b612f59613a08565b9063ffffffff61313016565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561287d57600080fd5b6000611361612fb583613a2f565b6004546001600160a01b03166341108cf2612fce613202565b6040518263ffffffff1660e01b8152600401612fea9190615662565b60206040518083038186803b15801561287d57600080fd5b6006546040516001600160a01b039091169063907dff979061302e908790879087908790602001615699565b604051602081830303815290604052600160405161304b9061550e565b6040519081900381206001600160e01b031960e086901b16825261307a939291600090819081906004016156ee565b600060405180830381600087803b15801561309457600080fd5b505af1158015610e7a573d6000803e3d6000fd5b60006113618268736b65775363616c6560b81b611ebd565b60006110e5826130de85670de0b6b3a764000063ffffffff613abc16565b9063ffffffff613b2716565b60008282018183128015906130ff5750838112155b80613114575060008312801561311457508381125b6110e55760405162461bcd60e51b815260040161060a90615861565b6000670de0b6b3a764000061314b848463ffffffff613abc16565b8161315257fe5b059392505050565b60008060006131798461316d8888613b8b565b9063ffffffff6130ea16565b90506000811215613192575060009150600890506131d9565b60808601518190600f0b60006131a8828961338b565b905081158015906131b95750808311155b156131ce5782600495509550505050506131d9565b509093506000925050505b935093915050565b6131ea81613bc5565b156131ff576005600082600f811115611e9057fe5b50565b60006110116001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb29190810190614996565b600061329a83613bdc565b905060006132a783613bdc565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f7926133019286926128c492899288926322d3090a92828101926020929190829003018186803b15801561287d57600080fd5b6040518263ffffffff1660e01b815260040161307a91906157d1565b60008261332c57506000611361565b600061333b6124ff8585613cb9565b905061338361335061334b6112ee565b613ccb565b6133778361337761336261226f6112ee565b61336b8a613419565b9063ffffffff612ea616565b9063ffffffff613cf716565b949350505050565b6000806133ae6133a161339c6112ee565b613d21565b6133778561337788613419565b90506133836133bb613d46565b6124796133c88787613da2565b849063ffffffff6133d516565b6000828201838110156110e55760405162461bcd60e51b815260040161060a90615831565b6000821580613407575081155b806110e5575050600090811291131490565b600061136182613df7565b600081613433575060006110e5565b613383826122a08660800151600f0b86613cb9565b6000611361826a6d61784c6576657261676560a81b611ebd565b600061346c612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60206040518083038186803b15801561106657600080fd5b6001600160a01b031690565b6134f36146bf565b8151600090819061350d575083915060009050600a6137cc565b61351b858560200151613e0d565b1561352f57508391506000905060046137cc565b60008061353a613e4b565b915091508015613557575085935060009250600c91506137cc9050565b6135618683613ee8565b93506000806135788989604001518860000361315a565b9150915061358581613bc5565b1561359c578896506000955093506137cc92505050565b6135a46146bf565b6040518060a001604052808b600001516001600160401b031681526020016135ca613202565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b031681526020016136188b600001518d60800151600f0b6130ea90919063ffffffff16565b600f0b8152509050600061363a8b60800151600f0b8360800151600f0b6133fa565b801561366357506136518b60800151600f0b613419565b6136618360800151600f0b613419565b105b9050806136ad57613672613462565b6040830151613690906001600160801b03168a63ffffffff6133d516565b10156136ad575089975060009650600895506137cc945050505050565b60006136c48360800151600f0b8c6020015161331d565b905060006136e1826124798660800151600f0b8f6020015161338b565b9050808611613702575091985060009750600496506137cc95505050505050565b6000613735613717888d63ffffffff6133d516565b6122a08f604001518860800151600f0b61313090919063ffffffff16565b905061374081613419565b613756662386f26fc1000061247961250f6112ee565b101561377657508c9a5060009950600798506137cc975050505050505050565b5061379f61378a6137856112ee565b6140e2565b8e60800151600f0b8660800151600f0b6140ff565b156137bd57508b995060009850600697506137cc9650505050505050565b50919850600096505050505050505b9250925092565b60006137f3600083136137e8578385106137ec565b8385115b600d611e7a565b509192915050565b60008183038183128015906138105750838113155b80613825575060008312801561382557508381135b6110e55760405162461bcd60e51b815260040161060a90615921565b6006546040516001600160a01b039091169063907dff979061386d908790879087908790602001615699565b604051602081830303815290604052600260405161388a90615503565b6040519081900381206001600160e01b031960e086901b1682526138b99392918b906000908190600401615742565b600060405180830381600087803b1580156138d357600080fd5b505af11580156138e7573d6000803e3d6000fd5b505050505050505050565b60008261390157506000611361565b8282028284828161390e57fe5b04146110e55760405162461bcd60e51b815260040161060a906158b1565b600080821161394d5760405162461bcd60e51b815260040161060a90615881565b600082848161395857fe5b04949350505050565b6000611011620151806122a0600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156139bb57600080fd5b505afa1580156139cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139f39190810190614ae4565b63ffffffff1642612ed090919063ffffffff16565b600080613a1b613a166112ee565b6142e9565b9050613a2981612f5961430a565b91505090565b600080613a3a612f41565b90506000613a9b6012600a0a6002026122a084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561287d57600080fd5b600003905061338384612f59613aaf613961565b849063ffffffff61313016565b600082613acb57506000611361565b82600019148015613adf5750600160ff1b82145b15613afc5760405162461bcd60e51b815260040161060a906158e1565b82820282848281613b0957fe5b05146110e55760405162461bcd60e51b815260040161060a906158e1565b600081613b465760405162461bcd60e51b815260040161060a90615941565b81600019148015613b5a5750600160ff1b83145b15613b775760405162461bcd60e51b815260040161060a90615891565b6000828481613b8257fe5b05949350505050565b600080613b9884846143ca565b90506133838161316d613bab878761441a565b60408801516001600160801b03169063ffffffff6130ea16565b60008082600f811115613bd457fe5b141592915050565b600480546020830151604051632088467960e11b815260009361136193613c9f93613c8b936001600160a01b03909216926341108cf292613c1e9291016159da565b60206040518083038186803b158015613c3657600080fd5b505afa158015613c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c6e91908101906149b4565b60608601516001600160801b031690600f0b63ffffffff6130ea16565b6080850151600f0b9063ffffffff61313016565b60408401516001600160801b03169063ffffffff6137fb16565b60006110e5838363ffffffff61313016565b6000611361827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000611ebd565b6000670de0b6b3a7640000613d12848463ffffffff6138f216565b81613d1957fe5b049392505050565b600061136182756c69717569646174696f6e427566666572526174696f60501b611ebd565b6000613d50612f24565b6001600160a01b03166323257c2b600080516020615b99833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016134c792919061567e565b600080613db06133a1614458565b90506000613dbc6144bd565b90506000818311613dcd5782613dcf565b815b90506000613ddb614518565b9050808211613dea5780613dec565b815b979650505050505050565b6000808212613e065781611361565b5060000390565b60008260800151600f0b60001415613e2757506000611361565b613e388360800151600f0b8361338b565b613e428484614573565b11159392505050565b600080613e566145a1565b6001600160a01b031663c39def0b631cd554d160e21b613e74611016565b6040518363ffffffff1660e01b8152600401613e9192919061567e565b604080518083038186803b158015613ea857600080fd5b505afa158015613ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ee09190810190614a2d565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015613f2c57600080fd5b505afa158015613f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f6491908101906149b4565b600f0b90506000613f868560400151866000015161313090919063ffffffff16565b90506000613f978561337784613419565b9050613fa986600001518401846133fa565b1561407857600061404283600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561400257600080fd5b505afa158015614016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403a91908101906149b4565b600f0b6133fa565b614050578660a00151614056565b86608001515b905061406b6124ff848363ffffffff61313016565b8201945050505050611361565b8551600090614094906124ff908681019063ffffffff6130c016565b90506000816012600a0a03905060006140b889608001516133778561337789613419565b905060006140d18a60a00151613377856133778a613419565b919094010198975050505050505050565b6000611361826d6d61784d61726b657456616c756560901b611ebd565b600061410b83836133fa565b8015614127575061411b83613419565b61412483613419565b11155b15614134575060006110e5565b60006141d38361316d86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561418c57600080fd5b505afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141c491908101906149b4565b600f0b9063ffffffff6137fb16565b9050600061427e6141e385613df7565b61316d6141ef88613df7565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561423157600080fd5b505afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142699190810190614a0f565b6001600160801b03169063ffffffff6137fb16565b9050600084600012156142a25761429b828463ffffffff6130ea16565b90506142b5565b6142b2828463ffffffff6137fb16565b90505b6142c96124ff82600263ffffffff613b2716565b8710156142dc57600193505050506110e5565b5060009695505050505050565b600061136182716d617846756e64696e6756656c6f6369747960701b611ebd565b6000806143a461431b61226f6112ee565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b15801561435d57600080fd5b505afa158015614371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061439591908101906149b4565b600f0b9063ffffffff6130c016565b9050613a296143bc670de0b6b3a763ffff19836145b8565b670de0b6b3a76400006145cd565b60208201516000906001600160401b0316806143ea576000915050611361565b60006143f682856145e3565b608086015190915061441190600f0b8263ffffffff61313016565b95945050505050565b60008061443d84606001516001600160801b0316846137fb90919063ffffffff16565b608085015190915061338390600f0b8263ffffffff61313016565b6000614462612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60006144c7612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b6000614522612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b60008061459461458a8560800151600f0b8561331d565b6128c48686613b8b565b90506133836000826145b8565b60006110116822bc31b430b733b2b960b91b611ce1565b60008183126145c757826110e5565b50919050565b60008183126145dc57816110e5565b5090919050565b60048054604051632088467960e11b81526000926110e5926001600160a01b0316916341108cf29161461791889101615662565b60206040518083038186803b15801561462f57600080fd5b505afa158015614643573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061466791908101906149b4565b600f0b6128c484612fa7565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b803561136181615b4e565b805161136181615b4e565b60008083601f84011261471557600080fd5b5081356001600160401b0381111561472c57600080fd5b60208301915083602082028301111561474457600080fd5b9250929050565b805161136181615b62565b805161136181615b6b565b805161136181615b74565b6000610120828403121561477f57600080fd5b61478a6101206159f6565b90506000614798848461474b565b82525060206147a984848301614761565b60208301525060406147bd848285016148c6565b60408301525060606147d1848285016148c6565b60608301525060806147e5848285016148c6565b60808301525060a06147f9848285016148c6565b60a08301525060c061480d84828501614756565b60c08301525060e061482184828501614756565b60e08301525061010061483684828501614756565b6101008301525092915050565b600060a0828403121561485557600080fd5b61485f60a06159f6565b9050600061486d84846148dc565b825250602061487e848483016148dc565b6020830152506040614892848285016148c6565b60408301525060606148a6848285016148c6565b60608301525060806148ba84828501614761565b60808301525092915050565b805161136181615b7d565b805161136181615b86565b805161136181615b8f565b6000602082840312156148f957600080fd5b600061338384846146ed565b60006020828403121561491757600080fd5b600061338384846146f8565b60008060006040848603121561493857600080fd5b600061494486866146ed565b93505060208401356001600160401b0381111561496057600080fd5b61496c86828701614703565b92509250509250925092565b60006020828403121561498a57600080fd5b6000613383848461474b565b6000602082840312156149a857600080fd5b60006133838484614756565b6000602082840312156149c657600080fd5b60006133838484614761565b600061012082840312156149e557600080fd5b6000613383848461476c565b600060a08284031215614a0357600080fd5b60006133838484614843565b600060208284031215614a2157600080fd5b600061338384846148c6565b60008060408385031215614a4057600080fd5b6000614a4c8585614756565b9250506020614a5d8582860161474b565b9150509250929050565b600080600060608486031215614a7c57600080fd5b6000614a888686614756565b9350506020614a998682870161474b565b9250506040614aaa8682870161474b565b9150509250925092565b60008060408385031215614ac757600080fd5b6000614ad38585614756565b9250506020614a5d85828601614756565b600060208284031215614af657600080fd5b600061338384846148d1565b600060208284031215614b1457600080fd5b600061338384846148dc565b6000614b2c8383614c2a565b505060200190565b6000613383848484614c44565b614b4a81615ac7565b82525050565b614b4a81615a90565b6000614b6482615a2e565b614b6e8185615a32565b9350614b7983615a1c565b8060005b83811015614ba7578151614b918882614b20565b9750614b9c83615a1c565b925050600101614b7d565b509495945050505050565b6000614bbe8385615a32565b935083602084028501614bd084610478565b8060005b87811015614c14578484038952614beb8284615a40565b614bf6868284614b34565b9550614c0184615a1c565b60209b909b019a93505050600101614bd4565b5091979650505050505050565b614b4a81615a9b565b614b4a81610478565b614b4a614c3f82610478565b610478565b6000614c508385615a32565b9350614c5d838584615b08565b614c6683615b44565b9093019392505050565b6000614c7b82615a2e565b614c858185615a32565b9350614c95818560208601615b14565b614c6681615b44565b614b4a81615ace565b614b4a81615aa0565b614b4a81615ad9565b614b4a81615ae7565b600081546001811660008114614cdf5760018114614d0557614d44565b607f6002830416614cf08187615a32565b60ff1984168152955050602085019250614d44565b60028204614d138187615a32565b9550614d1e85615a22565b60005b82811015614d3d57815488820152600190910190602001614d21565b8701945050505b505092915050565b6000614d59603583615a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614db0601983615a32565b7f6f7264657220746f6f206f6c642c207573652063616e63656c00000000000000815260200192915050565b6000614de9601383615a32565b720696e76616c69642c207072696365206973203606c1b815260200192915050565b6000614e18601b83615a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614e51601183615a32565b701c1c9a58d9481b9bdd081d5c19185d1959607a1b815260200192915050565b6000614e7e601383615a32565b721d5cd9481bd99998da185a5b881b595d1a1bd9606a1b815260200192915050565b6000614ead602183615a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614ef0601e83615a32565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614f29601a83615a32565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614f62601183615a3b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614f8f602183615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614fd2602f83615a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615023602183615a32565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615066601983615a32565b7f6578656375746162696c697479206e6f74207265616368656400000000000000815260200192915050565b600061509f601183615a32565b70373790383932bb34b7bab99037b93232b960791b815260200192915050565b60006150cc602783615a32565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000615115602183615a32565b7f63616e6e6f742062652063616e63656c6c6564206279206b65657065722079658152601d60fa1b602082015260400192915050565b6000615158601983615a32565b7f707269636520646976657267656e636520746f6f206869676800000000000000815260200192915050565b6000615191605083615a3b565b7f44656c617965644f7264657252656d6f76656428616464726573732c626f6f6c81527f2c75696e743235362c696e743235362c75696e743235362c75696e743235362c60208201526f75696e743235362c627974657333322960801b604082015260500192915050565b6000615209601983615a3b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615242601183615a32565b7018d85b9b9bdd0818d85b98d95b081e595d607a1b815260200192915050565b600061526f605683615a3b565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006152ed603583615a3b565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000615344602483615a32565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061538a601783615a32565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006153c3602083615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b60006153fc601283615a32565b711d5cd9481bdb98da185a5b881b595d1a1bd960721b815260200192915050565b600061542a603083615a3b565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b614b4a81615aa6565b614b4a81615af2565b614b4a81615ab2565b614b4a81615afd565b614b4a81615abb565b60006154a88285614c33565b6020820191506154b88284614c33565b5060200192915050565b60006154cd82614f55565b91506154d98284614c33565b50602001919050565b600061136182615184565b60006154cd826151fc565b600061136182615262565b6000611361826152e0565b60006113618261541d565b602081016113618284614b50565b602081016113618284614b41565b604081016155438285614b50565b6110e56020830184614b50565b6040810161555e8286614b50565b8181036020830152614411818486614bb2565b6040810161557f8285614b50565b6110e56020830184615478565b60c0810161559a8289614b50565b6155a76020830188615493565b6155b46040830187615493565b6155c1606083018661546f565b6155ce608083018561546f565b613dec60a0830184614ca7565b602080825281016110e58184614b59565b602081016113618284614c21565b60e08101615608828a614c21565b6156156020830189614c2a565b6156226040830188614ca7565b61562f606083018761546f565b61563c608083018661546f565b61564960a083018561546f565b61565660c0830184614c2a565b98975050505050505050565b602081016113618284614c2a565b604081016155438285614c2a565b6040810161568c8285614c2a565b6110e56020830184614c2a565b608081016156a78287614c2a565b6156b46020830186614c2a565b6156c16040830185614c2a565b6144116060830184614c2a565b604081016156dc8285614c2a565b81810360208301526133838184614c70565b60c080825281016156ff8189614c70565b905061570e6020830188614cb9565b61571b6040830187614c2a565b6157286060830186614cb0565b6157356080830185614cb0565b613dec60a0830184614cb0565b60c080825281016157538189614c70565b90506157626020830188614cb9565b61576f6040830187614c2a565b6157286060830186614c2a565b60c0808252810161578d8189614c70565b905061579c6020830188614cb9565b6157a96040830187614c2a565b6157b66060830186614c2a565b6157356080830185614c2a565b602081016113618284614c9e565b602081016113618284614ca7565b602080825281016110e58184614c70565b602080825281016110e58184614cc2565b6020808252810161136181614d4c565b6020808252810161136181614da3565b6020808252810161136181614ddc565b6020808252810161136181614e0b565b6020808252810161136181614e44565b6020808252810161136181614e71565b6020808252810161136181614ea0565b6020808252810161136181614ee3565b6020808252810161136181614f1c565b6020808252810161136181614f82565b6020808252810161136181614fc5565b6020808252810161136181615016565b6020808252810161136181615059565b6020808252810161136181615092565b60208082528101611361816150bf565b6020808252810161136181615108565b602080825281016113618161514b565b6020808252810161136181615235565b6020808252810161136181615337565b602080825281016113618161537d565b60208082528101611361816153b6565b60208082528101611361816153ef565b60208101611361828461546f565b602081016113618284615478565b60e0810161598b828a614c2a565b6159986020830189614c2a565b6159a56040830188614c2a565b6159b26060830187614c2a565b6159bf6080830186614c2a565b61564960a0830185614c2a565b602081016113618284615481565b60208101611361828461548a565b602081016113618284615493565b6040518181016001600160401b0381118282101715615a1457600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b6000808335601e1936859003018112615a5857600080fd5b8381016020810193503591506001600160401b03821115615a7857600080fd5b36829003841315615a8857600080fd5b509250929050565b6000611361826134df565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b6000611361825b600061136182615a90565b6000611361614c3f83610478565b600061136182610478565b600061136182615aa6565b600061136182615abb565b82818337506000910152565b60005b83811015615b2f578181015183820152602001615b17565b83811115615b3e576000848401525b50505050565b601f01601f191690565b615b5781615a90565b81146131ff57600080fd5b615b5781615a9b565b615b5781610478565b615b5781615aa0565b615b5781615aa6565b615b5781615ab2565b615b5781615abb56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a7231582020f245fdc81cc3e7a23dd15c4be74ac4fa927b17add7120d007f34371ae3a0ba6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_marketState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isOffchain",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "currentRoundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "targetRoundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "commitDeposit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "keeperDeposit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "DelayedOrderRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "fundingRate",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "FundingRecomputed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "baseAsset",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "PerpsTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "margin",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "tradeSize",
							"type": "int256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastPrice",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fundingIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "skew",
							"type": "int256"
						}
					],
					"name": "PositionModified",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "cancelDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "cancelOffchainDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "executeDelayedOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes[]",
							"name": "priceUpdateData",
							"type": "bytes[]"
						}
					],
					"name": "executeOffchainDelayedOrder",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketState",
					"outputs": [
						{
							"internalType": "contract IPerpsV2MarketState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x2c1acbd8bc17ddbabbaac3a3783d53512b4f0d66d359cec8ce924e9326a9bbce",
				"urls": [
					"bzz-raw://873d530059b6cf28f706e559ca5621f130daee2dbac72229f53ee918749b77cc",
					"dweb:/ipfs/QmZW3anF9s6n3pkiBxFBcAuoby2McRDit3bKp4WLFYyeTN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketDelayedExecution.sol": "PerpsV2MarketDelayedExecution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketDelayedExecution.sol": {
						"keccak256": "0x2c1acbd8bc17ddbabbaac3a3783d53512b4f0d66d359cec8ce924e9326a9bbce",
						"urls": [
							"bzz-raw://873d530059b6cf28f706e559ca5621f130daee2dbac72229f53ee918749b77cc",
							"dweb:/ipfs/QmZW3anF9s6n3pkiBxFBcAuoby2McRDit3bKp4WLFYyeTN"
						]
					}
				},
				"version": 1
			}
		},
		"PerpsV2MarketViews": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162004f3d38038062004f3d833981016040819052620000349162000806565b8282828080836001600160a01b0381166200006c5760405162461bcd60e51b81526004016200006390620008d7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b9918490620008b1565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000151917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b916200074e565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001b6917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a916200074e565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e67650000006020808301918252600360005260059052905162000226917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc0916200074e565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c6971756964617465640000000000006020808301918252600460005260059052905162000296917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d5916200074e565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c6971756964617465640000006020808301918252600560008190529052905162000306917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d916200074e565b5060408051808201909152601881527f4d6178206d61726b65742073697a6520657863656564656400000000000000006020808301918252600660005260059052905162000376917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac518916200074e565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003e6917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d81460916200074e565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e000000000000000000000000006020808301918252600860005260059052905162000456917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e916200074e565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004c6917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1916200074e565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a60005260059052905162000536917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d916200074e565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b60005260059052905162000599917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed5916200074e565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c600052600590529051620005fe917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e6916200074e565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d6000526005905290516200066e917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac825916200074e565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d1917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb53916200074e565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000741917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af916200074e565b5050505050505062000932565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200079157805160ff1916838001178555620007c1565b82800160010185558215620007c1579182015b82811115620007c1578251825591602001919060010190620007a4565b50620007cf929150620007d3565b5090565b620007f091905b80821115620007cf5760008155600101620007da565b90565b8051620008008162000918565b92915050565b6000806000606084860312156200081c57600080fd5b60006200082a8686620007f3565b93505060206200083d86828701620007f3565b92505060406200085086828701620007f3565b9150509250925092565b620008658162000904565b82525050565b6200086581620008f2565b600062000885601983620008e9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620008c182856200085a565b620008d060208301846200086b565b9392505050565b60208082528101620008008162000876565b90815260200190565b60006001600160a01b03821662000800565b6000620008008260006200080082620008f2565b6200092381620008f2565b81146200092f57600080fd5b50565b6145fb80620009426000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063917e77f511610130578063cded0cea116100b8578063e8c634701161007c578063e8c6347014610457578063ea1d54781461045f578063ea9f9aa714610484578063eb56105d14610497578063fef48a99146104ac57610227565b8063cded0cea1461042f578063cdf456e114610437578063d24378eb1461043f578063d7103a4614610447578063e44c84c21461044f57610227565b8063b74e3806116100ff578063b74e3806146103ce578063b895daab146103d6578063b9f4ff55146103e9578063c8023af4146103fc578063c8b809aa1461040f57610227565b8063917e77f51461038d578063964db90c146103955780639cfbf4e4146103a8578063b111dfac146103bb57610227565b80634dd9d7e9116101b35780637418536011610182578063741853601461034d578063785cdeec1461035557806379ba509714610368578063899ffef4146103705780638da5cb5b1461038557610227565b80634dd9d7e9146102ef57806353a47bb71461030257806355f57510146103175780635fc890c21461033757610227565b806327b9a236116101fa57806327b9a236146102885780632af64bd31461029d5780632b58ecef146102b25780633aef4d0b146102c757806341108cf2146102dc57610227565b806304f3bcec1461022c57806308fb1b771461024a5780631627540c146102525780631bf556d014610267575b600080fd5b6102346104bf565b60405161024191906142e0565b60405180910390f35b6102346104ce565b610265610260366004613a92565b6104dd565b005b61027a610275366004613a92565b61053b565b6040516102419291906142fc565b6102906105e3565b6040516102419190614452565b6102a5610671565b604051610241919061427b565b6102ba610788565b60405161024191906142ee565b6102cf610810565b6040516102419190614289565b6102ba6102ea366004613b28565b61081a565b61027a6102fd366004613b46565b6108a4565b61030a61096a565b6040516102419190614241565b61032a610325366004613a92565b610979565b60405161024191906143e7565b61033f610a00565b6040516102419291906142a5565b610265610b6e565b61027a610363366004613a92565b610cc4565b610265610d61565b610378610e06565b604051610241919061426a565b61030a610f78565b61027a610f87565b61027a6103a3366004613a92565b610fab565b61027a6103b6366004613a92565b611048565b61027a6103c9366004613a92565b6110e5565b6102cf611182565b61027a6103e4366004613a92565b61118c565b6102a56103f7366004613a92565b611230565b6102cf61040a366004613a92565b6112db565b61042261041d366004613a92565b6113d1565b60405161024191906143d8565b6102cf611459565b6102cf6114e1565b61027a6114eb565b6102cf6114fe565b6102ba611508565b61027a611558565b61047261046d366004613b80565b611573565b60405161024196959493929190614403565b61027a610492366004613b28565b611733565b61049f611754565b60405161024191906143f5565b6102a56104ba366004613a92565b6117dc565b6002546001600160a01b031681565b6004546001600160a01b031681565b6104e561185e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610530908390614241565b60405180910390a150565b60008060008061054961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610582918a9101614241565b60a06040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d29190810190613c00565b836119bb565b93509150505b915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505afa158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c6c565b90505b90565b6000606061067d610e06565b905060005b815181101561077f57600082828151811061069957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106ea908590600401614289565b60206040518083038186803b15801561070257600080fd5b505afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073a9190810190613ab0565b6001600160a01b031614158061076557506000818152600360205260409020546001600160a01b0316155b15610776576000935050505061066e565b50600101610682565b50600191505090565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613b0a565b600061066b611a0e565b60048054604051632088467960e11b81526000926001600160a01b03909216916341108cf29161084c91869101614289565b60206040518083038186803b15801561086457600080fd5b505afa158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613b0a565b90505b919050565b6000806000806108b261188a565b915091506000806108c1611abb565b9150915060008060006108d38a611b50565b92509250925080156108f45750600097506001965061096395505050505050565b60006109008c89611bf7565b905061090a613810565b6040518060e001604052808e81526020018a81526020018381526020018381526020018581526020018681526020016000801b815250905061094c8188611d35565b88806109555750865b9a509a505050505050505050505b9250929050565b6001546001600160a01b031681565b610981613850565b6004805460405163055f575160e41b81526001600160a01b03909116916355f57510916109b091869101614241565b60a06040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613c00565b6000806000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5357600080fd5b505afa158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a8b9190810190613c1e565b6001600160801b031690506000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b1e9190810190613b0a565b600f0b9050610b4c610b476002610b3b858563ffffffff611f3b16565b9063ffffffff611f8816565b611fec565b610b64610b476002610b3b868663ffffffff611ff716565b9350935050509091565b6060610b78610e06565b905060005b8151811015610cc0576000828281518110610b9457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bd69190614236565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c029291906142c0565b60206040518083038186803b158015610c1a57600080fd5b505afa158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c529190810190613ab0565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cae9084908490614297565b60405180910390a15050600101610b7d565b5050565b600080600080610cd261188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610d0b918a9101614241565b60a06040518083038186803b158015610d2357600080fd5b505afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d5b9190810190613c00565b8361203d565b6001546001600160a01b03163314610d945760405162461bcd60e51b8152600401610d8b90614328565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610dd7926001600160a01b039182169291169061424f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610e116120f5565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610e5357fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610e7d57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610ea657fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610ed757fe5b60200260200101818152505060008051602061459983398151915281600481518110610eff57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610f2f57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610f5b57fe5b602002602001018181525050610f718282612146565b9250505090565b6000546001600160a01b031681565b600080600080610f9561188a565b91509150610fa282612202565b93509150509091565b600080600080610fb961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610ff2918a9101614241565b60a06040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190613c00565b8361228f565b60008060008061105661188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161108f918a9101614241565b60a06040518083038186803b1580156110a757600080fd5b505afa1580156110bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110df9190810190613c00565b83612344565b6000806000806110f361188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161112c918a9101614241565b60a06040518083038186803b15801561114457600080fd5b505afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117c9190810190613c00565b83612351565b600061066b61238f565b60008060008061119a61188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f57510916111d3918a9101614241565b60a06040518083038186803b1580156111eb57600080fd5b505afa1580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112239190810190613c00565b60800151600f0b836123b6565b600080600061123d61188a565b91509150801580156112d357506004805460405163055f575160e41b81526112d3926001600160a01b03909216916355f575109161127d91899101614241565b60a06040518083038186803b15801561129557600080fd5b505afa1580156112a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cd9190810190613c00565b836123c8565b949350505050565b60008060006112e861188a565b915091508015801561132857506004805460405163055f575160e41b8152611328926001600160a01b03909216916355f575109161127d91899101614241565b156113c6576004805460405163055f575160e41b81526113bd926001600160a01b03909216916355f575109161136091899101614241565b60a06040518083038186803b15801561137857600080fd5b505afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113b09190810190613c00565b60800151600f0b83612406565b9250505061089f565b60009250505061089f565b6113d961387e565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161140891869101614241565b6101206040518083038186803b15801561142157600080fd5b505afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613be1565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b505afa1580156114bd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613aec565b600061066b612465565b6000806114f661188a565b915091509091565b600061066b6124b5565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b60008060008061156661188a565b91509150610fa282612505565b600080600080600080600080600061158a8b611b50565b9194509250905080156115b457506000975087965086955085945084935060029250611726915050565b6115bd8c612781565b909c50905080156115e557506000975087965086955085945084935060019250611726915050565b506115ee613810565b6040518060e001604052808e81526020018d815260200161160f8f8f611bf7565b81526020018d81526020018381526020018481526020016000801b8152509050611637613850565b6000806116d4600460009054906101000a90046001600160a01b03166001600160a01b03166355f575108f6040518263ffffffff1660e01b815260040161167e9190614241565b60a06040518083038186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ce9190810190613c00565b856127a6565b9250925092506116f18384606001516001600160801b031661228f565b604084015160808501516060909501516001600160801b039182169e50600f9590950b9c509093169950919750955093505050505b9499939850945094509450565b60008061173e61188a565b909250905061174d8383611bf7565b9150915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a457600080fd5b505afa1580156117b8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c1e565b6004805460405163fef48a9960e01b81526000926001600160a01b039092169163fef48a999161180e91869101614241565b60206040518083038186803b15801561182657600080fd5b505afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613ace565b6000546001600160a01b031633146118885760405162461bcd60e51b8152600401610d8b90614388565b565b600080611895612a9c565b6001600160a01b0316630c71cd236118ab612465565b6040518263ffffffff1660e01b81526004016118c79190614289565b604080518083038186803b1580156118de57600080fd5b505afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119169190810190613c3c565b90925090508080611925575081155b806119b55750611933612ab7565b6001600160a01b031663b431c0ea611949612465565b6040518263ffffffff1660e01b81526004016119659190614289565b60206040518083038186803b15801561197d57600080fd5b505afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b59190810190613ace565b90509091565b602082015160009067ffffffffffffffff16806119dc576000915050611a08565b60006119e88285612ad1565b6080860151909150611a0390600f0b8263ffffffff612b6116565b925050505b92915050565b600061066b611a32611a1e612b8b565b611a2661238f565b9063ffffffff612b6116565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611a7457600080fd5b505afa158015611a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aac9190810190613b0a565b600f0b9063ffffffff611f3b16565b600080611ac6612c32565b6001600160a01b031663c39def0b631cd554d160e21b611ae4612465565b6040518363ffffffff1660e01b8152600401611b019291906142a5565b604080518083038186803b158015611b1857600080fd5b505afa158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f69190810190613c3c565b600080600080611b5e6124b5565b60009250905081856002811115611b7157fe5b1415611b9257611b8081612c49565b9350611b8b81612c60565b9250611bef565b6001856002811115611ba057fe5b1415611bba57611baf81612c77565b9350611b8b81612c9a565b6002856002811115611bc857fe5b1415611be257611bd781612cbd565b9350611b8b81612ce9565b6000935060009250600191505b509193909250565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c739190810190613b0a565b600f0b90506000611c8a611c856124b5565b612d15565b90506000611c9e838363ffffffff612d2d16565b90506000611cc283611cb6868a63ffffffff611f3b16565b9063ffffffff612d2d16565b90506000611ce6611cd9888563ffffffff612b6116565b889063ffffffff611f3b16565b90506000611d0a611cfd898563ffffffff612b6116565b899063ffffffff611f3b16565b9050611d28671bc16d674ec80000611cb6848463ffffffff611f3b16565b9998505050505050505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611d7957600080fd5b505afa158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611db19190810190613b0a565b600f0b90506000611dd385604001518660000151612b6190919063ffffffff16565b90506000611df085611de484611fec565b9063ffffffff612d4b16565b9050611e028660000151840184612d75565b15611ed1576000611e9b83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5b57600080fd5b505afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e939190810190613b0a565b600f0b612d75565b611ea9578660a00151611eaf565b86608001515b9050611ec4610b47848363ffffffff612b6116565b8201945050505050611a08565b8551600090611eed90610b47908681019063ffffffff612d2d16565b90506000816012600a0a0390506000611f118960800151611de485611de489611fec565b90506000611f2a8a60a00151611de485611de48a611fec565b919094010198975050505050505050565b6000828201818312801590611f505750838112155b80611f655750600083128015611f6557508381125b611f815760405162461bcd60e51b8152600401610d8b90614348565b9392505050565b600081611fa75760405162461bcd60e51b8152600401610d8b906143c8565b81600019148015611fbb5750600160ff1b83145b15611fd85760405162461bcd60e51b8152600401610d8b90614378565b6000828481611fe357fe5b05949350505050565b600061089c82612d94565b600081830381831280159061200c5750838113155b80612021575060008312801561202157508381135b611f815760405162461bcd60e51b8152600401610d8b906143b8565b600066038d7ea4c68000816120688261205c6120576124b5565b612daa565b9063ffffffff612dc416565b90506000612084610b4783611cb68960800151600f0b896123b6565b905080156120b8576000612096612dec565b9050808210156120a4578091505b6120b4828563ffffffff612e6916565b9150505b60006120c48787612344565b90508181116120da576000945050505050611a08565b6120ea818363ffffffff612dc416565b979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061213757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612176578160200160208202803883390190505b50905060005b83518110156121b85783818151811061219157fe5b60200260200101518282815181106121a557fe5b602090810291909101015260010161217c565b5060005b82518110156121fb578281815181106121d157fe5b60200260200101518282865101815181106121e857fe5b60209081029190910101526001016121bc565b5092915050565b60008061220d611a0e565b9050600061226e6012600a0a600202611cb684600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7457600080fd5b60000390506112d384611a26612282612b8b565b849063ffffffff612b6116565b60008260800151600f0b600014156122a957506000611a08565b60006123376122c6856020015167ffffffffffffffff1685612ad1565b60808601516123119061231d90600f0b611cb66123006122e6838b612e8e565b60408c01516001600160801b03169063ffffffff611ff716565b6123118b60800151600f0b8b612ee8565b9063ffffffff611ff716565b60608801516001600160801b03169063ffffffff611f3b16565b90506112d3600082612f25565b6000806123378484612f3a565b60008061237484606001516001600160801b031684611ff790919063ffffffff16565b60808501519091506112d390600f0b8263ffffffff612b6116565b6000806123a261239d6124b5565b612f74565b90506123b081611a26612f95565b91505090565b6000611f81838363ffffffff612b6116565b60008260800151600f0b600014156123e257506000611a08565b6123f38360800151600f0b83612ee8565b6123fd8484613055565b11159392505050565b600080612421612414613076565b611de485611de488611fec565b9050600061242d6130db565b9050600081831161243e5782612440565b815b9050600061244c613136565b905080821161245b57806120ea565b5095945050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561255557600080fd5b505afa158015612569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061258d9190810190613b0a565b600f0b15801561261757506004805460408051631169848560e11b815290516001600160a01b03909216926322d3090a928282019260209290829003018186803b1580156125da57600080fd5b505afa1580156125ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126129190810190613b0a565b600f0b155b156126245750600061089f565b600061263f61263284613191565b849063ffffffff611f3b16565b90506000612774600460009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561269457600080fd5b505afa1580156126a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126cc9190810190613b0a565b600f0b61276884600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561272157600080fd5b505afa158015612735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127599190810190613b0a565b600f0b9063ffffffff612b6116565b9063ffffffff611f3b16565b90506112d3816000612f25565b6000808215612795575081905060006105de565b61279d61188a565b91509150915091565b6127ae613850565b815160009081906127c8575083915060009050600a612a95565b6127d68585602001516123c8565b156127ea5750839150600090506004612a95565b6000806127f5611abb565b915091508015612812575085935060009250600c9150612a959050565b61281c8683611d35565b9350600080612833898960400151886000036131ec565b9150915061284081613267565b1561285757889650600095509350612a9592505050565b61285f613850565b6040518060a001604052808b6000015167ffffffffffffffff16815260200161288661327e565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b031681526020016128d58b600001518d60800151600f0b611f3b90919063ffffffff16565b600f0b815250905060006128f78b60800151600f0b8360800151600f0b612d75565b8015612920575061290e8b60800151600f0b611fec565b61291e8360800151600f0b611fec565b105b90508061296a5761292f612dec565b604083015161294d906001600160801b03168a63ffffffff612e6916565b101561296a57508997506000965060089550612a95945050505050565b60006129818360800151600f0b8c60200151612e8e565b905060006129aa8261299e8660800151600f0b8f60200151612ee8565b9063ffffffff612e6916565b90508086116129cb57509198506000975060049650612a9595505050505050565b60006129fe6129e0888d63ffffffff612e6916565b611cb68f604001518860800151600f0b612b6190919063ffffffff16565b9050612a0981611fec565b612a1f662386f26fc1000061299e6120576124b5565b1015612a3f57508c9a506000995060079850612a95975050505050505050565b50612a68612a53612a4e6124b5565b61330b565b8e60800151600f0b8660800151600f0b613328565b15612a8657508b99506000985060069750612a959650505050505050565b50919850600096505050505050505b9250925092565b600061066b6c45786368616e6765526174657360981b613512565b600061066b6b53797374656d53746174757360a01b613512565b60048054604051632088467960e11b8152600092611f81926001600160a01b0316916341108cf291612b0591889101614289565b60206040518083038186803b158015612b1d57600080fd5b505afa158015612b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b559190810190613b0a565b600f0b61231184613191565b6000670de0b6b3a7640000612b7c848463ffffffff61356f16565b81612b8357fe5b059392505050565b600061066b62015180611cb6600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b158015612be557600080fd5b505afa158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c1d9190810190613c6c565b63ffffffff1642612dc490919063ffffffff16565b600061066b6822bc31b430b733b2b960b91b613512565b600061089c82676d616b657246656560c01b6135da565b600061089c826774616b657246656560c01b6135da565b600061089c827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c82733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c827f74616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c8268736b65775363616c6560b81b6135da565b6000611f8182610b3b85670de0b6b3a764000063ffffffff61356f16565b6000670de0b6b3a7640000612d66848463ffffffff61369716565b81612d6d57fe5b049392505050565b6000821580612d82575081155b80611f81575050600090811291131490565b6000808212612da3578161089c565b5060000390565b600061089c826a6d61784c6576657261676560a81b6135da565b600082821115612de65760405162461bcd60e51b8152600401610d8b90614358565b50900390565b6000612df66136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60206040518083038186803b1580156114a957600080fd5b600082820183811015611f815760405162461bcd60e51b8152600401610d8b90614338565b600082612e9d57506000611a08565b6000612eac610b4785856123b6565b90506112d3612ec1612ebc6124b5565b6136ee565b611de483611de4612ed3611c856124b5565b612edc8a611fec565b9063ffffffff61371a16565b600080612efe612414612ef96124b5565b613744565b90506112d3612f0b613769565b61299e612f188787612406565b849063ffffffff612e6916565b6000818312612f345782611f81565b50919050565b600080612f4784846119bb565b90506112d381612768612f5a8787612351565b60408801516001600160801b03169063ffffffff611f3b16565b600061089c82716d617846756e64696e6756656c6f6369747960701b6135da565b60008061302f612fa6611c856124b5565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612fe857600080fd5b505afa158015612ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130209190810190613b0a565b600f0b9063ffffffff612d2d16565b90506123b0613047670de0b6b3a763ffff1983612f25565b670de0b6b3a76400006137c5565b60008061233761306c8560800151600f0b85612e8e565b6123118686612f3a565b60006130806136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60006130e56136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60006131406136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b600061089c61319f83612202565b6004546001600160a01b03166341108cf26131b861327e565b6040518263ffffffff1660e01b81526004016131d49190614289565b60206040518083038186803b158015611a7457600080fd5b60008060006131ff846127688888612f3a565b905060008112156132185750600091506008905061325f565b60808601518190600f0b600061322e8289612ee8565b9050811580159061323f5750808311155b1561325457826004955095505050505061325f565b509093506000925050505b935093915050565b60008082600f81111561327657fe5b141592915050565b600061066b6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132d357600080fd5b505afa1580156132e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205c9190810190613aec565b600061089c826d6d61784d61726b657456616c756560901b6135da565b60006133348383612d75565b8015613350575061334483611fec565b61334d83611fec565b11155b1561335d57506000611f81565b60006133fc8361276886600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133b557600080fd5b505afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133ed9190810190613b0a565b600f0b9063ffffffff611ff716565b905060006134a761340c85612d94565b61276861341888612d94565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561345a57600080fd5b505afa15801561346e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134929190810190613c1e565b6001600160801b03169063ffffffff611ff716565b9050600084600012156134cb576134c4828463ffffffff611f3b16565b90506134de565b6134db828463ffffffff611ff716565b90505b6134f2610b4782600263ffffffff611f8816565b8710156135055760019350505050611f81565b5060009695505050505050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161354291869101614216565b604051602081830303815290604052906121fb5760405162461bcd60e51b8152600401610d8b9190614317565b60008261357e57506000611a08565b826000191480156135925750600160ff1b82145b156135af5760405162461bcd60e51b8152600401610d8b906143a8565b828202828482816135bc57fe5b0514611f815760405162461bcd60e51b8152600401610d8b906143a8565b60006135e46136d1565b6001600160a01b03166323257c2b60008051602061459983398151915285856040516020016136149291906141f0565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016136479291906142a5565b60206040518083038186803b15801561365f57600080fd5b505afa158015613673573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f819190810190613aec565b6000826136a657506000611a08565b828202828482816136b357fe5b0414611f815760405162461bcd60e51b8152600401610d8b90614398565b600061066b6e466c657869626c6553746f7261676560881b613512565b600061089c827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006135da565b6000611f818261373885670de0b6b3a764000063ffffffff61369716565b9063ffffffff6137db16565b600061089c82756c69717569646174696f6e427566666572526174696f60501b6135da565b60006137736136d1565b6001600160a01b03166323257c2b600080516020614599833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60008183126137d45781611f81565b5090919050565b60008082116137fc5760405162461bcd60e51b8152600401610d8b90614368565b600082848161380757fe5b04949350505050565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611a0881614541565b8051611a0881614541565b8051611a0881614555565b8051611a088161455e565b8035611a0881614567565b8051611a0881614574565b8035611a088161455e565b6000610120828403121561392a57600080fd5b613935610120614460565b9050600061394384846138e0565b825250602061395484848301613901565b602083015250604061396884828501613a71565b604083015250606061397c84828501613a71565b606083015250608061399084828501613a71565b60808301525060a06139a484828501613a71565b60a08301525060c06139b8848285016138eb565b60c08301525060e06139cc848285016138eb565b60e0830152506101006139e1848285016138eb565b6101008301525092915050565b600060a08284031215613a0057600080fd5b613a0a60a0614460565b90506000613a188484613a87565b8252506020613a2984848301613a87565b6020830152506040613a3d84828501613a71565b6040830152506060613a5184828501613a71565b6060830152506080613a6584828501613901565b60808301525092915050565b8051611a088161457d565b8051611a0881614586565b8051611a088161458f565b600060208284031215613aa457600080fd5b60006112d384846138ca565b600060208284031215613ac257600080fd5b60006112d384846138d5565b600060208284031215613ae057600080fd5b60006112d384846138e0565b600060208284031215613afe57600080fd5b60006112d384846138eb565b600060208284031215613b1c57600080fd5b60006112d38484613901565b600060208284031215613b3a57600080fd5b60006112d3848461390c565b60008060408385031215613b5957600080fd5b6000613b65858561390c565b9250506020613b76858286016138f6565b9150509250929050565b60008060008060808587031215613b9657600080fd5b6000613ba2878761390c565b9450506020613bb38782880161390c565b9350506040613bc4878288016138f6565b9250506060613bd5878288016138ca565b91505092959194509250565b60006101208284031215613bf457600080fd5b60006112d38484613917565b600060a08284031215613c1257600080fd5b60006112d384846139ee565b600060208284031215613c3057600080fd5b60006112d38484613a71565b60008060408385031215613c4f57600080fd5b6000613c5b85856138eb565b9250506020613b76858286016138e0565b600060208284031215613c7e57600080fd5b60006112d38484613a7c565b6000613c968383613d0f565b505060200190565b613ca78161449a565b82525050565b6000613cb88261448d565b613cc28185614491565b9350613ccd83614487565b8060005b83811015613cfb578151613ce58882613c8a565b9750613cf083614487565b925050600101613cd1565b509495945050505050565b613ca7816144a5565b613ca78161066e565b613ca7613d248261066e565b61066e565b613ca7816144e8565b613ca7816144f3565b613ca7816144b4565b6000613d4f8261448d565b613d598185614491565b9350613d698185602086016144fe565b613d728161452a565b9093019392505050565b6000613d89603583614491565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613de0601b83614491565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e19602183614491565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e5c601e83614491565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613e95601a83614491565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613ece60118361089f565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613efb602183614491565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613f3e602f83614491565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f8f602183614491565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fd2602783614491565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b600061401b60198361089f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614054602483614491565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061409a602083614491565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b80516101208301906140d88482613d06565b5060208201516140eb6020850182613d3b565b5060408201516140fe60408501826141d5565b50606082015161411160608501826141d5565b50608082015161412460808501826141d5565b5060a082015161413760a08501826141d5565b5060c082015161414a60c0850182613d0f565b5060e082015161415d60e0850182613d0f565b50610100820151614172610100850182613d0f565b50505050565b805160a083019061418984826141e7565b50602082015161419c60208501826141e7565b5060408201516141af60408501826141d5565b5060608201516141c260608501826141d5565b5060808201516141726080850182613d3b565b613ca7816144ba565b613ca7816144d2565b613ca7816144db565b60006141fc8285613d18565b60208201915061420c8284613d18565b5060200192915050565b600061422182613ec1565b915061422d8284613d18565b50602001919050565b60006142218261400e565b60208101611a088284613c9e565b6040810161425d8285613c9e565b611f816020830184613c9e565b60208082528101611f818184613cad565b60208101611a088284613d06565b60208101611a088284613d0f565b6040810161425d8285613d0f565b604081016142b38285613d0f565b611f816020830184613d0f565b604081016142ce8285613d0f565b81810360208301526112d38184613d44565b60208101611a088284613d29565b60208101611a088284613d3b565b6040810161430a8285613d0f565b611f816020830184613d06565b60208082528101611f818184613d44565b6020808252810161089c81613d7c565b6020808252810161089c81613dd3565b6020808252810161089c81613e0c565b6020808252810161089c81613e4f565b6020808252810161089c81613e88565b6020808252810161089c81613eee565b6020808252810161089c81613f31565b6020808252810161089c81613f82565b6020808252810161089c81613fc5565b6020808252810161089c81614047565b6020808252810161089c8161408d565b6101208101611a0882846140c6565b60a08101611a088284614178565b60208101611a0882846141d5565b60c081016144118289613d0f565b61441e6020830188613d0f565b61442b6040830187613d0f565b6144386060830186613d0f565b6144456080830185613d0f565b6120ea60a0830184613d32565b60208101611a0882846141de565b60405181810167ffffffffffffffff8111828210171561447f57600080fd5b604052919050565b60200190565b5190565b90815260200190565b600061089c826144c6565b151590565b8061089f81614534565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b600061089c8261449a565b600061089c826144aa565b60005b83811015614519578181015183820152602001614501565b838111156141725750506000910152565b601f01601f191690565b6010811061453e57fe5b50565b61454a8161449a565b811461453e57600080fd5b61454a816144a5565b61454a8161066e565b6003811061453e57600080fd5b61454a816144b4565b61454a816144ba565b61454a816144d2565b61454a816144db56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158201e4d8a99caa8d51e77ca8a46892179939ad76c6b9c0fb20f96894e6754ad26826c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_marketState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "accessibleMargin",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "marginAccessible",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "accruedFunding",
					"outputs": [
						{
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "assetPrice",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseAsset",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canLiquidate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentFundingRate",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentFundingVelocity",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "delayedOrders",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bool",
									"name": "isOffchain",
									"type": "bool"
								},
								{
									"internalType": "int128",
									"name": "sizeDelta",
									"type": "int128"
								},
								{
									"internalType": "uint128",
									"name": "desiredFillPrice",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "targetRoundId",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "commitDeposit",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "keeperDeposit",
									"type": "uint128"
								},
								{
									"internalType": "uint256",
									"name": "executableAtTime",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "intentionTime",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "trackingCode",
									"type": "bytes32"
								}
							],
							"internalType": "struct IPerpsV2MarketBaseTypes.DelayedOrder",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						}
					],
					"name": "fillPrice",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingLastRecomputed",
					"outputs": [
						{
							"internalType": "uint32",
							"name": "",
							"type": "uint32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingRateLastRecomputed",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "fundingSequence",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundingSequenceLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationPrice",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketSize",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketSizes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketSkew",
					"outputs": [
						{
							"internalType": "int128",
							"name": "",
							"type": "int128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "marketState",
					"outputs": [
						{
							"internalType": "contract IPerpsV2MarketState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "notionalValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "enum IPerpsV2MarketBaseTypes.OrderType",
							"name": "orderType",
							"type": "uint8"
						}
					],
					"name": "orderFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "positions",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "id",
									"type": "uint64"
								},
								{
									"internalType": "uint64",
									"name": "lastFundingIndex",
									"type": "uint64"
								},
								{
									"internalType": "uint128",
									"name": "margin",
									"type": "uint128"
								},
								{
									"internalType": "uint128",
									"name": "lastPrice",
									"type": "uint128"
								},
								{
									"internalType": "int128",
									"name": "size",
									"type": "int128"
								}
							],
							"internalType": "struct IPerpsV2MarketBaseTypes.Position",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "int256",
							"name": "sizeDelta",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "tradePrice",
							"type": "uint256"
						},
						{
							"internalType": "enum IPerpsV2MarketBaseTypes.OrderType",
							"name": "orderType",
							"type": "uint8"
						},
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "postTradeDetails",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "margin",
							"type": "uint256"
						},
						{
							"internalType": "int256",
							"name": "size",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "price",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "liqPrice",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "enum IPerpsV2MarketBaseTypes.Status",
							"name": "status",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "profitLoss",
					"outputs": [
						{
							"internalType": "int256",
							"name": "pnl",
							"type": "int256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingMargin",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "marginRemaining",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unrecordedFunding",
					"outputs": [
						{
							"internalType": "int256",
							"name": "funding",
							"type": "int256"
						},
						{
							"internalType": "bool",
							"name": "invalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x802114d7a8bc20ac2c520f4c2d4f1b23399a428e2c848112da31bcc5bfa5ecf8",
				"urls": [
					"bzz-raw://e5d5e134843e1dd8d0e2ac518c511355c0a7416bd952c6131260145ff3be65e7",
					"dweb:/ipfs/QmeVgw5J5m7Pj2ssaT7D8v1tEWyvnjwf9dYpQ5b19VpNRg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PerpsV2MarketViews.sol": "PerpsV2MarketViews"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PerpsV2MarketViews.sol": {
						"keccak256": "0x802114d7a8bc20ac2c520f4c2d4f1b23399a428e2c848112da31bcc5bfa5ecf8",
						"urls": [
							"bzz-raw://e5d5e134843e1dd8d0e2ac518c511355c0a7416bd952c6131260145ff3be65e7",
							"dweb:/ipfs/QmeVgw5J5m7Pj2ssaT7D8v1tEWyvnjwf9dYpQ5b19VpNRg"
						]
					}
				},
				"version": 1
			}
		},
		"ImportableRewardEscrowV2Frozen": {
			"bytecode": "60806040526303bfc400600c556224ea00600d5562093a80600e553480156200002757600080fd5b5060405162003148380380620031488339810160408190526200004a9162000122565b8181806249d400836001600160a01b038116620000845760405162461bcd60e51b81526004016200007b90620001de565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d1918490620001b8565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620002399050565b80516200011c816200021f565b92915050565b600080604083850312156200013657600080fd5b60006200014485856200010f565b925050602062000157858286016200010f565b9150509250929050565b6200016c816200020b565b82525050565b6200016c81620001f9565b60006200018c601983620001f0565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001c8828562000161565b620001d7602083018462000172565b9392505050565b602080825281016200011c816200017d565b90815260200190565b60006001600160a01b0382166200011c565b60006200011c8260006200011c82620001f9565b6200022a81620001f9565b81146200023657600080fd5b50565b612eff80620002496000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80636dc05bd31161014657806380d46f58116100c3578063ae58254911610087578063ae582549146104c1578063b95375bd146104d4578063cd7b43dd146104e7578063e6b2cf6c146104fa578063eac6248914610502578063f0b882ba1461052257610253565b806380d46f5814610468578063899ffef4146104895780638da5cb5b1461049e578063910a326d146104a6578063a0416ed3146104ae57610253565b8063773ab39f1161010a578063773ab39f146104075780637839b92f146104275780637993e6991461043a57806379ba50971461044d5780637cc1d7561461045557610253565b80636dc05bd3146103be57806370a08231146103d157806371e780f3146103e457806373307e40146103ec57806374185360146103ff57610253565b806330104c5f116101d457806345626bd61161019857806345626bd61461036557806346ba2d901461038657806353a47bb71461038e5780635eb8cf25146103a35780636154c343146103ab57610253565b806330104c5f14610311578063326a3cfb1461032457806334c7fec91461033757806337088ffc1461034a5780634525aabc1461035257610253565b8063178c56551161021b578063178c5655146102c85780631bb47b44146102d0578063204b676a146102e3578063227d517a146102f65780632af64bd31461030957610253565b8063018c6c551461025857806304f3bcec1461026d578063056629861461028b5780630fcdefb7146102a05780631627540c146102b5575b600080fd5b61026b61026636600461223b565b610535565b005b61027561057d565b6040516102829190612c1a565b60405180910390f35b61029361058c565b6040516102829190612bd0565b6102a86105ad565b6040516102829190612bde565b61026b6102c3366004611fa1565b6105b3565b61026b610606565b61026b6102de3660046120d3565b610663565b6102a86102f1366004611fa1565b6106b4565b6102a8610304366004611fa1565b6106cf565b6102936106e1565b6102a861031f366004612032565b6107f8565b6102a8610332366004611fa1565b610857565b61026b6103453660046121be565b610869565b6102a861091f565b61026b61036036600461223b565b610925565b610378610373366004612032565b610962565b604051610282929190612dc5565b6102a8610992565b610396610998565b6040516102829190612aba565b6102a86109a7565b6103786103b9366004612032565b6109ad565b6102a86103cc366004611fdd565b6109e7565b6102a86103df366004611fa1565b610a94565b6102a8610aaf565b6103966103fa366004611fa1565b610ab5565b61026b610ad0565b61041a6104153660046120d3565b610c26565b6040516102829190612bae565b61026b610435366004611fa1565b610dc6565b61026b61044836600461223b565b610dd1565b61026b610e30565b61026b610463366004611fa1565b610ecc565b61047b610476366004611fdd565b61101c565b604051610282929190612d59565b610491611030565b6040516102829190612b9d565b6103966110a4565b6102a86110b3565b61026b6104bc3660046120d3565b6110b9565b6102a86104cf366004612032565b611184565b61026b6104e2366004612120565b6111b2565b61026b6104f536600461206c565b6111c2565b6102a861133c565b6105156105103660046120d3565b611342565b6040516102829190612bbf565b61026b610530366004611fdd565b61142e565b61053d61176a565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e90610572908390612bde565b60405180910390a150565b6003546001600160a01b031681565b6000426105a6600e54600f5461179690919063ffffffff16565b1190505b90565b600f5481565b6105bb61176a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610572908390612aba565b61060e61176a565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445919061064b90829063ffffffff61179616565b604051610659929190612d79565b60405180910390a1565b61066b6117bb565b6001600160a01b0316336001600160a01b0316146106a45760405162461bcd60e51b815260040161069b90612d29565b60405180910390fd5b6106af8383836117d5565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b600060606106ed611030565b905060005b81518110156107ef57600082828151811061070957fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161075a91869101612bde565b60206040518083038186803b15801561077257600080fd5b505afa158015610786573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107aa9190810190611fbf565b6001600160a01b03161415806107d557506000818152600460205260409020546001600160a01b0316155b156107e657600093505050506105aa565b506001016106f2565b50600191505090565b6000610802611e4e565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b03168352600101549082015261084d816119ed565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561090e573360009081526005602052604081208186868581811061089157fe5b90506020020135815260200190815260200160002090508060010154600014610905576040805180820190915281546001600160401b03168152600182015460208201526000906108e1906119ed565b905080156108f157600060018301555b610901848263ffffffff61179616565b9350505b5060010161086d565b5080156106af576106af3382611a1e565b600d5481565b61092d61176a565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a490610572908390612bde565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610a8c576109fb611e4e565b6001600160a01b038616600090815260056020526040812090868685818110610a2057fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610a83576000610a6d826119ed565b9050610a7f848263ffffffff61179616565b9350505b506001016109eb565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610ada611030565b905060005b8151811015610c22576000828281518110610af657fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610b389190612aaf565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610b64929190612bfa565b60206040518083038186803b158015610b7c57600080fd5b505afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb49190810190611fbf565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610c109084908490612bec565b60405180910390a15050600101610adf565b5050565b6060828201838111610c6c576040805160008082526020820190925290610c63565b610c50611e65565b815260200190600190039081610c485790505b50915050610dbf565b6001600160a01b038516600090815260066020526040902054811115610ca757506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610ce657816020015b610cd3611e65565b815260200190600190039081610ccb5790505b50905060005b82811015610db9576001600160a01b03881660009081526006602052604081208054838a01908110610d1a57fe5b90600052602060002001549050610d2f611e4e565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610da457fe5b60209081029190910101525050600101610cec565b50925050505b9392505050565b610dce611b39565b50565b610dd961176a565b600d54811115610dfb5760405162461bcd60e51b815260040161069b90612d19565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e690610572908390612bde565b6001546001600160a01b03163314610e5a5760405162461bcd60e51b815260040161069b90612c39565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610e9d926001600160a01b0391821692911690612b59565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b038116331415610ef55760405162461bcd60e51b815260040161069b90612ce9565b610efd61058c565b610f195760405162461bcd60e51b815260040161069b90612cc9565b610f21611b51565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401610f4c9190612af8565b60206040518083038186803b158015610f6457600080fd5b505afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f9c9190810190612259565b15610fb95760405162461bcd60e51b815260040161069b90612d49565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba485290611011908490612aba565b60405180910390a250565b60006060611028611b39565b935093915050565b60608061103b611b65565b60408051600180825281830190925291925060609190602080830190803883390190505090507453796e746865746978427269646765546f4261736560581b8160008151811061108757fe5b60200260200101818152505061109d8282611bf7565b9250505090565b6000546001600160a01b031681565b600e5481565b6001600160a01b0383166110df5760405162461bcd60e51b815260040161069b90612c69565b6110e7611cb3565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161111693929190612ac8565b602060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061116891908101906121ff565b6106a45760405162461bcd60e51b815260040161069b90612cd9565b6006602052816000526040600020818154811061119d57fe5b90600052602060002001600091509150505481565b6111ba611b39565b505050505050565b6111ca611cca565b6001600160a01b0316336001600160a01b0316146111fa5760405162461bcd60e51b815260040161069b90612c79565b600b5461120d908463ffffffff61179616565b600b55611218611cb3565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112439190612aba565b60206040518083038186803b15801561125b57600080fd5b505afa15801561126f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112939190810190612259565b600b5411156112b45760405162461bcd60e51b815260040161069b90612d39565b6001600160a01b0384166000908152600860205260409020546112dd908463ffffffff61179616565b6001600160a01b0385166000908152600860205260408120919091555b818110156113355761132d8584848481811061131257fe5b905060400201803603611328919081019061221d565b611ced565b6001016112fa565b5050505050565b60075481565b6001600160a01b0383166000908152600660205260409020546060908383019081111561138457506001600160a01b0384166000908152600660205260409020545b8381116113a1576040805160008082526020820190925290610c63565b6040805185830380825260208082028301019092526060908280156113d0578160200160208202803883390190505b50905060005b82811015610db9576001600160a01b0388166000908152600660205260409020805482890190811061140457fe5b906000526020600020015482828151811061141b57fe5b60209081029190910101526001016113d6565b61143661058c565b6114525760405162461bcd60e51b815260040161069b90612cc9565b61145a611b51565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b81526004016114859190612b74565b60206040518083038186803b15801561149d57600080fd5b505afa1580156114b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d59190810190612259565b156114f25760405162461bcd60e51b815260040161069b90612d49565b6001600160a01b038381166000908152600a602052604090205416331461152b5760405162461bcd60e51b815260040161069b90612d09565b6000805b828110156116aa5761153f611e4e565b6001600160a01b03861660009081526005602052604081209086868581811061156457fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b03168252600101549181018290529150156116a15733600090815260056020526040812082918787868181106115c357fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611615908490611796565b33600090815260066020526040902090935085858481811061163357fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b038816825260059052604081209086868581811061167257fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b5060010161152f565b506001600160a01b0384166000908152600860205260409020546116d4908263ffffffff611d6a16565b6001600160a01b038516600090815260086020526040808220929092553381522054611706908263ffffffff61179616565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c9161175c91908590889088904290612b12565b60405180910390a250505050565b6000546001600160a01b031633146117945760405162461bcd60e51b815260040161069b90612cf9565b565b600082820183811015610dbf5760405162461bcd60e51b815260040161069b90612c49565b60006117d066119959541bdbdb60ca1b611d92565b905090565b816117f25760405162461bcd60e51b815260040161069b90612ca9565b6000811180156118045750600c548111155b6118205760405162461bcd60e51b815260040161069b90612c59565b600b54611833908363ffffffff61179616565b600b5561183e611cb3565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016118699190612aba565b60206040518083038186803b15801561188157600080fd5b505afa158015611895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118b99190810190612259565b600b5411156118da5760405162461bcd60e51b815260040161069b90612cb9565b6001600160a01b03831660009081526008602052604090205442820190611907908463ffffffff61179616565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461199a91611796565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906119de904290889088908790612d87565b60405180910390a25050505050565b60008082602001516000146108515782516001600160401b0316421015611a15576000610dbf565b50506020015190565b611a288282611def565b6001600160a01b038216600090815260096020526040902054611a51908263ffffffff61179616565b6001600160a01b038316600090815260096020526040902055611a72611cb3565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401611a9f929190612b82565b602060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611af191908101906121ff565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc64283604051611b2d929190612d79565b60405180910390a25050565b60405162461bcd60e51b815260040161069b90612c99565b60006117d06524b9b9bab2b960d11b611d92565b60408051600380825260808201909252606091602082018380388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611ba157fe5b60200260200101818152505066119959541bdbdb60ca1b81600181518110611bc557fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611be857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611c27578160200160208202803883390190505b50905060005b8351811015611c6957838181518110611c4257fe5b6020026020010151828281518110611c5657fe5b6020908102919091010152600101611c2d565b5060005b8251811015611cac57828181518110611c8257fe5b6020026020010151828286510181518110611c9957fe5b6020908102919091010152600101611c6d565b5092915050565b60006117d0680a6f2dce8d0cae8d2f60bb1b611d92565b60006117d07453796e746865746978427269646765546f4261736560581b611d92565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b03909116178155878301516001918201559383526006825282208054808501825590835291200182905591549091611d629190611796565b600755505050565b600082821115611d8c5760405162461bcd60e51b815260040161069b90612c89565b50900390565b60008181526004602090815260408083205490516001600160a01b039091169182151591611dc291869101612a8f565b60405160208183030381529060405290611cac5760405162461bcd60e51b815260040161069b9190612c28565b600b54611e02908263ffffffff611d6a16565b600b556001600160a01b038216600090815260086020526040902054611e2e908263ffffffff611d6a16565b6001600160a01b0390921660009081526008602052604090209190915550565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b803561085181612e8d565b805161085181612e8d565b60008083601f840112611eb757600080fd5b5081356001600160401b03811115611ece57600080fd5b602083019150836020820283011115611ee657600080fd5b9250929050565b60008083601f840112611eff57600080fd5b5081356001600160401b03811115611f1657600080fd5b602083019150836040820283011115611ee657600080fd5b805161085181612ea1565b600060408284031215611f4b57600080fd5b611f556040612dd3565b90506000611f638484611f96565b8252506020611f7484848301611f80565b60208301525092915050565b803561085181612eaa565b805161085181612eaa565b803561085181612eb3565b600060208284031215611fb357600080fd5b600061084d8484611e8f565b600060208284031215611fd157600080fd5b600061084d8484611e9a565b600080600060408486031215611ff257600080fd5b6000611ffe8686611e8f565b93505060208401356001600160401b0381111561201a57600080fd5b61202686828701611ea5565b92509250509250925092565b6000806040838503121561204557600080fd5b60006120518585611e8f565b925050602061206285828601611f80565b9150509250929050565b6000806000806060858703121561208257600080fd5b600061208e8787611e8f565b945050602061209f87828801611f80565b93505060408501356001600160401b038111156120bb57600080fd5b6120c787828801611eed565b95989497509550505050565b6000806000606084860312156120e857600080fd5b60006120f48686611e8f565b935050602061210586828701611f80565b925050604061211686828701611f80565b9150509250925092565b6000806000806000806060878903121561213957600080fd5b86356001600160401b0381111561214f57600080fd5b61215b89828a01611ea5565b965096505060208701356001600160401b0381111561217957600080fd5b61218589828a01611ea5565b945094505060408701356001600160401b038111156121a357600080fd5b6121af89828a01611ea5565b92509250509295509295509295565b600080602083850312156121d157600080fd5b82356001600160401b038111156121e757600080fd5b6121f385828601611ea5565b92509250509250929050565b60006020828403121561221157600080fd5b600061084d8484611f2e565b60006040828403121561222f57600080fd5b600061084d8484611f39565b60006020828403121561224d57600080fd5b600061084d8484611f80565b60006020828403121561226b57600080fd5b600061084d8484611f8b565b60006122838383612450565b505060200190565b60006122978383612a25565b505060600190565b60006122ab8383612a62565b505060400190565b6122bc81612e39565b82525050565b6122bc81612e11565b60006122d682612dff565b6122e08185612e03565b93506122eb83612df9565b8060005b838110156123195781516123038882612277565b975061230e83612df9565b9250506001016122ef565b509495945050505050565b600061232f82612dff565b6123398185612e03565b935061234483612df9565b8060005b8381101561231957815161235c888261228b565b975061236783612df9565b925050600101612348565b600061237d82612dff565b6123878185612e03565b935061239283612df9565b8060005b838110156123195781516123aa888261229f565b97506123b583612df9565b925050600101612396565b60006123cc8385612e03565b93506001600160fb1b038311156123e257600080fd5b6020830292506123f3838584612e4b565b50500190565b600061240482612dff565b61240e8185612e03565b935061241983612df9565b8060005b838110156123195781516124318882612277565b975061243c83612df9565b92505060010161241d565b6122bc81612e1c565b6122bc816105aa565b6122bc612465826105aa565b6105aa565b6122bc81612e40565b600061247e82612dff565b6124888185612e03565b9350612498818560208601612e57565b6124a181612e83565b9093019392505050565b60006124b8603583612e03565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061250f601b83612e03565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612548603383612e03565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b600061259d602483612e03565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b60006125e3603583612e03565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e746865746978815274109c9a5919d9551bd0985cd94818dbdb9d1c9858dd605a1b602082015260400192915050565b600061263a601e83612e03565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612673601b83612e03565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006126ac601183612e0c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006126d9601783612e03565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612712604783612e03565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000612781601983612e03565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b60006127ba601583612e03565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006127eb602483612e03565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b6000612831602f83612e03565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061288e602183612e03565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006128d1601c83612e03565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b600061290a601983612e0c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612943602883612e03565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061298d604483612e03565b7f496e73756666696369656e742062616c616e636520696e2074686520636f6e7481527f7261637420746f2070726f7669646520666f7220657363726f7765642062616c602082015263616e636560e01b604082015260600192915050565b60006129f9601f83612e03565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b80516060830190612a368482612a86565b506020820151612a496020850182612450565b506040820151612a5c6040850182612450565b50505050565b80516040830190612a738482612a86565b506020820151612a5c6020850182612450565b6122bc81612e2d565b6000612a9a8261269f565b9150612aa68284612459565b50602001919050565b6000612a9a826128fd565b6020810161085182846122c2565b60608101612ad682866122b3565b612ae360208301856122c2565b612af06040830184612450565b949350505050565b60408101612b0682846122b3565b61085160208301612875565b60808101612b2082886122b3565b612b2d6020830187612450565b8181036040830152612b408185876123c0565b9050612b4f6060830184612450565b9695505050505050565b60408101612b6782856122c2565b610dbf60208301846122c2565b60408101612b0682846122c2565b60408101612b9082856122c2565b610dbf6020830184612450565b60208082528101610dbf81846122cb565b60208082528101610dbf8184612324565b60208082528101610dbf81846123f9565b602081016108518284612447565b602081016108518284612450565b60408101612b678285612450565b60408101612c088285612450565b8181036020830152612af08184612473565b60208101610851828461246a565b60208082528101610dbf8184612473565b60208082528101610851816124ab565b6020808252810161085181612502565b602080825281016108518161253b565b6020808252810161085181612590565b60208082528101610851816125d6565b602080825281016108518161262d565b6020808252810161085181612666565b60208082528101610851816126cc565b6020808252810161085181612705565b6020808252810161085181612774565b60208082528101610851816127ad565b60208082528101610851816127de565b6020808252810161085181612824565b6020808252810161085181612881565b60208082528101610851816128c4565b6020808252810161085181612936565b6020808252810161085181612980565b60208082528101610851816129ec565b60408101612d678285612450565b8181036020830152612af08184612372565b60408101612b908285612450565b60808101612d958287612450565b612da26020830186612450565b612daf6040830185612450565b612dbc6060830184612450565b95945050505050565b60408101612b908285612a86565b6040518181016001600160401b0381118282101715612df157600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061085182612e21565b151590565b6001600160a01b031690565b6001600160401b031690565b6000610851825b600061085182612e11565b82818337506000910152565b60005b83811015612e72578181015183820152602001612e5a565b83811115612a5c5750506000910152565b601f01601f191690565b612e9681612e11565b8114610dce57600080fd5b612e9681612e1c565b612e96816105aa565b612e9681612e2d56fea365627a7a72315820c7f566e2c4649f5b6c8dad13daf576bdc64f351038dc6f17a47c39f5b6fd33546c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x96ef196130a29ca6e6e47d321f52d4c9984283a8cdc2a183f4228f24659cda06",
				"urls": [
					"bzz-raw://092d40ac7d442c062a32767582e3290f17c5c097c23a0a87146666adaea55026",
					"dweb:/ipfs/QmbcwFoUYaXv23FYXj3Exsm1JSbufgfjTrFzNEQLuaAg2h"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2Frozen/ImportableRewardEscrowV2Frozen.sol": "ImportableRewardEscrowV2Frozen"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2Frozen/ImportableRewardEscrowV2Frozen.sol": {
						"keccak256": "0x96ef196130a29ca6e6e47d321f52d4c9984283a8cdc2a183f4228f24659cda06",
						"urls": [
							"bzz-raw://092d40ac7d442c062a32767582e3290f17c5c097c23a0a87146666adaea55026",
							"dweb:/ipfs/QmbcwFoUYaXv23FYXj3Exsm1JSbufgfjTrFzNEQLuaAg2h"
						]
					}
				},
				"version": 1
			}
		},
		"DynamicSynthRedeemer": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620019f7380380620019f7833981016040819052620000349162000192565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000277565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000251565b60405180910390a15080600260006101000a8154816001600160a01b0302191690836001600160a01b031602179055505073__$e2b2b66cb30f6f0b0fc843f1278cce299a$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200012b57600080fd5b505af415801562000140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001669190810190620001d1565b60045550620002e09050565b80516200017f81620002bb565b92915050565b80516200017f81620002d5565b60008060408385031215620001a657600080fd5b6000620001b4858562000172565b9250506020620001c78582860162000172565b9150509250929050565b600060208284031215620001e457600080fd5b6000620001f2848462000185565b949350505050565b6200020581620002a7565b82525050565b620002058162000292565b60006200022560198362000289565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002618285620001fa565b6200027060208301846200020b565b9392505050565b602080825281016200017f8162000216565b90815260200190565b60006001600160a01b0382166200017f565b90565b60006200017f8260006200017f8262000292565b620002c68162000292565b8114620002d257600080fd5b50565b620002c681620002a4565b61170780620002f06000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063614d08f8116100a2578063899ffef411610071578063899ffef4146101e35780638da5cb5b146101f857806399845dac14610200578063e6c0e6d514610213578063eda1122c1461021b57610116565b8063614d08f8146101b857806374185360146101c057806379ba5097146101c85780637c69febd146101d057610116565b80632dee8b7e116100e95780632dee8b7e1461016b578063322cd02e146101735780634c74183c146101865780634ecc1f771461019b57806353a47bb7146101a357610116565b806304f3bcec1461011b5780630cd0675c146101395780631627540c146101435780632af64bd314610156575b600080fd5b61012361022e565b604051610130919061152f565b60405180910390f35b61014161023d565b005b610141610151366004610ee2565b6102a9565b61015e610307565b60405161013091906114e5565b61014161041f565b610141610181366004610f86565b61047e565b61018e61053e565b60405161013091906114f3565b61015e610544565b6101ab61054d565b6040516101309190611444565b61018e61055c565b610141610577565b6101416106cd565b6101416101de366004610f68565b610769565b6101eb610841565b60405161013091906114d4565b6101ab6108b1565b61014161020e366004610f26565b6108c0565b61018e610993565b610141610229366004610f68565b610999565b6002546001600160a01b031681565b6102456109df565b60055460ff16156102715760405162461bcd60e51b8152600401610268906115fe565b60405180910390fd5b6005805460ff191660011790556040517f7a2913cddb07686623e9d442b08e598f63153b82d934cb6c5e09e6b0652c221f90600090a1565b6102b16109df565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102fc908390611444565b60405180910390a150565b60006060610313610841565b905060005b815181101561041557600082828151811061032f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103809085906004016114f3565b60206040518083038186803b15801561039857600080fd5b505afa1580156103ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103d09190810190610f08565b6001600160a01b03161415806103fb57506000818152600360205260409020546001600160a01b0316155b1561040c576000935050505061041c565b50600101610318565b5060019150505b90565b6104276109df565b60055460ff166104495760405162461bcd60e51b81526004016102689061158e565b6005805460ff191690556040517f66993c4cde3b0d56d441001d7731b583158402f0b0531304dfa4d4772c18e50b90600090a1565b610486610a0b565b600061049183610a2d565b905081816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016104c09190611452565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610fde565b101561052e5760405162461bcd60e51b81526004016102689061159e565b610539818484610b53565b505050565b60045490565b60055460ff1681565b6001546001600160a01b031681565b73223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81565b6060610581610841565b905060005b81518110156106c957600082828151811061059d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016105df9190611439565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161060b92919061150f565b60206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065b9190810190610f08565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906106b79084908490611501565b60405180910390a15050600101610586565b5050565b6001546001600160a01b031633146106f75760405162461bcd60e51b81526004016102689061155e565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261073a926001600160a01b039182169291169061149e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6107716109df565b73__$e2b2b66cb30f6f0b0fc843f1278cce299a$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b557600080fd5b505af41580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed9190810190610fde565b81111561080c5760405162461bcd60e51b8152600401610268906115ee565b60048190556040517fc4f588c2b1b0db1ae244d5b46f69e0c5962875377386d78b2c9cd5b654f90637906102fc9083906114f3565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061087857fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106108a257fe5b60200260200101818152505090565b6000546001600160a01b031681565b6108c8610a0b565b60005b818110156105395760006108f08484848181106108e457fe5b90506020020135610a2d565b905061098a8185858581811061090257fe5b90506020020135836001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016109359190611452565b60206040518083038186803b15801561094d57600080fd5b505afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109859190810190610fde565b610b53565b506001016108cb565b60045481565b6109a1610a0b565b60006109ac82610a2d565b90506106c98183836001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016109359190611452565b6000546001600160a01b03163314610a095760405162461bcd60e51b8152600401610268906115be565b565b60055460ff16610a095760405162461bcd60e51b8152600401610268906115ce565b600080610a38610d2b565b6001600160a01b03166332608039846040518263ffffffff1660e01b8152600401610a6391906114f3565b60206040518083038186803b158015610a7b57600080fd5b505afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab39190810190610fc0565b90506001600160a01b038116610adb5760405162461bcd60e51b81526004016102689061156e565b806001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4c9190810190610fc0565b9392505050565b60008111610b735760405162461bcd60e51b81526004016102689061154e565b631cd554d160e21b821415610b9a5760405162461bcd60e51b81526004016102689061157e565b600080610ba5610d44565b6001600160a01b0316630c71cd23856040518263ffffffff1660e01b8152600401610bd091906114f3565b604080518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1f9190810190610ffc565b915091506000610c3a60045484610d5f90919063ffffffff16565b9050600081118015610c4a575081155b610c665760405162461bcd60e51b8152600401610268906115ae565b6000610c78858363ffffffff610d5f16565b9050610c82610d2b565b6001600160a01b0316630d969cf5338888856040518563ffffffff1660e01b8152600401610cb39493929190611460565b600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b505050507f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef87338784604051610d1a94939291906114b9565b60405180910390a150505050505050565b6000610d3f6524b9b9bab2b960d11b610d7d565b905090565b6000610d3f6c45786368616e6765526174657360981b610d7d565b6000610d748383670de0b6b3a7640000610de1565b90505b92915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591610dad91869101611419565b60405160208183030381529060405290610dda5760405162461bcd60e51b8152600401610268919061153d565b5092915050565b600080600a8304610df8868663ffffffff610e1d16565b81610dff57fe5b0490506005600a820610610e1157600a015b600a9004949350505050565b600082610e2c57506000610d77565b82820282848281610e3957fe5b0414610d745760405162461bcd60e51b8152600401610268906115de565b8035610d7781611692565b8051610d7781611692565b60008083601f840112610e7f57600080fd5b50813567ffffffffffffffff811115610e9757600080fd5b602083019150836020820283011115610eaf57600080fd5b9250929050565b8051610d77816116a9565b8035610d77816116b2565b8051610d77816116bb565b8051610d77816116b2565b600060208284031215610ef457600080fd5b6000610f008484610e57565b949350505050565b600060208284031215610f1a57600080fd5b6000610f008484610e62565b60008060208385031215610f3957600080fd5b823567ffffffffffffffff811115610f5057600080fd5b610f5c85828601610e6d565b92509250509250929050565b600060208284031215610f7a57600080fd5b6000610f008484610ec1565b60008060408385031215610f9957600080fd5b6000610fa58585610ec1565b9250506020610fb685828601610ec1565b9150509250929050565b600060208284031215610fd257600080fd5b6000610f008484610ecc565b600060208284031215610ff057600080fd5b6000610f008484610ed7565b6000806040838503121561100f57600080fd5b600061101b8585610ed7565b9250506020610fb685828601610eb6565b600061103883836110ba565b505060200190565b6110498161164d565b82525050565b61104981611626565b600061106382611614565b61106d8185611618565b93506110788361160e565b8060005b838110156110a6578151611090888261102c565b975061109b8361160e565b92505060010161107c565b509495945050505050565b61104981611631565b6110498161041c565b6110496110cf8261041c565b61041c565b61104981611636565b60006110e882611614565b6110f28185611618565b9350611102818560208601611658565b61110b81611688565b9093019392505050565b6000611122601d83611618565b7f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000815260200192915050565b600061115b603583611618565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111b2600d83611618565b6c092dcecc2d8d2c840e6f2dce8d609b1b815260200192915050565b60006111db601283611618565b7110d85b9b9bdd081c995919595b481cd554d160721b815260200192915050565b6000611209601483611618565b73149959195b5c1d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000611239601483611618565b73496e73756666696369656e742062616c616e636560601b815260200192915050565b6000611269601183611621565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611296601483611618565b7353796e7468206e6f742072656465656d61626c6560601b815260200192915050565b60006112c6602f83611618565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611317601683611618565b75149959195b5c1d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000611349602183611618565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061138c601983611621565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006113c5600c83611618565b6b496e76616c6964207261746560a01b815260200192915050565b60006113ed601883611618565b7f526564656d7074696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b60006114248261125c565b915061143082846110c3565b50602001919050565b60006114248261137f565b60208101610d77828461104f565b60208101610d778284611040565b6080810161146e8287611040565b61147b60208301866110ba565b61148860408301856110ba565b61149560608301846110ba565b95945050505050565b604081016114ac828561104f565b610b4c602083018461104f565b608081016114c7828761104f565b61147b6020830186611040565b60208082528101610d748184611058565b60208101610d7782846110b1565b60208101610d7782846110ba565b604081016114ac82856110ba565b6040810161151d82856110ba565b8181036020830152610f0081846110dd565b60208101610d7782846110d4565b60208082528101610d7481846110dd565b60208082528101610d7781611115565b60208082528101610d778161114e565b60208082528101610d77816111a5565b60208082528101610d77816111ce565b60208082528101610d77816111fc565b60208082528101610d778161122c565b60208082528101610d7781611289565b60208082528101610d77816112b9565b60208082528101610d778161130a565b60208082528101610d778161133c565b60208082528101610d77816113b8565b60208082528101610d77816113e0565b60200190565b5190565b90815260200190565b919050565b6000610d7782611641565b151590565b6000610d7782611626565b6001600160a01b031690565b6000610d7782611636565b60005b8381101561167357818101518382015260200161165b565b83811115611682576000848401525b50505050565b601f01601f191690565b61169b81611626565b81146116a657600080fd5b50565b61169b81611631565b61169b8161041c565b61169b8161163656fea365627a7a7231582026f3e95beaba5deac1fb6901020b96c4651ae45eb83785f6e010894ffe27cbb66c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "discountRate",
							"type": "uint256"
						}
					],
					"name": "DiscountRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "RedemptionResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "RedemptionSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthRedeemed",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "discountRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getDiscountRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "redeem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "redeemAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						}
					],
					"name": "redeemPartial",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "redemptionActive",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_newRate",
							"type": "uint256"
						}
					],
					"name": "setDiscountRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "suspendRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc9560e9672c3dff5c5bea2a78274b3e808bd6cdf338cc4091df5a59c58990f6e",
				"urls": [
					"bzz-raw://be58903be92056038697f593c56d99f0aa66c1ad39bffd9346772ab16162a129",
					"dweb:/ipfs/QmVcUdcYM2ofoDPpCskVoLDHVUSiKfVeStn86bZkxYffut"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DynamicSynthRedeemer.sol": "DynamicSynthRedeemer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DynamicSynthRedeemer.sol": {
						"keccak256": "0xc9560e9672c3dff5c5bea2a78274b3e808bd6cdf338cc4091df5a59c58990f6e",
						"urls": [
							"bzz-raw://be58903be92056038697f593c56d99f0aa66c1ad39bffd9346772ab16162a129",
							"dweb:/ipfs/QmVcUdcYM2ofoDPpCskVoLDHVUSiKfVeStn86bZkxYffut"
						]
					}
				},
				"version": 1
			}
		}
	},
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x2aD7cCAac0Eeb396C3A5fc2b73A885435688C0D5",
			"source": "SafeDecimalMath",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2aD7cCAac0Eeb396C3A5fc2b73A885435688C0D5",
			"timestamp": "2023-12-08T04:45:20.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x896a50897cab88beefa346fb82d9c56df5507cb21af2cb20a07ee06218658ad8",
			"network": "sepolia",
			"constructorArgs": []
		},
		"Math": {
			"name": "Math",
			"address": "0xee4287a9e9B89F880D50F68597E91a06f69dCc21",
			"source": "Math",
			"link": "https://sepolia-optimism.etherscan.io/address/0xee4287a9e9B89F880D50F68597E91a06f69dCc21",
			"timestamp": "2023-12-08T04:45:28.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xeb426294d750361b9edf5c4aba78376f7276c9400ddfb1097ce0aa1fcc522693",
			"network": "sepolia",
			"constructorArgs": []
		},
		"SystemSettingsLib": {
			"name": "SystemSettingsLib",
			"address": "0x343b5efCBf331957d3F4236eb16C338D7256F62D",
			"source": "SystemSettingsLib",
			"link": "https://sepolia-optimism.etherscan.io/address/0x343b5efCBf331957d3F4236eb16C338D7256F62D",
			"timestamp": "2023-12-08T04:45:38.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x18c5266415e553571dfd80330f08f1cf57e25dd2a653cd4da363b6d431fae57e",
			"network": "sepolia",
			"constructorArgs": []
		},
		"SignedSafeDecimalMath": {
			"name": "SignedSafeDecimalMath",
			"address": "0xc7dCC0929881530d3386de51D9ffdD35B8009c6E",
			"source": "SignedSafeDecimalMath",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc7dCC0929881530d3386de51D9ffdD35B8009c6E",
			"timestamp": "2023-12-08T04:45:48.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x6931fbeaca498cb9c09b8616f41db11d740e4bd1221c54298e12705848bdce7d",
			"network": "sepolia",
			"constructorArgs": []
		},
		"ExchangeSettlementLib": {
			"name": "ExchangeSettlementLib",
			"address": "0x3f60FFAef1eBd84E3C2d0C9C0E12388365D5dF12",
			"source": "ExchangeSettlementLib",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3f60FFAef1eBd84E3C2d0C9C0E12388365D5dF12",
			"timestamp": "2023-12-08T04:45:58.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x4dc5433e5c79281d78438e3d605c85627a5d45513a59f79f0cfbfd99d1fddf0a",
			"network": "sepolia",
			"constructorArgs": []
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x352436A7d39F7250bfe2D3E1EC679A6e87c2F715",
			"source": "AddressResolver",
			"link": "https://sepolia-optimism.etherscan.io/address/0x352436A7d39F7250bfe2D3E1EC679A6e87c2F715",
			"timestamp": "2023-12-08T04:46:06.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xf0935a6cefbc1bbf825f8036ff1a7521ff939113a17a0bdc1c964189cb976814",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x529C553eF2d0370279DC8AbF19702B98b166D252",
			"source": "ReadProxy",
			"link": "https://sepolia-optimism.etherscan.io/address/0x529C553eF2d0370279DC8AbF19702B98b166D252",
			"timestamp": "2023-12-08T04:46:14.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xc87e39e281d71b7b7cdf4eda7fe9cd1173da2315ea5bc6a3f7502af2602c08d8",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"OneNetAggregatorIssuedSynths": {
			"name": "OneNetAggregatorIssuedSynths",
			"address": "0xE37A7ad23755E37F9D06BcCC861ab5DF1fA2C83B",
			"source": "OneNetAggregatorIssuedSynths",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE37A7ad23755E37F9D06BcCC861ab5DF1fA2C83B",
			"timestamp": "2023-12-08T04:46:22.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x6c5ea80d6d2a8cf62335cb9e0938e87af792bd4d6393b7a7e5b599fbe2ce7891",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"OneNetAggregatorDebtRatio": {
			"name": "OneNetAggregatorDebtRatio",
			"address": "0x1F5971B28458d456627d72fCDe826Bb9653386Cf",
			"source": "OneNetAggregatorDebtRatio",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1F5971B28458d456627d72fCDe826Bb9653386Cf",
			"timestamp": "2023-12-08T04:46:30.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x466b8d5ca6b6d3d1eb8389644ace416e825d47adcfe4a8ae6d2780776bb4846f",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0x1af2636f34483fB709C91F8Bf4732429Fe681b1c",
			"source": "FlexibleStorage",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1af2636f34483fB709C91F8Bf4732429Fe681b1c",
			"timestamp": "2023-12-08T04:46:40.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x3ed4e1bc44f440dd06d1bf466ea417153ae01383c8ed6755a32e075ea2c75faa",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x9c8B1FE055BBE5854Ee559eBd95bf2DD51047FEC",
			"source": "SystemSettings",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9c8B1FE055BBE5854Ee559eBd95bf2DD51047FEC",
			"timestamp": "2023-12-08T04:46:50.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x8fd3dff2f04ccf10fee549f034b517f5ee45319e9438205603724c95a617a718",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x247814db4369f8E952F60A6409C16A928672dcc6",
			"source": "SystemStatus",
			"link": "https://sepolia-optimism.etherscan.io/address/0x247814db4369f8E952F60A6409C16A928672dcc6",
			"timestamp": "2023-12-08T04:47:00.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x25bd49f22ebeeaa5dd36741c7c5c0b281d767117d56b55af6c2ac6cf16a6f3d9",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0xd538CF9649fd65aAaaB92829e0Fc13f371A1d3fe",
			"source": "ExchangeRates",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd538CF9649fd65aAaaB92829e0Fc13f371A1d3fe",
			"timestamp": "2023-12-08T04:47:10.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x5f4db64232871384103e575ad79b6ab8f8102e4a30b9b27c5f9c6aecbeac3ab7",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"TokenStateSynthetix": {
			"name": "TokenStateSynthetix",
			"address": "0xE851b0A420074f4Db3BfcAC03722A7CCAB818676",
			"source": "LegacyTokenState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE851b0A420074f4Db3BfcAC03722A7CCAB818676",
			"timestamp": "2023-12-08T04:47:20.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x86714c6c49d5f9726a5e66777dd50258236220d8828ecdebacf2c1a49d405991",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"
			]
		},
		"ProxySynthetix": {
			"name": "ProxySynthetix",
			"address": "0xB409b21634F356cb3372F077920ECDd4017AbFc6",
			"source": "ProxyERC20",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB409b21634F356cb3372F077920ECDd4017AbFc6",
			"timestamp": "2023-12-08T04:47:28.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xee5372535e9866ccc38fdb365e49a7d50749c5640bd3bfe6a35f521233ec89e1",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"Synthetix": {
			"name": "Synthetix",
			"address": "0xC6F85E8Cc2F13521f909810d03Ca66397a813eDb",
			"source": "MintableSynthetix",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC6F85E8Cc2F13521f909810d03Ca66397a813eDb",
			"timestamp": "2023-12-08T04:47:38.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x46028472fe315b0d56b69675c594205c02bca93f12df788a2e22afb2fcaf083b",
			"network": "sepolia",
			"constructorArgs": [
				"0xB409b21634F356cb3372F077920ECDd4017AbFc6",
				"0xE851b0A420074f4Db3BfcAC03722A7CCAB818676",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"10100000000000001000100000000",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"RewardEscrowV2Storage": {
			"name": "RewardEscrowV2Storage",
			"address": "0x315293F2D0f32E0971A002fccA318b2ce6E4038F",
			"source": "RewardEscrowV2Storage",
			"link": "https://sepolia-optimism.etherscan.io/address/0x315293F2D0f32E0971A002fccA318b2ce6E4038F",
			"timestamp": "2024-02-02T23:23:50.000Z",
			"txn": "https://sepolia-optimism.etherscan.io/tx/0x49d7976fa890004dab8a6a35936fd44af684810981c642a33489b107c7945730",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x3Bb663E5988753B9b3f52E280548DC9072082973",
			"source": "ImportableRewardEscrowV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3Bb663E5988753B9b3f52E280548DC9072082973",
			"timestamp": "2024-02-02T23:23:58.000Z",
			"txn": "https://sepolia-optimism.etherscan.io/tx/0xeb297282ff0aaefad7efeb8df2f56a1a2c2b86cb49583fa4f967b38f9e6a81af",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"SynthetixEscrow": {
			"name": "SynthetixEscrow",
			"address": "0xfcD8a3C86272CAb1E409117ee369dc3a79683418",
			"source": "SynthetixEscrow",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfcD8a3C86272CAb1E409117ee369dc3a79683418",
			"timestamp": "2023-12-08T04:48:08.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x10cd5979987724e6bebe65abc4fad6e934834c0a63ded99624459006b732a617",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"SynthetixDebtShare": {
			"name": "SynthetixDebtShare",
			"address": "0x019208ef8ec17473bFaa88FA7935145C4958F365",
			"source": "SynthetixDebtShare",
			"link": "https://sepolia-optimism.etherscan.io/address/0x019208ef8ec17473bFaa88FA7935145C4958F365",
			"timestamp": "2023-12-08T04:48:18.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x001343b7efa68376cb0f64092e5662ce6fbde5ec2049ddfeb4f2a0da1c8d59f1",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0x38fC5D5A5402Cde8cB384c939d201522F0873229",
			"source": "Proxy",
			"link": "https://sepolia-optimism.etherscan.io/address/0x38fC5D5A5402Cde8cB384c939d201522F0873229",
			"timestamp": "2023-12-08T04:48:26.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xf080de96e3df6b79617666a6d9aa984ba75710e4163585131dadaa0669306ab3",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0xf75a0c6eDfE01196d04C54a7e81C2234964D001E",
			"source": "EternalStorage",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf75a0c6eDfE01196d04C54a7e81C2234964D001E",
			"timestamp": "2023-12-08T04:48:36.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x7b7f9b2274644c99771ec00ce62ba7abb98c323004a29d2ce620a3e2b1d33af5",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x0947b21c804ba4BEDE09fd167c4764Db93A654c0",
			"source": "DelegateApprovals",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0947b21c804ba4BEDE09fd167c4764Db93A654c0",
			"timestamp": "2023-12-08T04:48:48.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xccbe1c8182a686ddc2d0b5ae2a6765f89d194010f1ba6d73a8e5933d1a7fa6df",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0xf75a0c6eDfE01196d04C54a7e81C2234964D001E"
			]
		},
		"Liquidator": {
			"name": "Liquidator",
			"address": "0xeB5b29e7a2E8a5F50D3BB81B2B6c223EF6Fd3BE8",
			"source": "Liquidator",
			"link": "https://sepolia-optimism.etherscan.io/address/0xeB5b29e7a2E8a5F50D3BB81B2B6c223EF6Fd3BE8",
			"timestamp": "2023-12-08T04:48:58.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x3423950ebfc7f9b546832267a8a71b8fb53f4a22e4bc5cb63fa27d24060a43e0",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"LiquidatorRewards": {
			"name": "LiquidatorRewards",
			"address": "0xCD7A2bebaB14f40162287f5EA1635922803b1f01",
			"source": "LiquidatorRewards",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCD7A2bebaB14f40162287f5EA1635922803b1f01",
			"timestamp": "2023-12-08T04:49:08.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x175a6749c9b8c88b3a6f036c345dc38ad3e0ecb7e0d1ce307324b72a465419e7",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0xAC1d377Fb74aAEECA27C697432318066157Ff5c7",
			"source": "FeePoolEternalStorage",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAC1d377Fb74aAEECA27C697432318066157Ff5c7",
			"timestamp": "2023-12-08T04:49:16.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x7ee4f314692e85941b38241e7bef8d8c18c67b81c66479d793aa6db02952bec7",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x46D3a0308b70a221AE65865d62308197D4c95400",
			"source": "FeePool",
			"link": "https://sepolia-optimism.etherscan.io/address/0x46D3a0308b70a221AE65865d62308197D4c95400",
			"timestamp": "2023-12-08T04:49:26.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x6e8a6e61f2d684604366f2db188951b9d5db0f080c4a5fb80457b1c768ad1e66",
			"network": "sepolia",
			"constructorArgs": [
				"0x38fC5D5A5402Cde8cB384c939d201522F0873229",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0xd9542412D32d33D9eFAF478A997BD94476074B0b",
			"source": "FeePoolState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd9542412D32d33D9eFAF478A997BD94476074B0b",
			"timestamp": "2023-12-08T04:49:36.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x563be24932be2ea55a063413bb3e8629ebe898665d83a9405e789e568cc682b2",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x46D3a0308b70a221AE65865d62308197D4c95400"
			]
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x62c12039029Da4008e21fB026ed32d4207d80878",
			"source": "RewardsDistribution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x62c12039029Da4008e21fB026ed32d4207d80878",
			"timestamp": "2023-12-08T04:49:46.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x00ace7692cda32de2f2b7278ec47002ea97ab39a64b0fb635d117a832e1f9a0d",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000",
				"0x0000000000000000000000000000000000000000",
				"0x3Bb663E5988753B9b3f52E280548DC9072082973",
				"0x38fC5D5A5402Cde8cB384c939d201522F0873229"
			]
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0xF36789ABc1f0F11a23B9e2184455919e437D0e3B",
			"source": "DebtCache",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF36789ABc1f0F11a23B9e2184455919e437D0e3B",
			"timestamp": "2024-04-11T18:06:44.000Z",
			"txn": "https://sepolia-optimism.etherscan.io/tx/0x2d303db8e00f5c3a2d1d6421cea1bf03dc3c58a815e20c8f6d3eeff8bff138f9",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xe17b5ec91a4a68887634fef472cD1Ef556AabDb0",
			"source": "Exchanger",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe17b5ec91a4a68887634fef472cD1Ef556AabDb0",
			"timestamp": "2023-12-08T04:50:06.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xe858a1aaf5579df23bad1a2c129d51b9becaa92cde92d085663ef6581ff4bd67",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"CircuitBreaker": {
			"name": "CircuitBreaker",
			"address": "0x4E3e02627Dd2Ac579eafd6B33Cc5a569856b61D2",
			"source": "CircuitBreaker",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4E3e02627Dd2Ac579eafd6B33Cc5a569856b61D2",
			"timestamp": "2023-12-08T04:50:16.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xaee02709c6d60a1bf08aa2dfa659d314442520b9de026189c6d130afb8858416",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"ExchangeCircuitBreaker": {
			"name": "ExchangeCircuitBreaker",
			"address": "0x5E7ed002E882b125a96C02c4D55A642E9aA31D2b",
			"source": "ExchangeCircuitBreaker",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5E7ed002E882b125a96C02c4D55A642E9aA31D2b",
			"timestamp": "2023-12-08T04:50:24.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xcd3b4b59d1eb9d857b9b95ea178d1fd8cb606df5e105abf5070851096a4f4068",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0xDb48e982D07AD1A7D8CA87E00007d3e96e75C0cD",
			"source": "ExchangeState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDb48e982D07AD1A7D8CA87E00007d3e96e75C0cD",
			"timestamp": "2023-12-08T04:50:32.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x1b6709a280101ef00744c98c289bbcf5b1e25288162a420cc9da6cedf5819aa9",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0xe17b5ec91a4a68887634fef472cD1Ef556AabDb0"
			]
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x6a143C72AFEcA85a73268122A34Fb6154713Ae54",
			"source": "Issuer",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6a143C72AFEcA85a73268122A34Fb6154713Ae54",
			"timestamp": "2024-04-11T18:06:52.000Z",
			"txn": "https://sepolia-optimism.etherscan.io/tx/0xe5ab03ededfdee08f1886b683f1048ada4ba08b77d75f19815247702be1e7aff",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x1C98818512e59EA02c7cD47096a6Bfb38Afa9072",
			"source": "TradingRewards",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1C98818512e59EA02c7cD47096a6Bfb38Afa9072",
			"timestamp": "2023-12-08T04:50:52.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xb45667c54f633e5416a98ab872b262ffb2c8b8509cde993ce548292ead94d518",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0xAf5E03bF7d4274873A23f343048e1cd3Edca22c0",
			"source": "EscrowChecker",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAf5E03bF7d4274873A23f343048e1cd3Edca22c0",
			"timestamp": "2023-12-08T04:51:02.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x799fde8a70ae90dd6e99f50a04e5a3aa6e0338b89fca5eeaf98833fcf56219b0",
			"network": "sepolia",
			"constructorArgs": ["0xfcD8a3C86272CAb1E409117ee369dc3a79683418"]
		},
		"SynthetixBridgeToBase": {
			"name": "SynthetixBridgeToBase",
			"address": "0xD0f164c4fEcA0301c36804E986c084C91F0c49C3",
			"source": "SynthetixBridgeToBase",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD0f164c4fEcA0301c36804E986c084C91F0c49C3",
			"timestamp": "2023-12-08T04:51:12.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x2fc6f0bb364eb7b800b34620380c3d9afa4046bdb4c4da8c313d4f91c8858337",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"OwnerRelayOnOptimism": {
			"name": "OwnerRelayOnOptimism",
			"address": "0xDd60917DB0Ee90e4c4976BEa9eFa7eDBa6EDdEaF",
			"source": "OwnerRelayOnOptimism",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDd60917DB0Ee90e4c4976BEa9eFa7eDBa6EDdEaF",
			"timestamp": "2023-12-08T04:51:22.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x06445fec6bdf08101c4d25620a9e4afe44e272630c93e4c674dd4a9969eed5f2",
			"network": "sepolia",
			"constructorArgs": [
				"0x529C553eF2d0370279DC8AbF19702B98b166D252",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				5184000
			]
		},
		"DebtMigratorOnOptimism": {
			"name": "DebtMigratorOnOptimism",
			"address": "0x2cBA0Affe1b3C811Da78CBAf0fCD60A896a36da9",
			"source": "DebtMigratorOnOptimism",
			"link": "https://sepolia-explorer.optimism.io/address/0x2cBA0Affe1b3C811Da78CBAf0fCD60A896a36da9",
			"timestamp": "2023-12-08T04:51:33.396Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"SynthRedeemer": {
			"name": "SynthRedeemer",
			"address": "0x83F770cfA966bf83572920D1642B3522956C19a9",
			"source": "SynthRedeemer",
			"link": "https://sepolia-optimism.etherscan.io/address/0x83F770cfA966bf83572920D1642B3522956C19a9",
			"timestamp": "2023-12-08T04:51:40.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x912caffdf8f0e611291c6e4d0b55f56766b5353e9fe93cf2b480d47bf9829f20",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"WrapperFactory": {
			"name": "WrapperFactory",
			"address": "0x3F1f1F88e6ca32C360ECde7fA1c58102C7b8acDb",
			"source": "WrapperFactory",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3F1f1F88e6ca32C360ECde7fA1c58102C7b8acDb",
			"timestamp": "2023-12-08T04:51:50.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xdebdaa05c10af1b71d1539714d7b0f186fbffb33724aa5f26931d13289c28c16",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"DirectIntegrationManager": {
			"name": "DirectIntegrationManager",
			"address": "0x1bcE49b0543197c865477db206D11d553814859c",
			"source": "DirectIntegrationManager",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1bcE49b0543197c865477db206D11d553814859c",
			"timestamp": "2023-12-08T04:52:00.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x367c93c9d95883cb145ace6a0b61e5775522a0adaa865482ec79fa80ed27babf",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"TokenStatesUSD": {
			"name": "TokenStatesUSD",
			"address": "0x12F907Dff4AE0D949fE127646450C040C0DFF6F1",
			"source": "TokenState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x12F907Dff4AE0D949fE127646450C040C0DFF6F1",
			"timestamp": "2023-12-08T04:52:10.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x2869c9a2b57575cf726ac910db0dc03e65f92fe8173bd7eeece9fa73f796ea4b",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysUSD": {
			"name": "ProxysUSD",
			"address": "0xD7D674d80e79CF3A3b67D6a510AC1B0493dF47cF",
			"source": "ProxyERC20",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD7D674d80e79CF3A3b67D6a510AC1B0493dF47cF",
			"timestamp": "2023-12-08T04:52:19.990Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"SynthsUSD": {
			"name": "SynthsUSD",
			"address": "0x300CbD4244b0804456Da959F9CfD902c8c379DdE",
			"source": "MultiCollateralSynth",
			"link": "https://sepolia-optimism.etherscan.io/address/0x300CbD4244b0804456Da959F9CfD902c8c379DdE",
			"timestamp": "2023-12-08T04:52:28.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x9c0bb8e28fe39ee138fb48aa2ff003b1345de8272907dbd7f869d1f524c84401",
			"network": "sepolia",
			"constructorArgs": [
				"0xD7D674d80e79CF3A3b67D6a510AC1B0493dF47cF",
				"0x12F907Dff4AE0D949fE127646450C040C0DFF6F1",
				"Synth sUSD",
				"sUSD",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x7355534400000000000000000000000000000000000000000000000000000000",
				0,
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"TokenStatesETH": {
			"name": "TokenStatesETH",
			"address": "0xd140e48b2beE5E0Bd3E1C1EEe58296082f4d5B59",
			"source": "TokenState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd140e48b2beE5E0Bd3E1C1EEe58296082f4d5B59",
			"timestamp": "2023-12-08T04:52:38.278Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysETH": {
			"name": "ProxysETH",
			"address": "0x2A080457783adDe06009f1959ca7309Bd40CC772",
			"source": "ProxyERC20",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2A080457783adDe06009f1959ca7309Bd40CC772",
			"timestamp": "2023-12-08T04:52:47.714Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"SynthsETH": {
			"name": "SynthsETH",
			"address": "0xb2d7d4c6aA6af8C58350DD8dA5C1337f93e2817C",
			"source": "MultiCollateralSynth",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb2d7d4c6aA6af8C58350DD8dA5C1337f93e2817C",
			"timestamp": "2023-12-08T04:52:57.921Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2A080457783adDe06009f1959ca7309Bd40CC772",
				"0xd140e48b2beE5E0Bd3E1C1EEe58296082f4d5B59",
				"Synth sETH",
				"sETH",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x7345544800000000000000000000000000000000000000000000000000000000",
				0,
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"TokenStatesBTC": {
			"name": "TokenStatesBTC",
			"address": "0xf69ccAcd3680C3F6aE7C20A2087009019bD99B6A",
			"source": "TokenState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf69ccAcd3680C3F6aE7C20A2087009019bD99B6A",
			"timestamp": "2023-12-08T04:53:07.372Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysBTC": {
			"name": "ProxysBTC",
			"address": "0x0835169d4bde289e1d759cAa97aa3973d43E27c4",
			"source": "ProxyERC20",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0835169d4bde289e1d759cAa97aa3973d43E27c4",
			"timestamp": "2023-12-08T04:53:16.836Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"SynthsBTC": {
			"name": "SynthsBTC",
			"address": "0x65179157E57EDb41e91a7F70e5d0B10B5335B6d6",
			"source": "MultiCollateralSynth",
			"link": "https://sepolia-optimism.etherscan.io/address/0x65179157E57EDb41e91a7F70e5d0B10B5335B6d6",
			"timestamp": "2023-12-08T04:53:27.069Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0835169d4bde289e1d759cAa97aa3973d43E27c4",
				"0xf69ccAcd3680C3F6aE7C20A2087009019bD99B6A",
				"Synth sBTC",
				"sBTC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x7342544300000000000000000000000000000000000000000000000000000000",
				0,
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"EtherWrapper": {
			"name": "EtherWrapper",
			"address": "0x94dD4B5845BB6e13CD9cb8C9798660c7d1fC4863",
			"source": "EmptyEtherWrapper",
			"link": "https://sepolia-optimism.etherscan.io/address/0x94dD4B5845BB6e13CD9cb8C9798660c7d1fC4863",
			"timestamp": "2023-12-08T04:53:34.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x83d528190eb6ac7066c17b718068dd9f326e5d6abd56da988ad0e4c953e69e14",
			"network": "sepolia",
			"constructorArgs": []
		},
		"CollateralUtil": {
			"name": "CollateralUtil",
			"address": "0x14561e58757C419b6c8138523ffE142081672503",
			"source": "CollateralUtil",
			"link": "https://sepolia-optimism.etherscan.io/address/0x14561e58757C419b6c8138523ffE142081672503",
			"timestamp": "2023-12-08T04:53:44.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x7cd5ea3c6685354031178170ffec9b5fc1c99a2dc2324ab33a3c8d53104c1bf7",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0x25383baa8c3B5D96086B01976fCCA94a7520Ed23",
			"source": "CollateralManagerState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x25383baa8c3B5D96086B01976fCCA94a7520Ed23",
			"timestamp": "2023-12-08T04:53:54.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x73219b2e5f90406db6d58c122fcd89be822db823f00b15f452f774b4f0fc4674",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"
			]
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0xc9dc1B5DcB64f7a8D38c28741E2BeC2aa8C4aC9f",
			"source": "CollateralManager",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc9dc1B5DcB64f7a8D38c28741E2BeC2aa8C4aC9f",
			"timestamp": "2023-12-08T04:54:04.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xf28d182032fecb065c4f90a9f67ec3e49df78c2755a8e0e1cd3990097f370735",
			"network": "sepolia",
			"constructorArgs": [
				"0x25383baa8c3B5D96086B01976fCCA94a7520Ed23",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252",
				"75000000000000000000000000",
				"200000000000000000",
				"950662938",
				"158443823"
			]
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0x8908D0E448c20cBE65483f68f587107Ff069Fa3D",
			"source": "CollateralEth",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8908D0E448c20cBE65483f68f587107Ff069Fa3D",
			"timestamp": "2023-12-08T04:54:14.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x2fd6769c55e5d9010eb0c20adf80d048e4d7940b59d450a2d3b745aed606222b",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0xc9dc1B5DcB64f7a8D38c28741E2BeC2aa8C4aC9f",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252",
				"0x7345544800000000000000000000000000000000000000000000000000000000",
				null,
				null
			]
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x66058F354ed038FE252F924FEc35F40dBBB98292",
			"source": "CollateralShort",
			"link": "https://sepolia-optimism.etherscan.io/address/0x66058F354ed038FE252F924FEc35F40dBBB98292",
			"timestamp": "2023-12-08T04:54:24.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x11c7185731cf70122b474b92121971e3d816c5e721fbf5de196af60df143c706",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0xc9dc1B5DcB64f7a8D38c28741E2BeC2aa8C4aC9f",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252",
				"0x7355534400000000000000000000000000000000000000000000000000000000",
				"1200000000000000000",
				"100000000000000000000"
			]
		},
		"FuturesMarketManager": {
			"name": "FuturesMarketManager",
			"address": "0x00D79DBB8e9fC344C015ADD2D4135E5181b61e66",
			"source": "FuturesMarketManager",
			"link": "https://sepolia-optimism.etherscan.io/address/0x00D79DBB8e9fC344C015ADD2D4135E5181b61e66",
			"timestamp": "2023-12-08T04:54:34.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x3615d8bd4f6043abfde2d8a168a3e2ee8f5fa2f4adfeffdb844a24fd67d4bcd5",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketData": {
			"name": "PerpsV2MarketData",
			"address": "0x2D19525051C491CD6F48e22a11E7e484aC172FCE",
			"source": "PerpsV2MarketData",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2D19525051C491CD6F48e22a11E7e484aC172FCE",
			"timestamp": "2023-12-08T04:54:44.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x147e6db23bfaeff4ca2499bebdc6921ca659a2d56a9e486dba9e06df05bb711a",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"PerpsV2MarketSettings": {
			"name": "PerpsV2MarketSettings",
			"address": "0x34ffA8af41B1B3077e7b40cC19B6906c3125Cd0c",
			"source": "PerpsV2MarketSettings",
			"link": "https://sepolia-optimism.etherscan.io/address/0x34ffA8af41B1B3077e7b40cC19B6906c3125Cd0c",
			"timestamp": "2023-12-08T04:54:54.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0x2c71f78a151671b5a61785c7eca0f95a540c9c22bbde0ec5ee72c629a06291b9",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ExchangeRate": {
			"name": "PerpsV2ExchangeRate",
			"address": "0xBDA9863eFC244692816814E686Bd3A94aEc604Ad",
			"source": "PerpsV2ExchangeRate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBDA9863eFC244692816814E686Bd3A94aEc604Ad",
			"timestamp": "2023-12-08T04:55:04.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xa276f115da0fede09844fbd739e177f404dea82f6632d6d08c9036a067d623d7",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"SynthUtil": {
			"name": "SynthUtil",
			"address": "0xb13A82B995f2Df8c4D9f19be25701b49351f4fFF",
			"source": "SynthUtil",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb13A82B995f2Df8c4D9f19be25701b49351f4fFF",
			"timestamp": "2023-12-08T04:57:08.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xca9e168c8c1178091fb47e9a1aba5318ad3580bf8e0fec98e6d01cc171d6d729",
			"network": "sepolia",
			"constructorArgs": ["0x529C553eF2d0370279DC8AbF19702B98b166D252"]
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x0D7EC97023D648e9FEeb90510A64D5957AfFe6e8",
			"source": "DappMaintenance",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0D7EC97023D648e9FEeb90510A64D5957AfFe6e8",
			"timestamp": "2023-12-08T04:57:16.000Z",
			"txn": "https://sepolia-explorer.optimism.io/tx/0xae050220ba76f72f152ad4765712cf1950261d1d6c53698f92e8b92a324290a9",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2ProxyETHPERP": {
			"name": "PerpsV2ProxyETHPERP",
			"address": "0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
			"timestamp": "2024-01-26T19:11:09.603Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateETHPERP": {
			"name": "PerpsV2MarketStateETHPERP",
			"address": "0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
			"timestamp": "2024-01-26T19:11:20.260Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x7345544800000000000000000000000000000000000000000000000000000000",
				"0x7345544850455250000000000000000000000000000000000000000000000000",
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467"
			]
		},
		"PerpsV2MarketETHPERP": {
			"name": "PerpsV2MarketETHPERP",
			"address": "0xb62ca8cF0E1A52e0fDF7342CC372C2609F1800cE",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb62ca8cF0E1A52e0fDF7342CC372C2609F1800cE",
			"timestamp": "2024-01-26T19:11:29.572Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateETHPERP": {
			"name": "PerpsV2MarketLiquidateETHPERP",
			"address": "0xf9B1BA133B3bC149b5d5dc5d0CaF88b36ffe81cA",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf9B1BA133B3bC149b5d5dc5d0CaF88b36ffe81cA",
			"timestamp": "2024-01-26T19:11:40.732Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentETHPERP": {
			"name": "PerpsV2DelayedIntentETHPERP",
			"address": "0x54e08ec995536b78321fEAED2D518e95D62B388A",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x54e08ec995536b78321fEAED2D518e95D62B388A",
			"timestamp": "2024-01-26T19:11:52.547Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionETHPERP": {
			"name": "PerpsV2DelayedExecutionETHPERP",
			"address": "0x2A19D346e940174E1b97199adAB9D07F13508A3A",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2A19D346e940174E1b97199adAB9D07F13508A3A",
			"timestamp": "2024-01-26T19:12:03.930Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCa1Da01A412150b00cAD52b426d65dAB38Ab3830",
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsETHPERP": {
			"name": "PerpsV2MarketViewsETHPERP",
			"address": "0x50aAa4c2E19bA4602a0D0C6374B49e47c6790D47",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x50aAa4c2E19bA4602a0D0C6374B49e47c6790D47",
			"timestamp": "2024-01-26T19:12:14.467Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x43f5DF3AF588eB36028c26BeC54DBC054953B467",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBTCPERP": {
			"name": "PerpsV2ProxyBTCPERP",
			"address": "0xcA3988389C58F9C46245abbD6e3549744d516531",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcA3988389C58F9C46245abbD6e3549744d516531",
			"timestamp": "2024-01-26T19:28:24.054Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBTCPERP": {
			"name": "PerpsV2MarketStateBTCPERP",
			"address": "0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
			"timestamp": "2024-01-26T19:28:33.768Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x7342544300000000000000000000000000000000000000000000000000000000",
				"0x7342544350455250000000000000000000000000000000000000000000000000",
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b"
			]
		},
		"PerpsV2MarketBTCPERP": {
			"name": "PerpsV2MarketBTCPERP",
			"address": "0x550A9781E9B8E0DB2Cc7AfDeA5393F30319B52DC",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x550A9781E9B8E0DB2Cc7AfDeA5393F30319B52DC",
			"timestamp": "2024-01-26T19:28:45.698Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcA3988389C58F9C46245abbD6e3549744d516531",
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBTCPERP": {
			"name": "PerpsV2MarketLiquidateBTCPERP",
			"address": "0x401FDe7e0e0C19786F701FB3Ec95A35D77F6961d",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x401FDe7e0e0C19786F701FB3Ec95A35D77F6961d",
			"timestamp": "2024-01-26T19:28:56.321Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcA3988389C58F9C46245abbD6e3549744d516531",
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBTCPERP": {
			"name": "PerpsV2DelayedIntentBTCPERP",
			"address": "0x0DE0150D12aE2fAa1c4704d3335A9f72CFE78b1e",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0DE0150D12aE2fAa1c4704d3335A9f72CFE78b1e",
			"timestamp": "2024-01-26T19:29:08.001Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcA3988389C58F9C46245abbD6e3549744d516531",
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBTCPERP": {
			"name": "PerpsV2DelayedExecutionBTCPERP",
			"address": "0x43229D7C67e44AF09C9931CCB82506eaC76D664f",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x43229D7C67e44AF09C9931CCB82506eaC76D664f",
			"timestamp": "2024-01-26T19:29:18.904Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcA3988389C58F9C46245abbD6e3549744d516531",
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBTCPERP": {
			"name": "PerpsV2MarketViewsBTCPERP",
			"address": "0x78dB364AF61bA187e98E8499A820D536c4aE9502",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x78dB364AF61bA187e98E8499A820D536c4aE9502",
			"timestamp": "2024-01-26T19:29:29.698Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1781D6a7bBa67e280c3E1064CF89b8fD37B4E61b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBNBPERP": {
			"name": "PerpsV2ProxyBNBPERP",
			"address": "0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
			"timestamp": "2024-01-26T19:45:51.391Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBNBPERP": {
			"name": "PerpsV2MarketStateBNBPERP",
			"address": "0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
			"timestamp": "2024-01-26T19:46:01.991Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x424e420000000000000000000000000000000000000000000000000000000000",
				"0x73424e4250455250000000000000000000000000000000000000000000000000",
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0"
			]
		},
		"PerpsV2MarketBNBPERP": {
			"name": "PerpsV2MarketBNBPERP",
			"address": "0x0c4Ae633eC09e64933c1C6d9c18De101cF477412",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0c4Ae633eC09e64933c1C6d9c18De101cF477412",
			"timestamp": "2024-01-26T19:46:13.220Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBNBPERP": {
			"name": "PerpsV2MarketLiquidateBNBPERP",
			"address": "0xEB2841928c39deC1775645985069f3e336808477",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEB2841928c39deC1775645985069f3e336808477",
			"timestamp": "2024-01-26T19:46:24.368Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBNBPERP": {
			"name": "PerpsV2DelayedIntentBNBPERP",
			"address": "0x9a8ed34f54DaA071071b164b6ae5376f80cE41F4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9a8ed34f54DaA071071b164b6ae5376f80cE41F4",
			"timestamp": "2024-01-26T19:46:39.476Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBNBPERP": {
			"name": "PerpsV2DelayedExecutionBNBPERP",
			"address": "0xB092bF7D2f6bE537a29d6a6462f4913D92E2D504",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB092bF7D2f6bE537a29d6a6462f4913D92E2D504",
			"timestamp": "2024-01-26T19:46:50.620Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x58ed75617f2701Ec1Be85709dAB27cEcab327C04",
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBNBPERP": {
			"name": "PerpsV2MarketViewsBNBPERP",
			"address": "0x48a5749406bf8A229c6A258A651C840a075DB28e",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x48a5749406bf8A229c6A258A651C840a075DB28e",
			"timestamp": "2024-01-26T19:47:05.432Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8BAEB830c492177323596cbd1fEcA77Ff1E45ac0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyLINKPERP": {
			"name": "PerpsV2ProxyLINKPERP",
			"address": "0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
			"timestamp": "2024-01-26T20:03:33.425Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateLINKPERP": {
			"name": "PerpsV2MarketStateLINKPERP",
			"address": "0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
			"timestamp": "2024-01-26T20:03:43.772Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4c494e4b00000000000000000000000000000000000000000000000000000000",
				"0x734c494e4b504552500000000000000000000000000000000000000000000000",
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9"
			]
		},
		"PerpsV2MarketLINKPERP": {
			"name": "PerpsV2MarketLINKPERP",
			"address": "0xbF992870c742411DA65d2a945b8A3f11098efD6f",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbF992870c742411DA65d2a945b8A3f11098efD6f",
			"timestamp": "2024-01-26T20:03:55.119Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateLINKPERP": {
			"name": "PerpsV2MarketLiquidateLINKPERP",
			"address": "0xE898E9111c987360C5052731f9c34d3Dc7750f70",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE898E9111c987360C5052731f9c34d3Dc7750f70",
			"timestamp": "2024-01-26T20:04:05.955Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentLINKPERP": {
			"name": "PerpsV2DelayedIntentLINKPERP",
			"address": "0xbcbEA5bb3D68d4491af220bD2d1F793AF3fEaE92",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbcbEA5bb3D68d4491af220bD2d1F793AF3fEaE92",
			"timestamp": "2024-01-26T20:04:16.771Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionLINKPERP": {
			"name": "PerpsV2DelayedExecutionLINKPERP",
			"address": "0x0d3ba9DEe8Ba45529ff5Db695672ec93e06268a5",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0d3ba9DEe8Ba45529ff5Db695672ec93e06268a5",
			"timestamp": "2024-01-26T20:04:27.991Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fc12B9E0284545b6d979b77436D3BaA3b0F612d",
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsLINKPERP": {
			"name": "PerpsV2MarketViewsLINKPERP",
			"address": "0x25962B9Cf4dC6c11796D8736FaC4feCFA0127cca",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x25962B9Cf4dC6c11796D8736FaC4feCFA0127cca",
			"timestamp": "2024-01-26T20:04:39.196Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCE82360bbB39d86c8Eb34bFae5369944F1B49aB9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySOLPERP": {
			"name": "PerpsV2ProxySOLPERP",
			"address": "0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
			"timestamp": "2024-01-26T20:21:54.312Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSOLPERP": {
			"name": "PerpsV2MarketStateSOLPERP",
			"address": "0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
			"timestamp": "2024-01-26T20:22:07.588Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x534f4c0000000000000000000000000000000000000000000000000000000000",
				"0x73534f4c50455250000000000000000000000000000000000000000000000000",
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B"
			]
		},
		"PerpsV2MarketSOLPERP": {
			"name": "PerpsV2MarketSOLPERP",
			"address": "0x906628240e8E766745770154FCf3240aDE0da828",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x906628240e8E766745770154FCf3240aDE0da828",
			"timestamp": "2024-01-26T20:22:21.383Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSOLPERP": {
			"name": "PerpsV2MarketLiquidateSOLPERP",
			"address": "0x28333654363a8447136Ed8cBdc4fff12E95ccC0F",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x28333654363a8447136Ed8cBdc4fff12E95ccC0F",
			"timestamp": "2024-01-26T20:22:35.038Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSOLPERP": {
			"name": "PerpsV2DelayedIntentSOLPERP",
			"address": "0x9693B5716B6Dbe340DC61346D6C89d3412917C3E",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9693B5716B6Dbe340DC61346D6C89d3412917C3E",
			"timestamp": "2024-01-26T20:22:47.257Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSOLPERP": {
			"name": "PerpsV2DelayedExecutionSOLPERP",
			"address": "0x320195D9170dF99851BA41757C701C97ECf26d1F",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x320195D9170dF99851BA41757C701C97ECf26d1F",
			"timestamp": "2024-01-26T20:23:01.921Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x537E59ddb03a95cD127870Ef95d87446f0E76A92",
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSOLPERP": {
			"name": "PerpsV2MarketViewsSOLPERP",
			"address": "0x1e9d880d46F707A3D5833162C5C111Bb8f20d7a6",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1e9d880d46F707A3D5833162C5C111Bb8f20d7a6",
			"timestamp": "2024-01-26T20:23:15.459Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9C562c040BcD99d6c4B223A83169e9c29ecf960B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyMATICPERP": {
			"name": "PerpsV2ProxyMATICPERP",
			"address": "0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
			"timestamp": "2024-01-26T20:42:39.362Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateMATICPERP": {
			"name": "PerpsV2MarketStateMATICPERP",
			"address": "0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
			"timestamp": "2024-01-26T20:42:51.123Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4d41544943000000000000000000000000000000000000000000000000000000",
				"0x734d415449435045525000000000000000000000000000000000000000000000",
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892"
			]
		},
		"PerpsV2MarketMATICPERP": {
			"name": "PerpsV2MarketMATICPERP",
			"address": "0xbEF96640159109042F1B7265e22503eb963fB59D",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbEF96640159109042F1B7265e22503eb963fB59D",
			"timestamp": "2024-01-26T20:43:02.603Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateMATICPERP": {
			"name": "PerpsV2MarketLiquidateMATICPERP",
			"address": "0x413630Ff78847a0c089028c6DB3A313dF670F08a",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x413630Ff78847a0c089028c6DB3A313dF670F08a",
			"timestamp": "2024-01-26T20:43:13.318Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentMATICPERP": {
			"name": "PerpsV2DelayedIntentMATICPERP",
			"address": "0xE8fd0e679DB025D56e2cb807B0422072aC02DC88",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE8fd0e679DB025D56e2cb807B0422072aC02DC88",
			"timestamp": "2024-01-26T20:43:24.133Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionMATICPERP": {
			"name": "PerpsV2DelayedExecutionMATICPERP",
			"address": "0xEB5bCc95f3B1ee53756aF25917ACc05bA430843D",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEB5bCc95f3B1ee53756aF25917ACc05bA430843D",
			"timestamp": "2024-01-26T20:43:35.179Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x928B8C670D244ee09b8b57Cac7b6F042e6FC4306",
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsMATICPERP": {
			"name": "PerpsV2MarketViewsMATICPERP",
			"address": "0x1CA50f5e174cb79C25073c7561C0809AAceb2C54",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1CA50f5e174cb79C25073c7561C0809AAceb2C54",
			"timestamp": "2024-01-26T20:43:45.802Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf4020A929d3cafD9985EBbB7fCdeA5E3DDC04892",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyDOGEPERP": {
			"name": "PerpsV2ProxyDOGEPERP",
			"address": "0x0E9628026e53f4c805073d85554A87dBd2011268",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0E9628026e53f4c805073d85554A87dBd2011268",
			"timestamp": "2024-01-26T21:00:40.659Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateDOGEPERP": {
			"name": "PerpsV2MarketStateDOGEPERP",
			"address": "0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
			"timestamp": "2024-01-26T21:00:54.288Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x444f474500000000000000000000000000000000000000000000000000000000",
				"0x73444f4745504552500000000000000000000000000000000000000000000000",
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7"
			]
		},
		"PerpsV2MarketDOGEPERP": {
			"name": "PerpsV2MarketDOGEPERP",
			"address": "0x63C6906C53297e8ccdc4Ba84351f940460e49c52",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x63C6906C53297e8ccdc4Ba84351f940460e49c52",
			"timestamp": "2024-01-26T21:01:07.426Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0E9628026e53f4c805073d85554A87dBd2011268",
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateDOGEPERP": {
			"name": "PerpsV2MarketLiquidateDOGEPERP",
			"address": "0xD3B848f04B4e0694C9C2923fA82fc8E7E073e6c3",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD3B848f04B4e0694C9C2923fA82fc8E7E073e6c3",
			"timestamp": "2024-01-26T21:01:18.333Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0E9628026e53f4c805073d85554A87dBd2011268",
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentDOGEPERP": {
			"name": "PerpsV2DelayedIntentDOGEPERP",
			"address": "0xB69618Ba9599Bf6f7B866369C13cE0FE94e9c83E",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB69618Ba9599Bf6f7B866369C13cE0FE94e9c83E",
			"timestamp": "2024-01-26T21:01:33.071Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0E9628026e53f4c805073d85554A87dBd2011268",
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionDOGEPERP": {
			"name": "PerpsV2DelayedExecutionDOGEPERP",
			"address": "0x200801C26BD2181f1a5396988F31515A2Dfd39d1",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x200801C26BD2181f1a5396988F31515A2Dfd39d1",
			"timestamp": "2024-01-26T21:01:47.208Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0E9628026e53f4c805073d85554A87dBd2011268",
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsDOGEPERP": {
			"name": "PerpsV2MarketViewsDOGEPERP",
			"address": "0x77A93818448911f2388Ad2220E20dBD09153e4fb",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x77A93818448911f2388Ad2220E20dBD09153e4fb",
			"timestamp": "2024-01-26T21:02:00.904Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2500FDEc2C6bAb607De9E1935C9A4c5fBCe171F7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFTMPERP": {
			"name": "PerpsV2ProxyFTMPERP",
			"address": "0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
			"timestamp": "2024-01-26T22:16:28.143Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFTMPERP": {
			"name": "PerpsV2MarketStateFTMPERP",
			"address": "0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
			"timestamp": "2024-01-26T22:16:38.223Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x46544d0000000000000000000000000000000000000000000000000000000000",
				"0x7346544d50455250000000000000000000000000000000000000000000000000",
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39"
			]
		},
		"PerpsV2MarketFTMPERP": {
			"name": "PerpsV2MarketFTMPERP",
			"address": "0xf84F9e5f156F780A1458e4b9C591917a8908F119",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf84F9e5f156F780A1458e4b9C591917a8908F119",
			"timestamp": "2024-01-26T22:17:55.282Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFTMPERP": {
			"name": "PerpsV2MarketLiquidateFTMPERP",
			"address": "0x775CcD342b5e3101e36724773d2CfD1c3612B302",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x775CcD342b5e3101e36724773d2CfD1c3612B302",
			"timestamp": "2024-01-26T22:18:05.842Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFTMPERP": {
			"name": "PerpsV2DelayedIntentFTMPERP",
			"address": "0xA65574A3FaE065F70C707702CF8cc637B0B750b1",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA65574A3FaE065F70C707702CF8cc637B0B750b1",
			"timestamp": "2024-01-26T22:18:16.728Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFTMPERP": {
			"name": "PerpsV2DelayedExecutionFTMPERP",
			"address": "0x95949895D7CC9eEF57F98B3c571576519F1420A9",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x95949895D7CC9eEF57F98B3c571576519F1420A9",
			"timestamp": "2024-01-26T22:18:28.230Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x14fA3376E2ffa41708A0636009A35CAE8D8E2bc7",
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFTMPERP": {
			"name": "PerpsV2MarketViewsFTMPERP",
			"address": "0x136836F1bDa4C94C1E7Ae9B1aaD9278cAF7F0090",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x136836F1bDa4C94C1E7Ae9B1aaD9278cAF7F0090",
			"timestamp": "2024-01-26T22:18:38.832Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf160B3173a14Cd7464E1CBe5fbAEB4c90da3Ad39",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyATOMPERP": {
			"name": "PerpsV2ProxyATOMPERP",
			"address": "0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
			"timestamp": "2024-01-26T23:10:57.435Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateATOMPERP": {
			"name": "PerpsV2MarketStateATOMPERP",
			"address": "0x5fDa66Ed855EA186ed6719F866775079E8957334",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5fDa66Ed855EA186ed6719F866775079E8957334",
			"timestamp": "2024-01-26T23:11:08.584Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x41544f4d00000000000000000000000000000000000000000000000000000000",
				"0x7341544f4d504552500000000000000000000000000000000000000000000000",
				"0x5fDa66Ed855EA186ed6719F866775079E8957334"
			]
		},
		"PerpsV2MarketATOMPERP": {
			"name": "PerpsV2MarketATOMPERP",
			"address": "0xde6E6eE8D24C44937FF29cC1E4850FB7D0cD2ABC",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xde6E6eE8D24C44937FF29cC1E4850FB7D0cD2ABC",
			"timestamp": "2024-01-26T23:11:20.015Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
				"0x5fDa66Ed855EA186ed6719F866775079E8957334",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateATOMPERP": {
			"name": "PerpsV2MarketLiquidateATOMPERP",
			"address": "0x797000a25a29736369DBD35cdE8C38a68815265F",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x797000a25a29736369DBD35cdE8C38a68815265F",
			"timestamp": "2024-01-26T23:11:30.952Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
				"0x5fDa66Ed855EA186ed6719F866775079E8957334",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentATOMPERP": {
			"name": "PerpsV2DelayedIntentATOMPERP",
			"address": "0x2a8e1b5E20F1661620bF0e47d470FA9483d01DF9",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2a8e1b5E20F1661620bF0e47d470FA9483d01DF9",
			"timestamp": "2024-01-26T23:11:41.822Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
				"0x5fDa66Ed855EA186ed6719F866775079E8957334",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionATOMPERP": {
			"name": "PerpsV2DelayedExecutionATOMPERP",
			"address": "0x70b15FFC0f119748ae2575e4eAD4AA9229e9B197",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x70b15FFC0f119748ae2575e4eAD4AA9229e9B197",
			"timestamp": "2024-01-26T23:11:53.162Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbFC138dFf9Ae45F3e4ae9Bf3aCB47CA8223196E4",
				"0x5fDa66Ed855EA186ed6719F866775079E8957334",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsATOMPERP": {
			"name": "PerpsV2MarketViewsATOMPERP",
			"address": "0xa6E03c91AF7Ea284772000F809e30b9a8006d8c0",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa6E03c91AF7Ea284772000F809e30b9a8006d8c0",
			"timestamp": "2024-01-26T23:12:07.552Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fDa66Ed855EA186ed6719F866775079E8957334",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAVAXPERP": {
			"name": "PerpsV2ProxyAVAXPERP",
			"address": "0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
			"timestamp": "2024-01-26T23:29:05.828Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAVAXPERP": {
			"name": "PerpsV2MarketStateAVAXPERP",
			"address": "0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
			"timestamp": "2024-01-26T23:29:15.958Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4156415800000000000000000000000000000000000000000000000000000000",
				"0x7341564158504552500000000000000000000000000000000000000000000000",
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589"
			]
		},
		"PerpsV2MarketAVAXPERP": {
			"name": "PerpsV2MarketAVAXPERP",
			"address": "0x8Af70a806a6115678Dc74B1782B047D6F9F69a5e",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8Af70a806a6115678Dc74B1782B047D6F9F69a5e",
			"timestamp": "2024-01-26T23:29:27.145Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAVAXPERP": {
			"name": "PerpsV2MarketLiquidateAVAXPERP",
			"address": "0x45c264C5d244a887014ECDDaf2A193c75Cd83D4A",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x45c264C5d244a887014ECDDaf2A193c75Cd83D4A",
			"timestamp": "2024-01-26T23:29:37.785Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAVAXPERP": {
			"name": "PerpsV2DelayedIntentAVAXPERP",
			"address": "0x30Eb8f0014B8429ad6C81BeaA2017f5C306A4229",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x30Eb8f0014B8429ad6C81BeaA2017f5C306A4229",
			"timestamp": "2024-01-26T23:29:49.894Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAVAXPERP": {
			"name": "PerpsV2DelayedExecutionAVAXPERP",
			"address": "0x919f63540C03C5C9288E6e29DB5049D15AAd15ad",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x919f63540C03C5C9288E6e29DB5049D15AAd15ad",
			"timestamp": "2024-01-26T23:30:04.399Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x10e79fe757eD1d18536B2E509AF61235BceD69e0",
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAVAXPERP": {
			"name": "PerpsV2MarketViewsAVAXPERP",
			"address": "0xd7DE432702b430CBc91f43308F8836256264c150",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd7DE432702b430CBc91f43308F8836256264c150",
			"timestamp": "2024-01-26T23:30:18.137Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8960d18CfF0414FD419ab9d16d2f6a276e2e1589",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyARBPERP": {
			"name": "PerpsV2ProxyARBPERP",
			"address": "0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
			"timestamp": "2024-01-26T23:47:13.519Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateARBPERP": {
			"name": "PerpsV2MarketStateARBPERP",
			"address": "0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
			"timestamp": "2024-01-26T23:47:23.838Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4152420000000000000000000000000000000000000000000000000000000000",
				"0x7341524250455250000000000000000000000000000000000000000000000000",
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0"
			]
		},
		"PerpsV2MarketARBPERP": {
			"name": "PerpsV2MarketARBPERP",
			"address": "0x3d3d14869D0C0aB6F2E54f56afC3578B0cF4D564",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3d3d14869D0C0aB6F2E54f56afC3578B0cF4D564",
			"timestamp": "2024-01-26T23:47:34.860Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateARBPERP": {
			"name": "PerpsV2MarketLiquidateARBPERP",
			"address": "0xB50f684D78600A5C06f1E19Fa357Bc5e9A08811F",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB50f684D78600A5C06f1E19Fa357Bc5e9A08811F",
			"timestamp": "2024-01-26T23:47:49.393Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentARBPERP": {
			"name": "PerpsV2DelayedIntentARBPERP",
			"address": "0x378e937d9111F482e6a3D4a1B4D0ef3d93D876Ba",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x378e937d9111F482e6a3D4a1B4D0ef3d93D876Ba",
			"timestamp": "2024-01-26T23:48:00.094Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionARBPERP": {
			"name": "PerpsV2DelayedExecutionARBPERP",
			"address": "0x0b3310D06e5aaB8bD3c1a08f1c6187DECdFe5c56",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0b3310D06e5aaB8bD3c1a08f1c6187DECdFe5c56",
			"timestamp": "2024-01-26T23:48:11.935Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba",
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsARBPERP": {
			"name": "PerpsV2MarketViewsARBPERP",
			"address": "0x196Cb95C605cD36859DCdA594eEfAD91c21006D3",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x196Cb95C605cD36859DCdA594eEfAD91c21006D3",
			"timestamp": "2024-01-26T23:48:22.446Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyOPPERP": {
			"name": "PerpsV2ProxyOPPERP",
			"address": "0x524c0B136F54941529b8c11214A05f958a89A6A6",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x524c0B136F54941529b8c11214A05f958a89A6A6",
			"timestamp": "2024-01-27T00:05:34.426Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateOPPERP": {
			"name": "PerpsV2MarketStateOPPERP",
			"address": "0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
			"timestamp": "2024-01-27T00:05:44.885Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4f50000000000000000000000000000000000000000000000000000000000000",
				"0x734f505045525000000000000000000000000000000000000000000000000000",
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5"
			]
		},
		"PerpsV2MarketOPPERP": {
			"name": "PerpsV2MarketOPPERP",
			"address": "0xA5A8b4C6892098C497fCe75c6EfCee22de816bC8",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA5A8b4C6892098C497fCe75c6EfCee22de816bC8",
			"timestamp": "2024-01-27T00:05:59.570Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x524c0B136F54941529b8c11214A05f958a89A6A6",
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateOPPERP": {
			"name": "PerpsV2MarketLiquidateOPPERP",
			"address": "0xccCC18CccEa85525eEa0aDd7Ca34c0a9645EDf09",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xccCC18CccEa85525eEa0aDd7Ca34c0a9645EDf09",
			"timestamp": "2024-01-27T00:06:10.044Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x524c0B136F54941529b8c11214A05f958a89A6A6",
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentOPPERP": {
			"name": "PerpsV2DelayedIntentOPPERP",
			"address": "0x220b34bB0BCc7D31E7893f16440D76384D6a94E8",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x220b34bB0BCc7D31E7893f16440D76384D6a94E8",
			"timestamp": "2024-01-27T00:06:20.723Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x524c0B136F54941529b8c11214A05f958a89A6A6",
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionOPPERP": {
			"name": "PerpsV2DelayedExecutionOPPERP",
			"address": "0x3174d4bBb940BCED30F0acC71605204d2AE590C9",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3174d4bBb940BCED30F0acC71605204d2AE590C9",
			"timestamp": "2024-01-27T00:06:32.045Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x524c0B136F54941529b8c11214A05f958a89A6A6",
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsOPPERP": {
			"name": "PerpsV2MarketViewsOPPERP",
			"address": "0x5A7028CCbB4A9D573a2Ab731b4278CBA0c01C5a3",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5A7028CCbB4A9D573a2Ab731b4278CBA0c01C5a3",
			"timestamp": "2024-01-27T00:06:42.954Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2Dbdb1941D4B02e4D8ad02A82E376eaEfC4573A5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAPEPERP": {
			"name": "PerpsV2ProxyAPEPERP",
			"address": "0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
			"timestamp": "2024-01-27T00:22:51.760Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAPEPERP": {
			"name": "PerpsV2MarketStateAPEPERP",
			"address": "0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
			"timestamp": "2024-01-27T00:23:02.250Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4150450000000000000000000000000000000000000000000000000000000000",
				"0x7341504550455250000000000000000000000000000000000000000000000000",
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4"
			]
		},
		"PerpsV2MarketAPEPERP": {
			"name": "PerpsV2MarketAPEPERP",
			"address": "0x439129f9458ccADbEb3418520E4d7346895692D3",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x439129f9458ccADbEb3418520E4d7346895692D3",
			"timestamp": "2024-01-27T00:23:11.556Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAPEPERP": {
			"name": "PerpsV2MarketLiquidateAPEPERP",
			"address": "0xD59B850F442aECD66cc78663b91D7A7Ee46ef3fD",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD59B850F442aECD66cc78663b91D7A7Ee46ef3fD",
			"timestamp": "2024-01-27T00:23:21.984Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAPEPERP": {
			"name": "PerpsV2DelayedIntentAPEPERP",
			"address": "0xF929965a6BcF6F279031AB314D609b54CDa073a1",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF929965a6BcF6F279031AB314D609b54CDa073a1",
			"timestamp": "2024-01-27T00:23:32.982Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAPEPERP": {
			"name": "PerpsV2DelayedExecutionAPEPERP",
			"address": "0xa0Ea9B6C544E4Df1351D1DEe426A70c4154F0D03",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa0Ea9B6C544E4Df1351D1DEe426A70c4154F0D03",
			"timestamp": "2024-01-27T00:23:44.175Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29",
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAPEPERP": {
			"name": "PerpsV2MarketViewsAPEPERP",
			"address": "0x9F9c27B91fCC32F41787dD4486411D1d5a21839D",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9F9c27B91fCC32F41787dD4486411D1d5a21839D",
			"timestamp": "2024-01-27T00:23:59.412Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyNEARPERP": {
			"name": "PerpsV2ProxyNEARPERP",
			"address": "0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
			"timestamp": "2024-01-27T00:40:25.676Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateNEARPERP": {
			"name": "PerpsV2MarketStateNEARPERP",
			"address": "0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
			"timestamp": "2024-01-27T00:40:36.159Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4e45415200000000000000000000000000000000000000000000000000000000",
				"0x734e454152504552500000000000000000000000000000000000000000000000",
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa"
			]
		},
		"PerpsV2MarketNEARPERP": {
			"name": "PerpsV2MarketNEARPERP",
			"address": "0xFd6F52438a8E5ac9aD9ace656ff36c0893e3BB49",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFd6F52438a8E5ac9aD9ace656ff36c0893e3BB49",
			"timestamp": "2024-01-27T00:40:46.985Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateNEARPERP": {
			"name": "PerpsV2MarketLiquidateNEARPERP",
			"address": "0xe204Ac2eEd6D49047645e395331E1b1AfB371a6E",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe204Ac2eEd6D49047645e395331E1b1AfB371a6E",
			"timestamp": "2024-01-27T00:40:57.980Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentNEARPERP": {
			"name": "PerpsV2DelayedIntentNEARPERP",
			"address": "0xDb706ca67A1313e1bff898ABa4601451C9E09dc2",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDb706ca67A1313e1bff898ABa4601451C9E09dc2",
			"timestamp": "2024-01-27T00:41:10.695Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionNEARPERP": {
			"name": "PerpsV2DelayedExecutionNEARPERP",
			"address": "0x76ac18078973A3C252c7cdcb4869dF0bA458c5A1",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x76ac18078973A3C252c7cdcb4869dF0bA458c5A1",
			"timestamp": "2024-01-27T00:41:24.517Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x227F3d73Cf5618640fe3a0eF8404929aa99532c8",
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsNEARPERP": {
			"name": "PerpsV2MarketViewsNEARPERP",
			"address": "0xD8F64A0Fc982C0d83E0A8e3c4d565D0a19C9D884",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD8F64A0Fc982C0d83E0A8e3c4d565D0a19C9D884",
			"timestamp": "2024-01-27T00:41:37.667Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA1bda9CA49cE373102A9Ef1a9Db0798eeF87AdCa",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAXSPERP": {
			"name": "PerpsV2ProxyAXSPERP",
			"address": "0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
			"timestamp": "2024-01-27T00:58:39.237Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAXSPERP": {
			"name": "PerpsV2MarketStateAXSPERP",
			"address": "0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
			"timestamp": "2024-01-27T00:58:53.617Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4158530000000000000000000000000000000000000000000000000000000000",
				"0x7341585350455250000000000000000000000000000000000000000000000000",
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59"
			]
		},
		"PerpsV2MarketAXSPERP": {
			"name": "PerpsV2MarketAXSPERP",
			"address": "0x122B156B92CC4B2390af115c971B6e447334c71b",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x122B156B92CC4B2390af115c971B6e447334c71b",
			"timestamp": "2024-01-27T00:59:04.453Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAXSPERP": {
			"name": "PerpsV2MarketLiquidateAXSPERP",
			"address": "0x40791AD11302ddc89a1B692e1dbbAAfE09Fc61ab",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x40791AD11302ddc89a1B692e1dbbAAfE09Fc61ab",
			"timestamp": "2024-01-27T00:59:15.067Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAXSPERP": {
			"name": "PerpsV2DelayedIntentAXSPERP",
			"address": "0xdc38548938b61827a95430136F3e80eb881481D3",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdc38548938b61827a95430136F3e80eb881481D3",
			"timestamp": "2024-01-27T00:59:26.612Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAXSPERP": {
			"name": "PerpsV2DelayedExecutionAXSPERP",
			"address": "0xdca79dA12c24CEB882fa0a6B8e7D2eF94373474f",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdca79dA12c24CEB882fa0a6B8e7D2eF94373474f",
			"timestamp": "2024-01-27T00:59:41.816Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2e11a3638F12A37263b1B4226b61412f6BBB277c",
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAXSPERP": {
			"name": "PerpsV2MarketViewsAXSPERP",
			"address": "0x345743a5B132856327118872900c7baCb44A1066",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x345743a5B132856327118872900c7baCb44A1066",
			"timestamp": "2024-01-27T00:59:52.308Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x18755fd7a3E6fDA69ebF9ce8b43C809fe3d3eC59",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyUNIPERP": {
			"name": "PerpsV2ProxyUNIPERP",
			"address": "0x16665311Ea294747F10380a91f25193D8A9612A4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x16665311Ea294747F10380a91f25193D8A9612A4",
			"timestamp": "2024-01-27T01:16:59.452Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateUNIPERP": {
			"name": "PerpsV2MarketStateUNIPERP",
			"address": "0x475b7637040E5C0260e8c90440C4688e2349c07e",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x475b7637040E5C0260e8c90440C4688e2349c07e",
			"timestamp": "2024-01-27T01:17:09.893Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x554e490000000000000000000000000000000000000000000000000000000000",
				"0x73554e4950455250000000000000000000000000000000000000000000000000",
				"0x475b7637040E5C0260e8c90440C4688e2349c07e"
			]
		},
		"PerpsV2MarketUNIPERP": {
			"name": "PerpsV2MarketUNIPERP",
			"address": "0x957Ca78d3174b61F7A7CA63813e5DE1b4Fc99075",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x957Ca78d3174b61F7A7CA63813e5DE1b4Fc99075",
			"timestamp": "2024-01-27T01:17:20.945Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x16665311Ea294747F10380a91f25193D8A9612A4",
				"0x475b7637040E5C0260e8c90440C4688e2349c07e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateUNIPERP": {
			"name": "PerpsV2MarketLiquidateUNIPERP",
			"address": "0x8E8CB964a972CfBAFE6470e1729F0188E0A4137F",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8E8CB964a972CfBAFE6470e1729F0188E0A4137F",
			"timestamp": "2024-01-27T01:17:35.408Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x16665311Ea294747F10380a91f25193D8A9612A4",
				"0x475b7637040E5C0260e8c90440C4688e2349c07e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentUNIPERP": {
			"name": "PerpsV2DelayedIntentUNIPERP",
			"address": "0x090f69A3fAd37717C219862EB4Cd7C5202A16a14",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x090f69A3fAd37717C219862EB4Cd7C5202A16a14",
			"timestamp": "2024-01-27T01:17:46.443Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x16665311Ea294747F10380a91f25193D8A9612A4",
				"0x475b7637040E5C0260e8c90440C4688e2349c07e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionUNIPERP": {
			"name": "PerpsV2DelayedExecutionUNIPERP",
			"address": "0xE091A7351175e576c3E7689caF671AC970Da9aDc",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE091A7351175e576c3E7689caF671AC970Da9aDc",
			"timestamp": "2024-01-27T01:17:57.929Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x16665311Ea294747F10380a91f25193D8A9612A4",
				"0x475b7637040E5C0260e8c90440C4688e2349c07e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsUNIPERP": {
			"name": "PerpsV2MarketViewsUNIPERP",
			"address": "0xff1c97255071F6C3f980d56Ba81e49F00aBB29b5",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xff1c97255071F6C3f980d56Ba81e49F00aBB29b5",
			"timestamp": "2024-01-27T01:18:08.488Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x475b7637040E5C0260e8c90440C4688e2349c07e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyDYDXPERP": {
			"name": "PerpsV2ProxyDYDXPERP",
			"address": "0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
			"timestamp": "2024-01-27T01:34:40.774Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateDYDXPERP": {
			"name": "PerpsV2MarketStateDYDXPERP",
			"address": "0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
			"timestamp": "2024-01-27T01:34:51.217Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4459445800000000000000000000000000000000000000000000000000000000",
				"0x7344594458504552500000000000000000000000000000000000000000000000",
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81"
			]
		},
		"PerpsV2MarketDYDXPERP": {
			"name": "PerpsV2MarketDYDXPERP",
			"address": "0xeD8627893DC66f00Ee90Da53Ab06395106d4b60D",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xeD8627893DC66f00Ee90Da53Ab06395106d4b60D",
			"timestamp": "2024-01-27T01:35:03.153Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateDYDXPERP": {
			"name": "PerpsV2MarketLiquidateDYDXPERP",
			"address": "0x3a3AFd4667d2Ba75AeCc65E11878c356C32c1791",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3a3AFd4667d2Ba75AeCc65E11878c356C32c1791",
			"timestamp": "2024-01-27T01:35:16.776Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentDYDXPERP": {
			"name": "PerpsV2DelayedIntentDYDXPERP",
			"address": "0x811faDff66dB8B2Be64B9B679368EaFaD38aD663",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x811faDff66dB8B2Be64B9B679368EaFaD38aD663",
			"timestamp": "2024-01-27T01:35:29.012Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionDYDXPERP": {
			"name": "PerpsV2DelayedExecutionDYDXPERP",
			"address": "0xa3abDBCE518c24C201292134dc7882D971edfb35",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa3abDBCE518c24C201292134dc7882D971edfb35",
			"timestamp": "2024-01-27T01:35:43.882Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5D6e4263a203A1677Da38f175d95759adA27e6F9",
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsDYDXPERP": {
			"name": "PerpsV2MarketViewsDYDXPERP",
			"address": "0xA3cbc5453f990905f710B549c1261c67720C9C9D",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA3cbc5453f990905f710B549c1261c67720C9C9D",
			"timestamp": "2024-01-27T01:35:57.255Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA3c7570E39e116d371B54f7Fb9B0A2d0CA972C81",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAAVEPERP": {
			"name": "PerpsV2ProxyAAVEPERP",
			"address": "0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
			"timestamp": "2024-01-27T01:52:59.339Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAAVEPERP": {
			"name": "PerpsV2MarketStateAAVEPERP",
			"address": "0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
			"timestamp": "2024-01-27T01:53:09.855Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4141564500000000000000000000000000000000000000000000000000000000",
				"0x7341415645504552500000000000000000000000000000000000000000000000",
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7"
			]
		},
		"PerpsV2MarketAAVEPERP": {
			"name": "PerpsV2MarketAAVEPERP",
			"address": "0x23491e44a882ED0158CC2Cb55E1ABd08f533Bc61",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x23491e44a882ED0158CC2Cb55E1ABd08f533Bc61",
			"timestamp": "2024-01-27T01:53:20.824Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAAVEPERP": {
			"name": "PerpsV2MarketLiquidateAAVEPERP",
			"address": "0xEA1998Ae746e03A6241cEA036aC41F18dd7EFB74",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEA1998Ae746e03A6241cEA036aC41F18dd7EFB74",
			"timestamp": "2024-01-27T01:53:31.989Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAAVEPERP": {
			"name": "PerpsV2DelayedIntentAAVEPERP",
			"address": "0x80DE2257Cd4BC4B32fEbBe39d132ba06Dd94e382",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x80DE2257Cd4BC4B32fEbBe39d132ba06Dd94e382",
			"timestamp": "2024-01-27T01:53:42.652Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAAVEPERP": {
			"name": "PerpsV2DelayedExecutionAAVEPERP",
			"address": "0x25ed39Eb34f64bceeD9359EDc532fB2E11c67ce8",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x25ed39Eb34f64bceeD9359EDc532fB2E11c67ce8",
			"timestamp": "2024-01-27T01:53:57.724Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa89402D83DeD4C71639Cf0Ca1f5FCc25EE4eB1A8",
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAAVEPERP": {
			"name": "PerpsV2MarketViewsAAVEPERP",
			"address": "0x39f44d1E92b858ff1D945D0a7440318553d83375",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x39f44d1E92b858ff1D945D0a7440318553d83375",
			"timestamp": "2024-01-27T01:54:08.558Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5982cd52a23E4a36362fDBD0f741dd17c8a494b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFLOWPERP": {
			"name": "PerpsV2ProxyFLOWPERP",
			"address": "0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
			"timestamp": "2024-01-27T02:10:47.510Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFLOWPERP": {
			"name": "PerpsV2MarketStateFLOWPERP",
			"address": "0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
			"timestamp": "2024-01-27T02:11:00.609Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x464c4f5700000000000000000000000000000000000000000000000000000000",
				"0x73464c4f57504552500000000000000000000000000000000000000000000000",
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3"
			]
		},
		"PerpsV2MarketFLOWPERP": {
			"name": "PerpsV2MarketFLOWPERP",
			"address": "0xF8D374661cD26317648B23E02a442939B71f5502",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF8D374661cD26317648B23E02a442939B71f5502",
			"timestamp": "2024-01-27T02:11:13.211Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFLOWPERP": {
			"name": "PerpsV2MarketLiquidateFLOWPERP",
			"address": "0xe1089F25De0f203f1d68cDdE5FDfC6ABd6d2e346",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe1089F25De0f203f1d68cDdE5FDfC6ABd6d2e346",
			"timestamp": "2024-01-27T02:11:27.532Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFLOWPERP": {
			"name": "PerpsV2DelayedIntentFLOWPERP",
			"address": "0xEED61f0CB02f3B38923b1b6EAa939D5f04f431b6",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEED61f0CB02f3B38923b1b6EAa939D5f04f431b6",
			"timestamp": "2024-01-27T02:11:41.629Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFLOWPERP": {
			"name": "PerpsV2DelayedExecutionFLOWPERP",
			"address": "0xEFDC184604EA2cb21A083f44fB06E2d340758d83",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEFDC184604EA2cb21A083f44fB06E2d340758d83",
			"timestamp": "2024-01-27T02:11:54.767Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe14F12246A6965aB2E8ea52A1Be39B8f731bc4a4",
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFLOWPERP": {
			"name": "PerpsV2MarketViewsFLOWPERP",
			"address": "0x29e7320d46674Bf090f703F212EAe7f986256609",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x29e7320d46674Bf090f703F212EAe7f986256609",
			"timestamp": "2024-01-27T02:12:05.103Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0634fd9bc1d00F8a5b4DB661F4af1A299611d7D3",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAUDPERP": {
			"name": "PerpsV2ProxyAUDPERP",
			"address": "0x7cFC822c64847D1aF0F9C615da792168275b642A",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7cFC822c64847D1aF0F9C615da792168275b642A",
			"timestamp": "2024-01-27T02:28:31.472Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAUDPERP": {
			"name": "PerpsV2MarketStateAUDPERP",
			"address": "0xbA59D241dEE2146b1Be366C70B54ED638a168530",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbA59D241dEE2146b1Be366C70B54ED638a168530",
			"timestamp": "2024-01-27T02:28:41.989Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4155440000000000000000000000000000000000000000000000000000000000",
				"0x7341554450455250000000000000000000000000000000000000000000000000",
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530"
			]
		},
		"PerpsV2MarketAUDPERP": {
			"name": "PerpsV2MarketAUDPERP",
			"address": "0xDEe80af497f821fe4AbFC7b2bD1F6334dbc7103f",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDEe80af497f821fe4AbFC7b2bD1F6334dbc7103f",
			"timestamp": "2024-01-27T02:28:52.673Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7cFC822c64847D1aF0F9C615da792168275b642A",
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAUDPERP": {
			"name": "PerpsV2MarketLiquidateAUDPERP",
			"address": "0xf97fE0496BC4D0669117B2d76d20412Ad6b25B2A",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf97fE0496BC4D0669117B2d76d20412Ad6b25B2A",
			"timestamp": "2024-01-27T02:29:04.325Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7cFC822c64847D1aF0F9C615da792168275b642A",
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAUDPERP": {
			"name": "PerpsV2DelayedIntentAUDPERP",
			"address": "0x6d92963643357570bFb5049693E1F19eB378dcb0",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6d92963643357570bFb5049693E1F19eB378dcb0",
			"timestamp": "2024-01-27T02:29:15.225Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7cFC822c64847D1aF0F9C615da792168275b642A",
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAUDPERP": {
			"name": "PerpsV2DelayedExecutionAUDPERP",
			"address": "0x95c26E65216824CcC72A786504035B585E95C3C3",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x95c26E65216824CcC72A786504035B585E95C3C3",
			"timestamp": "2024-01-27T02:29:26.214Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7cFC822c64847D1aF0F9C615da792168275b642A",
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAUDPERP": {
			"name": "PerpsV2MarketViewsAUDPERP",
			"address": "0xb7a4e69dEd852e5e1161C50BA1417622287Bb18C",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb7a4e69dEd852e5e1161C50BA1417622287Bb18C",
			"timestamp": "2024-01-27T02:29:36.764Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbA59D241dEE2146b1Be366C70B54ED638a168530",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyGBPPERP": {
			"name": "PerpsV2ProxyGBPPERP",
			"address": "0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
			"timestamp": "2024-01-27T02:45:44.227Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateGBPPERP": {
			"name": "PerpsV2MarketStateGBPPERP",
			"address": "0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
			"timestamp": "2024-01-27T02:45:54.726Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4742500000000000000000000000000000000000000000000000000000000000",
				"0x7347425050455250000000000000000000000000000000000000000000000000",
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c"
			]
		},
		"PerpsV2MarketGBPPERP": {
			"name": "PerpsV2MarketGBPPERP",
			"address": "0xC814df7621afae50a0Eb4d32Ee895D066594E045",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC814df7621afae50a0Eb4d32Ee895D066594E045",
			"timestamp": "2024-01-27T02:46:05.675Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateGBPPERP": {
			"name": "PerpsV2MarketLiquidateGBPPERP",
			"address": "0x7B8C58bcB992B042863A8a1CD1FEb85BAd5e8A78",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7B8C58bcB992B042863A8a1CD1FEb85BAd5e8A78",
			"timestamp": "2024-01-27T02:46:16.863Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentGBPPERP": {
			"name": "PerpsV2DelayedIntentGBPPERP",
			"address": "0xfceA9A0D1267A44E9E4Dd1DA79c6EbfD49d53Ef4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfceA9A0D1267A44E9E4Dd1DA79c6EbfD49d53Ef4",
			"timestamp": "2024-01-27T02:46:31.577Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionGBPPERP": {
			"name": "PerpsV2DelayedExecutionGBPPERP",
			"address": "0x2CB2B3e26c42a9880E3d73867177a6058314E8e4",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2CB2B3e26c42a9880E3d73867177a6058314E8e4",
			"timestamp": "2024-01-27T02:46:42.593Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x45E43fb03c83582E6fcE22078c607b85C3B3615B",
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsGBPPERP": {
			"name": "PerpsV2MarketViewsGBPPERP",
			"address": "0x5bBC9967D45de90F4cb27b0Ee09BEFDbF155Ae10",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5bBC9967D45de90F4cb27b0Ee09BEFDbF155Ae10",
			"timestamp": "2024-01-27T02:46:52.921Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x15E8BeA9C75EDa0F64eE63468d86A8F50625553c",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXAUPERP": {
			"name": "PerpsV2ProxyXAUPERP",
			"address": "0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
			"timestamp": "2024-01-27T03:03:28.379Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXAUPERP": {
			"name": "PerpsV2MarketStateXAUPERP",
			"address": "0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
			"timestamp": "2024-01-27T03:03:38.741Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5841550000000000000000000000000000000000000000000000000000000000",
				"0x7358415550455250000000000000000000000000000000000000000000000000",
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5"
			]
		},
		"PerpsV2MarketXAUPERP": {
			"name": "PerpsV2MarketXAUPERP",
			"address": "0x8C41Ce88a21c33a56C6d0280B3C4C2Ff8991c62c",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8C41Ce88a21c33a56C6d0280B3C4C2Ff8991c62c",
			"timestamp": "2024-01-27T03:03:49.686Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXAUPERP": {
			"name": "PerpsV2MarketLiquidateXAUPERP",
			"address": "0xd05600Aa6C65c6b1b10F4E83Beb9807024d97dd3",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd05600Aa6C65c6b1b10F4E83Beb9807024d97dd3",
			"timestamp": "2024-01-27T03:04:00.563Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXAUPERP": {
			"name": "PerpsV2DelayedIntentXAUPERP",
			"address": "0x265877592e613D4a79A0F678Da8013179837bBF4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x265877592e613D4a79A0F678Da8013179837bBF4",
			"timestamp": "2024-01-27T03:04:11.689Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXAUPERP": {
			"name": "PerpsV2DelayedExecutionXAUPERP",
			"address": "0x25566ddA0bFd676CEB3e19df6a19930CC9f274E0",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x25566ddA0bFd676CEB3e19df6a19930CC9f274E0",
			"timestamp": "2024-01-27T03:04:22.755Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA035a912d9C43748c2515f4B9B3Ebb6CE4126F82",
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXAUPERP": {
			"name": "PerpsV2MarketViewsXAUPERP",
			"address": "0x56513dAAebC957D65C468E449De876FE2B431E9d",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x56513dAAebC957D65C468E449De876FE2B431E9d",
			"timestamp": "2024-01-27T03:04:33.879Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x92424427291C2EB68af3CE67EA67ca42EcB438c5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXAGPERP": {
			"name": "PerpsV2ProxyXAGPERP",
			"address": "0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
			"timestamp": "2024-01-27T03:21:14.157Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXAGPERP": {
			"name": "PerpsV2MarketStateXAGPERP",
			"address": "0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
			"timestamp": "2024-01-27T03:21:24.401Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5841470000000000000000000000000000000000000000000000000000000000",
				"0x7358414750455250000000000000000000000000000000000000000000000000",
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d"
			]
		},
		"PerpsV2MarketXAGPERP": {
			"name": "PerpsV2MarketXAGPERP",
			"address": "0xa8127E705C54cD1fd9349cbc428dE4A21116B4c5",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa8127E705C54cD1fd9349cbc428dE4A21116B4c5",
			"timestamp": "2024-01-27T03:21:35.269Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXAGPERP": {
			"name": "PerpsV2MarketLiquidateXAGPERP",
			"address": "0xb04F33e02DdA68cAF8ddD14928b626616f12eCD6",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb04F33e02DdA68cAF8ddD14928b626616f12eCD6",
			"timestamp": "2024-01-27T03:21:46.237Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXAGPERP": {
			"name": "PerpsV2DelayedIntentXAGPERP",
			"address": "0xF80f610B9B324aa6A50F938690cb4F211c02206f",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF80f610B9B324aa6A50F938690cb4F211c02206f",
			"timestamp": "2024-01-27T03:21:57.134Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXAGPERP": {
			"name": "PerpsV2DelayedExecutionXAGPERP",
			"address": "0x238aB31f0EDf804e4a47854FA8a03a3DaCbFe2f8",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x238aB31f0EDf804e4a47854FA8a03a3DaCbFe2f8",
			"timestamp": "2024-01-27T03:22:08.138Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8bb726888D1E1EA5f3e32168321CA87C680a9A9F",
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXAGPERP": {
			"name": "PerpsV2MarketViewsXAGPERP",
			"address": "0x0c8B063970d3B87c283FCb6e58E37cc7bdF09ae3",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0c8B063970d3B87c283FCb6e58E37cc7bdF09ae3",
			"timestamp": "2024-01-27T03:22:18.555Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2385286c401800204BcDD6BF2e5B3eBd71E1440d",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyEURPERP": {
			"name": "PerpsV2ProxyEURPERP",
			"address": "0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
			"timestamp": "2024-01-27T03:39:14.883Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateEURPERP": {
			"name": "PerpsV2MarketStateEURPERP",
			"address": "0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
			"timestamp": "2024-01-27T03:39:29.224Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4555520000000000000000000000000000000000000000000000000000000000",
				"0x7345555250455250000000000000000000000000000000000000000000000000",
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E"
			]
		},
		"PerpsV2MarketEURPERP": {
			"name": "PerpsV2MarketEURPERP",
			"address": "0x14b1568725aeD20b5CD76e3E784F43310738a38b",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x14b1568725aeD20b5CD76e3E784F43310738a38b",
			"timestamp": "2024-01-27T03:39:40.012Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateEURPERP": {
			"name": "PerpsV2MarketLiquidateEURPERP",
			"address": "0xa38Dd98cB362890a69F39D4d61Dd1846d21AaA5f",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa38Dd98cB362890a69F39D4d61Dd1846d21AaA5f",
			"timestamp": "2024-01-27T03:39:50.515Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentEURPERP": {
			"name": "PerpsV2DelayedIntentEURPERP",
			"address": "0xCea694F1704D714C94A7322c22b5c16Bbd2403c2",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCea694F1704D714C94A7322c22b5c16Bbd2403c2",
			"timestamp": "2024-01-27T03:40:06.311Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionEURPERP": {
			"name": "PerpsV2DelayedExecutionEURPERP",
			"address": "0xfC68237Fc2C210AaD2d49E4442cd1582C660ebd1",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfC68237Fc2C210AaD2d49E4442cd1582C660ebd1",
			"timestamp": "2024-01-27T03:40:19.499Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF6dA94187FF744B3AcfFb64d5Aa307F253403e34",
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsEURPERP": {
			"name": "PerpsV2MarketViewsEURPERP",
			"address": "0x71Dbd8A5dD3a86dd387b03D8Dec0A6625251fe5C",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x71Dbd8A5dD3a86dd387b03D8Dec0A6625251fe5C",
			"timestamp": "2024-01-27T03:40:33.728Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC70acc95C8b816433d3650E2b8E0c0B40e2Cfd0E",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyLTCPERP": {
			"name": "PerpsV2ProxyLTCPERP",
			"address": "0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
			"timestamp": "2024-01-27T04:12:42.932Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateLTCPERP": {
			"name": "PerpsV2MarketStateLTCPERP",
			"address": "0xAE55c944509DBd7958A632c7054D70fF90C7C118",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAE55c944509DBd7958A632c7054D70fF90C7C118",
			"timestamp": "2024-01-27T04:12:57.955Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4c54430000000000000000000000000000000000000000000000000000000000",
				"0x734c544350455250000000000000000000000000000000000000000000000000",
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118"
			]
		},
		"PerpsV2MarketLTCPERP": {
			"name": "PerpsV2MarketLTCPERP",
			"address": "0x09fAa539B6AD1aD130286Eb9c30052D1a9b4a02b",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x09fAa539B6AD1aD130286Eb9c30052D1a9b4a02b",
			"timestamp": "2024-01-27T04:13:09.868Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateLTCPERP": {
			"name": "PerpsV2MarketLiquidateLTCPERP",
			"address": "0xb3De9E9d9cB7cef362E7dE3eABB3edCA986771c0",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb3De9E9d9cB7cef362E7dE3eABB3edCA986771c0",
			"timestamp": "2024-01-27T04:13:20.197Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentLTCPERP": {
			"name": "PerpsV2DelayedIntentLTCPERP",
			"address": "0x833fb2D8dC68d2DC15becf619C0F2F4150aA1Aa7",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x833fb2D8dC68d2DC15becf619C0F2F4150aA1Aa7",
			"timestamp": "2024-01-27T04:13:31.000Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionLTCPERP": {
			"name": "PerpsV2DelayedExecutionLTCPERP",
			"address": "0x3f91E54E1533A27323C3c939e18269Ae1b90c862",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3f91E54E1533A27323C3c939e18269Ae1b90c862",
			"timestamp": "2024-01-27T04:13:42.165Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xE97AE65AB0108DDc4dF34b6Aff7B17D911C39931",
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsLTCPERP": {
			"name": "PerpsV2MarketViewsLTCPERP",
			"address": "0xE55331C2f9Ff0d05415C11Da17401ffCcc50658b",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE55331C2f9Ff0d05415C11Da17401ffCcc50658b",
			"timestamp": "2024-01-27T04:13:52.704Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xAE55c944509DBd7958A632c7054D70fF90C7C118",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyADAPERP": {
			"name": "PerpsV2ProxyADAPERP",
			"address": "0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
			"timestamp": "2024-01-27T04:30:01.573Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateADAPERP": {
			"name": "PerpsV2MarketStateADAPERP",
			"address": "0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
			"timestamp": "2024-01-27T04:30:12.707Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4144410000000000000000000000000000000000000000000000000000000000",
				"0x7341444150455250000000000000000000000000000000000000000000000000",
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f"
			]
		},
		"PerpsV2MarketADAPERP": {
			"name": "PerpsV2MarketADAPERP",
			"address": "0x531528e2e4740013101692E83cF68B12c31c2A82",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x531528e2e4740013101692E83cF68B12c31c2A82",
			"timestamp": "2024-01-27T04:30:23.944Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateADAPERP": {
			"name": "PerpsV2MarketLiquidateADAPERP",
			"address": "0xeD777c5C552e1C05281fE7de3B52434CD6C93F0e",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xeD777c5C552e1C05281fE7de3B52434CD6C93F0e",
			"timestamp": "2024-01-27T04:30:34.426Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentADAPERP": {
			"name": "PerpsV2DelayedIntentADAPERP",
			"address": "0xA0A117933FB118db1C8FA15765Acb4B97aCEa0bB",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA0A117933FB118db1C8FA15765Acb4B97aCEa0bB",
			"timestamp": "2024-01-27T04:30:45.379Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionADAPERP": {
			"name": "PerpsV2DelayedExecutionADAPERP",
			"address": "0x7e20c0f09cC0Bb246a5A845b9d48bfA3fCeE1e40",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7e20c0f09cC0Bb246a5A845b9d48bfA3fCeE1e40",
			"timestamp": "2024-01-27T04:30:56.537Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2805E91bdf139E68EFfC79117f39b4C34e71B0Bb",
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsADAPERP": {
			"name": "PerpsV2MarketViewsADAPERP",
			"address": "0x1CBC6fE7db100289E9b6c16130f123C4b8C49a33",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1CBC6fE7db100289E9b6c16130f123C4b8C49a33",
			"timestamp": "2024-01-27T04:31:07.224Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1F6996e58c0De9c7e94aBa4681957803Ee25ee1f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyAPTPERP": {
			"name": "PerpsV2ProxyAPTPERP",
			"address": "0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
			"timestamp": "2024-01-27T04:47:49.372Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateAPTPERP": {
			"name": "PerpsV2MarketStateAPTPERP",
			"address": "0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
			"timestamp": "2024-01-27T04:48:03.728Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4150540000000000000000000000000000000000000000000000000000000000",
				"0x7341505450455250000000000000000000000000000000000000000000000000",
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B"
			]
		},
		"PerpsV2MarketAPTPERP": {
			"name": "PerpsV2MarketAPTPERP",
			"address": "0xA5e35A9472B817B8F86d34cE873A03004146Aeb3",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA5e35A9472B817B8F86d34cE873A03004146Aeb3",
			"timestamp": "2024-01-27T04:48:14.837Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateAPTPERP": {
			"name": "PerpsV2MarketLiquidateAPTPERP",
			"address": "0x883A43082a4393b5717faFc7AC880D8Aa0803537",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x883A43082a4393b5717faFc7AC880D8Aa0803537",
			"timestamp": "2024-01-27T04:48:25.500Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentAPTPERP": {
			"name": "PerpsV2DelayedIntentAPTPERP",
			"address": "0x140FBa32A1567A418BA9E9778F9A5BFbb5CE3c9D",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x140FBa32A1567A418BA9E9778F9A5BFbb5CE3c9D",
			"timestamp": "2024-01-27T04:48:37.253Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionAPTPERP": {
			"name": "PerpsV2DelayedExecutionAPTPERP",
			"address": "0xAf0b585160353d32745752247Ecfd948f720724A",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAf0b585160353d32745752247Ecfd948f720724A",
			"timestamp": "2024-01-27T04:48:48.455Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC1D3237719867905F42B492030b5CBc8E24c8dA1",
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsAPTPERP": {
			"name": "PerpsV2MarketViewsAPTPERP",
			"address": "0x80f78C4381Db3a3bcb1E5453dD1bC9DaDd052c60",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x80f78C4381Db3a3bcb1E5453dD1bC9DaDd052c60",
			"timestamp": "2024-01-27T04:48:58.889Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xbCfeFE75a5bDEd6e6739e9EcD956fABeEFBA183B",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFILPERP": {
			"name": "PerpsV2ProxyFILPERP",
			"address": "0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
			"timestamp": "2024-01-27T05:06:00.921Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFILPERP": {
			"name": "PerpsV2MarketStateFILPERP",
			"address": "0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
			"timestamp": "2024-01-27T05:06:11.087Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x46494c0000000000000000000000000000000000000000000000000000000000",
				"0x7346494c50455250000000000000000000000000000000000000000000000000",
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC"
			]
		},
		"PerpsV2MarketFILPERP": {
			"name": "PerpsV2MarketFILPERP",
			"address": "0x2b72B2B4935A0152720221202271f6bcD3e13f72",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2b72B2B4935A0152720221202271f6bcD3e13f72",
			"timestamp": "2024-01-27T05:06:21.953Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFILPERP": {
			"name": "PerpsV2MarketLiquidateFILPERP",
			"address": "0xF4387d9C8EB668eEecFa1fC249585ad14fDA060b",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF4387d9C8EB668eEecFa1fC249585ad14fDA060b",
			"timestamp": "2024-01-27T05:06:32.561Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFILPERP": {
			"name": "PerpsV2DelayedIntentFILPERP",
			"address": "0x72a38FC0c46b4eEcA9583a715A0c66C3d7B1b15F",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x72a38FC0c46b4eEcA9583a715A0c66C3d7B1b15F",
			"timestamp": "2024-01-27T05:06:47.413Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFILPERP": {
			"name": "PerpsV2DelayedExecutionFILPERP",
			"address": "0xad22009De99658Dc7b924383c4A163faEb2562C2",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xad22009De99658Dc7b924383c4A163faEb2562C2",
			"timestamp": "2024-01-27T05:06:59.123Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF60D392b73E4333ff7fb100235D235c0922cF9a4",
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFILPERP": {
			"name": "PerpsV2MarketViewsFILPERP",
			"address": "0x7704453141C4C469c13035895dC74D6B58F80bBb",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7704453141C4C469c13035895dC74D6B58F80bBb",
			"timestamp": "2024-01-27T05:07:09.840Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7f59b9Bd22Dc1df6C52969119F13A179eFAC51eC",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySHIBPERP": {
			"name": "PerpsV2ProxySHIBPERP",
			"address": "0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
			"timestamp": "2024-01-27T12:55:35.242Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSHIBPERP": {
			"name": "PerpsV2MarketStateSHIBPERP",
			"address": "0x4926222EDDa82965Aa08080f281928f8cba5922A",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4926222EDDa82965Aa08080f281928f8cba5922A",
			"timestamp": "2024-01-27T12:55:49.663Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5348494200000000000000000000000000000000000000000000000000000000",
				"0x7353484942504552500000000000000000000000000000000000000000000000",
				"0x4926222EDDa82965Aa08080f281928f8cba5922A"
			]
		},
		"PerpsV2MarketSHIBPERP": {
			"name": "PerpsV2MarketSHIBPERP",
			"address": "0x6bb821777814C5ac99A663B58e816479a4dca6e7",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6bb821777814C5ac99A663B58e816479a4dca6e7",
			"timestamp": "2024-01-27T12:56:00.552Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
				"0x4926222EDDa82965Aa08080f281928f8cba5922A",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSHIBPERP": {
			"name": "PerpsV2MarketLiquidateSHIBPERP",
			"address": "0x81091f40f3dAD80a863278C476F5bE58cE99457F",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x81091f40f3dAD80a863278C476F5bE58cE99457F",
			"timestamp": "2024-01-27T12:56:10.852Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
				"0x4926222EDDa82965Aa08080f281928f8cba5922A",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSHIBPERP": {
			"name": "PerpsV2DelayedIntentSHIBPERP",
			"address": "0xf8305181be287f3Fbda1d4EBD167b88eD39D2c17",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf8305181be287f3Fbda1d4EBD167b88eD39D2c17",
			"timestamp": "2024-01-27T12:56:25.383Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
				"0x4926222EDDa82965Aa08080f281928f8cba5922A",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSHIBPERP": {
			"name": "PerpsV2DelayedExecutionSHIBPERP",
			"address": "0x0CA91B2f2A047F292Dd7C2EEdF10874c7F6CC4AC",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0CA91B2f2A047F292Dd7C2EEdF10874c7F6CC4AC",
			"timestamp": "2024-01-27T12:56:36.549Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x06775cce8ec277b54aD2a85A74Dc4273330dd445",
				"0x4926222EDDa82965Aa08080f281928f8cba5922A",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSHIBPERP": {
			"name": "PerpsV2MarketViewsSHIBPERP",
			"address": "0xe64beb261C5CBAA761c997Fdb17a6906b10D8792",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe64beb261C5CBAA761c997Fdb17a6906b10D8792",
			"timestamp": "2024-01-27T12:56:51.367Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4926222EDDa82965Aa08080f281928f8cba5922A",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyLDOPERP": {
			"name": "PerpsV2ProxyLDOPERP",
			"address": "0x041013BCB3637778B5056Bf5595318415EC21C0d",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x041013BCB3637778B5056Bf5595318415EC21C0d",
			"timestamp": "2024-01-27T13:12:47.685Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateLDOPERP": {
			"name": "PerpsV2MarketStateLDOPERP",
			"address": "0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
			"timestamp": "2024-01-27T13:12:58.160Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4c444f0000000000000000000000000000000000000000000000000000000000",
				"0x734c444f50455250000000000000000000000000000000000000000000000000",
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883"
			]
		},
		"PerpsV2MarketLDOPERP": {
			"name": "PerpsV2MarketLDOPERP",
			"address": "0xa1f2b7c267C0a477317145BAE51776eeD7A02810",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa1f2b7c267C0a477317145BAE51776eeD7A02810",
			"timestamp": "2024-01-27T13:13:08.838Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x041013BCB3637778B5056Bf5595318415EC21C0d",
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateLDOPERP": {
			"name": "PerpsV2MarketLiquidateLDOPERP",
			"address": "0xA875340Da755C992a071656FE6fb4723099C58F8",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA875340Da755C992a071656FE6fb4723099C58F8",
			"timestamp": "2024-01-27T13:13:23.320Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x041013BCB3637778B5056Bf5595318415EC21C0d",
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentLDOPERP": {
			"name": "PerpsV2DelayedIntentLDOPERP",
			"address": "0x2db0448891756B6d0f68faC7c8eA26ED126476fD",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2db0448891756B6d0f68faC7c8eA26ED126476fD",
			"timestamp": "2024-01-27T13:13:34.136Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x041013BCB3637778B5056Bf5595318415EC21C0d",
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionLDOPERP": {
			"name": "PerpsV2DelayedExecutionLDOPERP",
			"address": "0xB83D67D255F200f35b4BFC76C940B46A427a3265",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB83D67D255F200f35b4BFC76C940B46A427a3265",
			"timestamp": "2024-01-27T13:13:45.495Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x041013BCB3637778B5056Bf5595318415EC21C0d",
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsLDOPERP": {
			"name": "PerpsV2MarketViewsLDOPERP",
			"address": "0xBfa2b87D0735F922B4D60fD715bcb538cb802D40",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBfa2b87D0735F922B4D60fD715bcb538cb802D40",
			"timestamp": "2024-01-27T13:13:55.964Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe5c5506A7c76FA56dcc3d6D4025361BF2E799883",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBCHPERP": {
			"name": "PerpsV2ProxyBCHPERP",
			"address": "0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
			"timestamp": "2024-01-27T13:34:24.651Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBCHPERP": {
			"name": "PerpsV2MarketStateBCHPERP",
			"address": "0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
			"timestamp": "2024-01-27T13:34:34.916Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4243480000000000000000000000000000000000000000000000000000000000",
				"0x7342434850455250000000000000000000000000000000000000000000000000",
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416"
			]
		},
		"PerpsV2MarketBCHPERP": {
			"name": "PerpsV2MarketBCHPERP",
			"address": "0xa3C55BE41F4B810cEC9Da96d4B9ed14D37Eb624a",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa3C55BE41F4B810cEC9Da96d4B9ed14D37Eb624a",
			"timestamp": "2024-01-27T13:34:49.455Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBCHPERP": {
			"name": "PerpsV2MarketLiquidateBCHPERP",
			"address": "0xA7698a63EFFA72b7F8215E9c0E521fcDaE2869a3",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA7698a63EFFA72b7F8215E9c0E521fcDaE2869a3",
			"timestamp": "2024-01-27T13:34:59.934Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBCHPERP": {
			"name": "PerpsV2DelayedIntentBCHPERP",
			"address": "0x844555CD787188cBaA2eB36E58DF7Ee526Ee8aE5",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x844555CD787188cBaA2eB36E58DF7Ee526Ee8aE5",
			"timestamp": "2024-01-27T13:35:10.763Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBCHPERP": {
			"name": "PerpsV2DelayedExecutionBCHPERP",
			"address": "0x9F68966dF64d6496f5676ab30d11f6E6e05ad7d3",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9F68966dF64d6496f5676ab30d11f6E6e05ad7d3",
			"timestamp": "2024-01-27T13:35:21.920Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01F226F3FB083165401c9e50FDE718b6a2b266A9",
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBCHPERP": {
			"name": "PerpsV2MarketViewsBCHPERP",
			"address": "0x5194C4103CC7e62566530af3f14AE6642ABC4B1f",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5194C4103CC7e62566530af3f14AE6642ABC4B1f",
			"timestamp": "2024-01-27T13:35:32.614Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcf3bBd69015eea9e3FF20E708ce13087Ebb27416",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyCRVPERP": {
			"name": "PerpsV2ProxyCRVPERP",
			"address": "0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
			"timestamp": "2024-01-27T13:51:27.936Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateCRVPERP": {
			"name": "PerpsV2MarketStateCRVPERP",
			"address": "0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
			"timestamp": "2024-01-27T13:51:38.556Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4352560000000000000000000000000000000000000000000000000000000000",
				"0x7343525650455250000000000000000000000000000000000000000000000000",
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd"
			]
		},
		"PerpsV2MarketCRVPERP": {
			"name": "PerpsV2MarketCRVPERP",
			"address": "0x64C52F804B6B494d806235c01F244e4D7fAA25Fe",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x64C52F804B6B494d806235c01F244e4D7fAA25Fe",
			"timestamp": "2024-01-27T13:51:47.669Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateCRVPERP": {
			"name": "PerpsV2MarketLiquidateCRVPERP",
			"address": "0x756D8773f7ac0a8ddc31731C92e1d7C94B0e1429",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x756D8773f7ac0a8ddc31731C92e1d7C94B0e1429",
			"timestamp": "2024-01-27T13:51:58.969Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentCRVPERP": {
			"name": "PerpsV2DelayedIntentCRVPERP",
			"address": "0x177D503a06F9bB3ead6DCA5360C2e39E1Dd9DE48",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x177D503a06F9bB3ead6DCA5360C2e39E1Dd9DE48",
			"timestamp": "2024-01-27T13:52:09.682Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionCRVPERP": {
			"name": "PerpsV2DelayedExecutionCRVPERP",
			"address": "0xf645cD1A10Bdc153834f6c07F19142D72f1D2B85",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf645cD1A10Bdc153834f6c07F19142D72f1D2B85",
			"timestamp": "2024-01-27T13:52:20.804Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1120e7DDB511493040F41Add9bBe3F9c53b967E0",
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsCRVPERP": {
			"name": "PerpsV2MarketViewsCRVPERP",
			"address": "0x00bE2cDcb46268FB5D4F6845413eEBA9B0cc9ae6",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x00bE2cDcb46268FB5D4F6845413eEBA9B0cc9ae6",
			"timestamp": "2024-01-27T13:52:31.334Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9C25375eC7eC02e9d4005f4d1AfD102bc6E0e5Cd",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyGMXPERP": {
			"name": "PerpsV2ProxyGMXPERP",
			"address": "0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
			"timestamp": "2024-01-27T14:10:19.214Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateGMXPERP": {
			"name": "PerpsV2MarketStateGMXPERP",
			"address": "0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
			"timestamp": "2024-01-27T14:10:29.660Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x474d580000000000000000000000000000000000000000000000000000000000",
				"0x73474d5850455250000000000000000000000000000000000000000000000000",
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847"
			]
		},
		"PerpsV2MarketGMXPERP": {
			"name": "PerpsV2MarketGMXPERP",
			"address": "0x78727c8ca536a3e2cd04457EE7dF57c478e39044",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x78727c8ca536a3e2cd04457EE7dF57c478e39044",
			"timestamp": "2024-01-27T14:10:40.703Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateGMXPERP": {
			"name": "PerpsV2MarketLiquidateGMXPERP",
			"address": "0xf232ADcde80009eead7033F3982dc4711bE5f539",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf232ADcde80009eead7033F3982dc4711bE5f539",
			"timestamp": "2024-01-27T14:10:51.160Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentGMXPERP": {
			"name": "PerpsV2DelayedIntentGMXPERP",
			"address": "0x7D9BE9d326Cd3757980540bacaED99d080F5644b",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7D9BE9d326Cd3757980540bacaED99d080F5644b",
			"timestamp": "2024-01-27T14:11:02.322Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionGMXPERP": {
			"name": "PerpsV2DelayedExecutionGMXPERP",
			"address": "0x3E1B4dCEf7586D5f6f0D4b93323d0def28919CA6",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3E1B4dCEf7586D5f6f0D4b93323d0def28919CA6",
			"timestamp": "2024-01-27T14:11:13.347Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6ee09cF4B660975D8Fdb041AE257BAc34f4aA589",
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsGMXPERP": {
			"name": "PerpsV2MarketViewsGMXPERP",
			"address": "0x4Ba3c1B16d405DA7a9E0DB9Bb81A2968C202B1cE",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4Ba3c1B16d405DA7a9E0DB9Bb81A2968C202B1cE",
			"timestamp": "2024-01-27T14:11:23.833Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x13B0D3d8De76cD9f8C2c768f8FA17eF68E719847",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyPEPEPERP": {
			"name": "PerpsV2ProxyPEPEPERP",
			"address": "0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
			"timestamp": "2024-01-27T16:13:04.258Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStatePEPEPERP": {
			"name": "PerpsV2MarketStatePEPEPERP",
			"address": "0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
			"timestamp": "2024-01-27T16:13:14.442Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5045504500000000000000000000000000000000000000000000000000000000",
				"0x7350455045504552500000000000000000000000000000000000000000000000",
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9"
			]
		},
		"PerpsV2MarketPEPEPERP": {
			"name": "PerpsV2MarketPEPEPERP",
			"address": "0x41076E867566c22435a6A9f8Ba7997570ca6d314",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x41076E867566c22435a6A9f8Ba7997570ca6d314",
			"timestamp": "2024-01-27T16:13:25.106Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidatePEPEPERP": {
			"name": "PerpsV2MarketLiquidatePEPEPERP",
			"address": "0xc52a7D57B3EBFee52b7B8c99fE3Ab66C0Bdf1Fd5",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc52a7D57B3EBFee52b7B8c99fE3Ab66C0Bdf1Fd5",
			"timestamp": "2024-01-27T16:13:35.846Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentPEPEPERP": {
			"name": "PerpsV2DelayedIntentPEPEPERP",
			"address": "0x69C7D564FbCd8Ce2AA15A610b401280fB8815342",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x69C7D564FbCd8Ce2AA15A610b401280fB8815342",
			"timestamp": "2024-01-27T16:13:46.469Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionPEPEPERP": {
			"name": "PerpsV2DelayedExecutionPEPEPERP",
			"address": "0xA21421c9adbc32C18126F143C606213C6838e2E8",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA21421c9adbc32C18126F143C606213C6838e2E8",
			"timestamp": "2024-01-27T16:13:57.020Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x8262BaDdD5644b02f317eA1AD4E5cBC52B9bfd0b",
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsPEPEPERP": {
			"name": "PerpsV2MarketViewsPEPEPERP",
			"address": "0x7816CbDe10A3Beb77285320Ed594D9288D92c13B",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7816CbDe10A3Beb77285320Ed594D9288D92c13B",
			"timestamp": "2024-01-27T16:14:07.034Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFbE4FFA5e1844A4A2121086623125C99B2A322b9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySUIPERP": {
			"name": "PerpsV2ProxySUIPERP",
			"address": "0x345b046a097C937162116716e6a8449d0D1EFA88",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x345b046a097C937162116716e6a8449d0D1EFA88",
			"timestamp": "2024-01-27T21:25:47.121Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSUIPERP": {
			"name": "PerpsV2MarketStateSUIPERP",
			"address": "0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
			"timestamp": "2024-01-27T21:25:58.235Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5355490000000000000000000000000000000000000000000000000000000000",
				"0x7353554950455250000000000000000000000000000000000000000000000000",
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44"
			]
		},
		"PerpsV2MarketSUIPERP": {
			"name": "PerpsV2MarketSUIPERP",
			"address": "0x930832bff1b6D0d2DD920aC86154D27C8A83Fc2a",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x930832bff1b6D0d2DD920aC86154D27C8A83Fc2a",
			"timestamp": "2024-01-27T21:26:09.090Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x345b046a097C937162116716e6a8449d0D1EFA88",
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSUIPERP": {
			"name": "PerpsV2MarketLiquidateSUIPERP",
			"address": "0x624D23C6180383bD14068CF5662fA88a1707e6c4",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x624D23C6180383bD14068CF5662fA88a1707e6c4",
			"timestamp": "2024-01-27T21:26:19.544Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x345b046a097C937162116716e6a8449d0D1EFA88",
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSUIPERP": {
			"name": "PerpsV2DelayedIntentSUIPERP",
			"address": "0x9CeaC57BbFe32434074c0D340a083BE2b93fF125",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9CeaC57BbFe32434074c0D340a083BE2b93fF125",
			"timestamp": "2024-01-27T21:26:30.615Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x345b046a097C937162116716e6a8449d0D1EFA88",
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSUIPERP": {
			"name": "PerpsV2DelayedExecutionSUIPERP",
			"address": "0xdF553D334463659f8d46e41eE640986Bd61d1303",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdF553D334463659f8d46e41eE640986Bd61d1303",
			"timestamp": "2024-01-27T21:26:41.952Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x345b046a097C937162116716e6a8449d0D1EFA88",
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSUIPERP": {
			"name": "PerpsV2MarketViewsSUIPERP",
			"address": "0xc44BCb7AD9d198EbB611BC85C7571e527b5f9f65",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc44BCb7AD9d198EbB611BC85C7571e527b5f9f65",
			"timestamp": "2024-01-27T21:26:52.594Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xab507bdf251AD73665a4846475D8Fa7B6c463c44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBLURPERP": {
			"name": "PerpsV2ProxyBLURPERP",
			"address": "0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
			"timestamp": "2024-01-27T21:42:26.888Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBLURPERP": {
			"name": "PerpsV2MarketStateBLURPERP",
			"address": "0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
			"timestamp": "2024-01-27T21:42:37.061Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x424c555200000000000000000000000000000000000000000000000000000000",
				"0x73424c5552504552500000000000000000000000000000000000000000000000",
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24"
			]
		},
		"PerpsV2MarketBLURPERP": {
			"name": "PerpsV2MarketBLURPERP",
			"address": "0x5b27083c4f352e264af08da286332f078bA792Ef",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5b27083c4f352e264af08da286332f078bA792Ef",
			"timestamp": "2024-01-27T21:42:48.030Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBLURPERP": {
			"name": "PerpsV2MarketLiquidateBLURPERP",
			"address": "0x833b0c78d9600123C2083Cd76f415516ADdeB64B",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x833b0c78d9600123C2083Cd76f415516ADdeB64B",
			"timestamp": "2024-01-27T21:42:58.937Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBLURPERP": {
			"name": "PerpsV2DelayedIntentBLURPERP",
			"address": "0x00F83D95AdEC7674cF7C8338690E666C25Ba56E9",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x00F83D95AdEC7674cF7C8338690E666C25Ba56E9",
			"timestamp": "2024-01-27T21:43:10.270Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBLURPERP": {
			"name": "PerpsV2DelayedExecutionBLURPERP",
			"address": "0x21021D65731eF93978311C4Ff2011771aA658395",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x21021D65731eF93978311C4Ff2011771aA658395",
			"timestamp": "2024-01-27T21:43:21.430Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x867D147fDe1e29C37B6cFbA35A266C7A758489Ee",
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBLURPERP": {
			"name": "PerpsV2MarketViewsBLURPERP",
			"address": "0x577EC271A31087D4a8AFc11cc9737eca21C4e28D",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x577EC271A31087D4a8AFc11cc9737eca21C4e28D",
			"timestamp": "2024-01-27T21:43:31.909Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1634fa451d660fF74F85aCcc9b2C82E7af431C24",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXRPPERP": {
			"name": "PerpsV2ProxyXRPPERP",
			"address": "0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
			"timestamp": "2024-01-27T21:59:08.110Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXRPPERP": {
			"name": "PerpsV2MarketStateXRPPERP",
			"address": "0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
			"timestamp": "2024-01-27T21:59:18.575Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5852500000000000000000000000000000000000000000000000000000000000",
				"0x7358525050455250000000000000000000000000000000000000000000000000",
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09"
			]
		},
		"PerpsV2MarketXRPPERP": {
			"name": "PerpsV2MarketXRPPERP",
			"address": "0x1C69c7007dabE4a6537Be3ed8Cea3f3a45060BF9",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1C69c7007dabE4a6537Be3ed8Cea3f3a45060BF9",
			"timestamp": "2024-01-27T21:59:29.742Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXRPPERP": {
			"name": "PerpsV2MarketLiquidateXRPPERP",
			"address": "0x477432907D61E84C5A2Ec105CdA783c5199e8D71",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x477432907D61E84C5A2Ec105CdA783c5199e8D71",
			"timestamp": "2024-01-27T21:59:40.418Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXRPPERP": {
			"name": "PerpsV2DelayedIntentXRPPERP",
			"address": "0xE4A0CAdeB243B42805aB0DCBFb0ba7aD2Cba8c70",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE4A0CAdeB243B42805aB0DCBFb0ba7aD2Cba8c70",
			"timestamp": "2024-01-27T21:59:51.259Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXRPPERP": {
			"name": "PerpsV2DelayedExecutionXRPPERP",
			"address": "0xF1e3031231Be756fC22DB73459eB589A9F65Db0d",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF1e3031231Be756fC22DB73459eB589A9F65Db0d",
			"timestamp": "2024-01-27T22:00:02.382Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x09be72F8DC6E5D327A116087A2b33e0DeC49CDC6",
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXRPPERP": {
			"name": "PerpsV2MarketViewsXRPPERP",
			"address": "0x5BD34246e18890102dBBa547C9367050eCB44D0a",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5BD34246e18890102dBBa547C9367050eCB44D0a",
			"timestamp": "2024-01-27T22:00:13.066Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x11eA85beadeAE65aCCd341400A5d6d5aa2CD8D09",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyDOTPERP": {
			"name": "PerpsV2ProxyDOTPERP",
			"address": "0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
			"timestamp": "2024-01-27T22:15:49.192Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateDOTPERP": {
			"name": "PerpsV2MarketStateDOTPERP",
			"address": "0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
			"timestamp": "2024-01-27T22:15:59.692Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x444f540000000000000000000000000000000000000000000000000000000000",
				"0x73444f5450455250000000000000000000000000000000000000000000000000",
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023"
			]
		},
		"PerpsV2MarketDOTPERP": {
			"name": "PerpsV2MarketDOTPERP",
			"address": "0x30B98efF223b32a261073A598f5fB32c596734Ad",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x30B98efF223b32a261073A598f5fB32c596734Ad",
			"timestamp": "2024-01-27T22:16:11.364Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateDOTPERP": {
			"name": "PerpsV2MarketLiquidateDOTPERP",
			"address": "0x3dCF4Fe1dddf190047578Dbb0e460A2a93776fF1",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3dCF4Fe1dddf190047578Dbb0e460A2a93776fF1",
			"timestamp": "2024-01-27T22:16:22.000Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentDOTPERP": {
			"name": "PerpsV2DelayedIntentDOTPERP",
			"address": "0xD1bF2Cd45F24751ba9743a050890f5c21b3008DC",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD1bF2Cd45F24751ba9743a050890f5c21b3008DC",
			"timestamp": "2024-01-27T22:16:32.693Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionDOTPERP": {
			"name": "PerpsV2DelayedExecutionDOTPERP",
			"address": "0x0aacb1DDCF65d8347e3a2585cD78b423987cA04d",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0aacb1DDCF65d8347e3a2585cD78b423987cA04d",
			"timestamp": "2024-01-27T22:16:47.713Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9Ef3B803ed63A7E2f6cA1C46e313d8db642AA864",
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsDOTPERP": {
			"name": "PerpsV2MarketViewsDOTPERP",
			"address": "0x82eb5cc9E3CBCbCA6b2571edc54886650aB891FD",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x82eb5cc9E3CBCbCA6b2571edc54886650aB891FD",
			"timestamp": "2024-01-27T22:16:58.004Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x907b6C505089eE3c1C9fF408fEA08803b3aFd023",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyTRXPERP": {
			"name": "PerpsV2ProxyTRXPERP",
			"address": "0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
			"timestamp": "2024-01-27T22:33:27.662Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateTRXPERP": {
			"name": "PerpsV2MarketStateTRXPERP",
			"address": "0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
			"timestamp": "2024-01-27T22:33:38.107Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5452580000000000000000000000000000000000000000000000000000000000",
				"0x7354525850455250000000000000000000000000000000000000000000000000",
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7"
			]
		},
		"PerpsV2MarketTRXPERP": {
			"name": "PerpsV2MarketTRXPERP",
			"address": "0x464B4540D5a74e1F1Dbf2A3E8aD7203Ee3EFe476",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x464B4540D5a74e1F1Dbf2A3E8aD7203Ee3EFe476",
			"timestamp": "2024-01-27T22:33:48.956Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateTRXPERP": {
			"name": "PerpsV2MarketLiquidateTRXPERP",
			"address": "0x5a97adD21b2092d48af84696960e3fE80Ab2AD3D",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5a97adD21b2092d48af84696960e3fE80Ab2AD3D",
			"timestamp": "2024-01-27T22:33:59.690Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentTRXPERP": {
			"name": "PerpsV2DelayedIntentTRXPERP",
			"address": "0xc368624a2236F1491F59AA1b74e371D4d232152F",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc368624a2236F1491F59AA1b74e371D4d232152F",
			"timestamp": "2024-01-27T22:34:10.819Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionTRXPERP": {
			"name": "PerpsV2DelayedExecutionTRXPERP",
			"address": "0xB4AD503073D1f4f0a5EC0964ddc06d2fa9C03378",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB4AD503073D1f4f0a5EC0964ddc06d2fa9C03378",
			"timestamp": "2024-01-27T22:34:22.005Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA5a6887a19c99D6Cf087B1c8e71539a519b7bFe6",
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsTRXPERP": {
			"name": "PerpsV2MarketViewsTRXPERP",
			"address": "0xB7ec0bd52Ac1252bC5DE2Dd2d8041c603845e9Ff",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB7ec0bd52Ac1252bC5DE2Dd2d8041c603845e9Ff",
			"timestamp": "2024-01-27T22:34:32.654Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2CB6843d468848898c9fF2204F7eCEF1d53D08b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFLOKIPERP": {
			"name": "PerpsV2ProxyFLOKIPERP",
			"address": "0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
			"timestamp": "2024-01-27T22:49:54.378Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFLOKIPERP": {
			"name": "PerpsV2MarketStateFLOKIPERP",
			"address": "0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
			"timestamp": "2024-01-27T22:50:04.855Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x464c4f4b49000000000000000000000000000000000000000000000000000000",
				"0x73464c4f4b495045525000000000000000000000000000000000000000000000",
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA"
			]
		},
		"PerpsV2MarketFLOKIPERP": {
			"name": "PerpsV2MarketFLOKIPERP",
			"address": "0xD6F7A9987c0fA5cF783390Ea9BfC8B0B7135e2f6",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD6F7A9987c0fA5cF783390Ea9BfC8B0B7135e2f6",
			"timestamp": "2024-01-27T22:50:15.931Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFLOKIPERP": {
			"name": "PerpsV2MarketLiquidateFLOKIPERP",
			"address": "0x9e710BCe14294B7728250DC990CFa60EC3943A62",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9e710BCe14294B7728250DC990CFa60EC3943A62",
			"timestamp": "2024-01-27T22:50:26.527Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFLOKIPERP": {
			"name": "PerpsV2DelayedIntentFLOKIPERP",
			"address": "0x88790A9E0F3b09aE38EDC34C713E82F65db5c404",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x88790A9E0F3b09aE38EDC34C713E82F65db5c404",
			"timestamp": "2024-01-27T22:50:37.947Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFLOKIPERP": {
			"name": "PerpsV2DelayedExecutionFLOKIPERP",
			"address": "0xAD3E99cF097A15f7D9D057376FbC9E30C21E8263",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAD3E99cF097A15f7D9D057376FbC9E30C21E8263",
			"timestamp": "2024-01-27T22:50:49.065Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xDDc8EcC1Fe191e5a156cb1e7cd00fE572bb272E5",
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFLOKIPERP": {
			"name": "PerpsV2MarketViewsFLOKIPERP",
			"address": "0x66D1d2f36B29b2dC334aE3BB4c79b65D044Dd0e5",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x66D1d2f36B29b2dC334aE3BB4c79b65D044Dd0e5",
			"timestamp": "2024-01-27T22:51:03.553Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5AD5500BDeF91437c0503DFD575fE326AEe512FA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyINJPERP": {
			"name": "PerpsV2ProxyINJPERP",
			"address": "0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
			"timestamp": "2024-01-27T23:06:17.783Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateINJPERP": {
			"name": "PerpsV2MarketStateINJPERP",
			"address": "0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
			"timestamp": "2024-01-27T23:06:28.818Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x494e4a0000000000000000000000000000000000000000000000000000000000",
				"0x73494e4a50455250000000000000000000000000000000000000000000000000",
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0"
			]
		},
		"PerpsV2MarketINJPERP": {
			"name": "PerpsV2MarketINJPERP",
			"address": "0x550a7cE4B42163F3E816c7a56477D70505d372Cc",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x550a7cE4B42163F3E816c7a56477D70505d372Cc",
			"timestamp": "2024-01-27T23:06:43.706Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateINJPERP": {
			"name": "PerpsV2MarketLiquidateINJPERP",
			"address": "0x2616E07A06632FC003bF019bce683a0f08817E67",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2616E07A06632FC003bF019bce683a0f08817E67",
			"timestamp": "2024-01-27T23:06:54.218Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentINJPERP": {
			"name": "PerpsV2DelayedIntentINJPERP",
			"address": "0x9Fb27EEC93155db3D9C078544AAb9ADe1E1949B2",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9Fb27EEC93155db3D9C078544AAb9ADe1E1949B2",
			"timestamp": "2024-01-27T23:07:05.317Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionINJPERP": {
			"name": "PerpsV2DelayedExecutionINJPERP",
			"address": "0x5357EB52d79a81547eb1e40EB9D5bBD683a0Ebee",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5357EB52d79a81547eb1e40EB9D5bBD683a0Ebee",
			"timestamp": "2024-01-27T23:07:16.309Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3a47Ec548435A4478B2042Cbdc56F94cB62c435F",
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsINJPERP": {
			"name": "PerpsV2MarketViewsINJPERP",
			"address": "0x27772223122CEfB7430C3875466013049bd13c91",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x27772223122CEfB7430C3875466013049bd13c91",
			"timestamp": "2024-01-27T23:07:26.680Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF905cAc2cbd7B8628aC547F397B91b1FC90210B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySTETHPERP": {
			"name": "PerpsV2ProxySTETHPERP",
			"address": "0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
			"timestamp": "2024-01-27T23:22:56.821Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSTETHPERP": {
			"name": "PerpsV2MarketStateSTETHPERP",
			"address": "0xB48e1F6dE254d37f26079D66dbc547011d73189f",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB48e1F6dE254d37f26079D66dbc547011d73189f",
			"timestamp": "2024-01-27T23:23:07.034Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5354455448000000000000000000000000000000000000000000000000000000",
				"0x7353544554485045525000000000000000000000000000000000000000000000",
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f"
			]
		},
		"PerpsV2MarketSTETHPERP": {
			"name": "PerpsV2MarketSTETHPERP",
			"address": "0x817F3F46d741852859B307b18916fF7aBb46a5d0",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x817F3F46d741852859B307b18916fF7aBb46a5d0",
			"timestamp": "2024-01-27T23:23:18.039Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSTETHPERP": {
			"name": "PerpsV2MarketLiquidateSTETHPERP",
			"address": "0x06C155aC5Af487d8062E191a14bC66d2277797A9",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x06C155aC5Af487d8062E191a14bC66d2277797A9",
			"timestamp": "2024-01-27T23:23:28.420Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSTETHPERP": {
			"name": "PerpsV2DelayedIntentSTETHPERP",
			"address": "0x3719d324c3D318F09014D7a27D7e43Ee1E8c1eBF",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3719d324c3D318F09014D7a27D7e43Ee1E8c1eBF",
			"timestamp": "2024-01-27T23:23:43.742Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSTETHPERP": {
			"name": "PerpsV2DelayedExecutionSTETHPERP",
			"address": "0xaf0ACcb97cE1Ec6c6C1d579739208232E9000241",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xaf0ACcb97cE1Ec6c6C1d579739208232E9000241",
			"timestamp": "2024-01-27T23:23:57.382Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF022b47C40cbaAC54B4f9A036786a9036De0853a",
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSTETHPERP": {
			"name": "PerpsV2MarketViewsSTETHPERP",
			"address": "0xf5790068603D9e119f8D859255F1b0d6da1293F5",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf5790068603D9e119f8D859255F1b0d6da1293F5",
			"timestamp": "2024-01-27T23:24:10.834Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xB48e1F6dE254d37f26079D66dbc547011d73189f",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyETHBTCPERP": {
			"name": "PerpsV2ProxyETHBTCPERP",
			"address": "0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
			"timestamp": "2024-01-27T23:40:06.108Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateETHBTCPERP": {
			"name": "PerpsV2MarketStateETHBTCPERP",
			"address": "0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
			"timestamp": "2024-01-27T23:40:16.490Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4554484254430000000000000000000000000000000000000000000000000000",
				"0x7345544842544350455250000000000000000000000000000000000000000000",
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323"
			]
		},
		"PerpsV2MarketETHBTCPERP": {
			"name": "PerpsV2MarketETHBTCPERP",
			"address": "0x08542cE4F0d3fB7Df7FF64549dB23123cE20530d",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x08542cE4F0d3fB7Df7FF64549dB23123cE20530d",
			"timestamp": "2024-01-27T23:40:31.611Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateETHBTCPERP": {
			"name": "PerpsV2MarketLiquidateETHBTCPERP",
			"address": "0x7F79f7d9d8D2E6abccF8d862B7bfaB3c1ADaFcc7",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7F79f7d9d8D2E6abccF8d862B7bfaB3c1ADaFcc7",
			"timestamp": "2024-01-27T23:40:42.173Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentETHBTCPERP": {
			"name": "PerpsV2DelayedIntentETHBTCPERP",
			"address": "0x731Ed89e76A5CC48571ccFF5a5C602a9C32A8848",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x731Ed89e76A5CC48571ccFF5a5C602a9C32A8848",
			"timestamp": "2024-01-27T23:40:54.018Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionETHBTCPERP": {
			"name": "PerpsV2DelayedExecutionETHBTCPERP",
			"address": "0xb7f7f4f752D901981702eA9CD10e0Ce5175a832F",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb7f7f4f752D901981702eA9CD10e0Ce5175a832F",
			"timestamp": "2024-01-27T23:41:05.172Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBAFa9f0F053631c98cdD38793a750345F1dE8AFF",
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsETHBTCPERP": {
			"name": "PerpsV2MarketViewsETHBTCPERP",
			"address": "0x9dB8A477a2F10FF813ed4d85cf001b34aB2a6584",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9dB8A477a2F10FF813ed4d85cf001b34aB2a6584",
			"timestamp": "2024-01-27T23:41:15.881Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3B89Ef25BDDcA74b92e560857C41f45aaee3E323",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyETCPERP": {
			"name": "PerpsV2ProxyETCPERP",
			"address": "0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
			"timestamp": "2024-01-27T23:57:27.009Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateETCPERP": {
			"name": "PerpsV2MarketStateETCPERP",
			"address": "0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
			"timestamp": "2024-01-27T23:57:41.399Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4554430000000000000000000000000000000000000000000000000000000000",
				"0x7345544350455250000000000000000000000000000000000000000000000000",
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b"
			]
		},
		"PerpsV2MarketETCPERP": {
			"name": "PerpsV2MarketETCPERP",
			"address": "0x1138f7B279518cB9c26248A66f69231354BE288f",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1138f7B279518cB9c26248A66f69231354BE288f",
			"timestamp": "2024-01-27T23:57:52.395Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateETCPERP": {
			"name": "PerpsV2MarketLiquidateETCPERP",
			"address": "0x89E6F0Abb30E968CA73f0c53b3CD3A508b990Db3",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x89E6F0Abb30E968CA73f0c53b3CD3A508b990Db3",
			"timestamp": "2024-01-27T23:58:03.855Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentETCPERP": {
			"name": "PerpsV2DelayedIntentETCPERP",
			"address": "0xf5F9Aa38095d5a1e3C99a4A4E4F40a848b7401C2",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf5F9Aa38095d5a1e3C99a4A4E4F40a848b7401C2",
			"timestamp": "2024-01-27T23:58:16.131Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionETCPERP": {
			"name": "PerpsV2DelayedExecutionETCPERP",
			"address": "0x50910F0e8AA54Fa8C211449389069F69Bf13FF70",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x50910F0e8AA54Fa8C211449389069F69Bf13FF70",
			"timestamp": "2024-01-27T23:58:27.281Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBF1B83321d97734D11399Eabb38684dB33d8B3D6",
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsETCPERP": {
			"name": "PerpsV2MarketViewsETCPERP",
			"address": "0x150C3cF8b95AC37767605B9D821572e01C67951C",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x150C3cF8b95AC37767605B9D821572e01C67951C",
			"timestamp": "2024-01-27T23:58:37.787Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc85D9ACd99E9216Ba2fcef58f5355776aCF2252b",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyCOMPPERP": {
			"name": "PerpsV2ProxyCOMPPERP",
			"address": "0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
			"timestamp": "2024-01-28T00:14:54.725Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateCOMPPERP": {
			"name": "PerpsV2MarketStateCOMPPERP",
			"address": "0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
			"timestamp": "2024-01-28T00:15:05.051Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x434f4d5000000000000000000000000000000000000000000000000000000000",
				"0x73434f4d50504552500000000000000000000000000000000000000000000000",
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47"
			]
		},
		"PerpsV2MarketCOMPPERP": {
			"name": "PerpsV2MarketCOMPPERP",
			"address": "0x8aabCB4C1e77F044A5AF0bcC86f9bb22062b1Dfa",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8aabCB4C1e77F044A5AF0bcC86f9bb22062b1Dfa",
			"timestamp": "2024-01-28T00:15:17.606Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateCOMPPERP": {
			"name": "PerpsV2MarketLiquidateCOMPPERP",
			"address": "0x32C7584Ec8ca7f6FD6876157A1CDB214c958D384",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x32C7584Ec8ca7f6FD6876157A1CDB214c958D384",
			"timestamp": "2024-01-28T00:15:31.207Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentCOMPPERP": {
			"name": "PerpsV2DelayedIntentCOMPPERP",
			"address": "0x617c153F55B44E3557e226189C7E5003DB2808Ac",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x617c153F55B44E3557e226189C7E5003DB2808Ac",
			"timestamp": "2024-01-28T00:15:45.077Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionCOMPPERP": {
			"name": "PerpsV2DelayedExecutionCOMPPERP",
			"address": "0xA2b438824627B5A2Bad668e35df72489Adc9db8E",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA2b438824627B5A2Bad668e35df72489Adc9db8E",
			"timestamp": "2024-01-28T00:15:59.042Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d407B6B9261558249c3B7e68f2E237bC2aA1F02",
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsCOMPPERP": {
			"name": "PerpsV2MarketViewsCOMPPERP",
			"address": "0xE855064409394F6C0409e3c50D9CC3f98CAF3a04",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE855064409394F6C0409e3c50D9CC3f98CAF3a04",
			"timestamp": "2024-01-28T00:16:12.848Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x070A7545b3e8E2da4FB80a376eedA1903d3A4F47",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyMKRPERP": {
			"name": "PerpsV2ProxyMKRPERP",
			"address": "0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
			"timestamp": "2024-01-28T00:31:23.574Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateMKRPERP": {
			"name": "PerpsV2MarketStateMKRPERP",
			"address": "0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
			"timestamp": "2024-01-28T00:31:34.208Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4d4b520000000000000000000000000000000000000000000000000000000000",
				"0x734d4b5250455250000000000000000000000000000000000000000000000000",
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a"
			]
		},
		"PerpsV2MarketMKRPERP": {
			"name": "PerpsV2MarketMKRPERP",
			"address": "0x07F256B7Bf35373cd1d36af406A3DF1c42fb3B80",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x07F256B7Bf35373cd1d36af406A3DF1c42fb3B80",
			"timestamp": "2024-01-28T00:31:45.234Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateMKRPERP": {
			"name": "PerpsV2MarketLiquidateMKRPERP",
			"address": "0x7585ee4088B3e1d0F887fB4C3A5080aD7fa01258",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7585ee4088B3e1d0F887fB4C3A5080aD7fa01258",
			"timestamp": "2024-01-28T00:31:55.754Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentMKRPERP": {
			"name": "PerpsV2DelayedIntentMKRPERP",
			"address": "0x12dDB46C5F821906df399dd4B982917F9e7C5A9A",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x12dDB46C5F821906df399dd4B982917F9e7C5A9A",
			"timestamp": "2024-01-28T00:32:06.865Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionMKRPERP": {
			"name": "PerpsV2DelayedExecutionMKRPERP",
			"address": "0xcB1f8CBe181136FFd6d47130347afdE24E1F83fb",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcB1f8CBe181136FFd6d47130347afdE24E1F83fb",
			"timestamp": "2024-01-28T00:32:22.462Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x52a35CaED46a6c20B5c43a0D6BEDc4990800E492",
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsMKRPERP": {
			"name": "PerpsV2MarketViewsMKRPERP",
			"address": "0xaa22E203341Ac321C91136b147Efd5c8CDBC2158",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xaa22E203341Ac321C91136b147Efd5c8CDBC2158",
			"timestamp": "2024-01-28T00:32:34.373Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3328C0E28BEA582bE033D8c0d6B7e314F1c8a27a",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXMRPERP": {
			"name": "PerpsV2ProxyXMRPERP",
			"address": "0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
			"timestamp": "2024-01-28T00:47:59.355Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXMRPERP": {
			"name": "PerpsV2MarketStateXMRPERP",
			"address": "0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
			"timestamp": "2024-01-28T00:48:10.079Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x584d520000000000000000000000000000000000000000000000000000000000",
				"0x73584d5250455250000000000000000000000000000000000000000000000000",
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56"
			]
		},
		"PerpsV2MarketXMRPERP": {
			"name": "PerpsV2MarketXMRPERP",
			"address": "0x2A3771a01584468B02679ddDf8180b01ABDfDdf9",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2A3771a01584468B02679ddDf8180b01ABDfDdf9",
			"timestamp": "2024-01-28T00:48:21.592Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXMRPERP": {
			"name": "PerpsV2MarketLiquidateXMRPERP",
			"address": "0x38dE2c7483981110702dc3f2e49b4348b7dbdB71",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x38dE2c7483981110702dc3f2e49b4348b7dbdB71",
			"timestamp": "2024-01-28T00:48:35.401Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXMRPERP": {
			"name": "PerpsV2DelayedIntentXMRPERP",
			"address": "0xC10854dC7f142Bc065FFfb99795581cbb8164cAd",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC10854dC7f142Bc065FFfb99795581cbb8164cAd",
			"timestamp": "2024-01-28T00:48:49.391Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXMRPERP": {
			"name": "PerpsV2DelayedExecutionXMRPERP",
			"address": "0x174B0D08b78cd93390dEe5392dcbf1BC6EB345e3",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x174B0D08b78cd93390dEe5392dcbf1BC6EB345e3",
			"timestamp": "2024-01-28T00:49:03.661Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x393650685eE7f9b7aeB01E1b6881540af0d71ffF",
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXMRPERP": {
			"name": "PerpsV2MarketViewsXMRPERP",
			"address": "0x9FC43De873bb5F3CbE7102F2820fD01716152916",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9FC43De873bb5F3CbE7102F2820fD01716152916",
			"timestamp": "2024-01-28T00:49:17.286Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x329Dc1b08530e1C83e05150E3Ff0D66F4DC49d56",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyYFIPERP": {
			"name": "PerpsV2ProxyYFIPERP",
			"address": "0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
			"timestamp": "2024-01-28T01:05:50.648Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateYFIPERP": {
			"name": "PerpsV2MarketStateYFIPERP",
			"address": "0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
			"timestamp": "2024-01-28T01:06:01.260Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5946490000000000000000000000000000000000000000000000000000000000",
				"0x7359464950455250000000000000000000000000000000000000000000000000",
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2"
			]
		},
		"PerpsV2MarketYFIPERP": {
			"name": "PerpsV2MarketYFIPERP",
			"address": "0x7FAE7D543f621eE2Bb87B8D74345e331c1367699",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7FAE7D543f621eE2Bb87B8D74345e331c1367699",
			"timestamp": "2024-01-28T01:06:12.255Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateYFIPERP": {
			"name": "PerpsV2MarketLiquidateYFIPERP",
			"address": "0x50394BC72e3a0C3fa5436df196057BB02cbD07a2",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x50394BC72e3a0C3fa5436df196057BB02cbD07a2",
			"timestamp": "2024-01-28T01:06:22.745Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentYFIPERP": {
			"name": "PerpsV2DelayedIntentYFIPERP",
			"address": "0x97203fF2824fc4513bC249FE1C88b867762eB933",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x97203fF2824fc4513bC249FE1C88b867762eB933",
			"timestamp": "2024-01-28T01:06:33.802Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionYFIPERP": {
			"name": "PerpsV2DelayedExecutionYFIPERP",
			"address": "0xD64E29fBB50af779aF34C5d481B662806406b04d",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD64E29fBB50af779aF34C5d481B662806406b04d",
			"timestamp": "2024-01-28T01:06:45.674Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0A0e4917e67054CdD06d07d12D4a8f623D2d7269",
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsYFIPERP": {
			"name": "PerpsV2MarketViewsYFIPERP",
			"address": "0xe49e38957bb3d8aa12354B9017904aAe84417B4e",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe49e38957bb3d8aa12354B9017904aAe84417B4e",
			"timestamp": "2024-01-28T01:06:56.158Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xF7491a37eEfE32cD93964962b21Ff0638e02e4c2",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyMAVPERP": {
			"name": "PerpsV2ProxyMAVPERP",
			"address": "0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
			"timestamp": "2024-01-28T01:22:07.463Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateMAVPERP": {
			"name": "PerpsV2MarketStateMAVPERP",
			"address": "0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
			"timestamp": "2024-01-28T01:22:21.764Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4d41560000000000000000000000000000000000000000000000000000000000",
				"0x734d415650455250000000000000000000000000000000000000000000000000",
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249"
			]
		},
		"PerpsV2MarketMAVPERP": {
			"name": "PerpsV2MarketMAVPERP",
			"address": "0xa72b3cF9e3e51dE49F0FaC8402C70AB5c163b42F",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa72b3cF9e3e51dE49F0FaC8402C70AB5c163b42F",
			"timestamp": "2024-01-28T01:22:32.556Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateMAVPERP": {
			"name": "PerpsV2MarketLiquidateMAVPERP",
			"address": "0xc3aF98aa6680B894a859A1e03EaCf1ad14Fcbe2e",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc3aF98aa6680B894a859A1e03EaCf1ad14Fcbe2e",
			"timestamp": "2024-01-28T01:22:43.940Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentMAVPERP": {
			"name": "PerpsV2DelayedIntentMAVPERP",
			"address": "0xe79749494Fbb5A4c9311C4dad8f3c40EdeA55C4c",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe79749494Fbb5A4c9311C4dad8f3c40EdeA55C4c",
			"timestamp": "2024-01-28T01:22:54.934Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionMAVPERP": {
			"name": "PerpsV2DelayedExecutionMAVPERP",
			"address": "0xCA8c691E1803a55e573D0d1144B6e4ba805ED5A4",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCA8c691E1803a55e573D0d1144B6e4ba805ED5A4",
			"timestamp": "2024-01-28T01:23:06.160Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFf1AA6A6B8a8CDD82a7B275A65D9EF7fa5EcE2e6",
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsMAVPERP": {
			"name": "PerpsV2MarketViewsMAVPERP",
			"address": "0x9430d7D57Fef65cdE8D71fAe8dC8b1F4C01858e0",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9430d7D57Fef65cdE8D71fAe8dC8b1F4C01858e0",
			"timestamp": "2024-01-28T01:23:16.598Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBDE276b0a817F37B41700cf89Eb2bAce7f739249",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyRPLPERP": {
			"name": "PerpsV2ProxyRPLPERP",
			"address": "0x4398715c8742732F9A4e21664249D120b5436725",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4398715c8742732F9A4e21664249D120b5436725",
			"timestamp": "2024-01-28T01:39:05.488Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateRPLPERP": {
			"name": "PerpsV2MarketStateRPLPERP",
			"address": "0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
			"timestamp": "2024-01-28T01:39:19.583Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x52504c0000000000000000000000000000000000000000000000000000000000",
				"0x7352504c50455250000000000000000000000000000000000000000000000000",
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA"
			]
		},
		"PerpsV2MarketRPLPERP": {
			"name": "PerpsV2MarketRPLPERP",
			"address": "0x59802b9d656581f77B81F0AbaC781529ddE53763",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x59802b9d656581f77B81F0AbaC781529ddE53763",
			"timestamp": "2024-01-28T01:39:30.416Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4398715c8742732F9A4e21664249D120b5436725",
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateRPLPERP": {
			"name": "PerpsV2MarketLiquidateRPLPERP",
			"address": "0x813C17f1c4872cd46DDdeF2B01Cc2408E339137D",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x813C17f1c4872cd46DDdeF2B01Cc2408E339137D",
			"timestamp": "2024-01-28T01:39:40.708Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4398715c8742732F9A4e21664249D120b5436725",
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentRPLPERP": {
			"name": "PerpsV2DelayedIntentRPLPERP",
			"address": "0x72A910e7D80996518ec88927e771920a03d464D9",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x72A910e7D80996518ec88927e771920a03d464D9",
			"timestamp": "2024-01-28T01:39:52.099Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4398715c8742732F9A4e21664249D120b5436725",
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionRPLPERP": {
			"name": "PerpsV2DelayedExecutionRPLPERP",
			"address": "0x583F2be201eC286eD634a424De0984CFDC19e074",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x583F2be201eC286eD634a424De0984CFDC19e074",
			"timestamp": "2024-01-28T01:40:06.574Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4398715c8742732F9A4e21664249D120b5436725",
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsRPLPERP": {
			"name": "PerpsV2MarketViewsRPLPERP",
			"address": "0xd3aC33c01D258511828F9D80972a5CCC59aaE94e",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd3aC33c01D258511828F9D80972a5CCC59aaE94e",
			"timestamp": "2024-01-28T01:40:20.288Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x87DE8ee830a90D665AdD22Bdd668aFCde78577bA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyWLDPERP": {
			"name": "PerpsV2ProxyWLDPERP",
			"address": "0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
			"timestamp": "2024-01-28T01:56:34.183Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateWLDPERP": {
			"name": "PerpsV2MarketStateWLDPERP",
			"address": "0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
			"timestamp": "2024-01-28T01:56:44.667Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x574c440000000000000000000000000000000000000000000000000000000000",
				"0x73574c4450455250000000000000000000000000000000000000000000000000",
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7"
			]
		},
		"PerpsV2MarketWLDPERP": {
			"name": "PerpsV2MarketWLDPERP",
			"address": "0x5EA2d5ea43b47d7AC033eEf1b0A21D30BD45C836",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5EA2d5ea43b47d7AC033eEf1b0A21D30BD45C836",
			"timestamp": "2024-01-28T01:56:59.638Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateWLDPERP": {
			"name": "PerpsV2MarketLiquidateWLDPERP",
			"address": "0x1b7847a0A30C2AF6AB4337dFA34ece9A9C6426a1",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1b7847a0A30C2AF6AB4337dFA34ece9A9C6426a1",
			"timestamp": "2024-01-28T01:57:15.717Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentWLDPERP": {
			"name": "PerpsV2DelayedIntentWLDPERP",
			"address": "0xbEBfA7Ed8f0c47028aC14212db7c32D5b9AbB286",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbEBfA7Ed8f0c47028aC14212db7c32D5b9AbB286",
			"timestamp": "2024-01-28T01:57:27.289Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionWLDPERP": {
			"name": "PerpsV2DelayedExecutionWLDPERP",
			"address": "0x0AFb892F3a8cD24557CE3089F474d324A6Ad5e69",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0AFb892F3a8cD24557CE3089F474d324A6Ad5e69",
			"timestamp": "2024-01-28T01:57:38.462Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xaaEe25Fef392266cC85Ef110Aa098a1A3238E5A5",
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsWLDPERP": {
			"name": "PerpsV2MarketViewsWLDPERP",
			"address": "0x0c58199F497AF36Ee508eD05f2b49114cF6BaD8e",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0c58199F497AF36Ee508eD05f2b49114cF6BaD8e",
			"timestamp": "2024-01-28T01:57:48.728Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6af8Ceb40b07F3a7262F71d2b4A72c410Cc647A7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyUSDTPERP": {
			"name": "PerpsV2ProxyUSDTPERP",
			"address": "0x5841A259335879C59c9f8D9FA369b1413535b206",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5841A259335879C59c9f8D9FA369b1413535b206",
			"timestamp": "2024-01-28T02:13:41.865Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateUSDTPERP": {
			"name": "PerpsV2MarketStateUSDTPERP",
			"address": "0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
			"timestamp": "2024-01-28T02:13:55.046Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5553445400000000000000000000000000000000000000000000000000000000",
				"0x7355534454504552500000000000000000000000000000000000000000000000",
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1"
			]
		},
		"PerpsV2MarketUSDTPERP": {
			"name": "PerpsV2MarketUSDTPERP",
			"address": "0xfdD14eBE0F2311a8CA21be097A6971d9F0A4B7b4",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfdD14eBE0F2311a8CA21be097A6971d9F0A4B7b4",
			"timestamp": "2024-01-28T02:14:06.144Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5841A259335879C59c9f8D9FA369b1413535b206",
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateUSDTPERP": {
			"name": "PerpsV2MarketLiquidateUSDTPERP",
			"address": "0x591E399c87aBa11e5EEE041F198305266D63C92B",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x591E399c87aBa11e5EEE041F198305266D63C92B",
			"timestamp": "2024-01-28T02:14:17.677Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5841A259335879C59c9f8D9FA369b1413535b206",
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentUSDTPERP": {
			"name": "PerpsV2DelayedIntentUSDTPERP",
			"address": "0x8f81CfE198420BD7d0257Ca9e4191e5087fd5422",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8f81CfE198420BD7d0257Ca9e4191e5087fd5422",
			"timestamp": "2024-01-28T02:14:28.746Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5841A259335879C59c9f8D9FA369b1413535b206",
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionUSDTPERP": {
			"name": "PerpsV2DelayedExecutionUSDTPERP",
			"address": "0x81EC39d911596D0EA579ddAeCB8fa48Ea7898194",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x81EC39d911596D0EA579ddAeCB8fa48Ea7898194",
			"timestamp": "2024-01-28T02:14:40.035Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5841A259335879C59c9f8D9FA369b1413535b206",
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsUSDTPERP": {
			"name": "PerpsV2MarketViewsUSDTPERP",
			"address": "0x50653FC9BD9aE72FA199e2F90B81970332db9E9F",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x50653FC9BD9aE72FA199e2F90B81970332db9E9F",
			"timestamp": "2024-01-28T02:14:50.869Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x924992a9A2D2032294AE64f4d5774A748CE08ca1",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBALPERP": {
			"name": "PerpsV2ProxyBALPERP",
			"address": "0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
			"timestamp": "2024-01-28T02:29:55.149Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBALPERP": {
			"name": "PerpsV2MarketStateBALPERP",
			"address": "0x7a74802d0B062364bFd59D28286f82308Bc84864",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7a74802d0B062364bFd59D28286f82308Bc84864",
			"timestamp": "2024-01-28T02:30:05.581Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x42414c0000000000000000000000000000000000000000000000000000000000",
				"0x7342414c50455250000000000000000000000000000000000000000000000000",
				"0x7a74802d0B062364bFd59D28286f82308Bc84864"
			]
		},
		"PerpsV2MarketBALPERP": {
			"name": "PerpsV2MarketBALPERP",
			"address": "0x397e7583423a1cFdf0dB884ae8631f6418D77dDe",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x397e7583423a1cFdf0dB884ae8631f6418D77dDe",
			"timestamp": "2024-01-28T02:30:17.001Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
				"0x7a74802d0B062364bFd59D28286f82308Bc84864",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBALPERP": {
			"name": "PerpsV2MarketLiquidateBALPERP",
			"address": "0x8B3CD3A461eB16620c762fe002678ff676840546",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8B3CD3A461eB16620c762fe002678ff676840546",
			"timestamp": "2024-01-28T02:30:27.634Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
				"0x7a74802d0B062364bFd59D28286f82308Bc84864",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBALPERP": {
			"name": "PerpsV2DelayedIntentBALPERP",
			"address": "0xB9b2b5B82BC8c2aD11ABd7314a9870d9110afA1D",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB9b2b5B82BC8c2aD11ABd7314a9870d9110afA1D",
			"timestamp": "2024-01-28T02:30:38.432Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
				"0x7a74802d0B062364bFd59D28286f82308Bc84864",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBALPERP": {
			"name": "PerpsV2DelayedExecutionBALPERP",
			"address": "0xBdF2953911E4Cfa43B5B384022B0CEc355c95A55",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBdF2953911E4Cfa43B5B384022B0CEc355c95A55",
			"timestamp": "2024-01-28T02:30:53.994Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x91DfFf9A9E4fE4F3BBD2F83c60A7fE335bbc316a",
				"0x7a74802d0B062364bFd59D28286f82308Bc84864",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBALPERP": {
			"name": "PerpsV2MarketViewsBALPERP",
			"address": "0xb045cA31Ee8eeE63cd7cF8c9098910285d18d2d5",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb045cA31Ee8eeE63cd7cF8c9098910285d18d2d5",
			"timestamp": "2024-01-28T02:31:04.527Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7a74802d0B062364bFd59D28286f82308Bc84864",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFXSPERP": {
			"name": "PerpsV2ProxyFXSPERP",
			"address": "0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
			"timestamp": "2024-01-28T02:47:35.822Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFXSPERP": {
			"name": "PerpsV2MarketStateFXSPERP",
			"address": "0x7cF146C291ea9bb79322225b91003142E5260995",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7cF146C291ea9bb79322225b91003142E5260995",
			"timestamp": "2024-01-28T02:47:46.303Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4658530000000000000000000000000000000000000000000000000000000000",
				"0x7346585350455250000000000000000000000000000000000000000000000000",
				"0x7cF146C291ea9bb79322225b91003142E5260995"
			]
		},
		"PerpsV2MarketFXSPERP": {
			"name": "PerpsV2MarketFXSPERP",
			"address": "0xB8eC4cA9B02Ba3024ef796ffE5893E6C8cE2C1Aa",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB8eC4cA9B02Ba3024ef796ffE5893E6C8cE2C1Aa",
			"timestamp": "2024-01-28T02:47:57.079Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
				"0x7cF146C291ea9bb79322225b91003142E5260995",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFXSPERP": {
			"name": "PerpsV2MarketLiquidateFXSPERP",
			"address": "0x30f07D72e689d164cdc78dDa1b04947537093C37",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x30f07D72e689d164cdc78dDa1b04947537093C37",
			"timestamp": "2024-01-28T02:48:08.122Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
				"0x7cF146C291ea9bb79322225b91003142E5260995",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFXSPERP": {
			"name": "PerpsV2DelayedIntentFXSPERP",
			"address": "0x2C0C8f2E7b61D23eBEfb807A8e236983969A9757",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2C0C8f2E7b61D23eBEfb807A8e236983969A9757",
			"timestamp": "2024-01-28T02:48:19.140Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
				"0x7cF146C291ea9bb79322225b91003142E5260995",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFXSPERP": {
			"name": "PerpsV2DelayedExecutionFXSPERP",
			"address": "0xFEE8D3026baB7F567778173a68987DbB9C00b60d",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFEE8D3026baB7F567778173a68987DbB9C00b60d",
			"timestamp": "2024-01-28T02:48:30.985Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x18433f795e05E8FF387C0633aF4140e72cdd5A94",
				"0x7cF146C291ea9bb79322225b91003142E5260995",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFXSPERP": {
			"name": "PerpsV2MarketViewsFXSPERP",
			"address": "0x626A1C5aEec394793aC2a5Ef3141176b61774Aba",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x626A1C5aEec394793aC2a5Ef3141176b61774Aba",
			"timestamp": "2024-01-28T02:48:42.692Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7cF146C291ea9bb79322225b91003142E5260995",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyKNCPERP": {
			"name": "PerpsV2ProxyKNCPERP",
			"address": "0xFFa9181926d4C6003213cAb599963D0614b0cA61",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFFa9181926d4C6003213cAb599963D0614b0cA61",
			"timestamp": "2024-01-28T03:04:53.216Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateKNCPERP": {
			"name": "PerpsV2MarketStateKNCPERP",
			"address": "0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
			"timestamp": "2024-01-28T03:05:05.495Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4b4e430000000000000000000000000000000000000000000000000000000000",
				"0x734b4e4350455250000000000000000000000000000000000000000000000000",
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF"
			]
		},
		"PerpsV2MarketKNCPERP": {
			"name": "PerpsV2MarketKNCPERP",
			"address": "0xd897f5485BB58983f3F24f3B28f05334E25b6338",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd897f5485BB58983f3F24f3B28f05334E25b6338",
			"timestamp": "2024-01-28T03:05:16.477Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFFa9181926d4C6003213cAb599963D0614b0cA61",
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateKNCPERP": {
			"name": "PerpsV2MarketLiquidateKNCPERP",
			"address": "0xC1884762815c7F973ABCE3be53aCA222C7D4feF7",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC1884762815c7F973ABCE3be53aCA222C7D4feF7",
			"timestamp": "2024-01-28T03:05:27.270Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFFa9181926d4C6003213cAb599963D0614b0cA61",
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentKNCPERP": {
			"name": "PerpsV2DelayedIntentKNCPERP",
			"address": "0xa8a690d60331a00F67c31eA90f9F899173f1a034",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa8a690d60331a00F67c31eA90f9F899173f1a034",
			"timestamp": "2024-01-28T03:05:38.111Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFFa9181926d4C6003213cAb599963D0614b0cA61",
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionKNCPERP": {
			"name": "PerpsV2DelayedExecutionKNCPERP",
			"address": "0x28e93928EB4CcdbA64509ADCa4c9E44BC72B69e4",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x28e93928EB4CcdbA64509ADCa4c9E44BC72B69e4",
			"timestamp": "2024-01-28T03:05:49.995Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFFa9181926d4C6003213cAb599963D0614b0cA61",
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsKNCPERP": {
			"name": "PerpsV2MarketViewsKNCPERP",
			"address": "0xcf7502405Ae90815CF90DD4ECe5E2995931c3DA0",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcf7502405Ae90815CF90DD4ECe5E2995931c3DA0",
			"timestamp": "2024-01-28T03:06:01.012Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x05847D5C5e44Db9A6683E0a73A752792c0f35CfF",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyRNDRPERP": {
			"name": "PerpsV2ProxyRNDRPERP",
			"address": "0x9c898362025AF668067947fA55500081B13fdC7e",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9c898362025AF668067947fA55500081B13fdC7e",
			"timestamp": "2024-01-28T03:21:21.927Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateRNDRPERP": {
			"name": "PerpsV2MarketStateRNDRPERP",
			"address": "0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
			"timestamp": "2024-01-28T03:21:32.037Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x524e445200000000000000000000000000000000000000000000000000000000",
				"0x73524e4452504552500000000000000000000000000000000000000000000000",
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68"
			]
		},
		"PerpsV2MarketRNDRPERP": {
			"name": "PerpsV2MarketRNDRPERP",
			"address": "0x6F3dAcd316347092988B69EEF41821ce6015abe9",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6F3dAcd316347092988B69EEF41821ce6015abe9",
			"timestamp": "2024-01-28T03:21:42.997Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9c898362025AF668067947fA55500081B13fdC7e",
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateRNDRPERP": {
			"name": "PerpsV2MarketLiquidateRNDRPERP",
			"address": "0xa839Da4300A2be763C058DBd5aBae8E1b3EDDa56",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa839Da4300A2be763C058DBd5aBae8E1b3EDDa56",
			"timestamp": "2024-01-28T03:21:54.107Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9c898362025AF668067947fA55500081B13fdC7e",
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentRNDRPERP": {
			"name": "PerpsV2DelayedIntentRNDRPERP",
			"address": "0xC8634511740f508423b50AE19bb159F75Ff47ea7",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC8634511740f508423b50AE19bb159F75Ff47ea7",
			"timestamp": "2024-01-28T03:22:05.362Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9c898362025AF668067947fA55500081B13fdC7e",
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionRNDRPERP": {
			"name": "PerpsV2DelayedExecutionRNDRPERP",
			"address": "0xFaa1D4E0Ea7b9Ea3Db090405192ea6ee3EF20CA7",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFaa1D4E0Ea7b9Ea3Db090405192ea6ee3EF20CA7",
			"timestamp": "2024-01-28T03:22:16.709Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9c898362025AF668067947fA55500081B13fdC7e",
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsRNDRPERP": {
			"name": "PerpsV2MarketViewsRNDRPERP",
			"address": "0xA2C8aC77ec8D0F2c2A1cB16b80fAddDD02093366",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA2C8aC77ec8D0F2c2A1cB16b80fAddDD02093366",
			"timestamp": "2024-01-28T03:22:27.385Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xfd7b4c21bcBcF4Ea40A03D0bf3a5aDe06b56Ec68",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyONEPERP": {
			"name": "PerpsV2ProxyONEPERP",
			"address": "0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
			"timestamp": "2024-01-28T03:38:07.508Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateONEPERP": {
			"name": "PerpsV2MarketStateONEPERP",
			"address": "0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
			"timestamp": "2024-01-28T03:38:20.633Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4f4e450000000000000000000000000000000000000000000000000000000000",
				"0x734f4e4550455250000000000000000000000000000000000000000000000000",
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811"
			]
		},
		"PerpsV2MarketONEPERP": {
			"name": "PerpsV2MarketONEPERP",
			"address": "0xDc5AA37846c077c4Cd37ca4f1F940C24Fbaf7E37",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDc5AA37846c077c4Cd37ca4f1F940C24Fbaf7E37",
			"timestamp": "2024-01-28T03:38:32.990Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateONEPERP": {
			"name": "PerpsV2MarketLiquidateONEPERP",
			"address": "0xcD0EFF193325298b3579dc3D0A84D2B511e0cdF2",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcD0EFF193325298b3579dc3D0A84D2B511e0cdF2",
			"timestamp": "2024-01-28T03:38:47.890Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentONEPERP": {
			"name": "PerpsV2DelayedIntentONEPERP",
			"address": "0x829FA66D857c2Ab32518f26FeF91d74bbD2806Cf",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x829FA66D857c2Ab32518f26FeF91d74bbD2806Cf",
			"timestamp": "2024-01-28T03:39:01.353Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionONEPERP": {
			"name": "PerpsV2DelayedExecutionONEPERP",
			"address": "0xAaf39603ac757E0a3C09f81225BcF03eDdE5dd71",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAaf39603ac757E0a3C09f81225BcF03eDdE5dd71",
			"timestamp": "2024-01-28T03:39:12.552Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3A2F7083C1617e4371bA723Bc27dED8A1Bd6AD90",
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsONEPERP": {
			"name": "PerpsV2MarketViewsONEPERP",
			"address": "0xa57e41824b0922b061DD62Ab221FA7e499063152",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa57e41824b0922b061DD62Ab221FA7e499063152",
			"timestamp": "2024-01-28T03:39:23.216Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD441bE35D36deE567Cc53626A3E072Cf38adC811",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyPERPPERP": {
			"name": "PerpsV2ProxyPERPPERP",
			"address": "0x9763510E1E0057bE624Ded90e1916130cBe920df",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9763510E1E0057bE624Ded90e1916130cBe920df",
			"timestamp": "2024-01-28T03:54:47.297Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStatePERPPERP": {
			"name": "PerpsV2MarketStatePERPPERP",
			"address": "0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
			"timestamp": "2024-01-28T03:54:58.941Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5045525000000000000000000000000000000000000000000000000000000000",
				"0x7350455250504552500000000000000000000000000000000000000000000000",
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0"
			]
		},
		"PerpsV2MarketPERPPERP": {
			"name": "PerpsV2MarketPERPPERP",
			"address": "0xC80CeC9Ce360832AFF4464F05A409e02999f2Cd6",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC80CeC9Ce360832AFF4464F05A409e02999f2Cd6",
			"timestamp": "2024-01-28T03:55:11.035Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9763510E1E0057bE624Ded90e1916130cBe920df",
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidatePERPPERP": {
			"name": "PerpsV2MarketLiquidatePERPPERP",
			"address": "0x8122ce9966802308bBCEE4Ed437BcF2864d397BD",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8122ce9966802308bBCEE4Ed437BcF2864d397BD",
			"timestamp": "2024-01-28T03:55:25.037Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9763510E1E0057bE624Ded90e1916130cBe920df",
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentPERPPERP": {
			"name": "PerpsV2DelayedIntentPERPPERP",
			"address": "0x1CB33e3D4f733ad20753a89e138f58691Ba91395",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1CB33e3D4f733ad20753a89e138f58691Ba91395",
			"timestamp": "2024-01-28T03:55:38.966Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9763510E1E0057bE624Ded90e1916130cBe920df",
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionPERPPERP": {
			"name": "PerpsV2DelayedExecutionPERPPERP",
			"address": "0x2D725570FdF280612087d7CEEa76Fba411858c2a",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2D725570FdF280612087d7CEEa76Fba411858c2a",
			"timestamp": "2024-01-28T03:55:53.094Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x9763510E1E0057bE624Ded90e1916130cBe920df",
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsPERPPERP": {
			"name": "PerpsV2MarketViewsPERPPERP",
			"address": "0x9982fCf287516b21247eBDC830767589090E2710",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9982fCf287516b21247eBDC830767589090E2710",
			"timestamp": "2024-01-28T03:56:06.605Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xe97C378C14bba40024EAa0FE81E99DFE3f7d5bD0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyZILPERP": {
			"name": "PerpsV2ProxyZILPERP",
			"address": "0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
			"timestamp": "2024-01-28T04:11:37.539Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateZILPERP": {
			"name": "PerpsV2MarketStateZILPERP",
			"address": "0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
			"timestamp": "2024-01-28T04:11:48.198Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5a494c0000000000000000000000000000000000000000000000000000000000",
				"0x735a494c50455250000000000000000000000000000000000000000000000000",
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA"
			]
		},
		"PerpsV2MarketZILPERP": {
			"name": "PerpsV2MarketZILPERP",
			"address": "0x9876a190d669f9578fc385Cde87a2a2753D84D27",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9876a190d669f9578fc385Cde87a2a2753D84D27",
			"timestamp": "2024-01-28T04:11:59.233Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateZILPERP": {
			"name": "PerpsV2MarketLiquidateZILPERP",
			"address": "0x814A82e8211d50b485C6f87Fa4044714c6A1cCAD",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x814A82e8211d50b485C6f87Fa4044714c6A1cCAD",
			"timestamp": "2024-01-28T04:12:10.744Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentZILPERP": {
			"name": "PerpsV2DelayedIntentZILPERP",
			"address": "0x442ce92F92F25DA1bc84Ad967597D0350EFb94BE",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x442ce92F92F25DA1bc84Ad967597D0350EFb94BE",
			"timestamp": "2024-01-28T04:12:25.776Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionZILPERP": {
			"name": "PerpsV2DelayedExecutionZILPERP",
			"address": "0xDf32f3Bd479B5D430631945c822Bec1050484d1a",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDf32f3Bd479B5D430631945c822Bec1050484d1a",
			"timestamp": "2024-01-28T04:12:36.965Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x96ffa60CA169e648b098aFADCCEec4b8eE455ec4",
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsZILPERP": {
			"name": "PerpsV2MarketViewsZILPERP",
			"address": "0xf97FcC07169edf13FBC3F9FA393cd139b5A65268",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf97FcC07169edf13FBC3F9FA393cd139b5A65268",
			"timestamp": "2024-01-28T04:12:47.283Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xA502E56412B4Ce5123a40d201552A87cAf199fEA",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyRUNEPERP": {
			"name": "PerpsV2ProxyRUNEPERP",
			"address": "0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
			"timestamp": "2024-01-28T04:28:02.861Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateRUNEPERP": {
			"name": "PerpsV2MarketStateRUNEPERP",
			"address": "0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
			"timestamp": "2024-01-28T04:28:14.413Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x52554e4500000000000000000000000000000000000000000000000000000000",
				"0x7352554e45504552500000000000000000000000000000000000000000000000",
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131"
			]
		},
		"PerpsV2MarketRUNEPERP": {
			"name": "PerpsV2MarketRUNEPERP",
			"address": "0x03a92053D1F69a217C18AD465C8cA89C7eDc6689",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x03a92053D1F69a217C18AD465C8cA89C7eDc6689",
			"timestamp": "2024-01-28T04:28:23.708Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateRUNEPERP": {
			"name": "PerpsV2MarketLiquidateRUNEPERP",
			"address": "0x66d77839D53a2e4e6e914C6cee4B4F4f8dC53ef4",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x66d77839D53a2e4e6e914C6cee4B4F4f8dC53ef4",
			"timestamp": "2024-01-28T04:28:34.375Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentRUNEPERP": {
			"name": "PerpsV2DelayedIntentRUNEPERP",
			"address": "0x1369D74fBc353183A3E790E8BAC3a467f75bbBd2",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1369D74fBc353183A3E790E8BAC3a467f75bbBd2",
			"timestamp": "2024-01-28T04:28:49.501Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionRUNEPERP": {
			"name": "PerpsV2DelayedExecutionRUNEPERP",
			"address": "0x0F2e8b4C993845eAE260dECDa855edDbEE000048",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0F2e8b4C993845eAE260dECDa855edDbEE000048",
			"timestamp": "2024-01-28T04:29:01.447Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa35575182f5985d6caA1E4e435e7EaF986232ef8",
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsRUNEPERP": {
			"name": "PerpsV2MarketViewsRUNEPERP",
			"address": "0x0007193B64e313f0A91749d9361Bf28D9937DCe5",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0007193B64e313f0A91749d9361Bf28D9937DCe5",
			"timestamp": "2024-01-28T04:29:12.066Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5190F12dEe482f8e58759Cc6d0522dfD15b18131",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySUSHIPERP": {
			"name": "PerpsV2ProxySUSHIPERP",
			"address": "0x99CC961612B627C535a82819Ea291800D9E69783",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x99CC961612B627C535a82819Ea291800D9E69783",
			"timestamp": "2024-01-28T04:45:05.403Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSUSHIPERP": {
			"name": "PerpsV2MarketStateSUSHIPERP",
			"address": "0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
			"timestamp": "2024-01-28T04:45:16.744Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5355534849000000000000000000000000000000000000000000000000000000",
				"0x7353555348495045525000000000000000000000000000000000000000000000",
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5"
			]
		},
		"PerpsV2MarketSUSHIPERP": {
			"name": "PerpsV2MarketSUSHIPERP",
			"address": "0xD5c6D96154B0C74cd887c4dE07103A47c6cD75A2",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD5c6D96154B0C74cd887c4dE07103A47c6cD75A2",
			"timestamp": "2024-01-28T04:45:27.922Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x99CC961612B627C535a82819Ea291800D9E69783",
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSUSHIPERP": {
			"name": "PerpsV2MarketLiquidateSUSHIPERP",
			"address": "0x960f16Fd25cFa108DDE27791d05392cD244fD7bb",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x960f16Fd25cFa108DDE27791d05392cD244fD7bb",
			"timestamp": "2024-01-28T04:45:38.563Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x99CC961612B627C535a82819Ea291800D9E69783",
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSUSHIPERP": {
			"name": "PerpsV2DelayedIntentSUSHIPERP",
			"address": "0x2C1bEdA23501590A5F2418Ba0348F86b8F0d110D",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2C1bEdA23501590A5F2418Ba0348F86b8F0d110D",
			"timestamp": "2024-01-28T04:45:53.487Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x99CC961612B627C535a82819Ea291800D9E69783",
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSUSHIPERP": {
			"name": "PerpsV2DelayedExecutionSUSHIPERP",
			"address": "0x78fa0f0640cD788C449cb3AA1e0d093762aB4aD0",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x78fa0f0640cD788C449cb3AA1e0d093762aB4aD0",
			"timestamp": "2024-01-28T04:46:05.544Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x99CC961612B627C535a82819Ea291800D9E69783",
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSUSHIPERP": {
			"name": "PerpsV2MarketViewsSUSHIPERP",
			"address": "0xA0f365B94Ac1a62297b9D63AA969d6f90083D667",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA0f365B94Ac1a62297b9D63AA969d6f90083D667",
			"timestamp": "2024-01-28T04:46:16.314Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5fC6c426930f6ab9E97bd1036BDc793CeF4551C5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyZECPERP": {
			"name": "PerpsV2ProxyZECPERP",
			"address": "0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
			"timestamp": "2024-01-28T05:01:47.962Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateZECPERP": {
			"name": "PerpsV2MarketStateZECPERP",
			"address": "0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
			"timestamp": "2024-01-28T05:01:58.263Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5a45430000000000000000000000000000000000000000000000000000000000",
				"0x735a454350455250000000000000000000000000000000000000000000000000",
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44"
			]
		},
		"PerpsV2MarketZECPERP": {
			"name": "PerpsV2MarketZECPERP",
			"address": "0x390D2D52Bd7C0380950f8003eB2915855644631d",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x390D2D52Bd7C0380950f8003eB2915855644631d",
			"timestamp": "2024-01-28T05:02:08.968Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateZECPERP": {
			"name": "PerpsV2MarketLiquidateZECPERP",
			"address": "0x92778e1ffB77693092C6781E9284fdA912A1Cdf7",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x92778e1ffB77693092C6781E9284fdA912A1Cdf7",
			"timestamp": "2024-01-28T05:02:23.577Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentZECPERP": {
			"name": "PerpsV2DelayedIntentZECPERP",
			"address": "0x2f6B2d71eF966336336CD840253fD53Ea5a95788",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2f6B2d71eF966336336CD840253fD53Ea5a95788",
			"timestamp": "2024-01-28T05:02:37.404Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionZECPERP": {
			"name": "PerpsV2DelayedExecutionZECPERP",
			"address": "0x692d11347Ae16a126C5c382919f9e8877e47C275",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x692d11347Ae16a126C5c382919f9e8877e47C275",
			"timestamp": "2024-01-28T05:02:51.375Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc3beea442B907465C3632Fa7F3C9ee9E2b997994",
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsZECPERP": {
			"name": "PerpsV2MarketViewsZECPERP",
			"address": "0x7E038f24235084d518955A572082093c84B16441",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7E038f24235084d518955A572082093c84B16441",
			"timestamp": "2024-01-28T05:03:04.837Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x386Fe29CDFE9239aCE9400CC92B955cFF91F3a44",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXTZPERP": {
			"name": "PerpsV2ProxyXTZPERP",
			"address": "0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
			"timestamp": "2024-01-28T05:18:53.580Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXTZPERP": {
			"name": "PerpsV2MarketStateXTZPERP",
			"address": "0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
			"timestamp": "2024-01-28T05:19:04.446Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x58545a0000000000000000000000000000000000000000000000000000000000",
				"0x7358545a50455250000000000000000000000000000000000000000000000000",
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374"
			]
		},
		"PerpsV2MarketXTZPERP": {
			"name": "PerpsV2MarketXTZPERP",
			"address": "0x0F1c0dC4C578108d0cfFf0522A496e6ddFd144FE",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0F1c0dC4C578108d0cfFf0522A496e6ddFd144FE",
			"timestamp": "2024-01-28T05:19:19.330Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXTZPERP": {
			"name": "PerpsV2MarketLiquidateXTZPERP",
			"address": "0xCa12D969d021a330d38c189Bc1bA701f8189D21C",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCa12D969d021a330d38c189Bc1bA701f8189D21C",
			"timestamp": "2024-01-28T05:19:29.949Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXTZPERP": {
			"name": "PerpsV2DelayedIntentXTZPERP",
			"address": "0xD7B601f982d8D4b625d1370a68B119b234E4f6C4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD7B601f982d8D4b625d1370a68B119b234E4f6C4",
			"timestamp": "2024-01-28T05:19:41.355Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXTZPERP": {
			"name": "PerpsV2DelayedExecutionXTZPERP",
			"address": "0x23915a6C00162B372C256Ff1f603aB436A4Ae495",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x23915a6C00162B372C256Ff1f603aB436A4Ae495",
			"timestamp": "2024-01-28T05:19:52.677Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3707CF43F93fDDE90aC0A06e6c7C052a8e8F335A",
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXTZPERP": {
			"name": "PerpsV2MarketViewsXTZPERP",
			"address": "0x9D530ee9D11F0662EB0F2b838ED65E68F7A9e1E3",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9D530ee9D11F0662EB0F2b838ED65E68F7A9e1E3",
			"timestamp": "2024-01-28T05:20:07.386Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x1A7a4475e2245e6e2adAeBB5831c341920aF3374",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyUMAPERP": {
			"name": "PerpsV2ProxyUMAPERP",
			"address": "0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
			"timestamp": "2024-01-28T05:35:33.806Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateUMAPERP": {
			"name": "PerpsV2MarketStateUMAPERP",
			"address": "0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
			"timestamp": "2024-01-28T05:35:44.817Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x554d410000000000000000000000000000000000000000000000000000000000",
				"0x73554d4150455250000000000000000000000000000000000000000000000000",
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936"
			]
		},
		"PerpsV2MarketUMAPERP": {
			"name": "PerpsV2MarketUMAPERP",
			"address": "0xf98f058c9c252906b7d53548A31316718680cCF4",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf98f058c9c252906b7d53548A31316718680cCF4",
			"timestamp": "2024-01-28T05:35:59.019Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateUMAPERP": {
			"name": "PerpsV2MarketLiquidateUMAPERP",
			"address": "0xf70cd51746D12702ab127e39e2d05d49048e520B",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf70cd51746D12702ab127e39e2d05d49048e520B",
			"timestamp": "2024-01-28T05:36:11.041Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentUMAPERP": {
			"name": "PerpsV2DelayedIntentUMAPERP",
			"address": "0x51C8556Ca9099aa44ae89459A5b12E95Ea19BDB3",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x51C8556Ca9099aa44ae89459A5b12E95Ea19BDB3",
			"timestamp": "2024-01-28T05:36:25.567Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionUMAPERP": {
			"name": "PerpsV2DelayedExecutionUMAPERP",
			"address": "0x52B54Df16Ec914E4Beba0bD9EA65483F91ecd352",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x52B54Df16Ec914E4Beba0bD9EA65483F91ecd352",
			"timestamp": "2024-01-28T05:36:39.880Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC49A8F98B4D7E033bF99008387D2C3fE0Ccc532c",
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsUMAPERP": {
			"name": "PerpsV2MarketViewsUMAPERP",
			"address": "0xE056B6B4240bFb46498D7a6fDC70EF5C722d3b97",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE056B6B4240bFb46498D7a6fDC70EF5C722d3b97",
			"timestamp": "2024-01-28T05:36:53.336Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xE200157c076Ae9a1C875f9AE0B0a8e3ae27A4936",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyENJPERP": {
			"name": "PerpsV2ProxyENJPERP",
			"address": "0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
			"timestamp": "2024-01-28T05:51:53.299Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateENJPERP": {
			"name": "PerpsV2MarketStateENJPERP",
			"address": "0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
			"timestamp": "2024-01-28T05:52:04.395Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x454e4a0000000000000000000000000000000000000000000000000000000000",
				"0x73454e4a50455250000000000000000000000000000000000000000000000000",
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006"
			]
		},
		"PerpsV2MarketENJPERP": {
			"name": "PerpsV2MarketENJPERP",
			"address": "0xCA3B4d47513107F7D6Aa1BbDAcDf6Ce0eEC3022D",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCA3B4d47513107F7D6Aa1BbDAcDf6Ce0eEC3022D",
			"timestamp": "2024-01-28T05:52:15.665Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateENJPERP": {
			"name": "PerpsV2MarketLiquidateENJPERP",
			"address": "0x967d78E94F9D704c816Aa37601d3cD8F9f758167",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x967d78E94F9D704c816Aa37601d3cD8F9f758167",
			"timestamp": "2024-01-28T05:52:26.553Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentENJPERP": {
			"name": "PerpsV2DelayedIntentENJPERP",
			"address": "0x358A619CbD65f0988CcfF665f86F056aad75e9fb",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x358A619CbD65f0988CcfF665f86F056aad75e9fb",
			"timestamp": "2024-01-28T05:52:37.568Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionENJPERP": {
			"name": "PerpsV2DelayedExecutionENJPERP",
			"address": "0x0F044E697E2273599C6e08fe2Cb50C35e86359BD",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0F044E697E2273599C6e08fe2Cb50C35e86359BD",
			"timestamp": "2024-01-28T05:52:49.202Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x4EA91e75335Fa05182a7c8BD9D54A1f1ff6Ed29E",
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsENJPERP": {
			"name": "PerpsV2MarketViewsENJPERP",
			"address": "0xBCdB3D77E2C1Fe18772f208bA61f177bdE55e7f7",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBCdB3D77E2C1Fe18772f208bA61f177bdE55e7f7",
			"timestamp": "2024-01-28T05:53:03.541Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x16aAd97B7640ba747EdC1bD5aB0fF3D8eC932006",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyICPPERP": {
			"name": "PerpsV2ProxyICPPERP",
			"address": "0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
			"timestamp": "2024-01-28T06:09:06.175Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateICPPERP": {
			"name": "PerpsV2MarketStateICPPERP",
			"address": "0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
			"timestamp": "2024-01-28T06:09:16.654Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4943500000000000000000000000000000000000000000000000000000000000",
				"0x7349435050455250000000000000000000000000000000000000000000000000",
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414"
			]
		},
		"PerpsV2MarketICPPERP": {
			"name": "PerpsV2MarketICPPERP",
			"address": "0x5a3Af57F1af12F6212f60d1069a0C314E3788ACC",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5a3Af57F1af12F6212f60d1069a0C314E3788ACC",
			"timestamp": "2024-01-28T06:09:27.971Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateICPPERP": {
			"name": "PerpsV2MarketLiquidateICPPERP",
			"address": "0xE9CE5cFE6135D3B38a434390e462fbB79Ea4D708",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xE9CE5cFE6135D3B38a434390e462fbB79Ea4D708",
			"timestamp": "2024-01-28T06:09:38.940Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentICPPERP": {
			"name": "PerpsV2DelayedIntentICPPERP",
			"address": "0x1190F5b556430bf08B1a38ba14B8EA8Dc4948569",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1190F5b556430bf08B1a38ba14B8EA8Dc4948569",
			"timestamp": "2024-01-28T06:09:50.565Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionICPPERP": {
			"name": "PerpsV2DelayedExecutionICPPERP",
			"address": "0xd429b1F289e79D958C724Af7cE78D333e4612010",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd429b1F289e79D958C724Af7cE78D333e4612010",
			"timestamp": "2024-01-28T06:10:02.537Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xeA4662804B884EB6ed4DAe4323Ea20e04c07626d",
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsICPPERP": {
			"name": "PerpsV2MarketViewsICPPERP",
			"address": "0x2243Eeee683Ac28FbEE5e5467E91B9F2466aE0DE",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2243Eeee683Ac28FbEE5e5467E91B9F2466aE0DE",
			"timestamp": "2024-01-28T06:10:13.281Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3B7BcefeF061E8723c93de1343E76E53dbDd0414",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyXLMPERP": {
			"name": "PerpsV2ProxyXLMPERP",
			"address": "0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
			"timestamp": "2024-01-28T06:25:47.472Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateXLMPERP": {
			"name": "PerpsV2MarketStateXLMPERP",
			"address": "0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
			"timestamp": "2024-01-28T06:25:58.459Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x584c4d0000000000000000000000000000000000000000000000000000000000",
				"0x73584c4d50455250000000000000000000000000000000000000000000000000",
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9"
			]
		},
		"PerpsV2MarketXLMPERP": {
			"name": "PerpsV2MarketXLMPERP",
			"address": "0x69dC9687aB5FbB0cD99F28c5bc937C2C09C5254b",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x69dC9687aB5FbB0cD99F28c5bc937C2C09C5254b",
			"timestamp": "2024-01-28T06:26:13.206Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateXLMPERP": {
			"name": "PerpsV2MarketLiquidateXLMPERP",
			"address": "0x3415726F4B2F451FC21f94304078739Cf23C80f5",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3415726F4B2F451FC21f94304078739Cf23C80f5",
			"timestamp": "2024-01-28T06:26:23.808Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentXLMPERP": {
			"name": "PerpsV2DelayedIntentXLMPERP",
			"address": "0xEbc1d4A8f1ae244A3Aa81a2681b779924c1C7323",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEbc1d4A8f1ae244A3Aa81a2681b779924c1C7323",
			"timestamp": "2024-01-28T06:26:34.670Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionXLMPERP": {
			"name": "PerpsV2DelayedExecutionXLMPERP",
			"address": "0x66C232e164b60cc960a4b17205439F92611dc7E5",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x66C232e164b60cc960a4b17205439F92611dc7E5",
			"timestamp": "2024-01-28T06:26:45.870Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01d6792DD0456b5bE831c4BD1F107eF524f89495",
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsXLMPERP": {
			"name": "PerpsV2MarketViewsXLMPERP",
			"address": "0x6A40CebBF186614d55f09e98Cf48eBCbE99a5535",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6A40CebBF186614d55f09e98Cf48eBCbE99a5535",
			"timestamp": "2024-01-28T06:26:56.862Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d33c7019f534002d1637a71aE9baD8F6D4E97c9",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2Proxy1INCHPERP": {
			"name": "PerpsV2Proxy1INCHPERP",
			"address": "0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
			"timestamp": "2024-01-28T06:42:10.177Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketState1INCHPERP": {
			"name": "PerpsV2MarketState1INCHPERP",
			"address": "0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
			"timestamp": "2024-01-28T06:42:20.499Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x31494e4348000000000000000000000000000000000000000000000000000000",
				"0x7331494e43485045525000000000000000000000000000000000000000000000",
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488"
			]
		},
		"PerpsV2Market1INCHPERP": {
			"name": "PerpsV2Market1INCHPERP",
			"address": "0xf3F09f79B7677D7469F31945439CA552Aa3792D1",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf3F09f79B7677D7469F31945439CA552Aa3792D1",
			"timestamp": "2024-01-28T06:42:35.526Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidate1INCHPERP": {
			"name": "PerpsV2MarketLiquidate1INCHPERP",
			"address": "0x94d8EDF3aE03BED38b804e85dECff4ADbF8988c1",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x94d8EDF3aE03BED38b804e85dECff4ADbF8988c1",
			"timestamp": "2024-01-28T06:42:45.875Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntent1INCHPERP": {
			"name": "PerpsV2DelayedIntent1INCHPERP",
			"address": "0xB16fFd3B5088BA8123D551B3Ec0a00cc9EC5d313",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xB16fFd3B5088BA8123D551B3Ec0a00cc9EC5d313",
			"timestamp": "2024-01-28T06:42:56.865Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecution1INCHPERP": {
			"name": "PerpsV2DelayedExecution1INCHPERP",
			"address": "0xf005Bffb43cD1B0d052EB258A5DD21f3cF416a01",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf005Bffb43cD1B0d052EB258A5DD21f3cF416a01",
			"timestamp": "2024-01-28T06:43:08.716Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5463B99CdB8e0392F1cf381079De910Ab2ED762D",
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViews1INCHPERP": {
			"name": "PerpsV2MarketViews1INCHPERP",
			"address": "0x5C164BC121fce42cA3a56D9f4fA48f361535fC44",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5C164BC121fce42cA3a56D9f4fA48f361535fC44",
			"timestamp": "2024-01-28T06:43:23.353Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7a1A217D5cF0ff084c3053bdd123D425bADb6488",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyEOSPERP": {
			"name": "PerpsV2ProxyEOSPERP",
			"address": "0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
			"timestamp": "2024-01-28T06:58:17.814Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateEOSPERP": {
			"name": "PerpsV2MarketStateEOSPERP",
			"address": "0x39940dbF59044dA28d84809768bF9166491d6A08",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x39940dbF59044dA28d84809768bF9166491d6A08",
			"timestamp": "2024-01-28T06:58:28.132Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x454f530000000000000000000000000000000000000000000000000000000000",
				"0x73454f5350455250000000000000000000000000000000000000000000000000",
				"0x39940dbF59044dA28d84809768bF9166491d6A08"
			]
		},
		"PerpsV2MarketEOSPERP": {
			"name": "PerpsV2MarketEOSPERP",
			"address": "0x37992255107bC956c3Ce3372Bb4692F091C241B9",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x37992255107bC956c3Ce3372Bb4692F091C241B9",
			"timestamp": "2024-01-28T06:58:39.299Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
				"0x39940dbF59044dA28d84809768bF9166491d6A08",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateEOSPERP": {
			"name": "PerpsV2MarketLiquidateEOSPERP",
			"address": "0x61A1b0b0B5Da274A37AB7d6e271EC332fe13Ab97",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x61A1b0b0B5Da274A37AB7d6e271EC332fe13Ab97",
			"timestamp": "2024-01-28T06:58:50.166Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
				"0x39940dbF59044dA28d84809768bF9166491d6A08",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentEOSPERP": {
			"name": "PerpsV2DelayedIntentEOSPERP",
			"address": "0x7589aE12e581e8fC5D14eA4Cd03C30b62b2B4ab4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7589aE12e581e8fC5D14eA4Cd03C30b62b2B4ab4",
			"timestamp": "2024-01-28T06:59:01.907Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
				"0x39940dbF59044dA28d84809768bF9166491d6A08",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionEOSPERP": {
			"name": "PerpsV2DelayedExecutionEOSPERP",
			"address": "0x10f83932752AaC0142CD0Cbd096F5A4599b50302",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x10f83932752AaC0142CD0Cbd096F5A4599b50302",
			"timestamp": "2024-01-28T06:59:13.190Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x08808c5B37e731bCcCd0Ae59f5681d0040022Af3",
				"0x39940dbF59044dA28d84809768bF9166491d6A08",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsEOSPERP": {
			"name": "PerpsV2MarketViewsEOSPERP",
			"address": "0x1C4545150FF6C2bF6278B0233cdEaBf148B6c85c",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1C4545150FF6C2bF6278B0233cdEaBf148B6c85c",
			"timestamp": "2024-01-28T06:59:23.888Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x39940dbF59044dA28d84809768bF9166491d6A08",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyCELOPERP": {
			"name": "PerpsV2ProxyCELOPERP",
			"address": "0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
			"timestamp": "2024-01-28T07:14:53.222Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateCELOPERP": {
			"name": "PerpsV2MarketStateCELOPERP",
			"address": "0xBD5DF3772dd240b5e0495020FF091f5785D37514",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBD5DF3772dd240b5e0495020FF091f5785D37514",
			"timestamp": "2024-01-28T07:15:04.438Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x43454c4f00000000000000000000000000000000000000000000000000000000",
				"0x7343454c4f504552500000000000000000000000000000000000000000000000",
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514"
			]
		},
		"PerpsV2MarketCELOPERP": {
			"name": "PerpsV2MarketCELOPERP",
			"address": "0xa147F190A6964CEa11f45eF59CbCF875D79a6d43",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa147F190A6964CEa11f45eF59CbCF875D79a6d43",
			"timestamp": "2024-01-28T07:15:15.491Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateCELOPERP": {
			"name": "PerpsV2MarketLiquidateCELOPERP",
			"address": "0x8121aC3602eA98869a22DfA1d24d19659F3d70A9",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8121aC3602eA98869a22DfA1d24d19659F3d70A9",
			"timestamp": "2024-01-28T07:15:25.904Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentCELOPERP": {
			"name": "PerpsV2DelayedIntentCELOPERP",
			"address": "0x3D999423e9B559acc4122FA5Daf6fF086DF01FCD",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3D999423e9B559acc4122FA5Daf6fF086DF01FCD",
			"timestamp": "2024-01-28T07:15:36.789Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionCELOPERP": {
			"name": "PerpsV2DelayedExecutionCELOPERP",
			"address": "0x27a058E3607129f3c4db2774C457b9b80eFb5BE0",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x27a058E3607129f3c4db2774C457b9b80eFb5BE0",
			"timestamp": "2024-01-28T07:15:48.098Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xc50E64e2E980a67BbD85B68A3Ad96aCB1c037921",
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsCELOPERP": {
			"name": "PerpsV2MarketViewsCELOPERP",
			"address": "0x4B67d6051Bf3C16cf4Ba7cFADBf1eF3965af9d6c",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4B67d6051Bf3C16cf4Ba7cFADBf1eF3965af9d6c",
			"timestamp": "2024-01-28T07:15:58.640Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBD5DF3772dd240b5e0495020FF091f5785D37514",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyALGOPERP": {
			"name": "PerpsV2ProxyALGOPERP",
			"address": "0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
			"timestamp": "2024-01-28T07:30:51.319Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateALGOPERP": {
			"name": "PerpsV2MarketStateALGOPERP",
			"address": "0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
			"timestamp": "2024-01-28T07:31:02.293Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x414c474f00000000000000000000000000000000000000000000000000000000",
				"0x73414c474f504552500000000000000000000000000000000000000000000000",
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89"
			]
		},
		"PerpsV2MarketALGOPERP": {
			"name": "PerpsV2MarketALGOPERP",
			"address": "0xe627E778776706243E63E3ce237d9e92ffec9cc0",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xe627E778776706243E63E3ce237d9e92ffec9cc0",
			"timestamp": "2024-01-28T07:31:17.165Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateALGOPERP": {
			"name": "PerpsV2MarketLiquidateALGOPERP",
			"address": "0xebbe7D729BF043eF5421a75F82001bebBc3875F0",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xebbe7D729BF043eF5421a75F82001bebBc3875F0",
			"timestamp": "2024-01-28T07:31:27.645Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentALGOPERP": {
			"name": "PerpsV2DelayedIntentALGOPERP",
			"address": "0xfC1534452193ABda3B7Ef040a351537fe951665B",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xfC1534452193ABda3B7Ef040a351537fe951665B",
			"timestamp": "2024-01-28T07:31:38.667Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionALGOPERP": {
			"name": "PerpsV2DelayedExecutionALGOPERP",
			"address": "0x97cd65D9bF786FA43a55B6eB8C80668851b3F5a6",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x97cd65D9bF786FA43a55B6eB8C80668851b3F5a6",
			"timestamp": "2024-01-28T07:31:53.697Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xf3D4f959edb11594a5fEB13Fc11a74F096603779",
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsALGOPERP": {
			"name": "PerpsV2MarketViewsALGOPERP",
			"address": "0x9AcC73a2Daf1f533ec2900160cfF154dA7A9A145",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9AcC73a2Daf1f533ec2900160cfF154dA7A9A145",
			"timestamp": "2024-01-28T07:32:04.309Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x931f4EC3c9632883d93585258FEee9b6F6C0eC89",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyZRXPERP": {
			"name": "PerpsV2ProxyZRXPERP",
			"address": "0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
			"timestamp": "2024-01-28T07:47:31.282Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateZRXPERP": {
			"name": "PerpsV2MarketStateZRXPERP",
			"address": "0x68b6974A4c151C466c0c3656b965F9948947515e",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x68b6974A4c151C466c0c3656b965F9948947515e",
			"timestamp": "2024-01-28T07:47:42.432Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5a52580000000000000000000000000000000000000000000000000000000000",
				"0x735a525850455250000000000000000000000000000000000000000000000000",
				"0x68b6974A4c151C466c0c3656b965F9948947515e"
			]
		},
		"PerpsV2MarketZRXPERP": {
			"name": "PerpsV2MarketZRXPERP",
			"address": "0x5fba96e608f916AaCbf8d96933E2F6c8afbbB5A6",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5fba96e608f916AaCbf8d96933E2F6c8afbbB5A6",
			"timestamp": "2024-01-28T07:47:53.578Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
				"0x68b6974A4c151C466c0c3656b965F9948947515e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateZRXPERP": {
			"name": "PerpsV2MarketLiquidateZRXPERP",
			"address": "0x65f721021C972faFe14B5E7176Fc43E95FAA2820",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x65f721021C972faFe14B5E7176Fc43E95FAA2820",
			"timestamp": "2024-01-28T07:48:04.069Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
				"0x68b6974A4c151C466c0c3656b965F9948947515e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentZRXPERP": {
			"name": "PerpsV2DelayedIntentZRXPERP",
			"address": "0xAb6fC2fcA267a145B4D81A800f9dC9D25Da81434",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xAb6fC2fcA267a145B4D81A800f9dC9D25Da81434",
			"timestamp": "2024-01-28T07:48:17.380Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
				"0x68b6974A4c151C466c0c3656b965F9948947515e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionZRXPERP": {
			"name": "PerpsV2DelayedExecutionZRXPERP",
			"address": "0xa0F7AE565d5b95C447881ec289107e32EDd628e6",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa0F7AE565d5b95C447881ec289107e32EDd628e6",
			"timestamp": "2024-01-28T07:48:31.745Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x92BcE39eC30453b9b1f3FF14207653230e74cDC2",
				"0x68b6974A4c151C466c0c3656b965F9948947515e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsZRXPERP": {
			"name": "PerpsV2MarketViewsZRXPERP",
			"address": "0x02442c278B70e5869FAdad11e255b5b24cA04BC3",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x02442c278B70e5869FAdad11e255b5b24cA04BC3",
			"timestamp": "2024-01-28T07:48:45.360Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x68b6974A4c151C466c0c3656b965F9948947515e",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySEIPERP": {
			"name": "PerpsV2ProxySEIPERP",
			"address": "0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
			"timestamp": "2024-01-28T08:04:26.441Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSEIPERP": {
			"name": "PerpsV2MarketStateSEIPERP",
			"address": "0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
			"timestamp": "2024-01-28T08:04:37.059Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5345490000000000000000000000000000000000000000000000000000000000",
				"0x7353454950455250000000000000000000000000000000000000000000000000",
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb"
			]
		},
		"PerpsV2MarketSEIPERP": {
			"name": "PerpsV2MarketSEIPERP",
			"address": "0x8635b77F46AAe2754C458424DA3b81A4ae224D4F",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8635b77F46AAe2754C458424DA3b81A4ae224D4F",
			"timestamp": "2024-01-28T08:04:47.928Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSEIPERP": {
			"name": "PerpsV2MarketLiquidateSEIPERP",
			"address": "0x5a96B3be169eEB2fd0f8557E80FD672682C8b800",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5a96B3be169eEB2fd0f8557E80FD672682C8b800",
			"timestamp": "2024-01-28T08:04:58.376Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSEIPERP": {
			"name": "PerpsV2DelayedIntentSEIPERP",
			"address": "0x1242b0EE38AB8F13e1a3CdDE99D2Ae4b0F79bd75",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1242b0EE38AB8F13e1a3CdDE99D2Ae4b0F79bd75",
			"timestamp": "2024-01-28T08:05:13.221Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSEIPERP": {
			"name": "PerpsV2DelayedExecutionSEIPERP",
			"address": "0xdbc9bF16710c4F8D6Aec278B788A3982F5890f0F",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdbc9bF16710c4F8D6Aec278B788A3982F5890f0F",
			"timestamp": "2024-01-28T08:05:26.901Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD0dedf5199616297063C9Ad820F65ecB9d36851E",
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSEIPERP": {
			"name": "PerpsV2MarketViewsSEIPERP",
			"address": "0x7735d84648548791164263742D1AfFe49e4D9B2b",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7735d84648548791164263742D1AfFe49e4D9B2b",
			"timestamp": "2024-01-28T08:05:40.671Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x86771CAc78a8Ce62CBCFAD639dFdeB9443856fAb",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySTETHETHPERP": {
			"name": "PerpsV2ProxySTETHETHPERP",
			"address": "0xC012b0a43DE16413419976f739092fE4a7c1f215",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC012b0a43DE16413419976f739092fE4a7c1f215",
			"timestamp": "2024-01-28T08:21:38.255Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSTETHETHPERP": {
			"name": "PerpsV2MarketStateSTETHETHPERP",
			"address": "0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
			"timestamp": "2024-01-28T08:21:52.064Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5354455448455448000000000000000000000000000000000000000000000000",
				"0x7353544554484554485045525000000000000000000000000000000000000000",
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54"
			]
		},
		"PerpsV2MarketSTETHETHPERP": {
			"name": "PerpsV2MarketSTETHETHPERP",
			"address": "0x4FcD252c08F8eD5b0f93D927F453FEeB513213cf",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4FcD252c08F8eD5b0f93D927F453FEeB513213cf",
			"timestamp": "2024-01-28T08:22:04.648Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC012b0a43DE16413419976f739092fE4a7c1f215",
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSTETHETHPERP": {
			"name": "PerpsV2MarketLiquidateSTETHETHPERP",
			"address": "0xcbC6540003B7f277A89925875931c2487d4DfDd5",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcbC6540003B7f277A89925875931c2487d4DfDd5",
			"timestamp": "2024-01-28T08:22:19.124Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC012b0a43DE16413419976f739092fE4a7c1f215",
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSTETHETHPERP": {
			"name": "PerpsV2DelayedIntentSTETHETHPERP",
			"address": "0x2b8799CcBD204b58b9F0923Ec6BF836d4f90F779",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2b8799CcBD204b58b9F0923Ec6BF836d4f90F779",
			"timestamp": "2024-01-28T08:22:32.513Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC012b0a43DE16413419976f739092fE4a7c1f215",
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSTETHETHPERP": {
			"name": "PerpsV2DelayedExecutionSTETHETHPERP",
			"address": "0xccA3ddfF0858911782381fc0851588f7a40E3133",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xccA3ddfF0858911782381fc0851588f7a40E3133",
			"timestamp": "2024-01-28T08:22:47.672Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xC012b0a43DE16413419976f739092fE4a7c1f215",
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSTETHETHPERP": {
			"name": "PerpsV2MarketViewsSTETHETHPERP",
			"address": "0x51600cFdc318E0be9730E7F1C8E9Fde0B694D10c",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x51600cFdc318E0be9730E7F1C8E9Fde0B694D10c",
			"timestamp": "2024-01-28T08:22:58.933Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd712bEf33Cd46cee9d79934d602b21B147Cd9E54",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyTRBPERP": {
			"name": "PerpsV2ProxyTRBPERP",
			"address": "0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
			"timestamp": "2024-01-28T08:39:11.837Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateTRBPERP": {
			"name": "PerpsV2MarketStateTRBPERP",
			"address": "0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
			"timestamp": "2024-01-28T08:39:22.490Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5452420000000000000000000000000000000000000000000000000000000000",
				"0x7354524250455250000000000000000000000000000000000000000000000000",
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680"
			]
		},
		"PerpsV2MarketTRBPERP": {
			"name": "PerpsV2MarketTRBPERP",
			"address": "0x65bc6C9f1B01AcFc67Ac0393559011Ec1fF64bF5",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x65bc6C9f1B01AcFc67Ac0393559011Ec1fF64bF5",
			"timestamp": "2024-01-28T08:39:33.293Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateTRBPERP": {
			"name": "PerpsV2MarketLiquidateTRBPERP",
			"address": "0x2a3aF265F023Df3354AFc9404FD76Ea2C10d90F6",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2a3aF265F023Df3354AFc9404FD76Ea2C10d90F6",
			"timestamp": "2024-01-28T08:39:44.543Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentTRBPERP": {
			"name": "PerpsV2DelayedIntentTRBPERP",
			"address": "0x79888Ca13Fb80A8827AAAC940B8493B2B80e614A",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x79888Ca13Fb80A8827AAAC940B8493B2B80e614A",
			"timestamp": "2024-01-28T08:39:59.333Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionTRBPERP": {
			"name": "PerpsV2DelayedExecutionTRBPERP",
			"address": "0x789C5bB342a61F98eA3bAC20F3116B1EA6f46487",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x789C5bB342a61F98eA3bAC20F3116B1EA6f46487",
			"timestamp": "2024-01-28T08:40:11.207Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xff72A63fAb428545Ee7a6a7bd30323cc1Cc0b30c",
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsTRBPERP": {
			"name": "PerpsV2MarketViewsTRBPERP",
			"address": "0xd99c9AaFC1806aCD4eAd9d8CC75099AD6A51685a",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd99c9AaFC1806aCD4eAd9d8CC75099AD6A51685a",
			"timestamp": "2024-01-28T08:40:21.703Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3d05f17FF19f05eC8b32B6f7Dd468c05b95d1680",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyTIAPERP": {
			"name": "PerpsV2ProxyTIAPERP",
			"address": "0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
			"timestamp": "2024-01-28T08:55:23.184Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateTIAPERP": {
			"name": "PerpsV2MarketStateTIAPERP",
			"address": "0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
			"timestamp": "2024-01-28T08:55:33.815Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5449410000000000000000000000000000000000000000000000000000000000",
				"0x7354494150455250000000000000000000000000000000000000000000000000",
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7"
			]
		},
		"PerpsV2MarketTIAPERP": {
			"name": "PerpsV2MarketTIAPERP",
			"address": "0x6A7CCd69B7D83B855E9CD4eDC784AA3629deaA86",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6A7CCd69B7D83B855E9CD4eDC784AA3629deaA86",
			"timestamp": "2024-01-28T08:55:45.670Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateTIAPERP": {
			"name": "PerpsV2MarketLiquidateTIAPERP",
			"address": "0xd9f1B24E52670a2Df7d35a62ADdc31fcf882c2aa",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd9f1B24E52670a2Df7d35a62ADdc31fcf882c2aa",
			"timestamp": "2024-01-28T08:55:56.834Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentTIAPERP": {
			"name": "PerpsV2DelayedIntentTIAPERP",
			"address": "0x6A27E1eDa7c023e2f803430F8B40f0584c730bFc",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6A27E1eDa7c023e2f803430F8B40f0584c730bFc",
			"timestamp": "2024-01-28T08:56:08.073Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionTIAPERP": {
			"name": "PerpsV2DelayedExecutionTIAPERP",
			"address": "0x417Bb773D7a0556610588aA530Ec2338BF04Ff30",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x417Bb773D7a0556610588aA530Ec2338BF04Ff30",
			"timestamp": "2024-01-28T08:56:19.414Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd3870Aa7A0950Fa181Ad7b8c244Db390C7c37F1B",
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsTIAPERP": {
			"name": "PerpsV2MarketViewsTIAPERP",
			"address": "0x66CD99A57fD8B4C994E25fAd5f8b03b3d84a37Ac",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x66CD99A57fD8B4C994E25fAd5f8b03b3d84a37Ac",
			"timestamp": "2024-01-28T08:56:30.061Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x577EAE5044950ec9A6753dd6Bc2360bbe75169b7",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyIMXPERP": {
			"name": "PerpsV2ProxyIMXPERP",
			"address": "0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
			"timestamp": "2024-01-28T09:12:35.753Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateIMXPERP": {
			"name": "PerpsV2MarketStateIMXPERP",
			"address": "0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
			"timestamp": "2024-01-28T09:12:46.332Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x494d580000000000000000000000000000000000000000000000000000000000",
				"0x73494d5850455250000000000000000000000000000000000000000000000000",
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0"
			]
		},
		"PerpsV2MarketIMXPERP": {
			"name": "PerpsV2MarketIMXPERP",
			"address": "0xf5a4364892F960BeDEFeD762D3E3b1aD51eA41f0",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf5a4364892F960BeDEFeD762D3E3b1aD51eA41f0",
			"timestamp": "2024-01-28T09:12:58.265Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateIMXPERP": {
			"name": "PerpsV2MarketLiquidateIMXPERP",
			"address": "0xf2BA98D2A6A43De8DBFD45451c2cF0dF3Da7d0aE",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf2BA98D2A6A43De8DBFD45451c2cF0dF3Da7d0aE",
			"timestamp": "2024-01-28T09:13:08.942Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentIMXPERP": {
			"name": "PerpsV2DelayedIntentIMXPERP",
			"address": "0x605523D44abe81e0e9d91A7Ae04c70b732723222",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x605523D44abe81e0e9d91A7Ae04c70b732723222",
			"timestamp": "2024-01-28T09:13:19.939Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionIMXPERP": {
			"name": "PerpsV2DelayedExecutionIMXPERP",
			"address": "0x852a2B8386782029D46B0604851e2C95E44a13dc",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x852a2B8386782029D46B0604851e2C95E44a13dc",
			"timestamp": "2024-01-28T09:13:30.908Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xcE6f7404668089A1d61788BA3d4Bec6480f66aF4",
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsIMXPERP": {
			"name": "PerpsV2MarketViewsIMXPERP",
			"address": "0x1E621e0f83643EB4Bd5e3b44427cf765B50edDEb",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1E621e0f83643EB4Bd5e3b44427cf765B50edDEb",
			"timestamp": "2024-01-28T09:13:45.429Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x25C61140ef8597410205e3580A9dDEd1b40dA6F0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyMEMEPERP": {
			"name": "PerpsV2ProxyMEMEPERP",
			"address": "0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
			"timestamp": "2024-01-28T09:29:35.443Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateMEMEPERP": {
			"name": "PerpsV2MarketStateMEMEPERP",
			"address": "0xd677d059444a476c268141200cf7d802be50cAd5",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd677d059444a476c268141200cf7d802be50cAd5",
			"timestamp": "2024-01-28T09:29:47.435Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4d454d4500000000000000000000000000000000000000000000000000000000",
				"0x734d454d45504552500000000000000000000000000000000000000000000000",
				"0xd677d059444a476c268141200cf7d802be50cAd5"
			]
		},
		"PerpsV2MarketMEMEPERP": {
			"name": "PerpsV2MarketMEMEPERP",
			"address": "0x05eea6bd6Fa833Becf16CD3345a480799aF6940D",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x05eea6bd6Fa833Becf16CD3345a480799aF6940D",
			"timestamp": "2024-01-28T09:29:58.962Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
				"0xd677d059444a476c268141200cf7d802be50cAd5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateMEMEPERP": {
			"name": "PerpsV2MarketLiquidateMEMEPERP",
			"address": "0x8ead010D7cCcE887e6f3B04D1539AD467Ac565B4",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8ead010D7cCcE887e6f3B04D1539AD467Ac565B4",
			"timestamp": "2024-01-28T09:30:10.711Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
				"0xd677d059444a476c268141200cf7d802be50cAd5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentMEMEPERP": {
			"name": "PerpsV2DelayedIntentMEMEPERP",
			"address": "0x75B35e116449f734F198E9Ae473B6098c818c3d0",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x75B35e116449f734F198E9Ae473B6098c818c3d0",
			"timestamp": "2024-01-28T09:30:22.097Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
				"0xd677d059444a476c268141200cf7d802be50cAd5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionMEMEPERP": {
			"name": "PerpsV2DelayedExecutionMEMEPERP",
			"address": "0x64dDCFAB3A3df6604503b46D4528f6Af05681cE6",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x64dDCFAB3A3df6604503b46D4528f6Af05681cE6",
			"timestamp": "2024-01-28T09:30:31.671Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xa98AA8febE4B61038Df2bc843C7F902faA7Faf8B",
				"0xd677d059444a476c268141200cf7d802be50cAd5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsMEMEPERP": {
			"name": "PerpsV2MarketViewsMEMEPERP",
			"address": "0x52D060C859b12C6AF17fFa1E9Cec0825b951dec0",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x52D060C859b12C6AF17fFa1E9Cec0825b951dec0",
			"timestamp": "2024-01-28T09:30:42.336Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xd677d059444a476c268141200cf7d802be50cAd5",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyFETPERP": {
			"name": "PerpsV2ProxyFETPERP",
			"address": "0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
			"timestamp": "2024-01-28T09:47:16.137Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateFETPERP": {
			"name": "PerpsV2MarketStateFETPERP",
			"address": "0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
			"timestamp": "2024-01-28T09:47:30.105Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4645540000000000000000000000000000000000000000000000000000000000",
				"0x7346455450455250000000000000000000000000000000000000000000000000",
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0"
			]
		},
		"PerpsV2MarketFETPERP": {
			"name": "PerpsV2MarketFETPERP",
			"address": "0x3bd0F1dE51450b710A4d7494a071e5aC863a6e67",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3bd0F1dE51450b710A4d7494a071e5aC863a6e67",
			"timestamp": "2024-01-28T09:47:43.160Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateFETPERP": {
			"name": "PerpsV2MarketLiquidateFETPERP",
			"address": "0x43f0848f18507D047B8687FCFb9e269B64B70b39",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x43f0848f18507D047B8687FCFb9e269B64B70b39",
			"timestamp": "2024-01-28T09:47:57.331Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentFETPERP": {
			"name": "PerpsV2DelayedIntentFETPERP",
			"address": "0xC919F948A156F9A5a92009FE0823C4B40A443A69",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC919F948A156F9A5a92009FE0823C4B40A443A69",
			"timestamp": "2024-01-28T09:48:11.296Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionFETPERP": {
			"name": "PerpsV2DelayedExecutionFETPERP",
			"address": "0xc8aC77e7CDA289A3e845b1C2c926eFffd013F956",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc8aC77e7CDA289A3e845b1C2c926eFffd013F956",
			"timestamp": "2024-01-28T09:48:26.018Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x01683A14CC451e46dBDf02050B96735C5FBcf9d3",
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsFETPERP": {
			"name": "PerpsV2MarketViewsFETPERP",
			"address": "0x1B152e8FC0F279100831E5656a40bc398a6359f7",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x1B152e8FC0F279100831E5656a40bc398a6359f7",
			"timestamp": "2024-01-28T09:48:36.861Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x99C436Df9F3EAaEb5c7BB4ee627a696e9691D7B0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyGRTPERP": {
			"name": "PerpsV2ProxyGRTPERP",
			"address": "0x846195Ecd35B602F82429670b7C251C142E8F148",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x846195Ecd35B602F82429670b7C251C142E8F148",
			"timestamp": "2024-01-28T10:04:13.448Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateGRTPERP": {
			"name": "PerpsV2MarketStateGRTPERP",
			"address": "0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
			"timestamp": "2024-01-28T10:04:24.670Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4752540000000000000000000000000000000000000000000000000000000000",
				"0x7347525450455250000000000000000000000000000000000000000000000000",
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810"
			]
		},
		"PerpsV2MarketGRTPERP": {
			"name": "PerpsV2MarketGRTPERP",
			"address": "0x59CBc126375B0723672af799cDFf0Cfc2B0dE704",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x59CBc126375B0723672af799cDFf0Cfc2B0dE704",
			"timestamp": "2024-01-28T10:04:37.190Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x846195Ecd35B602F82429670b7C251C142E8F148",
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateGRTPERP": {
			"name": "PerpsV2MarketLiquidateGRTPERP",
			"address": "0xc18cfa28b3C8a455DFbdac3A00B47b6e1D19928c",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xc18cfa28b3C8a455DFbdac3A00B47b6e1D19928c",
			"timestamp": "2024-01-28T10:04:51.735Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x846195Ecd35B602F82429670b7C251C142E8F148",
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentGRTPERP": {
			"name": "PerpsV2DelayedIntentGRTPERP",
			"address": "0xf2D9a9A2d79fFC36912bE87d504FA476A339E1Bb",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0xf2D9a9A2d79fFC36912bE87d504FA476A339E1Bb",
			"timestamp": "2024-01-28T10:05:05.496Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x846195Ecd35B602F82429670b7C251C142E8F148",
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionGRTPERP": {
			"name": "PerpsV2DelayedExecutionGRTPERP",
			"address": "0xEdee5811585d7cc5BB5b46fd7072Ea40a63b0A17",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEdee5811585d7cc5BB5b46fd7072Ea40a63b0A17",
			"timestamp": "2024-01-28T10:05:20.181Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x846195Ecd35B602F82429670b7C251C142E8F148",
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsGRTPERP": {
			"name": "PerpsV2MarketViewsGRTPERP",
			"address": "0x17e979F00f6Ea5bd58f871A17bECB56D20dD6722",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x17e979F00f6Ea5bd58f871A17bECB56D20dD6722",
			"timestamp": "2024-01-28T10:05:34.519Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3dB8F853842320940C46D0D54A00fD8C8EF83810",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyPYTHPERP": {
			"name": "PerpsV2ProxyPYTHPERP",
			"address": "0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
			"timestamp": "2024-01-28T10:21:42.421Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStatePYTHPERP": {
			"name": "PerpsV2MarketStatePYTHPERP",
			"address": "0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
			"timestamp": "2024-01-28T10:21:53.385Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5059544800000000000000000000000000000000000000000000000000000000",
				"0x7350595448504552500000000000000000000000000000000000000000000000",
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0"
			]
		},
		"PerpsV2MarketPYTHPERP": {
			"name": "PerpsV2MarketPYTHPERP",
			"address": "0x2fBc05692919C17A480AC7ce3A5b89Cc1D07Ca83",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2fBc05692919C17A480AC7ce3A5b89Cc1D07Ca83",
			"timestamp": "2024-01-28T10:22:04.931Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidatePYTHPERP": {
			"name": "PerpsV2MarketLiquidatePYTHPERP",
			"address": "0xC55DBbF1440cF55869EE9352449a9B086Cc44E55",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC55DBbF1440cF55869EE9352449a9B086Cc44E55",
			"timestamp": "2024-01-28T10:22:13.665Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentPYTHPERP": {
			"name": "PerpsV2DelayedIntentPYTHPERP",
			"address": "0x081362F0a752003de90a6bF0De80f60160b38CD4",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x081362F0a752003de90a6bF0De80f60160b38CD4",
			"timestamp": "2024-01-28T10:22:29.885Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionPYTHPERP": {
			"name": "PerpsV2DelayedExecutionPYTHPERP",
			"address": "0x0aCE16cDf71fC7DC1E91eb082015d70708252c3A",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0aCE16cDf71fC7DC1E91eb082015d70708252c3A",
			"timestamp": "2024-01-28T10:22:42.170Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x0d9Ec064105A1B0A95F4C75c56E617CCa6b1931b",
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsPYTHPERP": {
			"name": "PerpsV2MarketViewsPYTHPERP",
			"address": "0x6aadeFe139b7F637d5D9dd4ab7a0d9d63bb46965",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6aadeFe139b7F637d5D9dd4ab7a0d9d63bb46965",
			"timestamp": "2024-01-28T10:22:53.370Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x928Da45B61eaBD477D5B28119C5c1Cf84Ee404E0",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyANKRPERP": {
			"name": "PerpsV2ProxyANKRPERP",
			"address": "0x33073dCE3717383c157191E3dC3A881C5c51b12d",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x33073dCE3717383c157191E3dC3A881C5c51b12d",
			"timestamp": "2024-01-28T10:39:16.392Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateANKRPERP": {
			"name": "PerpsV2MarketStateANKRPERP",
			"address": "0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
			"timestamp": "2024-01-28T10:39:27.212Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x414e4b5200000000000000000000000000000000000000000000000000000000",
				"0x73414e4b52504552500000000000000000000000000000000000000000000000",
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C"
			]
		},
		"PerpsV2MarketANKRPERP": {
			"name": "PerpsV2MarketANKRPERP",
			"address": "0x4f42aA707b061f8bE4b610Da565dE8b64eE37bfa",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x4f42aA707b061f8bE4b610Da565dE8b64eE37bfa",
			"timestamp": "2024-01-28T10:39:38.084Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x33073dCE3717383c157191E3dC3A881C5c51b12d",
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateANKRPERP": {
			"name": "PerpsV2MarketLiquidateANKRPERP",
			"address": "0x41cb970A0eA81B561f1A720D14f1a2b24161F436",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x41cb970A0eA81B561f1A720D14f1a2b24161F436",
			"timestamp": "2024-01-28T10:39:48.795Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x33073dCE3717383c157191E3dC3A881C5c51b12d",
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentANKRPERP": {
			"name": "PerpsV2DelayedIntentANKRPERP",
			"address": "0x48C3a3542AEd98A12ff8Ee7A6EAD71F327B25B6c",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x48C3a3542AEd98A12ff8Ee7A6EAD71F327B25B6c",
			"timestamp": "2024-01-28T10:40:04.344Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x33073dCE3717383c157191E3dC3A881C5c51b12d",
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionANKRPERP": {
			"name": "PerpsV2DelayedExecutionANKRPERP",
			"address": "0xEE40b9398971Ceb7EDfa57e6B0E28a2B71c6C952",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xEE40b9398971Ceb7EDfa57e6B0E28a2B71c6C952",
			"timestamp": "2024-01-28T10:40:21.762Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x33073dCE3717383c157191E3dC3A881C5c51b12d",
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsANKRPERP": {
			"name": "PerpsV2MarketViewsANKRPERP",
			"address": "0xd9d1DBfDEb0dda18eE564D7bb5189B4ea0C16a84",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd9d1DBfDEb0dda18eE564D7bb5189B4ea0C16a84",
			"timestamp": "2024-01-28T10:40:32.247Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x647A15Cba7F859F1192aDEEb2C36b6Ab39Ce071C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyBONKPERP": {
			"name": "PerpsV2ProxyBONKPERP",
			"address": "0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
			"timestamp": "2024-01-28T10:56:20.200Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateBONKPERP": {
			"name": "PerpsV2MarketStateBONKPERP",
			"address": "0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
			"timestamp": "2024-01-28T10:56:30.882Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x424f4e4b00000000000000000000000000000000000000000000000000000000",
				"0x73424f4e4b504552500000000000000000000000000000000000000000000000",
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C"
			]
		},
		"PerpsV2MarketBONKPERP": {
			"name": "PerpsV2MarketBONKPERP",
			"address": "0x61AAF157263CE6F161837f7c95D1b92de3F6bcd0",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x61AAF157263CE6F161837f7c95D1b92de3F6bcd0",
			"timestamp": "2024-01-28T10:56:41.913Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateBONKPERP": {
			"name": "PerpsV2MarketLiquidateBONKPERP",
			"address": "0xad735Ed99C4aA89c93A077f0b59F9F055ed3b06E",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xad735Ed99C4aA89c93A077f0b59F9F055ed3b06E",
			"timestamp": "2024-01-28T10:56:52.936Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentBONKPERP": {
			"name": "PerpsV2DelayedIntentBONKPERP",
			"address": "0x51B43E3b78Fb66F3ABFD846D145Ca84Bc37899A7",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x51B43E3b78Fb66F3ABFD846D145Ca84Bc37899A7",
			"timestamp": "2024-01-28T10:57:04.945Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionBONKPERP": {
			"name": "PerpsV2DelayedExecutionBONKPERP",
			"address": "0xb10B75f20fC8d47297251a3551d6926D6D4057E0",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb10B75f20fC8d47297251a3551d6926D6D4057E0",
			"timestamp": "2024-01-28T10:57:17.058Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xBbB5b6C8BaDd8b3B70B6816C65D94e4277614741",
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsBONKPERP": {
			"name": "PerpsV2MarketViewsBONKPERP",
			"address": "0x34EF1434913a1CD24a1e66436ca099287AefBFF8",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x34EF1434913a1CD24a1e66436ca099287AefBFF8",
			"timestamp": "2024-01-28T10:57:28.039Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x5e3578813AFFd46603bcE71220D0C89E03246d5C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyJTOPERP": {
			"name": "PerpsV2ProxyJTOPERP",
			"address": "0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
			"timestamp": "2024-01-28T11:14:02.691Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateJTOPERP": {
			"name": "PerpsV2MarketStateJTOPERP",
			"address": "0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
			"timestamp": "2024-01-28T11:14:11.828Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4a544f0000000000000000000000000000000000000000000000000000000000",
				"0x734a544f50455250000000000000000000000000000000000000000000000000",
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96"
			]
		},
		"PerpsV2MarketJTOPERP": {
			"name": "PerpsV2MarketJTOPERP",
			"address": "0x64f9d426c230a1326A84cd1BcbeB9c8fC1C0A1e6",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x64f9d426c230a1326A84cd1BcbeB9c8fC1C0A1e6",
			"timestamp": "2024-01-28T11:14:24.752Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateJTOPERP": {
			"name": "PerpsV2MarketLiquidateJTOPERP",
			"address": "0x071df6D0105a51EB7EfD32320BC966978C6F8332",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x071df6D0105a51EB7EfD32320BC966978C6F8332",
			"timestamp": "2024-01-28T11:14:36.970Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentJTOPERP": {
			"name": "PerpsV2DelayedIntentJTOPERP",
			"address": "0x9A6690Eb972E25B6bac51C5EfAB7647Bc1b699f5",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x9A6690Eb972E25B6bac51C5EfAB7647Bc1b699f5",
			"timestamp": "2024-01-28T11:14:52.030Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionJTOPERP": {
			"name": "PerpsV2DelayedExecutionJTOPERP",
			"address": "0x0D40BBFFAa21EEDf460210ba9F1e63b2f394D498",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0D40BBFFAa21EEDf460210ba9F1e63b2f394D498",
			"timestamp": "2024-01-28T11:15:06.427Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xb77e13e37B7C29fB6Ee08A872219a0aFba81E5D0",
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsJTOPERP": {
			"name": "PerpsV2MarketViewsJTOPERP",
			"address": "0x951A34C8FC790e407CBB845AD4e5D444b6b4b859",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x951A34C8FC790e407CBB845AD4e5D444b6b4b859",
			"timestamp": "2024-01-28T11:15:20.150Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xD139D7cF6A5D6D46Bd92Da0e81B1509abEE2fB96",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyORDIPERP": {
			"name": "PerpsV2ProxyORDIPERP",
			"address": "0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
			"timestamp": "2024-01-28T11:32:38.480Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateORDIPERP": {
			"name": "PerpsV2MarketStateORDIPERP",
			"address": "0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
			"timestamp": "2024-01-28T11:32:51.398Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4f52444900000000000000000000000000000000000000000000000000000000",
				"0x734f524449504552500000000000000000000000000000000000000000000000",
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677"
			]
		},
		"PerpsV2MarketORDIPERP": {
			"name": "PerpsV2MarketORDIPERP",
			"address": "0x766E0D33787B0452b56E5b32e0dc8EA8F5B11277",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x766E0D33787B0452b56E5b32e0dc8EA8F5B11277",
			"timestamp": "2024-01-28T11:33:02.572Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateORDIPERP": {
			"name": "PerpsV2MarketLiquidateORDIPERP",
			"address": "0xeFaCFdBe04b41B354d51d4A88210d29567d8E2AC",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xeFaCFdBe04b41B354d51d4A88210d29567d8E2AC",
			"timestamp": "2024-01-28T11:33:13.557Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentORDIPERP": {
			"name": "PerpsV2DelayedIntentORDIPERP",
			"address": "0x8aD63161b684ab5DFA42A3958C567CF88E6248A3",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x8aD63161b684ab5DFA42A3958C567CF88E6248A3",
			"timestamp": "2024-01-28T11:33:25.067Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionORDIPERP": {
			"name": "PerpsV2DelayedExecutionORDIPERP",
			"address": "0x295e15dB84c204141f2aAD11FbDb7F1E02a340FC",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x295e15dB84c204141f2aAD11FbDb7F1E02a340FC",
			"timestamp": "2024-01-28T11:33:36.282Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x6DCfE802E93948e59c4A9034634bFD54ADc127a0",
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsORDIPERP": {
			"name": "PerpsV2MarketViewsORDIPERP",
			"address": "0xd5c3E1BFC0a697e1ccDF1d761B68a3b4d8531c8D",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xd5c3E1BFC0a697e1ccDF1d761B68a3b4d8531c8D",
			"timestamp": "2024-01-28T11:33:47.153Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x980BcaAc4D8FCA954580f3B1E0Ca0344c9b57677",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"RewardEscrowV2Frozen": {
			"name": "RewardEscrowV2Frozen",
			"address": "0xbfd66fa5668612afDdAAf48F818665F0b34128C6",
			"source": "ImportableRewardEscrowV2Frozen",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbfd66fa5668612afDdAAf48F818665F0b34128C6",
			"timestamp": "2024-02-02T23:23:45.329Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4a55500000000000000000000000000000000000000000000000000000000000",
				"0x734a555050455250000000000000000000000000000000000000000000000000",
				"0xdb828a46226a555463993E78eAb127eC2b596A73"
			]
		},
		"PerpsV2ProxyJUPPERP": {
			"name": "PerpsV2ProxyJUPPERP",
			"address": "0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
			"timestamp": "2024-02-23T23:48:30.470Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateJUPPERP": {
			"name": "PerpsV2MarketStateJUPPERP",
			"address": "0xdb828a46226a555463993E78eAb127eC2b596A73",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdb828a46226a555463993E78eAb127eC2b596A73",
			"timestamp": "2024-02-23T23:48:37.971Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4a55500000000000000000000000000000000000000000000000000000000000",
				"0x734a555050455250000000000000000000000000000000000000000000000000",
				"0xdb828a46226a555463993E78eAb127eC2b596A73"
			]
		},
		"PerpsV2MarketJUPPERP": {
			"name": "PerpsV2MarketJUPPERP",
			"address": "0x0fD941c61d75331A51d80F9323DE51B87C778a46",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x0fD941c61d75331A51d80F9323DE51B87C778a46",
			"timestamp": "2024-02-23T23:48:49.336Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
				"0xdb828a46226a555463993E78eAb127eC2b596A73",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateJUPPERP": {
			"name": "PerpsV2MarketLiquidateJUPPERP",
			"address": "0xA9146CDE055C436Ce6066B1BC5187231A3Be4C40",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA9146CDE055C436Ce6066B1BC5187231A3Be4C40",
			"timestamp": "2024-02-23T23:49:00.830Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
				"0xdb828a46226a555463993E78eAb127eC2b596A73",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentJUPPERP": {
			"name": "PerpsV2DelayedIntentJUPPERP",
			"address": "0x12EF6d12fB264AB1a83E46c661e8a2d6A726b0CD",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x12EF6d12fB264AB1a83E46c661e8a2d6A726b0CD",
			"timestamp": "2024-02-23T23:49:12.598Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
				"0xdb828a46226a555463993E78eAb127eC2b596A73",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionJUPPERP": {
			"name": "PerpsV2DelayedExecutionJUPPERP",
			"address": "0xbceBF972B24aCb21c42dE2c7F4b3EAB3bc084B6c",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xbceBF972B24aCb21c42dE2c7F4b3EAB3bc084B6c",
			"timestamp": "2024-02-23T23:49:24.279Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x198B5Add9227cb54C9Ac06b9D6Fd1d085d4800c1",
				"0xdb828a46226a555463993E78eAb127eC2b596A73",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsJUPPERP": {
			"name": "PerpsV2MarketViewsJUPPERP",
			"address": "0xF93c98Fd66a710b39ee2D982CB82fDFb3EC29EBd",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xF93c98Fd66a710b39ee2D982CB82fDFb3EC29EBd",
			"timestamp": "2024-02-23T23:49:35.979Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xdb828a46226a555463993E78eAb127eC2b596A73",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyCVXPERP": {
			"name": "PerpsV2ProxyCVXPERP",
			"address": "0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
			"timestamp": "2024-02-24T00:03:36.572Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateCVXPERP": {
			"name": "PerpsV2MarketStateCVXPERP",
			"address": "0xdA1FC750517AD0E23c8971AB7195109be2824343",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xdA1FC750517AD0E23c8971AB7195109be2824343",
			"timestamp": "2024-02-24T00:03:44.154Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x4356580000000000000000000000000000000000000000000000000000000000",
				"0x7343565850455250000000000000000000000000000000000000000000000000",
				"0xdA1FC750517AD0E23c8971AB7195109be2824343"
			]
		},
		"PerpsV2MarketCVXPERP": {
			"name": "PerpsV2MarketCVXPERP",
			"address": "0xA7A53a6804707Ac0f76a4F7731D4AF219216293f",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xA7A53a6804707Ac0f76a4F7731D4AF219216293f",
			"timestamp": "2024-02-24T00:03:55.927Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
				"0xdA1FC750517AD0E23c8971AB7195109be2824343",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateCVXPERP": {
			"name": "PerpsV2MarketLiquidateCVXPERP",
			"address": "0xDD0CF256A68E9c70b0e3707809C25c662ced7BfC",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDD0CF256A68E9c70b0e3707809C25c662ced7BfC",
			"timestamp": "2024-02-24T00:04:07.068Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
				"0xdA1FC750517AD0E23c8971AB7195109be2824343",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentCVXPERP": {
			"name": "PerpsV2DelayedIntentCVXPERP",
			"address": "0x701455F6a0B25Ff08f56F2460fA6DB44115eA257",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x701455F6a0B25Ff08f56F2460fA6DB44115eA257",
			"timestamp": "2024-02-24T00:04:18.810Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
				"0xdA1FC750517AD0E23c8971AB7195109be2824343",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionCVXPERP": {
			"name": "PerpsV2DelayedExecutionCVXPERP",
			"address": "0x6cAFBb6E8fCCc61dab588e87192e249a7549dfE3",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0x6cAFBb6E8fCCc61dab588e87192e249a7549dfE3",
			"timestamp": "2024-02-24T00:04:30.653Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xCf92Cfc3a62376f470dDB1b49bf3f4e44E44de8d",
				"0xdA1FC750517AD0E23c8971AB7195109be2824343",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsCVXPERP": {
			"name": "PerpsV2MarketViewsCVXPERP",
			"address": "0x62239fC4EFa332C1602350fed2B160E2d598809e",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0x62239fC4EFa332C1602350fed2B160E2d598809e",
			"timestamp": "2024-02-24T00:04:42.425Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xdA1FC750517AD0E23c8971AB7195109be2824343",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxySTRKPERP": {
			"name": "PerpsV2ProxySTRKPERP",
			"address": "0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
			"timestamp": "2024-02-24T00:18:34.683Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStateSTRKPERP": {
			"name": "PerpsV2MarketStateSTRKPERP",
			"address": "0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
			"timestamp": "2024-02-24T00:18:46.674Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x5354524b00000000000000000000000000000000000000000000000000000000",
				"0x735354524b504552500000000000000000000000000000000000000000000000",
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C"
			]
		},
		"PerpsV2MarketSTRKPERP": {
			"name": "PerpsV2MarketSTRKPERP",
			"address": "0xDB5192d67b511E41e3b9A729f184D0Da41b0FF08",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0xDB5192d67b511E41e3b9A729f184D0Da41b0FF08",
			"timestamp": "2024-02-24T00:18:58.247Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidateSTRKPERP": {
			"name": "PerpsV2MarketLiquidateSTRKPERP",
			"address": "0x97A5CD251F1165cc9EC86D9CbB375936d389Af6a",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x97A5CD251F1165cc9EC86D9CbB375936d389Af6a",
			"timestamp": "2024-02-24T00:19:05.647Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentSTRKPERP": {
			"name": "PerpsV2DelayedIntentSTRKPERP",
			"address": "0x12aC51Fce6B855FB44A51994E1283dd70c290BaF",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x12aC51Fce6B855FB44A51994E1283dd70c290BaF",
			"timestamp": "2024-02-24T00:19:17.084Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionSTRKPERP": {
			"name": "PerpsV2DelayedExecutionSTRKPERP",
			"address": "0xC5C56dbC9e3D764b0ff819C13AFBa431Cd2A5912",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC5C56dbC9e3D764b0ff819C13AFBa431Cd2A5912",
			"timestamp": "2024-02-24T00:19:28.669Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x7fC41d736b6F7DBA95e1eCc5321d9f147bd1F220",
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsSTRKPERP": {
			"name": "PerpsV2MarketViewsSTRKPERP",
			"address": "0xa42A15AafD7505062CF3dF8ef143F779254a943b",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xa42A15AafD7505062CF3dF8ef143F779254a943b",
			"timestamp": "2024-02-24T00:19:40.295Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0xFee64657674Ae9c4a53734881092fFfdB5b7697C",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2ProxyPENDLEPERP": {
			"name": "PerpsV2ProxyPENDLEPERP",
			"address": "0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
			"source": "ProxyPerpsV2",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
			"timestamp": "2024-02-24T00:34:07.221Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
		},
		"PerpsV2MarketStatePENDLEPERP": {
			"name": "PerpsV2MarketStatePENDLEPERP",
			"address": "0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
			"source": "PerpsV2MarketState",
			"link": "https://sepolia-optimism.etherscan.io/address/0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
			"timestamp": "2024-02-24T00:34:18.084Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"],
				"0x50454e444c450000000000000000000000000000000000000000000000000000",
				"0x7350454e444c4550455250000000000000000000000000000000000000000000",
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627"
			]
		},
		"PerpsV2MarketPENDLEPERP": {
			"name": "PerpsV2MarketPENDLEPERP",
			"address": "0x3f36541b9fE7cff23e165670519FcA94c27919ab",
			"source": "PerpsV2Market",
			"link": "https://sepolia-optimism.etherscan.io/address/0x3f36541b9fE7cff23e165670519FcA94c27919ab",
			"timestamp": "2024-02-24T00:34:29.149Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketLiquidatePENDLEPERP": {
			"name": "PerpsV2MarketLiquidatePENDLEPERP",
			"address": "0x76f76175342943740F423ad8f0bb664202882016",
			"source": "PerpsV2MarketLiquidate",
			"link": "https://sepolia-optimism.etherscan.io/address/0x76f76175342943740F423ad8f0bb664202882016",
			"timestamp": "2024-02-24T00:34:36.212Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedIntentPENDLEPERP": {
			"name": "PerpsV2DelayedIntentPENDLEPERP",
			"address": "0x43275BeDC11A16F440007BAc68F9CB5b559c07d3",
			"source": "PerpsV2MarketDelayedIntent",
			"link": "https://sepolia-optimism.etherscan.io/address/0x43275BeDC11A16F440007BAc68F9CB5b559c07d3",
			"timestamp": "2024-02-24T00:34:47.210Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2DelayedExecutionPENDLEPERP": {
			"name": "PerpsV2DelayedExecutionPENDLEPERP",
			"address": "0xb1C5b15E7832D860a9Ecc72eF020C0DdC0889e47",
			"source": "PerpsV2MarketDelayedExecution",
			"link": "https://sepolia-optimism.etherscan.io/address/0xb1C5b15E7832D860a9Ecc72eF020C0DdC0889e47",
			"timestamp": "2024-02-24T00:34:58.631Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x3359638732A98Cc5D598abD35d382Dd919Db0E04",
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"PerpsV2MarketViewsPENDLEPERP": {
			"name": "PerpsV2MarketViewsPENDLEPERP",
			"address": "0xC26e4f89b625E2b1BEF4365A3C7B1E0A996DC0a4",
			"source": "PerpsV2MarketViews",
			"link": "https://sepolia-optimism.etherscan.io/address/0xC26e4f89b625E2b1BEF4365A3C7B1E0A996DC0a4",
			"timestamp": "2024-02-24T00:35:09.474Z",
			"txn": "",
			"network": "sepolia",
			"constructorArgs": [
				"0x2997Bcd284dFE0D5aBFF0958d2202e417E9A1627",
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		},
		"DynamicSynthRedeemer": {
			"name": "DynamicSynthRedeemer",
			"address": "0x30fEDFBfEe3A4C35088035B9Ccb0f13695616874",
			"source": "DynamicSynthRedeemer",
			"link": "https://sepolia-optimism.etherscan.io/address/0x30fEDFBfEe3A4C35088035B9Ccb0f13695616874",
			"timestamp": "2024-04-11T18:07:00.000Z",
			"txn": "https://sepolia-optimism.etherscan.io/tx/0xd423d280d28a7696576ef4a8da41296558b258986f08a8a8c3504dce10d5cc00",
			"network": "sepolia",
			"constructorArgs": [
				"0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9",
				"0x529C553eF2d0370279DC8AbF19702B98b166D252"
			]
		}
	}
}
