UNPKG

kleros-interaction-2

Version:
595 lines 108 kB
{ "contractName": "MultiPartyInsurableArbitrableAgreementsBase", "abi": [ { "constant": true, "inputs": [ { "name": "_agreementID", "type": "bytes32" } ], "name": "getFeesInfo", "outputs": [ { "name": "ruling", "type": "uint256[]" }, { "name": "_stake", "type": "uint256[]" }, { "name": "totalValue", "type": "uint256[]" }, { "name": "totalContributedPerSide", "type": "uint256[2][]" }, { "name": "loserFullyFunded", "type": "bool[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitratorExtraData", "outputs": [ { "name": "", "type": "bytes" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "paidFees", "outputs": [ { "name": "firstContributionTime", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_agreementID", "type": "bytes32" }, { "name": "_round", "type": "uint256" } ], "name": "withdrawReward", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_ruling", "type": "uint256" } ], "name": "rule", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "stake", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "feeGovernor", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_agreementID", "type": "bytes32" }, { "name": "_side", "type": "uint256" } ], "name": "fundDispute", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitrator", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "fundDisputeCache", "outputs": [ { "name": "cost", "type": "uint256" }, { "name": "appealing", "type": "bool" }, { "name": "appealPeriodStart", "type": "uint256" }, { "name": "appealPeriodEnd", "type": "uint256" }, { "name": "appealPeriodSupported", "type": "bool" }, { "name": "requiredValueForSide", "type": "uint256" }, { "name": "expectedValue", "type": "uint256" }, { "name": "stillRequiredValueForSide", "type": "uint256" }, { "name": "keptValue", "type": "uint256" }, { "name": "refundedValue", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_agreementID", "type": "bytes32" }, { "name": "_round", "type": "uint256" }, { "name": "_contributor", "type": "address" } ], "name": "getContributions", "outputs": [ { "name": "contributions", "type": "uint256[2]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "agreements", "outputs": [ { "name": "creator", "type": "address" }, { "name": "numberOfChoices", "type": "uint256" }, { "name": "extraData", "type": "bytes" }, { "name": "arbitrationFeesWaitingTime", "type": "uint256" }, { "name": "arbitrator", "type": "address" }, { "name": "disputeID", "type": "uint256" }, { "name": "disputed", "type": "bool" }, { "name": "appealed", "type": "bool" }, { "name": "ruling", "type": "uint256" }, { "name": "executed", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "uint256" } ], "name": "arbitratorAndDisputeIDToAgreementID", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_feeGovernor", "type": "address" } ], "name": "changeFeeGovernor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_agreementID", "type": "bytes32" } ], "name": "getAgreementInfo", "outputs": [ { "name": "creator", "type": "address" }, { "name": "parties", "type": "address[]" }, { "name": "numberOfChoices", "type": "uint256" }, { "name": "extraData", "type": "bytes" }, { "name": "arbitrationFeesWaitingTime", "type": "uint256" }, { "name": "arbitrator", "type": "address" }, { "name": "disputeID", "type": "uint256" }, { "name": "disputed", "type": "bool" }, { "name": "appealed", "type": "bool" }, { "name": "ruling", "type": "uint256" }, { "name": "executed", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_agreementID", "type": "bytes32" }, { "name": "_evidence", "type": "string" } ], "name": "submitEvidence", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_stake", "type": "uint256" } ], "name": "changeStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "name": "_arbitrator", "type": "address" }, { "name": "_arbitratorExtraData", "type": "bytes" }, { "name": "_feeGovernor", "type": "address" }, { "name": "_stake", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_agreementID", "type": "bytes32" }, { "indexed": true, "name": "_round", "type": "uint256" }, { "indexed": true, "name": "_contributor", "type": "address" }, { "indexed": false, "name": "_value", "type": "uint256" } ], "name": "Contribution", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_agreementID", "type": "bytes32" }, { "indexed": true, "name": "_round", "type": "uint256" }, { "indexed": true, "name": "_contributor", "type": "address" }, { "indexed": false, "name": "_value", "type": "uint256" } ], "name": "RewardWithdrawal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_metaEvidenceID", "type": "uint256" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "MetaEvidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_metaEvidenceID", "type": "uint256" } ], "name": "Dispute", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_party", "type": "address" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "Evidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_ruling", "type": "uint256" } ], "name": "Ruling", "type": "event" } ], "bytecode": "0x60806040523480156200001157600080fd5b5060405162002f1138038062002f11833981016040908152815160208084015192840151606085015160008054600160a060020a031916600160a060020a03861617905593909401805192949093909290918391839187918791839183916200008091600191840190620000b4565b505060048054600160a060020a031916600160a060020a039690961695909517909455505060055550620001599350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000f757805160ff191683800117855562000127565b8280016001018555821562000127579182015b82811115620001275782518255916020019190600101906200010a565b506200013592915062000139565b5090565b6200015691905b8082111562000135576000815560010162000140565b90565b612da880620001696000396000f3006080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b3b430d81146100f55780630c7ac7b61461028e57806313c2677a146103185780631961097b14610342578063311a6c561461035f5780633a4b66f11461037a5780634f4e1d891461038f5780636c18bb5b146103c05780636cc6cde1146103ce5780637f854a36146103e35780638fee5e06146104485780639e1f68c7146104aa578063d7baa83d14610594578063dcd8888b146105b8578063edde5ff4146105d9578063f48a0b3114610706578063f7b2eb3f14610764575b600080fd5b34801561010157600080fd5b5061010d60043561077c565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b8381101561015d578181015183820152602001610145565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b8381101561019c578181015183820152602001610184565b50505050905001868103845289818151815260200191508051906020019060200280838360005b838110156101db5781810151838201526020016101c3565b505050509050018681038352888181518152602001915080516000925b8184101561023a57602080850284010151604080838360005b83811015610229578181015183820152602001610211565b5050505090500192600101926101f8565b89810385528a5181528a5160209182019450818c01935002905080838360005b8381101561027257818101518382015260200161025a565b505050509050019a505050505050505050505060405180910390f35b34801561029a57600080fd5b506102a361098d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b50610330600435610a1a565b60408051918252519081900360200190f35b34801561034e57600080fd5b5061035d600435602435610a2c565b005b34801561036b57600080fd5b5061035d600435602435610f11565b34801561038657600080fd5b50610330611002565b34801561039b57600080fd5b506103a4611008565b60408051600160a060020a039092168252519081900360200190f35b61035d600435602435611017565b3480156103da57600080fd5b506103a461228c565b3480156103ef57600080fd5b506103f861229b565b604080519a8b5298151560208b0152898901979097526060890195909552921515608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561045457600080fd5b5061046f600435602435600160a060020a03604435166122c6565b6040518082600260200280838360005b8381101561049757818101518382015260200161047f565b5050505090500191505060405180910390f35b3480156104b657600080fd5b506104c260043561233f565b60408051600160a060020a03808d16825260208083018d9052606083018b9052908916608083015260a0820188905286151560c083015285151560e083015261010082018590528315156101208301526101409282018381528b51938301939093528a519192916101608401918c019080838360005b83811015610550578181015183820152602001610538565b50505050905090810190601f16801561057d5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156105a057600080fd5b50610330600160a060020a0360043516602435612430565b3480156105c457600080fd5b5061035d600160a060020a036004351661244d565b3480156105e557600080fd5b506105f1600435612504565b60408051600160a060020a03808e1682529181018b90526080810189905290871660a082015260c0810186905284151560e0820152831515610100820152610120810183905281151561014082015261016060208083018281528d51928401929092528c5160608401916101808501918f8201910280838360005b8381101561068457818101518382015260200161066c565b5050505090500183810382528b818151815260200191508051906020019080838360005b838110156106c05781810151838201526020016106a8565b50505050905090810190601f1680156106ed5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071257600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261035d95833595369560449491939091019190819084018382808284375094975061279a9650505050505050565b34801561077057600080fd5b5061035d600435612add565b60008181526006602090815260409182902060018101805484518185028101850190955280855260609485948594859485949193929091908301828280156107e357602002820191906000526020600020905b8154815260200190600101908083116107cf575b505050505095508060020180548060200260200160405190810160405280929190818152602001828054801561083857602002820191906000526020600020905b815481526020019060010190808311610824575b505050505094508060030180548060200260200160405190810160405280929190818152602001828054801561088d57602002820191906000526020600020905b815481526020019060010190808311610879575b5050505050935080600401805480602002602001604051908101604052809291908181526020016000905b828210156109085760008481526020902060408051808201918290529160028581029091019182845b8154815260200190600101908083116108e1575050505050815260200190600101906108b8565b5050505092508060050180548060200260200160405190810160405280929190818152602001828054801561097c57602002820191906000526020600020906000905b825461010083900a900460ff16151581526020600192830181810494850194909303909202910180841161094b5790505b505050505091505091939590929450565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a125780601f106109e757610100808354040283529160200191610a12565b820191906000526020600020905b8154815290600101906020018083116109f557829003601f168201915b505050505081565b60066020526000908152604090205481565b6000828152600260209081526040808320600690925282208154919290918190600160a060020a03161515610aad576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b600784015460ff161580610b63575060058401546006850154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600292600160a060020a0316916310f169e89160248083019260209291908290030181600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b50516002811115610b6157fe5b145b1515610bb9576040805160e560020a62461bcd02815260206004820181905260248201527f5468652061677265656d656e74206973207374696c6c2064697370757465642e604482015290519081900360640190fd5b60028301548510610c3a576040805160e560020a62461bcd02815260206004820152603e60248201527f5468652073706563696669656420726f756e64206f662074686520737065636960448201527f666965642061677265656d656e7420646f6573206e6f742065786973742e0000606482015290519081900360840190fd5b841580610c4e575060028301546000190185145b15610d625784151580610c665750600784015460ff16155b1515610d08576040805160e560020a62461bcd02815260206004820152604c60248201527f5468657265206973206e6f7468696e6720746f2077697468647261772066726f60448201527f6d2074686520666972737420726f756e6420696620746865206469737075746560648201527f20776173207261697365642e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60068301805486908110610d1857fe5b600091825260208083203384529091019052604090206001015460068401805487908110610d4257fe5b600091825260208083203384529091019052604081200154019150610e5b565b600884015460018401805487908110610d7757fe5b90600052602060002001541415610d8f576001610d92565b60005b60ff1690508260040185815481101515610da857fe5b906000526020600020906002020181600281101515610dc357fe5b015415610e555760048301805486908110610dda57fe5b906000526020600020906002020181600281101515610df557fe5b015460068401805487908110610e0757fe5b600091825260208083203384529091019052604090208260028110610e2857fe5b015460038501805488908110610e3a57fe5b906000526020600020015402811515610e4f57fe5b04610e58565b60005b91505b604080518082019091526000808252602082015260068401805487908110610e7f57fe5b60009182526020808320338452909101905260409020610ea0916002612c98565b50604051339083156108fc029084906000818181858888f19350505050158015610ece573d6000803e3d6000fd5b506040805183815290513391879189917f3af1589e5fc22e884f17d5fef298cf3ddc2cd21fa3d0ee55d7c1e7afc3697c6e919081900360200190a4505050505050565b33600081815260036020908152604080832086845282528083205483526002909152902060050154600160a060020a031614610fbd576040805160e560020a62461bcd02815260206004820152603160248201527f4120646973707574652063616e206f6e6c792062652072756c6564206f6e206260448201527f79206974732061726269747261746f722e000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a3610ffe8282612b6a565b5050565b60055481565b600454600160a060020a031681565b600082815260026020908152604080832060069092529091208154600160a060020a03161515611093576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b600982015460ff1615611116576040805160e560020a62461bcd02815260206004820152603160248201527f596f752063616e6e6f742066756e6420646973707574657320666f722065786560448201527f63757465642061677265656d656e74732e000000000000000000000000000000606482015290519081900360840190fd5b600782015460ff1615806111cc575060058201546006830154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600192600160a060020a0316916310f169e89160248083019260209291908290030181600087803b15801561119357600080fd5b505af11580156111a7573d6000803e3d6000fd5b505050506040513d60208110156111bd57600080fd5b505160028111156111ca57fe5b145b1515611248576040805160e560020a62461bcd02815260206004820152603860248201527f5468652061677265656d656e7420697320616c7265616479206469737075746560448201527f6420616e64206973206e6f742061707065616c61626c652e0000000000000000606482015290519081900360840190fd5b60018311156112a1576040805160e560020a62461bcd02815260206004820152601960248201527f546865726520617265206f6e6c792074776f2073696465732e00000000000000604482015290519081900360640190fd5b6000341161131f576040805160e560020a62461bcd02815260206004820152602d60248201527f5468652076616c7565206f662074686520636f6e747269627574696f6e20636160448201527f6e6e6f74206265207a65726f2e00000000000000000000000000000000000000606482015290519081900360840190fd5b805415156113fb57428155600180820180548083018255600091825260208083209091018290556005546002808601805480870182559085528385200191909155600385018054808601825590845282842001839055604080518082019091528381528083018490526004860180549586018082559085529290932091936113ae939082029092019190612c98565b50506005810180546001808201835560009283526020928390209282049092018054601f9092166101000a60ff02199091169055600682018054916113f591908301612cdb565b5061143a565b600060078190556008805460ff19908116909155600a8290556009829055600b80549091169055600c819055600d819055600e819055600f8190556010555b60028101546001141561157a5760058201546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526003850180546002600019600183161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156115075780601f106114dc57610100808354040283529160200191611507565b820191906000526020600020905b8154815290600101906020018083116114ea57829003601f168201915b505092505050602060405180830381600087803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505050506040513d602081101561155157600080fd5b5051600755600482015481544203111561157557611570846000612b8b565b612286565b6119b2565b60058201546006830154604080517ff23f16e600000000000000000000000000000000000000000000000000000000815260048101838152602482019283526003870180546002600019600183161561010002019091160460448401819052600160a060020a039096169563f23f16e69594919360640190849080156116415780601f1061161657610100808354040283529160200191611641565b820191906000526020600020905b81548152906001019060200180831161162457829003601f168201915b50509350505050602060405180830381600087803b15801561166257600080fd5b505af1158015611676573d6000803e3d6000fd5b505050506040513d602081101561168c57600080fd5b50516007556008805460ff1916600117905560058201546006830154604080517fafe15cfb00000000000000000000000000000000000000000000000000000000815260048101929092528051600160a060020a039093169263afe15cfb9260248082019392918290030181600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b505050506040513d604081101561173357600080fd5b508051602090910151600a556009819055158015906117535750600a5415155b600b805460ff1916911515919091179081905560ff161561190c57600954600a5460029082900304014210156118045782156117ff576040805160e560020a62461bcd02815260206004820152603060248201527f497420697320746865206c6f73696e6720736964652773207475726e20746f2060448201527f66756e64207468652061707065616c2e00000000000000000000000000000000606482015290519081900360840190fd5b611575565b8260011480156118445750600581018054600019810190811061182357fe5b90600052602060002090602091828204019190069054906101000a900460ff165b1515611575576040805160e560020a62461bcd02815260206004820152606260248201527f4974206973207468652077696e6e696e6720736964652773207475726e20746f60448201527f2066756e64207468652061707065616c2c206f6e6c7920696620746865206c6f60648201527f73696e67207369646520616c72656164792066756c6c792066756e646564206960848201527f742e00000000000000000000000000000000000000000000000000000000000060a482015290519081900360c40190fd5b6007543410156119b2576040805160e560020a62461bcd02815260206004820152604c60248201527f46656573206d757374206265207061696420696e2066756c6c2069662074686560448201527f2061726269747261746f7220646f6573206e6f7420737570706f72742060617060648201527f7065616c506572696f64602e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60085460ff1615156119cd5760075460029004600c55611ace565b600b5460ff1615156119e457600754600c55611ace565b821515611a1c5760028101805460001981019081106119ff57fe5b600091825260209091200154600754600290910201600c55611ace565b6002810180546000198101908110611a3057fe5b6000918252602090912001546004820180546000198101908110611a5057fe5b600091825260208220600290910201015403600d8190556004820180546000198101908110611a7b57fe5b60009182526020822060029091020101540160076000015411611aa057600d54611aca565b6004810180546000198101908110611ab457fe5b6000918252602082206002909102010154600754035b600c555b600c546004820180546000198101908110611ae557fe5b906000526020600020906002020184600281101515611b0057fe5b015410611b11576000600e55611b4a565b6004810180546000198101908110611b2557fe5b906000526020600020906002020183600281101515611b4057fe5b0154600c5403600e555b600e54341115611b5c57600e54611b5e565b345b600f8190553481900360105560001015611c1657600f546003820180546000198101908110611b8957fe5b600091825260209091200180549091019055600f546004820180546000198101908110611bb257fe5b906000526020600020906002020184600281101515611bcd57fe5b0180549091019055600f546006820180546000198101908110611bec57fe5b600091825260208083203384529091019052604090208460028110611c0d57fe5b01805490910190555b60105460001015611c5157601054604051339180156108fc02916000818181858888f19350505050158015611c4f573d6000803e3d6000fd5b505b6002810154600f5460408051918252513392600019019187917fbd56b899e801b4dafced5be36852af735083cf687f72a7d69351ec0d2263ee889181900360200190a4600c546004820180546000198101908110611cab57fe5b906000526020600020906002020184600281101515611cc657fe5b0154101580611ce5575060085460ff168015611ce55750600b5460ff16155b156122865782158015611d35575060085460ff16611d2e57600c546004820180546000198101908110611d1457fe5b600091825260209091206002909102016001015410611d35565b600b5460ff165b15611dba576005810180546000198101908110611d4e57fe5b90600052602060002090602091828204019190069054906101000a900460ff16151561157057600581018054600191906000198101908110611d8c57fe5b90600052602060002090602091828204019190066101000a81548160ff021916908315150217905550612286565b60085460ff161515611fb257600c546004820180546000198101908110611ddd57fe5b906000526020600020906002020184600014611dfa576000611dfd565b60015b60ff1660028110611e0a57fe5b01541015611e1757612286565b6005820154600754600280850154604080517fc13517e1000000000000000000000000000000000000000000000000000000008152600481018381526024820192835260038901805460001960018216156101000201169590950460448301819052600160a060020a039097169663c13517e196959391926064019084908015611ee25780601f10611eb757610100808354040283529160200191611ee2565b820191906000526020600020905b815481529060010190602001808311611ec557829003601f168201915b505093505050506020604051808303818588803b158015611f0257600080fd5b505af1158015611f16573d6000803e3d6000fd5b50505050506040513d6020811015611f2d57600080fd5b50516006830181815560078401805460ff19166001179055600584018054600160a060020a03908116600090815260036020908152604080832096835295815290859020899055925491548451898152945192949116927fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d92918290030190a3612196565b60058201546006830154604080517f1c3db16d000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a0390921691631c3db16d916024808201926020929091908290030181600087803b15801561202057600080fd5b505af1158015612034573d6000803e3d6000fd5b505050506040513d602081101561204a57600080fd5b5051600182018054600019810190811061206057fe5b60009182526020909120015560058201546007546006840154604080517f49912f8800000000000000000000000000000000000000000000000000000000815260048101838152602482019283526003880180546002600019600183161561010002019091160460448401819052600160a060020a03909716966349912f88969594919360640190849080156121375780601f1061210c57610100808354040283529160200191612137565b820191906000526020600020905b81548152906001019060200180831161211a57829003601f168201915b505093505050506000604051808303818588803b15801561215757600080fd5b505af115801561216b573d6000803e3d6000fd5b505050506007830154610100900460ff16151590506121965760078201805461ff0019166101001790555b60075460038201805460001981019081106121ad57fe5b60009182526020808320909101805493909303909255600183810180548083018255908352838320018290556005546002808601805480850182559085528585200191909155600385018054808401825590845284842001839055604080518082019091528381528085018490526004860180549384018082559085529490932061223d93928202019190612c98565b50506005810180546001808201835560009283526020928390209282049092018054601f9092166101000a60ff021990911690556006820180549161228491908301612cdb565b505b50505050565b600054600160a060020a031681565b600754600854600954600a54600b54600c54600d54600e54600f5460105460ff98891698909516948a565b6122ce612d04565b6000848152600660208190526040909120018054849081106122ec57fe5b60009182526020808320600160a060020a03861684529190910190526040908190208151808301928390529160029082845b81548152602001906001019080831161231e57505050505090509392505050565b60026020818152600092835260409283902080548184015460038301805487516101006001831615026000190190911696909604601f8101869004860287018601909752868652600160a060020a0390921695909492938301828280156123e75780601f106123bc576101008083540402835291602001916123e7565b820191906000526020600020905b8154815290600101906020018083116123ca57829003601f168201915b5050506004840154600585015460068601546007870154600888015460099098015496979396600160a060020a03909316955090935060ff80821693610100909204811692168a565b600360209081526000928352604080842090915290825290205481565b600454600160a060020a031633146124d5576040805160e560020a62461bcd02815260206004820152602360248201527f5468652063616c6c6572206973206e6f74207468652066656520676f7665726e60448201527f6f722e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000818152600260209081526040808320805460019091018054835181860281018601909452808452600160a060020a0390921694606094909385938593849384938493849384938493929083018282801561258957602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161256b575b50505050509950600260008d60001916600019168152602001908152602001600020600201549850600260008d600019166000191681526020019081526020016000206003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126635780601f1061263857610100808354040283529160200191612663565b820191906000526020600020905b81548152906001019060200180831161264657829003601f168201915b50505050509750600260008d60001916600019168152602001908152602001600020600401549650600260008d6000191660001916815260200190815260200160002060050160009054906101000a9004600160a060020a03169550600260008d60001916600019168152602001908152602001600020600601549450600260008d6000191660001916815260200190815260200160002060070160009054906101000a900460ff169350600260008d6000191660001916815260200190815260200160002060070160019054906101000a900460ff169250600260008d60001916600019168152602001908152602001600020600801549150600260008d6000191660001916815260200190815260200160002060090160009054906101000a900460ff16905091939597999b90929496989a50565b6000828152600260205260408120548190600160a060020a0316151561280c576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b60008481526002602052604090206007015460ff16151561289d576040805160e560020a62461bcd02815260206004820152602860248201527f546865207370656369666965642061677265656d656e74206973206e6f74206460448201527f697370757465642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600084815260026020526040902060070154610100900460ff1615612932576040805160e560020a62461bcd02815260206004820152603260248201527f546865207370656369666965642061677265656d656e742068617320616c726560448201527f616479206265656e2061707065616c65642e0000000000000000000000000000606482015290519081900360840190fd5b5060009050805b60008481526002602052604090206001015481101561299a57600084815260026020526040902060010180543391908390811061297257fe5b600091825260209091200154600160a060020a0316141561299257600191505b600101612939565b811515612a17576040805160e560020a62461bcd02815260206004820152603560248201527f5468652073656e646572206973206e6f74206120706172747920696e2074686560448201527f207370656369666965642061677265656d656e742e0000000000000000000000606482015290519081900360840190fd5b600084815260026020908152604080832060068101546005909101548251848152885181860152885133969395600160a060020a03909316947fdccf2f8b2cc26eafcd61905cba744cff4b81d14740725f6376390dc6298a6a3c948b94849392840192908601918190849084905b83811015612a9d578181015183820152602001612a85565b50505050905090810190601f168015612aca5780820380516001836020036101000a031916815260200191505b509250505060405180910390a450505050565b600454600160a060020a03163314612b65576040805160e560020a62461bcd02815260206004820152602360248201527f5468652063616c6c6572206973206e6f74207468652066656520676f7665726e60448201527f6f722e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600555565b336000908152600360209081526040808320858452909152902054610ffe90825b60008281526002602052604090208054600160a060020a03161515612bfc576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b600981015460ff1615612c7f576040805160e560020a62461bcd02815260206004820152603260248201527f546865207370656369666965642061677265656d656e742068617320616c726560448201527f616479206265656e2065786563757465642e0000000000000000000000000000606482015290519081900360840190fd5b6008810191909155600901805460ff1916600117905550565b8260028101928215612ccb579160200282015b82811115612ccb578251829060ff16905591602001919060010190612cab565b50612cd7929150612d1f565b5090565b815481835581811115612cff57600083815260209020612cff918101908301612cd7565b505050565b60408051808201825290600290829080388339509192915050565b612d3991905b80821115612cd75760008155600101612d25565b9056002065786973742e00000000000000000000000000000000000000000000000000546865207370656369666965642061677265656d656e7420646f6573206e6f74a165627a7a72305820f46f0de45daec9e2cca310ea5553c2f823788cf5b4df74e036a25e8264efa4e30029", "deployedBytecode": "0x6080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b3b430d81146100f55780630c7ac7b61461028e57806313c2677a146103185780631961097b14610342578063311a6c561461035f5780633a4b66f11461037a5780634f4e1d891461038f5780636c18bb5b146103c05780636cc6cde1146103ce5780637f854a36146103e35780638fee5e06146104485780639e1f68c7146104aa578063d7baa83d14610594578063dcd8888b146105b8578063edde5ff4146105d9578063f48a0b3114610706578063f7b2eb3f14610764575b600080fd5b34801561010157600080fd5b5061010d60043561077c565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b8381101561015d578181015183820152602001610145565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b8381101561019c578181015183820152602001610184565b50505050905001868103845289818151815260200191508051906020019060200280838360005b838110156101db5781810151838201526020016101c3565b505050509050018681038352888181518152602001915080516000925b8184101561023a57602080850284010151604080838360005b83811015610229578181015183820152602001610211565b5050505090500192600101926101f8565b89810385528a5181528a5160209182019450818c01935002905080838360005b8381101561027257818101518382015260200161025a565b505050509050019a505050505050505050505060405180910390f35b34801561029a57600080fd5b506102a361098d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b50610330600435610a1a565b60408051918252519081900360200190f35b34801561034e57600080fd5b5061035d600435602435610a2c565b005b34801561036b57600080fd5b5061035d600435602435610f11565b34801561038657600080fd5b50610330611002565b34801561039b57600080fd5b506103a4611008565b60408051600160a060020a039092168252519081900360200190f35b61035d600435602435611017565b3480156103da57600080fd5b506103a461228c565b3480156103ef57600080fd5b506103f861229b565b604080519a8b5298151560208b0152898901979097526060890195909552921515608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561045457600080fd5b5061046f600435602435600160a060020a03604435166122c6565b6040518082600260200280838360005b8381101561049757818101518382015260200161047f565b5050505090500191505060405180910390f35b3480156104b657600080fd5b506104c260043561233f565b60408051600160a060020a03808d16825260208083018d9052606083018b9052908916608083015260a0820188905286151560c083015285151560e083015261010082018590528315156101208301526101409282018381528b51938301939093528a519192916101608401918c019080838360005b83811015610550578181015183820152602001610538565b50505050905090810190601f16801561057d5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156105a057600080fd5b50610330600160a060020a0360043516602435612430565b3480156105c457600080fd5b5061035d600160a060020a036004351661244d565b3480156105e557600080fd5b506105f1600435612504565b60408051600160a060020a03808e1682529181018b90526080810189905290871660a082015260c0810186905284151560e0820152831515610100820152610120810183905281151561014082015261016060208083018281528d51928401929092528c5160608401916101808501918f8201910280838360005b8381101561068457818101518382015260200161066c565b5050505090500183810382528b818151815260200191508051906020019080838360005b838110156106c05781810151838201526020016106a8565b50505050905090810190601f1680156106ed5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071257600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261035d95833595369560449491939091019190819084018382808284375094975061279a9650505050505050565b34801561077057600080fd5b5061035d600435612add565b60008181526006602090815260409182902060018101805484518185028101850190955280855260609485948594859485949193929091908301828280156107e357602002820191906000526020600020905b8154815260200190600101908083116107cf575b505050505095508060020180548060200260200160405190810160405280929190818152602001828054801561083857602002820191906000526020600020905b815481526020019060010190808311610824575b505050505094508060030180548060200260200160405190810160405280929190818152602001828054801561088d57602002820191906000526020600020905b815481526020019060010190808311610879575b5050505050935080600401805480602002602001604051908101604052809291908181526020016000905b828210156109085760008481526020902060408051808201918290529160028581029091019182845b8154815260200190600101908083116108e1575050505050815260200190600101906108b8565b5050505092508060050180548060200260200160405190810160405280929190818152602001828054801561097c57602002820191906000526020600020906000905b825461010083900a900460ff16151581526020600192830181810494850194909303909202910180841161094b5790505b505050505091505091939590929450565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a125780601f106109e757610100808354040283529160200191610a12565b820191906000526020600020905b8154815290600101906020018083116109f557829003601f168201915b505050505081565b60066020526000908152604090205481565b6000828152600260209081526040808320600690925282208154919290918190600160a060020a03161515610aad576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b600784015460ff161580610b63575060058401546006850154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600292600160a060020a0316916310f169e89160248083019260209291908290030181600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b50516002811115610b6157fe5b145b1515610bb9576040805160e560020a62461bcd02815260206004820181905260248201527f5468652061677265656d656e74206973207374696c6c2064697370757465642e604482015290519081900360640190fd5b60028301548510610c3a576040805160e560020a62461bcd02815260206004820152603e60248201527f5468652073706563696669656420726f756e64206f662074686520737065636960448201527f666965642061677265656d656e7420646f6573206e6f742065786973742e0000606482015290519081900360840190fd5b841580610c4e575060028301546000190185145b15610d625784151580610c665750600784015460ff16155b1515610d08576040805160e560020a62461bcd02815260206004820152604c60248201527f5468657265206973206e6f7468696e6720746f2077697468647261772066726f60448201527f6d2074686520666972737420726f756e6420696620746865206469737075746560648201527f20776173207261697365642e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60068301805486908110610d1857fe5b600091825260208083203384529091019052604090206001015460068401805487908110610d4257fe5b600091825260208083203384529091019052604081200154019150610e5b565b600884015460018401805487908110610d7757fe5b90600052602060002001541415610d8f576001610d92565b60005b60ff1690508260040185815481101515610da857fe5b906000526020600020906002020181600281101515610dc357fe5b015415610e555760048301805486908110610dda57fe5b906000526020600020906002020181600281101515610df557fe5b015460068401805487908110610e0757fe5b600091825260208083203384529091019052604090208260028110610e2857fe5b015460038501805488908110610e3a57fe5b906000526020600020015402811515610e4f57fe5b04610e58565b60005b91505b604080518082019091526000808252602082015260068401805487908110610e7f57fe5b60009182526020808320338452909101905260409020610ea0916002612c98565b50604051339083156108fc029084906000818181858888f19350505050158015610ece573d6000803e3d6000fd5b506040805183815290513391879189917f3af1589e5fc22e884f17d5fef298cf3ddc2cd21fa3d0ee55d7c1e7afc3697c6e919081900360200190a4505050505050565b33600081815260036020908152604080832086845282528083205483526002909152902060050154600160a060020a031614610fbd576040805160e560020a62461bcd02815260206004820152603160248201527f4120646973707574652063616e206f6e6c792062652072756c6564206f6e206260448201527f79206974732061726269747261746f722e000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a3610ffe8282612b6a565b5050565b60055481565b600454600160a060020a031681565b600082815260026020908152604080832060069092529091208154600160a060020a03161515611093576040805160e560020a62461bcd0281526020600482015260276024820152600080516020612d5d8339815191526044820152600080516020612d3d833981519152606482015290519081900360840190fd5b600982015460ff1615611116576040805160e560020a62461bcd02815260206004820152603160248201527f596f752063616e6e6f742066756e6420646973707574657320666f722065786560448201527f63757465642061677265656d656e74732e000000000000000000000000000000606482015290519081900360840190fd5b600782015460ff1615806111cc575060058201546006830154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600192600160a060020a0316916310f169e89160248083019260209291908290030181600087803b15801561119357600080fd5b505af11580156111a7573d6000803e3d6000fd5b505050506040513d60208110156111bd57600080fd5b505160028111156111ca57fe5b145b1515611248576040805160e560020a62461bcd02815260206004820152603860248201527f5468652061677265656d656e7420697320616c7265616479206469737075746560448201527f6420616e64206973206e6f742061707065616c61626c652e0000000000000000606482015290519081900360840190fd5b60018311156112a1576040805160e560020a62461bcd02815260206004820152601960248201527f546865726520617265206f6e6c792074776f2073696465732e00000000000000604482015290519081900360640190fd5b6000341161131f576040805160e560020a62461bcd02815260206004820152602d60248201527f5468652076616c7565206f662074686520636f6e747269627574696f6e20636160448201527f6e6e6f74206265207a65726f2e00000000000000000000000000000000000000606482015290519081900360840190fd5b805415156113fb57428155600180820180548083018255600091825260208083209091018290556005546002808601805480870182559085528385200191909155600385018054808601825590845282842001839055604080518082019091528381528083018490526004860180549586018082559085529290932091936113ae939082029092019190612c98565b50506005810180546001808201835560009283526020928390209282049092018054601f9092166101000a60ff02199091169055600682018054916113f591908301612cdb565b5061143a565b600060078190556008805460ff19908116909155600a8290556009829055600b80549091169055600c819055600d819055600e819055600f8190556010555b60028101546001141561157a5760058201546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526003850180546002600019600183161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156115075780601f106114dc57610100808354040283529160200191611507565b820191906000526020600020905b8154815290600101906020018083116114ea57829003601f168201915b505092505050602060405180830381600087803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505050506040513d602081101561155157600080fd5b5051600755600482015481544203111561157557611570846000612b8b565b612286565b6119b2565b60058201546006830154604080517ff23f16e600000000000000000000000000000000000000000000000000000000815260048101838152602482019283526003870180546002600019600183161561010002019091160460448401819052600160a060020a039096169563f23f16e69594919360640190849080156116415780601f1061161657610100808354040283529160200191611641565b820191906000526020600020905b81548152906001019060200180831161162457829003601f168201915b50509350505050602060405180830381600087803b15801561166257600080fd5b505af1158015611676573d6000803e3d6000fd5b505050506040513d602081101561168c57600080fd5b50516007556008805460ff1916600117905560058201546006830154604080517fafe15cfb00000000000000000000000000000000000000000000000000000000815260048101929092528051600160a060020a039093169263afe15cfb9260248082019392918290030181600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b505050506040513d604081101561173357600080fd5b508051602090910151600a556009819055158015906117535750600a5415155b600b805460ff1916911515919091179081905560ff161561190c57600954600a5460029082900304014210156118045782156117ff576040805160e560020a62461bcd02815260206004820152603060248201527f497420697320746865206c6f73696e6720736964652773207475726e20746f2060448201527f66756e64207468652061707065616c2e00000000000000000000000000000000606482015290519081900360840190fd5b611575565b8260011480156118445750600581018054600019810190811061182357fe5b90600052602060002090602091828204019190069054906101000a900460ff165b1515611575576040805160e560020a62461bcd02815260206004820152606260248201527f4974206973207468652077696e6e696e6720736964652773207475726e20746f60448201527f2066756e64207468652061707065616c2c206f6e6c7920696620746865206c6f60648201527f73696e67207369646520616c72656164792066756c6c792066756e646564206960848201527f742e00000000000000000000000000000000000000000000000000000000000060a482015290519081900360c40190fd5b6007543410156119b2576040805160e560020a62461bcd02815260206004820152604c60248201527f46656573206d757374206265207061696420696e2066756c6c2069662074686560448201527f2061726269747261746f7220646f6573206e6f7420737570706f72742060617060648201527f7065616c506572696f64602e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60085460ff1615156119cd5760075460029004600c55611ace565b600b5460ff1615156119e457600754600c55611ace565b821515611a1c5760028101805460001981019081106119ff57fe5b600091825260209091200154600754600290910201600c55611ace565b6002810180546000198101908110611a3057fe5b6000918252602090912001546004820180546000198101908110611a5057fe5b600091825260208220600290910201015403600d8190556004820180546000198101908110611a7b57fe5b60009182526020822060029091020101540160076000015411611aa057600d54611aca565b6004810180546000198101908110611ab457fe5b6000918252602082206002909102010154600754035b600c555b600c546004820180546000198101908110611ae557fe5b906000526020600020906002020184600281101515611b0057fe5b015410611b11576000600e55611b4a565b6004810180546000198101908110611b2557fe5b906000526020600020906002020183600281101515611b4057fe5b0154600c5403600e555b600e54341115611b5c57600e54611b5e565b345b600f819055348190036010556000