UNPKG

@josojo/forkonomics-contracts

Version:
728 lines 1.15 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": "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": "0x60806040523480156200001157600080fd5b5060405162001e7a38038062001e7a833981016040818152825160208085015160058054600160a060020a031916600160a060020a0380861691909117918290557f176b6f010000000000000000000000000000000000000000000000000000000087529451939691909101946000948594859485949092169263176b6f0192600480830193919282900301818787803b158015620000af57600080fd5b505af1158015620000c4573d6000803e3d6000fd5b505050506040513d6020811015620000db57600080fd5b505185519094509250600c83106200015457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f20746f6f206d616e792066756e64696e67206163636f756e7473000000000000604482015290519081900360640190fd5b600091505b82821015620002645784828151811015156200017157fe5b9060200190602002015160006040516020018083600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310620001fd5780518252601f199092019160209182019101620001dc565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a8152808352848120828252909252929020805465befe6f6720009081019091556004805490910190555060019490940193925062000159915050565b505050505050611c00806200027a6000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806317d287e0146101cc57806318160ddd146102135780631b6672d21461023a5780631c8d5d381461026a578063313ce5671461029457806338487803146102bf578063401e3367146102e95780634d30b6be1461031657806357cfeeee1461033a57806366422c47146103615780636dd265a51461037f5780638180f2fc146103ac578063911651ac146103d357806395d89b41146103fa578063990861831461040f578063a53171a41461042d578063c34719791461044b578063cf54a3d31461047b578063d0c91487146104a5578063d1fe5313146104cf578063d440796e146104fc578063e10db5111461052d578063f2482e2b14610545575b600080fd5b34801561014e57600080fd5b5061015761056c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101ff600160a060020a036004358116906024351660443560643560843560a4356105a3565b604080519115158252519081900360200190f35b34801561021f57600080fd5b50610228610b34565b60408051918252519081900360200190f35b34801561024657600080fd5b506101ff600160a060020a0360043581169060243516604435606435608435610b3a565b34801561027657600080fd5b50610228600160a060020a0360043581169060243516604435610b55565b3480156102a057600080fd5b506102a9610b6d565b6040805160ff9092168252519081900360200190f35b3480156102cb57600080fd5b50610228600160a060020a0360043516602435604435606435610b72565b3480156102f557600080fd5b506101ff600160a060020a0360043581169060243516604435606435610cd0565b34801561032257600080fd5b50610228600160a060020a0360043516602435610cea565b34801561034657600080fd5b506101ff600160a060020a0360043516602435604435610cff565b34801561036d57600080fd5b506101ff600435602435604435610d0f565b34801561038b57600080fd5b506101ff600160a060020a0360043516602435604435606435608435610e3a565b3480156103b857600080fd5b506101ff600160a060020a03600435166024356044356112f9565b3480156103df57600080fd5b506101ff600160a060020a0360043516602435604435611309565b34801561040657600080fd5b506101576113aa565b34801561041b57600080fd5b506102286004356024356044356113e1565b34801561043957600080fd5b506101ff600435602435604435611404565b34801561045757600080fd5b50610228600160a060020a036004358116906024351660443560643560843561155e565b34801561048757600080fd5b506101ff600160a060020a03600435166024356044356064356116c4565b3480156104b157600080fd5b506101ff600160a060020a036004351660243560443560643561182d565b3480156104db57600080fd5b506101ff600160a060020a03600435166024356044356064356084356118cd565b34801561050857600080fd5b50610511611a64565b60408051600160a060020a039092168252519081900360200190f35b34801561053957600080fd5b50610228600435611a73565b34801561055157600080fd5b50610228600160a060020a0360043516602435604435611a85565b60408051808201909152600c81527f5265616c697479546f6b656e0000000000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106225780518252601f199092019160209182019101610603565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106c85780518252601f1990920191602091820191016106a9565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106107495780518252601f19909201916020918201910161072a565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b111591506107a3905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b15801561080a57600080fd5b505af115801561081e573d6000803e3d6000fd5b505050506040513d602081101561083457600080fd5b50519050660775f05a074000891115610897576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b50511515610980576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000848152600260205260409020548110156109e6576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b6109f1848a8a610d0f565b1515610a47576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610aa4908a611bc2565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610b4b868686868660006105a3565b9695505050505050565b6000610b6584848460008061155e565b949350505050565b601281565b60408051606060020a600160a060020a03871602602080830191909152603480830187905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310610bdd5780518252601f199092019160209182019101610bbe565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b8415801590610c205750848414155b15610cc4576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610c9157600080fd5b505af1158015610ca5573d6000803e3d6000fd5b505050506040513d6020811015610cbb57600080fd5b50519450610c11565b841515610b4b57600080fd5b6000610ce1858585856000806105a3565b95945050505050565b6000610cf883836000611a85565b9392505050565b6000610b65848484600080610e3a565b60008080660775f05a074000851115610d72576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b8315610e2c57600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b50519350808212610e275760019250610e31565b610d79565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b158015610ea757600080fd5b505af1158015610ebb573d6000803e3d6000fd5b505050506040513d6020811015610ed157600080fd5b50519150660775f05a074000871115610f5a576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610fc157600080fd5b505af1158015610fd5573d6000803e3d6000fd5b505050506040513d6020811015610feb57600080fd5b50511515611043576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b6020831061109f5780518252601f199092019160209182019101611080565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600081815260029092529290205491945050841015915061115a9050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b611165818888610d0f565b15156111bb576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106112525780518252601f199092019160209182019101611233565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b6000610b658484846000806118cd565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610b659392909182918401908083835b602083106113765780518252601f199092019160209182019101611357565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484610d0f565b60408051808201909152600381527f524c540000000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b600554604080517f0236b8170000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691630236b8179160248082019260209290919082900301818787803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b5051116114a557600080fd5b60008281526001602090815260408083208151606060020a33028185015260348082018a905283518083039091018152605490910192839052805188959294929391928291908401908083835b602083106115115780518252601f1990920191602091820191016114f2565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000208054949094019093555060019695505050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106115c95780518252601f1990920191602091820191016115aa565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061166f5780518252601f199092019160209182019101611650565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b60408051606060020a600160a060020a038716026020808301919091526034808301879052835180840390910181526054909201928390528151600093849392909182918401908083835b6020831061172e5780518252601f19909201916020918201910161170f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b831580159061176d5750838314155b1561181f576000848152600160209081526040808320848452909152812054131561179b5760019150611824565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b505050506040513d602081101561181657600080fd5b5051935061175e565b600091505b50949350505050565b60408051606060020a600160a060020a038716026020808301919091526034808301859052835180840390910181526054909201928390528151600093610ce19392909182918401908083835b602083106118995780518252601f19909201916020918201910161187a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585610d0f565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106119385780518252601f199092019160209182019101611919565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b602083106119b95780518252601f19909201916020918201910161199a565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610b65576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b60208310611aff5780518252601f199092019160209182019101611ae0565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b158015611b8f57600080fd5b505af1158015611ba3573d6000803e3d6000fd5b505050506040513d6020811015611bb957600080fd5b50519350611a89565b600082821115611bce57fe5b509003905600a165627a7a72305820a31a7017d183c33b71d43593cc4f8bf736a1607efff86e1c84b987a7329a0cc80029", "deployedBytecode": "0x60806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806317d287e0146101cc57806318160ddd146102135780631b6672d21461023a5780631c8d5d381461026a578063313ce5671461029457806338487803146102bf578063401e3367146102e95780634d30b6be1461031657806357cfeeee1461033a57806366422c47146103615780636dd265a51461037f5780638180f2fc146103ac578063911651ac146103d357806395d89b41146103fa578063990861831461040f578063a53171a41461042d578063c34719791461044b578063cf54a3d31461047b578063d0c91487146104a5578063d1fe5313146104cf578063d440796e146104fc578063e10db5111461052d578063f2482e2b14610545575b600080fd5b34801561014e57600080fd5b5061015761056c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101ff600160a060020a036004358116906024351660443560643560843560a4356105a3565b604080519115158252519081900360200190f35b34801561021f57600080fd5b50610228610b34565b60408051918252519081900360200190f35b34801561024657600080fd5b506101ff600160a060020a0360043581169060243516604435606435608435610b3a565b34801561027657600080fd5b50610228600160a060020a0360043581169060243516604435610b55565b3480156102a057600080fd5b506102a9610b6d565b6040805160ff9092168252519081900360200190f35b3480156102cb57600080fd5b50610228600160a060020a0360043516602435604435606435610b72565b3480156102f557600080fd5b506101ff600160a060020a0360043581169060243516604435606435610cd0565b34801561032257600080fd5b50610228600160a060020a0360043516602435610cea565b34801561034657600080fd5b506101ff600160a060020a0360043516602435604435610cff565b34801561036d57600080fd5b506101ff600435602435604435610d0f565b34801561038b57600080fd5b506101ff600160a060020a0360043516602435604435606435608435610e3a565b3480156103b857600080fd5b506101ff600160a060020a03600435166024356044356112f9565b3480156103df57600080fd5b506101ff600160a060020a0360043516602435604435611309565b34801561040657600080fd5b506101576113aa565b34801561041b57600080fd5b506102286004356024356044356113e1565b34801561043957600080fd5b506101ff600435602435604435611404565b34801561045757600080fd5b50610228600160a060020a036004358116906024351660443560643560843561155e565b34801561048757600080fd5b506101ff600160a060020a03600435166024356044356064356116c4565b3480156104b157600080fd5b506101ff600160a060020a036004351660243560443560643561182d565b3480156104db57600080fd5b506101ff600160a060020a03600435166024356044356064356084356118cd565b34801561050857600080fd5b50610511611a64565b60408051600160a060020a039092168252519081900360200190f35b34801561053957600080fd5b50610228600435611a73565b34801561055157600080fd5b50610228600160a060020a0360043516602435604435611a85565b60408051808201909152600c81527f5265616c697479546f6b656e0000000000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106225780518252601f199092019160209182019101610603565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106106c85780518252601f1990920191602091820191016106a9565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106107495780518252601f19909201916020918201910161072a565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b111591506107a3905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b15801561080a57600080fd5b505af115801561081e573d6000803e3d6000fd5b505050506040513d602081101561083457600080fd5b50519050660775f05a074000891115610897576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b50511515610980576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000848152600260205260409020548110156109e6576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b6109f1848a8a610d0f565b1515610a47576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610aa4908a611bc2565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610b4b868686868660006105a3565b9695505050505050565b6000610b6584848460008061155e565b949350505050565b601281565b60408051606060020a600160a060020a03871602602080830191909152603480830187905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310610bdd5780518252601f199092019160209182019101610bbe565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b8415801590610c205750848414155b15610cc4576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610c9157600080fd5b505af1158015610ca5573d6000803e3d6000fd5b505050506040513d6020811015610cbb57600080fd5b50519450610c11565b841515610b4b57600080fd5b6000610ce1858585856000806105a3565b95945050505050565b6000610cf883836000611a85565b9392505050565b6000610b65848484600080610e3a565b60008080660775f05a074000851115610d72576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b8315610e2c57600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b50519350808212610e275760019250610e31565b610d79565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b158015610ea757600080fd5b505af1158015610ebb573d6000803e3d6000fd5b505050506040513d6020811015610ed157600080fd5b50519150660775f05a074000871115610f5a576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610fc157600080fd5b505af1158015610fd5573d6000803e3d6000fd5b505050506040513d6020811015610feb57600080fd5b50511515611043576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b6020831061109f5780518252601f199092019160209182019101611080565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600081815260029092529290205491945050841015915061115a9050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b611165818888610d0f565b15156111bb576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106112525780518252601f199092019160209182019101611233565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b6000610b658484846000806118cd565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610b659392909182918401908083835b602083106113765780518252601f199092019160209182019101611357565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484610d0f565b60408051808201909152600381527f524c540000000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b600554604080517f0236b8170000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691630236b8179160248082019260209290919082900301818787803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b5051116114a557600080fd5b60008281526001602090815260408083208151606060020a33028185015260348082018a905283518083039091018152605490910192839052805188959294929391928291908401908083835b602083106115115780518252601f1990920191602091820191016114f2565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000208054949094019093555060019695505050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106115c95780518252601f1990920191602091820191016115aa565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061166f5780518252601f199092019160209182019101611650565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b60408051606060020a600160a060020a038716026020808301919091526034808301879052835180840390910181526054909201928390528151600093849392909182918401908083835b6020831061172e5780518252601f19909201916020918201910161170f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b831580159061176d5750838314155b1561181f576000848152600160209081526040808320848452909152812054131561179b5760019150611824565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b505050506040513d602081101561181657600080fd5b5051935061175e565b600091505b50949350505050565b60408051606060020a600160a060020a038716026020808301919091526034808301859052835180840390910181526054909201928390528151600093610ce19392909182918401908083835b602083106118995780518252601f19909201916020918201910161187a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585610d0f565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106119385780518252601f199092019160209182019101611919565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b602083106119b95780518252601f19909201916020918201910161199a565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610b65576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b60208310611aff5780518252601f199092019160209182019101611ae0565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b158015611b8f57600080fd5b505af1158015611ba3573d6000803e3d6000fd5b505050506040513d6020811015611bb957600080fd5b50519350611a89565b600082821115611bce57fe5b509003905600a165627a7a72305820a31a7017d183c33b71d43593cc4f8bf736a1607efff86e1c84b987a7329a0cc80029", "sourceMap": "120:9436:3:-;;;1503:582;8:9:-1;5:2;;;30:1;27;20:12;5:2;1503:582:3;;;;;;;;;;;;;;;;;;;;;;;1598:7;:18;;-1:-1:-1;;;;;;1598:18:3;-1:-1:-1;;;;;1598:18:3;;;;;;;;;;;1654:27;;;;;1503:582;;;;;;;-1:-1:-1;;;;;;;;1654:7:3;;;;:25;;:27;;;;;1503:582;;1654:27;;;;;-1:-1:-1;1654:7:3;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;1654:27:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1654:27:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1654:27:3;1711:29;;1654:27;;-1:-1:-1;1711:29:3;-1:-1:-1;1771:2:3;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:3;-1:-1:-1;;;;;1895:54:3;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1895:54:3;;;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:3;;;;;;;;;;;;;-1:-1:-1;1964:32:3;;;;;;;;;:41;;;;;;;;;:60;;2009:15;1964:60;;;;;;2038:11;:30;;;;;;;-1:-1:-1;;1848:3:3;;;;;1885:65;-1:-1:-1;1815:264:3;;-1:-1:-1;;1815:264:3;;1503:582;;;;;;120:9436;;;;;;", "deployedSourceMap": "120:9436:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;485:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:44:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:1287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5707:1287:3;-1:-1:-1;;;;;5707:1287:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1433:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1433:26:3;;;;;;;;;;;;;;;;;;;;7000:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7000:219:3;-1:-1:-1;;;;;7000:219:3;;;;;;;;;;;;;;;;2284:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2284:194:3;-1:-1:-1;;;;;2284:194:3;;;;;;;;;;;;578:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;578:35:3;;;;;;;;;;;;;;;;;;;;;;;8161:532;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8161:532:3;-1:-1:-1;;;;;8161:532:3;;;;;;;;;;;5508:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5508:193:3;-1:-1:-1;;;;;5508:193:3;;;;;;;;;;;;;;3351:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3351:148:3;-1:-1:-1;;;;;3351:148:3;;;;;;;4339:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4339:169:3;-1:-1:-1;;;;;4339:169:3;;;;;;;;;9003:550;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9003:550:3;;;;;;;;;4514:988;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4514:988:3;-1:-1:-1;;;;;4514:988:3;;;;;;;;;;;;;2091:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2091:187:3;-1:-1:-1;;;;;2091:187:3;;;;;;;;;3861:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3861:228:3;-1:-1:-1;;;;;3861:228:3;;;;;;;;;535:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;535:37:3;;;;1345:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1345:81:3;;;;;;;;;7275:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7275:297:3;;;;;;;;;2958:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2958:387:3;-1:-1:-1;;;;;2958:387:3;;;;;;;;;;;;;;;;7632:483;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7632:483:3;-1:-1:-1;;;;;7632:483:3;;;;;;;;;;;4095:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4095:238:3;-1:-1:-1;;;;;4095:238:3;;;;;;;;;;;2484:468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2484:468:3;-1:-1:-1;;;;;2484:468:3;;;;;;;;;;;;;1465:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1465:31:3;;;;;;;;-1:-1:-1;;;;;1465:31:3;;;;;;;;;;;;;;1172:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1172:51:3;;;;;3505:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3505:350:3;-1:-1:-1;;;;;3505:350:3;;;;;;;;;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:3;-1:-1:-1;;;;;5902:35:3;-1:-1:-1;;;5902:35:3;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5902:35:3;;;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:3;;;;;;;;;;;;;;;;5875:63;;5991:6;5999:5;5974:31;;;;;;-1:-1:-1;;;;;5974:31:3;-1:-1:-1;;;;;5974:31:3;-1:-1:-1;;;5974:31:3;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5974:31:3;;;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:3;;;;;;;;;;;;6063:10;-1:-1:-1;;;6046:35:3;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6046:35:3;;;;;;;;6036:46;;5964:42;;-1:-1:-1;6046:35:3;;-1:-1:-1;6046:35:3;;-1:-1:-1;6046:35:3;;6036:46;;;-1:-1:-1;6036:46:3;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:3;;;;;;;;;;;;;-1:-1:-1;6100:16:3;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;;6036:46;;-1:-1:-1;;;;6100:45:3;;-1:-1:-1;6092:54:3;;-1:-1:-1;6092:54:3;;;;;6180:7;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;6180:7:3;;;;:20;;:28;;;;;;;;;;;;;;;:7;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;6180:28:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6180:28:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6180:28:3;;-1:-1:-1;6237:16:3;6227:26;;;6219:70;;;;;-1:-1:-1;;;;;6219:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6307:7;;:31;;;;;;;;;;;;;;-1:-1:-1;;;;;6307:7:3;;;;:23;;:31;;;;;;;;;;;;;;;:7;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;6307:31:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6307:31:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6307:31:3;6299:61;;;;;;;-1:-1:-1;;;;;6299:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:25;;;;:16;:25;;;;;;6399:41;;;6391:78;;;;;-1:-1:-1;;;;;6391:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6517:45;6537:7;6547:6;6555;6517:18;:45::i;:::-;6509:82;;;;;;;-1:-1:-1;;;;;6509:82:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6635:25;;;;:16;:25;;;;;;;;:40;;;6685:21;;;;;;;;;:30;;;;;;;;:48;;;;;;;6743:28;;;;;;:46;;;;;;6838:16;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;:47;;6685:48;6838:39;:47::i;:::-;6800:16;;;;:7;:16;;;;;;;;:27;;;;;;;;:35;;;;;;;;:85;;;;6901:64;;-1:-1:-1;;;;;6901:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6983:4:3;;5707:1287;-1:-1:-1;;;;;;;;;;5707:1287:3:o;1433:26: