UNPKG

@josojo/realitytoken-contracts

Version:
732 lines 1.17 MB
{ "contractName": "ForkonomicToken", "abi": [ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" }, { "name": "", "type": "bytes32" }, { "name": "", "type": "bytes32" } ], "name": "allowed", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "fSystem", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "lastDebitWindows", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_fSystem", "type": "address" }, { "name": "initalFundingContracts", "type": "address[]" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_owner", "type": "address" }, { "indexed": false, "name": "ownerBox", "type": "bytes32" }, { "indexed": true, "name": "_spender", "type": "address" }, { "indexed": false, "name": "spenderBox", "type": "bytes32" }, { "indexed": false, "name": "_value", "type": "uint256" }, { "indexed": false, "name": "branch", "type": "bytes32" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": false, "name": "to", "type": "address" }, { "indexed": false, "name": "fromBox", "type": "bytes32" }, { "indexed": false, "name": "toBox", "type": "bytes32" }, { "indexed": false, "name": "value", "type": "uint256" }, { "indexed": false, "name": "branch", "type": "bytes32" } ], "name": "Transfer", "type": "event" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_amount", "type": "uint256" }, { "name": "_branch", "type": "bytes32" } ], "name": "approve", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "spender", "type": "address" }, { "name": "branch", "type": "bytes32" } ], "name": "allowance", "outputs": [ { "name": "remaining", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_amount", "type": "uint256" }, { "name": "_branch", "type": "bytes32" }, { "name": "fromBox", "type": "bytes32" }, { "name": "spenderBox", "type": "bytes32" } ], "name": "approveBox", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "spender", "type": "address" }, { "name": "branch", "type": "bytes32" }, { "name": "senderBox", "type": "bytes32" }, { "name": "receiverBox", "type": "bytes32" } ], "name": "allowanceBox", "outputs": [ { "name": "remaining", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "addr", "type": "address" }, { "name": "branch", "type": "bytes32" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "addr", "type": "address" }, { "name": "branch", "type": "bytes32" }, { "name": "acct", "type": "bytes32" } ], "name": "balanceOfBox", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "addr", "type": "address" }, { "name": "minBalance", "type": "uint256" }, { "name": "branchHash", "type": "bytes32" } ], "name": "isAmountSpendable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "addr", "type": "address" }, { "name": "minBalance", "type": "uint256" }, { "name": "branchHash", "type": "bytes32" }, { "name": "box", "type": "bytes32" } ], "name": "isAmountSpendableBox", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "addr", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "addr", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" }, { "name": "fromBox", "type": "bytes32" }, { "name": "toBox", "type": "bytes32" } ], "name": "boxTransfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "from", "type": "address" }, { "name": "to", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" } ], "name": "transferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "addr", "type": "address" }, { "name": "addrTo", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" }, { "name": "fromBox", "type": "bytes32" } ], "name": "boxTransferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "fromAddr", "type": "address" }, { "name": "toAddr", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" }, { "name": "fromBox", "type": "bytes32" }, { "name": "toBox", "type": "bytes32" } ], "name": "boxTransferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "owner", "type": "address" }, { "name": "box", "type": "bytes32" }, { "name": "amount", "type": "uint256" }, { "name": "branch", "type": "bytes32" } ], "name": "recordBoxWithdrawal", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "box", "type": "bytes32" }, { "name": "branchHash", "type": "bytes32" }, { "name": "earliestPossibleBranch", "type": "bytes32" } ], "name": "hasBoxWithdrawal", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "box", "type": "bytes32" }, { "name": "branchHash", "type": "bytes32" }, { "name": "earliestPossibleBranch", "type": "bytes32" } ], "name": "recordedBoxWithdrawalAmount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "acct", "type": "bytes32" }, { "name": "minBalance", "type": "uint256" }, { "name": "branchHash", "type": "bytes32" } ], "name": "_isAmountSpendable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b5060405162001f6438038062001f64833981016040818152825160208085015160058054600160a060020a031916600160a060020a0380861691909117918290557f176b6f010000000000000000000000000000000000000000000000000000000087529451939691909101946000948594859485949092169263176b6f0192600480830193919282900301818787803b158015620000af57600080fd5b505af1158015620000c4573d6000803e3d6000fd5b505050506040513d6020811015620000db57600080fd5b505185519094509250600c83106200015457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f20746f6f206d616e792066756e64696e67206163636f756e7473000000000000604482015290519081900360640190fd5b600091505b82821015620002645784828151811015156200017157fe5b9060200190602002015160006040516020018083600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310620001fd5780518252601f199092019160209182019101620001dc565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a8152808352848120828252909252929020805465befe6f6720009081019091556004805490910190555060019490940193925062000159915050565b505050505050611cea806200027a6000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806317d287e0146101cc57806318160ddd146102135780631b6672d21461023a5780631c8d5d381461026a578063313ce5671461029457806338487803146102bf578063401e3367146102e95780634d30b6be1461031657806357cfeeee1461033a57806366422c47146103615780636dd265a51461037f5780638097c95e146103ac5780638180f2fc146103d6578063911651ac146103fd57806395d89b41146104245780639908618314610439578063c347197914610457578063cf54a3d314610487578063d0c91487146104b1578063d1fe5313146104db578063d440796e14610508578063e10db51114610539578063f2482e2b14610551575b600080fd5b34801561014e57600080fd5b50610157610578565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101ff600160a060020a036004358116906024351660443560643560843560a4356105af565b604080519115158252519081900360200190f35b34801561021f57600080fd5b50610228610b40565b60408051918252519081900360200190f35b34801561024657600080fd5b506101ff600160a060020a0360043581169060243516604435606435608435610b46565b34801561027657600080fd5b50610228600160a060020a0360043581169060243516604435610b61565b3480156102a057600080fd5b506102a9610b79565b6040805160ff9092168252519081900360200190f35b3480156102cb57600080fd5b50610228600160a060020a0360043516602435604435606435610b7e565b3480156102f557600080fd5b506101ff600160a060020a0360043581169060243516604435606435610d57565b34801561032257600080fd5b50610228600160a060020a0360043516602435610d71565b34801561034657600080fd5b506101ff600160a060020a0360043516602435604435610d86565b34801561036d57600080fd5b506101ff600435602435604435610d96565b34801561038b57600080fd5b506101ff600160a060020a0360043516602435604435606435608435610ec1565b3480156103b857600080fd5b506101ff600160a060020a0360043516602435604435606435611380565b3480156103e257600080fd5b506101ff600160a060020a0360043516602435604435611533565b34801561040957600080fd5b506101ff600160a060020a0360043516602435604435611543565b34801561043057600080fd5b506101576115e4565b34801561044557600080fd5b5061022860043560243560443561161b565b34801561046357600080fd5b50610228600160a060020a036004358116906024351660443560643560843561163e565b34801561049357600080fd5b506101ff600160a060020a03600435166024356044356064356117a4565b3480156104bd57600080fd5b506101ff600160a060020a0360043516602435604435606435611917565b3480156104e757600080fd5b506101ff600160a060020a03600435166024356044356064356084356119b7565b34801561051457600080fd5b5061051d611b4e565b60408051600160a060020a039092168252519081900360200190f35b34801561054557600080fd5b50610228600435611b5d565b34801561055d57600080fd5b50610228600160a060020a0360043516602435604435611b6f565b60408051808201909152600c81527f5265616c697479546f6b656e0000000000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061062e5780518252601f19909201916020918201910161060f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106d45780518252601f1990920191602091820191016106b5565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106107555780518252601f199092019160209182019101610736565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b111591506107af905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b505050506040513d602081101561084057600080fd5b50519050660775f05a0740008911156108a3576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050506040513d602081101561093457600080fd5b5051151561098c576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000848152600260205260409020548110156109f2576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b6109fd848a8a610d96565b1515610a53576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610ab0908a611cac565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610b57868686868660006105af565b9695505050505050565b6000610b7184848460008061163e565b949350505050565b601281565b60408051606060020a338102602080840191909152600160a060020a0388169091026034830152604880830187905283518084039091018152606890920192839052815160009384938493909282918401908083835b60208310610bf35780518252601f199092019160209182019101610bd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b8415801590610c365750848414155b15610cda576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610ca757600080fd5b505af1158015610cbb573d6000803e3d6000fd5b505050506040513d6020811015610cd157600080fd5b50519450610c27565b841515610b57576040805160e560020a62461bcd02815260206004820152602f60248201527f206272616e636820686173682073686f756c64206e6f7420666f6c6c6f77207460448201527f6f20746865204e554c4c5f484153480000000000000000000000000000000000606482015290519081900360840190fd5b6000610d68858585856000806105af565b95945050505050565b6000610d7f83836000611b6f565b9392505050565b6000610b71848484600080610ec1565b60008080660775f05a074000851115610df9576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b8315610eb357600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610e7057600080fd5b505af1158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b50519350808212610eae5760019250610eb8565b610e00565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b158015610f2e57600080fd5b505af1158015610f42573d6000803e3d6000fd5b505050506040513d6020811015610f5857600080fd5b50519150660775f05a074000871115610fe1576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561104857600080fd5b505af115801561105c573d6000803e3d6000fd5b505050506040513d602081101561107257600080fd5b505115156110ca576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106111265780518252601f199092019160209182019101611107565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506111e19050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6111ec818888610d96565b1515611242576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106112d95780518252601f1990920191602091820191016112ba565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a031691634dd8aa0591602480830192602092919082900301818787803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b505050506040513d602081101561141057600080fd5b50511515611468576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b60008281526001602090815260408083208151606060020a33810282860152600160a060020a038b1602603482015260488082018a905283518083039091018152606890910192839052805188959294929391928291908401908083835b602083106114e55780518252601f1990920191602091820191016114c6565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805494909401909355506001979650505050505050565b6000610b718484846000806119b7565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610b719392909182918401908083835b602083106115b05780518252601f199092019160209182019101611591565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484610d96565b60408051808201909152600381527f524c540000000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106116a95780518252601f19909201916020918201910161168a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061174f5780518252601f199092019160209182019101611730565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b60408051606060020a338102602080840191909152600160a060020a03881690910260348301526048808301879052835180840390910181526068909201928390528151600093849392909182918401908083835b602083106118185780518252601f1990920191602091820191016117f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b83158015906118575750838314155b156119095760008481526001602090815260408083208484529091528120541315611885576001915061190e565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b1580156118d657600080fd5b505af11580156118ea573d6000803e3d6000fd5b505050506040513d602081101561190057600080fd5b50519350611848565b600091505b50949350505050565b60408051606060020a600160a060020a038716026020808301919091526034808301859052835180840390910181526054909201928390528151600093610d689392909182918401908083835b602083106119835780518252601f199092019160209182019101611964565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585610d96565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310611a225780518252601f199092019160209182019101611a03565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b60208310611aa35780518252601f199092019160209182019101611a84565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610b71576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b60208310611be95780518252601f199092019160209182019101611bca565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b158015611c7957600080fd5b505af1158015611c8d573d6000803e3d6000fd5b505050506040513d6020811015611ca357600080fd5b50519350611b73565b600082821115611cb857fe5b509003905600a165627a7a723058207cb7c9a6259217cb487a729faecd24c8c1c5f09b51f4b125574c961613132a430029", "deployedBytecode": "0x60806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806317d287e0146101cc57806318160ddd146102135780631b6672d21461023a5780631c8d5d381461026a578063313ce5671461029457806338487803146102bf578063401e3367146102e95780634d30b6be1461031657806357cfeeee1461033a57806366422c47146103615780636dd265a51461037f5780638097c95e146103ac5780638180f2fc146103d6578063911651ac146103fd57806395d89b41146104245780639908618314610439578063c347197914610457578063cf54a3d314610487578063d0c91487146104b1578063d1fe5313146104db578063d440796e14610508578063e10db51114610539578063f2482e2b14610551575b600080fd5b34801561014e57600080fd5b50610157610578565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101ff600160a060020a036004358116906024351660443560643560843560a4356105af565b604080519115158252519081900360200190f35b34801561021f57600080fd5b50610228610b40565b60408051918252519081900360200190f35b34801561024657600080fd5b506101ff600160a060020a0360043581169060243516604435606435608435610b46565b34801561027657600080fd5b50610228600160a060020a0360043581169060243516604435610b61565b3480156102a057600080fd5b506102a9610b79565b6040805160ff9092168252519081900360200190f35b3480156102cb57600080fd5b50610228600160a060020a0360043516602435604435606435610b7e565b3480156102f557600080fd5b506101ff600160a060020a0360043581169060243516604435606435610d57565b34801561032257600080fd5b50610228600160a060020a0360043516602435610d71565b34801561034657600080fd5b506101ff600160a060020a0360043516602435604435610d86565b34801561036d57600080fd5b506101ff600435602435604435610d96565b34801561038b57600080fd5b506101ff600160a060020a0360043516602435604435606435608435610ec1565b3480156103b857600080fd5b506101ff600160a060020a0360043516602435604435606435611380565b3480156103e257600080fd5b506101ff600160a060020a0360043516602435604435611533565b34801561040957600080fd5b506101ff600160a060020a0360043516602435604435611543565b34801561043057600080fd5b506101576115e4565b34801561044557600080fd5b5061022860043560243560443561161b565b34801561046357600080fd5b50610228600160a060020a036004358116906024351660443560643560843561163e565b34801561049357600080fd5b506101ff600160a060020a03600435166024356044356064356117a4565b3480156104bd57600080fd5b506101ff600160a060020a0360043516602435604435606435611917565b3480156104e757600080fd5b506101ff600160a060020a03600435166024356044356064356084356119b7565b34801561051457600080fd5b5061051d611b4e565b60408051600160a060020a039092168252519081900360200190f35b34801561054557600080fd5b50610228600435611b5d565b34801561055d57600080fd5b50610228600160a060020a0360043516602435604435611b6f565b60408051808201909152600c81527f5265616c697479546f6b656e0000000000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061062e5780518252601f19909201916020918201910161060f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106d45780518252601f1990920191602091820191016106b5565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106107555780518252601f199092019160209182019101610736565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b111591506107af905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b505050506040513d602081101561084057600080fd5b50519050660775f05a0740008911156108a3576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050506040513d602081101561093457600080fd5b5051151561098c576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000848152600260205260409020548110156109f2576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b6109fd848a8a610d96565b1515610a53576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610ab0908a611cac565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610b57868686868660006105af565b9695505050505050565b6000610b7184848460008061163e565b949350505050565b601281565b60408051606060020a338102602080840191909152600160a060020a0388169091026034830152604880830187905283518084039091018152606890920192839052815160009384938493909282918401908083835b60208310610bf35780518252601f199092019160209182019101610bd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b8415801590610c365750848414155b15610cda576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610ca757600080fd5b505af1158015610cbb573d6000803e3d6000fd5b505050506040513d6020811015610cd157600080fd5b50519450610c27565b841515610b57576040805160e560020a62461bcd02815260206004820152602f60248201527f206272616e636820686173682073686f756c64206e6f7420666f6c6c6f77207460448201527f6f20746865204e554c4c5f484153480000000000000000000000000000000000606482015290519081900360840190fd5b6000610d68858585856000806105af565b95945050505050565b6000610d7f83836000611b6f565b9392505050565b6000610b71848484600080610ec1565b60008080660775f05a074000851115610df9576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b8315610eb357600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610e7057600080fd5b505af1158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b50519350808212610eae5760019250610eb8565b610e00565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b158015610f2e57600080fd5b505af1158015610f42573d6000803e3d6000fd5b505050506040513d6020811015610f5857600080fd5b50519150660775f05a074000871115610fe1576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561104857600080fd5b505af115801561105c573d6000803e3d6000fd5b505050506040513d602081101561107257600080fd5b505115156110ca576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106111265780518252601f199092019160209182019101611107565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506111e19050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6111ec818888610d96565b1515611242576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106112d95780518252601f1990920191602091820191016112ba565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a031691634dd8aa0591602480830192602092919082900301818787803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b505050506040513d602081101561141057600080fd5b50511515611468576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b60008281526001602090815260408083208151606060020a33810282860152600160a060020a038b1602603482015260488082018a905283518083039091018152606890910192839052805188959294929391928291908401908083835b602083106114e55780518252601f1990920191602091820191016114c6565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805494909401909355506001979650505050505050565b6000610b718484846000806119b7565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610b719392909182918401908083835b602083106115b05780518252601f199092019160209182019101611591565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484610d96565b60408051808201909152600381527f524c540000000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106116a95780518252601f19909201916020918201910161168a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061174f5780518252601f199092019160209182019101611730565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b60408051606060020a338102602080840191909152600160a060020a03881690910260348301526048808301879052835180840390910181526068909201928390528151600093849392909182918401908083835b602083106118185780518252601f1990920191602091820191016117f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b83158015906118575750838314155b156119095760008481526001602090815260408083208484529091528120541315611885576001915061190e565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b1580156118d657600080fd5b505af11580156118ea573d6000803e3d6000fd5b505050506040513d602081101561190057600080fd5b50519350611848565b600091505b50949350505050565b60408051606060020a600160a060020a038716026020808301919091526034808301859052835180840390910181526054909201928390528151600093610d689392909182918401908083835b602083106119835780518252601f199092019160209182019101611964565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585610d96565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310611a225780518252601f199092019160209182019101611a03565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b60208310611aa35780518252601f199092019160209182019101611a84565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610b71576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b60208310611be95780518252601f199092019160209182019101611bca565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b158015611c7957600080fd5b505af1158015611c8d573d6000803e3d6000fd5b505050506040513d6020811015611ca357600080fd5b50519350611b73565b600082821115611cb857fe5b509003905600a165627a7a723058207cb7c9a6259217cb487a729faecd24c8c1c5f09b51f4b125574c961613132a430029", "sourceMap": "120:9529:19:-;;;1503:582;8:9:-1;5:2;;;30:1;27;20:12;5:2;1503:582:19;;;;;;;;;;;;;;;;;;;;;;;1598:7;:18;;-1:-1:-1;;;;;;1598:18:19;-1:-1:-1;;;;;1598:18:19;;;;;;;;;;;1654:27;;;;;1503:582;;;;;;;-1:-1:-1;;;;;;;;1654:7:19;;;;:25;;:27;;;;;1503:582;;1654:27;;;;;-1:-1:-1;1654:7:19;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;1654:27:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1654:27:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1654:27:19;1711:29;;1654:27;;-1:-1:-1;1711:29:19;-1:-1:-1;1771:2:19;1759:14;;1751:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1;1820:11;;1815:264;1837:9;1833:1;:13;1815:264;;;1912:22;1935:1;1912:25;;;;;;;;;;;;;;;;;;1939:9;1895:54;;;;;;-1:-1:-1;;;;;1895:54:19;-1:-1:-1;;;;;1895:54:19;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1895:54:19;;;1885:65;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1885:65:19;;;;;;;;;;;;;-1:-1:-1;1964:32:19;;;;;;;;;:41;;;;;;;;;:60;;2009:15;1964:60;;;;;;2038:11;:30;;;;;;;-1:-1:-1;;1848:3:19;;;;;1885:65;-1:-1:-1;1815:264:19;;-1:-1:-1;;1815:264:19;;1503:582;;;;;;120:9529;;;;;;", "deployedSourceMap": "120:9529:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;485:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;485:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:1287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5707:1287:19;-1:-1:-1;;;;;5707:1287:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1433:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1433:26:19;;;;;;;;;;;;;;;;;;;;7000:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7000:219:19;-1:-1:-1;;;;;7000:219:19;;;;;;;;;;;;;;;;2284:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2284:194:19;-1:-1:-1;;;;;2284:194:19;;;;;;;;;;;;578:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;578:35:19;;;;;;;;;;;;;;;;;;;;;;;8191:595;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8191:595:19;-1:-1:-1;;;;;8191:595:19;;;;;;;;;;;5508:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5508:193:19;-1:-1:-1;;;;;5508:193:19;;;;;;;;;;;;;;3351:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3351:148:19;-1:-1:-1;;;;;3351:148:19;;;;;;;4339:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4339:169:19;-1:-1:-1;;;;;4339:169:19;;;;;;;;;9096:550;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9096:550:19;;;;;;;;;4514:988;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4514:988:19;-1:-1:-1;;;;;4514:988:19;;;;;;;;;;;;;7275:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7275:315:19;-1:-1:-1;;;;;7275:315:19;;;;;;;;;;;2091:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2091:187:19;-1:-1:-1;;;;;2091:187:19;;;;;;;;;3861:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3861:228:19;-1:-1:-1;;;;;3861:228:19;;;;;;;;;535:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;535:37:19;;;;1345:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1345:81:19;;;;;;;;;2958:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2958:387:19;-1:-1:-1;;;;;2958:387:19;;;;;;;;;;;;;;;;7650:495;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7650:495:19;-1:-1:-1;;;;;7650:495:19;;;;;;;;;;;4095:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4095:238:19;-1:-1:-1;;;;;4095:238:19;;;;;;;;;;;2484:468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2484:468:19;-1:-1:-1;;;;;2484:468:19;;;;;;;;;;;;;1465:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1465:31:19;;;;;;;;-1:-1:-1;;;;;1465:31:19;;;;;;;;;;;;;;1172:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1172:51:19;;;;;3505:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3505:350:19;-1:-1:-1;;;;;3505:350:19;;;;;;;;;485:44;;;;;;;;;;;;;;;;;;;:::o;5707:1287::-;5858:4;5875:15;5948:13;6016:17;6157:20;5919:8;5929:7;5902:35;;;;;;-1:-1:-1;;;;;5902:35:19;-1:-1:-1;;;;;5902:35:19;-1:-1:-1;;;5902:35:19;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5902:35:19;;;5892:46;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5892:46:19;;;;;;;;;;;;;;;;5875:63;;5991:6;5999:5;5974:31;;;;;;-1:-1:-1;;;;;5974:31:19;-1:-1:-1;;;;;5974:31:19;-1:-1:-1;;;5974:31:19;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5974:31:19;;;5964:42;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5964:42:19;;;;;;;;;;;;6063:10;-1:-1:-1;;;6046:35:19;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6046:35:19;;;;;;;;6036:46;;5964:42;;-1:-1:-1;6046:35:19;;-1:-1:-1;6046:35:19;;-1:-1:-1;6046:35:19;;6036:46;;;-1:-1:-1;6036:46:19;6046:35;6036:46;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6036:46:19;;;;;;;;;;;;;-1:-1:-1;6100:16:19;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;;6036:46;;-1:-1:-1;;;;6100:45:19;;-1:-1:-1;6092:54:19;;-1:-1:-1;6092:54:19;;;;;6180:7;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;6180:7:19;;;;:20;;:28;;;;;;;;;;;;;;;:7;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2