| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| 0x3baebd0d52293c99a1806046edfd573dc719cc0c166fd674cfee27e42d688146 | Transfer | (pending) | 5 secs ago | IN | 0 ETH | (Pending) | |||
| Transfer | 25973769 | 24 mins ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 25973686 | 40 mins ago | IN | 0 ETH | 0.00004274 | ||||
| Transfer | 25973647 | 48 mins ago | IN | 0 ETH | 0.00000442 | ||||
| Transfer | 25973633 | 51 mins ago | IN | 0 ETH | 0.00000411 | ||||
| Transfer | 25972494 | 4 hrs ago | IN | 0 ETH | 0.00000427 | ||||
| Transfer | 25972489 | 4 hrs ago | IN | 0 ETH | 0.00000427 | ||||
| Transfer | 25972459 | 4 hrs ago | IN | 0 ETH | 0.00000427 | ||||
| Transfer | 25972459 | 4 hrs ago | IN | 0 ETH | 0.00000427 | ||||
| Transfer | 25972448 | 4 hrs ago | IN | 0 ETH | 0.00000278 | ||||
| Transfer | 25972448 | 4 hrs ago | IN | 0 ETH | 0.00000278 | ||||
| Transfer | 25972438 | 4 hrs ago | IN | 0 ETH | 0.00004153 | ||||
| Transfer | 25972423 | 4 hrs ago | IN | 0 ETH | 0.00005954 | ||||
| Transfer | 25972359 | 5 hrs ago | IN | 0 ETH | 0.00000589 | ||||
| Transfer | 25972355 | 5 hrs ago | IN | 0 ETH | 0.00004163 | ||||
| Transfer | 25972330 | 5 hrs ago | IN | 0 ETH | 0.00000746 | ||||
| Transfer | 25972328 | 5 hrs ago | IN | 0 ETH | 0.00000277 | ||||
| Transfer | 25972328 | 5 hrs ago | IN | 0 ETH | 0.00000277 | ||||
| Transfer | 25972327 | 5 hrs ago | IN | 0 ETH | 0.00000508 | ||||
| Transfer | 25972319 | 5 hrs ago | IN | 0 ETH | 0.00000195 | ||||
| Transfer | 25972317 | 5 hrs ago | IN | 0 ETH | 0.00000277 | ||||
| Transfer | 25972311 | 5 hrs ago | IN | 0 ETH | 0.00005971 | ||||
| Transfer | 25972301 | 5 hrs ago | IN | 0 ETH | 0.00000779 | ||||
| Transfer | 25972300 | 5 hrs ago | IN | 0 ETH | 0.00005969 | ||||
| Transfer | 25972299 | 5 hrs ago | IN | 0 ETH | 0.00000271 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"prevShareTokenAddress","type":"address"},{"internalType":"address","name":"defaultAdmin","type":"address"},{"internalType":"address","name":"pauser","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"uint256","name":"maxSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"DefaultAdminAddressZero","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20ExceededCap","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20InvalidCap","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[],"name":"PrevShareTokenAddressZero","type":"error"},{"inputs":[],"name":"PrevShareTokenContractNotLocked","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MigrateAllowance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MigrateBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PREV_DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowanceMigrated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceMigrated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"prevShareToken","outputs":[{"internalType":"contract IPrevShareToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6101a0604052348015610010575f5ffd5b506040516145f13803806145f1833981810160405281019061003291906106d9565b6040518060400160405280600a81526020017f5368617265546f6b656e00000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506100ad6103c960201b60201c565b600a6100b991906108b8565b846100c49190610902565b6040518060400160405280600a81526020017f5368617265546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5348520000000000000000000000000000000000000000000000000000000000815250816003908161013f9190610b77565b50806004908161014f9190610b77565b5050505f8103610196575f6040517f392e1e2700000000000000000000000000000000000000000000000000000000815260040161018d9190610c7f565b60405180910390fd5b8060808181525050506101b36007836103d160201b90919060201c565b61014081815250506101cf6008826103d160201b90919060201c565b610160818152505081805190602001206101008181525050808051906020012061012081815250504660c0818152505061020d61041e60201b60201c565b60a081815250503073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250505050505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036102b0576040517ff6768d8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610315576040517fa307074e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166101808173ffffffffffffffffffffffffffffffffffffffff168152505061035c5f5f1b8561047960201b60201c565b5061038d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8461047960201b60201c565b506103be7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68361047960201b60201c565b505050505050610e38565b5f6012905090565b5f6020835110156103f2576103eb8361056f60201b60201c565b9050610418565b82610402836105d460201b60201c565b5f0190816104109190610b77565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6101005161012051463060405160200161045e959493929190610cce565b60405160208183030381529060405280519060200120905090565b5f61048a83836105dd60201b60201c565b61056557600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061050261064160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610569565b5f90505b92915050565b5f5f829050601f815111156105bb57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016105b29190610d85565b60405180910390fd5b8051816105c790610dd2565b5f1c175f1b915050919050565b5f819050919050565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106758261064c565b9050919050565b6106858161066b565b811461068f575f5ffd5b50565b5f815190506106a08161067c565b92915050565b5f819050919050565b6106b8816106a6565b81146106c2575f5ffd5b50565b5f815190506106d3816106af565b92915050565b5f5f5f5f5f60a086880312156106f2576106f1610648565b5b5f6106ff88828901610692565b955050602061071088828901610692565b945050604061072188828901610692565b935050606061073288828901610692565b9250506080610743888289016106c5565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156107d2578086048111156107ae576107ad610750565b5b60018516156107bd5780820291505b80810290506107cb8561077d565b9450610792565b94509492505050565b5f826107ea57600190506108a5565b816107f7575f90506108a5565b816001811461080d576002811461081757610846565b60019150506108a5565b60ff84111561082957610828610750565b5b8360020a9150848211156108405761083f610750565b5b506108a5565b5060208310610133831016604e8410600b841016171561087b5782820a90508381111561087657610875610750565b5b6108a5565b6108888484846001610789565b9250905081840481111561089f5761089e610750565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6108c2826106a6565b91506108cd836108ac565b92506108fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846107db565b905092915050565b5f61090c826106a6565b9150610917836106a6565b9250828202610925816106a6565b9150828204841483151761093c5761093b610750565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109be57607f821691505b6020821081036109d1576109d061097a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826109f8565b610a3d86836109f8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610a78610a73610a6e846106a6565b610a55565b6106a6565b9050919050565b5f819050919050565b610a9183610a5e565b610aa5610a9d82610a7f565b848454610a04565b825550505050565b5f5f905090565b610abc610aad565b610ac7818484610a88565b505050565b5b81811015610aea57610adf5f82610ab4565b600181019050610acd565b5050565b601f821115610b2f57610b00816109d7565b610b09846109e9565b81016020851015610b18578190505b610b2c610b24856109e9565b830182610acc565b50505b505050565b5f82821c905092915050565b5f610b4f5f1984600802610b34565b1980831691505092915050565b5f610b678383610b40565b9150826002028217905092915050565b610b8082610943565b67ffffffffffffffff811115610b9957610b9861094d565b5b610ba382546109a7565b610bae828285610aee565b5f60209050601f831160018114610bdf575f8415610bcd578287015190505b610bd78582610b5c565b865550610c3e565b601f198416610bed866109d7565b5f5b82811015610c1457848901518255600182019150602085019450602081019050610bef565b86831015610c315784890151610c2d601f891682610b40565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b5f610c69610c64610c5f84610c46565b610a55565b6106a6565b9050919050565b610c7981610c4f565b82525050565b5f602082019050610c925f830184610c70565b92915050565b5f819050919050565b610caa81610c98565b82525050565b610cb9816106a6565b82525050565b610cc88161066b565b82525050565b5f60a082019050610ce15f830188610ca1565b610cee6020830187610ca1565b610cfb6040830186610ca1565b610d086060830185610cb0565b610d156080830184610cbf565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610d5782610943565b610d618185610d1f565b9350610d71818560208601610d2f565b610d7a81610d3d565b840191505092915050565b5f6020820190508181035f830152610d9d8184610d4d565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f610dc98251610c98565b80915050919050565b5f610ddc82610da5565b82610de684610daf565b9050610df181610dbe565b92506020821015610e3157610e2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026109f8565b831692505b5050919050565b60805160a05160c05160e0516101005161012051610140516101605161018051613738610eb95f395f81816109d30152818161111c01528181611371015281816118d70152611cd401525f611a9401525f611a5901525f611fb301525f611f9201525f6115d501525f61162b01525f61165401525f61092401526137385ff3fe608060405234801561000f575f5ffd5b50600436106101f9575f3560e01c80635fcb7e811161011857806391d14854116100ab578063d505accf1161007a578063d505accf146105cd578063d5391393146105e9578063d547741f14610607578063dd62ed3e14610623578063e63ab1e914610653576101f9565b806391d148541461053157806395d89b4114610561578063a217fddf1461057f578063a9059cbb1461059d576101f9565b806379cc6790116100e757806379cc6790146104b75780637ecebe00146104d35780638456cb591461050357806384b0196e1461050d576101f9565b80635fcb7e811461040957806362d00329146104395780636a31cd741461045757806370a0823114610487576101f9565b8063355274ea116101905780633f4ba83a1161015f5780633f4ba83a146103a957806340c10f19146103b357806342966c68146103cf5780635c975abb146103eb576101f9565b8063355274ea146103335780633644e5151461035157806336568abe1461036f5780633e857d781461038b576101f9565b806323b872dd116101cc57806323b872dd14610299578063248a9ca3146102c95780632f2ff15d146102f9578063313ce56714610315576101f9565b806301ffc9a7146101fd57806306fdde031461022d578063095ea7b31461024b57806318160ddd1461027b575b5f5ffd5b61021760048036038101906102129190612a9f565b610671565b6040516102249190612ae4565b60405180910390f35b6102356106ea565b6040516102429190612b6d565b60405180910390f35b61026560048036038101906102609190612c1a565b61077a565b6040516102729190612ae4565b60405180910390f35b6102836108a7565b6040516102909190612c67565b60405180910390f35b6102b360048036038101906102ae9190612c80565b6108b0565b6040516102c09190612ae4565b60405180910390f35b6102e360048036038101906102de9190612d03565b6108da565b6040516102f09190612d3d565b60405180910390f35b610313600480360381019061030e9190612d56565b6108f7565b005b61031d610919565b60405161032a9190612daf565b60405180910390f35b61033b610921565b6040516103489190612c67565b60405180910390f35b610359610948565b6040516103669190612d3d565b60405180910390f35b61038960048036038101906103849190612d56565b610956565b005b6103936109d1565b6040516103a09190612e23565b60405180910390f35b6103b16109f5565b005b6103cd60048036038101906103c89190612c1a565b610a2a565b005b6103e960048036038101906103e49190612e3c565b610a63565b005b6103f3610a79565b6040516104009190612ae4565b60405180910390f35b610423600480360381019061041e9190612e67565b610a8e565b6040516104309190612ae4565b60405180910390f35b610441610aab565b60405161044e9190612c67565b60405180910390f35b610471600480360381019061046c9190612e92565b610ab0565b60405161047e9190612ae4565b60405180910390f35b6104a1600480360381019061049c9190612e67565b610ada565b6040516104ae9190612c67565b60405180910390f35b6104d160048036038101906104cc9190612c1a565b610b5e565b005b6104ed60048036038101906104e89190612e67565b610b81565b6040516104fa9190612c67565b60405180910390f35b61050b610b92565b005b610515610bc7565b6040516105289796959493929190612fd0565b60405180910390f35b61054b60048036038101906105469190612d56565b610c6c565b6040516105589190612ae4565b60405180910390f35b610569610cd0565b6040516105769190612b6d565b60405180910390f35b610587610d60565b6040516105949190612d3d565b60405180910390f35b6105b760048036038101906105b29190612c1a565b610d66565b6040516105c49190612ae4565b60405180910390f35b6105e760048036038101906105e2919061307c565b610d83565b005b6105f1610eb5565b6040516105fe9190612d3d565b60405180910390f35b610621600480360381019061061c9190612d56565b610ed9565b005b61063d60048036038101906106389190612e92565b610efb565b60405161064a9190612c67565b60405180910390f35b61065b610fbe565b6040516106689190612d3d565b60405180910390f35b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106e357506106e282610fe2565b5b9050919050565b6060600380546106f990613146565b80601f016020809104026020016040519081016040528092919081815260200182805461072590613146565b80156107705780601f1061074757610100808354040283529160200191610770565b820191905f5260205f20905b81548152906001019060200180831161075357829003601f168201915b5050505050905090565b5f600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610895576001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61089f838361104b565b905092915050565b5f600254905090565b5f6108ba8461106d565b506108c5843361124c565b506108d18484846114a6565b90509392505050565b5f60065f8381526020019081526020015f20600101549050919050565b610900826108da565b610909816114d4565b61091383836114e8565b50505050565b5f6012905090565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f6109516115d2565b905090565b61095e611688565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109c2576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109cc828261168f565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a1f816114d4565b610a27611779565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a54816114d4565b610a5e83836117da565b505050565b610a6c3361106d565b50610a7681611859565b50565b5f60055f9054906101000a900460ff16905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b600281565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b3a57610b338261186d565b9050610b59565b610b43826118b2565b610b4c8361186d565b610b5691906131a3565b90505b919050565b610b678261106d565b50610b72823361124c565b50610b7d8282611988565b5050565b5f610b8b826119a8565b9050919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bbc816114d4565b610bc46119ee565b50565b5f6060805f5f5f6060610bd8611a50565b610be0611a8b565b46305f5f1b5f67ffffffffffffffff811115610bff57610bfe6131d6565b5b604051908082528060200260200182016040528015610c2d5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610cdf90613146565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0b90613146565b8015610d565780601f10610d2d57610100808354040283529160200191610d56565b820191905f5260205f20905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b5f5f1b81565b5f610d703361106d565b50610d7b8383611ac6565b905092915050565b600b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e9d576001600b5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b610eac87878787878787611ae8565b50505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610ee2826108da565b610eeb816114d4565b610ef5838361168f565b50505050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610f9757610f908383611c2d565b9050610fb8565b610fa18383611caf565b610fab8484611c2d565b610fb591906131a3565b90505b92915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5f611055611688565b9050611062818585611d88565b600191505092915050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156110c5575f9050611247565b6001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e78dd6f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611183573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a7919061322d565b6111dd576040517f37753fae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6111e7836118b2565b90506111f383826117da565b8273ffffffffffffffffffffffffffffffffffffffff167f08fd6ca98f4be501258ca5b1ae90d6081412ce8b355711b29f8d0d79f920970f826040516112399190612c67565b60405180910390a260019150505b919050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112df575f90506114a0565b6001600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e78dd6f16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fc919061322d565b611432576040517f37753fae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61143d8484611caf565b905061144a848483611d88565b8373ffffffffffffffffffffffffffffffffffffffff167fc8d52e49b549f3c0be7c05182f4546335a13c32ea1a57955e3d596db37ef63c08483604051611492929190613258565b60405180910390a260019150505b92915050565b5f5f6114b0611688565b90506114bd858285611d9a565b6114c8858585611e2d565b60019150509392505050565b6114e5816114e0611688565b611f1d565b50565b5f6114f38383610c6c565b6115c857600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611565611688565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506115cc565b5f90505b92915050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561164d57507f000000000000000000000000000000000000000000000000000000000000000046145b1561167a577f00000000000000000000000000000000000000000000000000000000000000009050611685565b611682611f6e565b90505b90565b5f33905090565b5f61169a8383610c6c565b1561176f575f60065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061170c611688565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611773565b5f90505b92915050565b611781612003565b5f60055f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6117c3611688565b6040516117d0919061327f565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361184a575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611841919061327f565b60405180910390fd5b6118555f8383612043565b5050565b61186a611864611688565b82612053565b50565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f6002600a6118c191906133c7565b6118c9610919565b600a6118d59190613411565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161192e919061327f565b602060405180830381865afa158015611949573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d919061346f565b611977919061349a565b6119819190613508565b9050919050565b61199a82611994611688565b83611d9a565b6119a48282612053565b5050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6119f66120d2565b600160055f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a39611688565b604051611a46919061327f565b60405180910390a1565b6060611a8660077f000000000000000000000000000000000000000000000000000000000000000061211390919063ffffffff16565b905090565b6060611ac160087f000000000000000000000000000000000000000000000000000000000000000061211390919063ffffffff16565b905090565b5f5f611ad0611688565b9050611add818585611e2d565b600191505092915050565b83421115611b2d57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401611b249190612c67565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611b5b8c6121c0565b89604051602001611b7196959493929190613538565b6040516020818303038152906040528051906020012090505f611b9382612213565b90505f611ba28287878761222c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c1657808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611c0d929190613597565b60405180910390fd5b611c218a8a8a611d88565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6002600a611cbe91906133c7565b611cc6610919565b600a611cd29190613411565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e86866040518363ffffffff1660e01b8152600401611d2d929190613597565b602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c919061346f565b611d76919061349a565b611d809190613508565b905092915050565b611d95838383600161225a565b505050565b5f611da58484610efb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611e275781811015611e18578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611e0f939291906135be565b60405180910390fd5b611e2684848484035f61225a565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e9d575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611e94919061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f0d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611f04919061327f565b60405180910390fd5b611f18838383612043565b505050565b611f278282610c6c565b611f6a5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611f619291906135f3565b60405180910390fd5b5050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611fe895949392919061361a565b60405160208183030381529060405280519060200120905090565b61200b610a79565b612041576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61204e838383612429565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c3575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016120ba919061327f565b60405180910390fd5b6120ce825f83612043565b5050565b6120da610a79565b15612111576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff5f1b831461212f5761212883612441565b90506121ba565b81805461213b90613146565b80601f016020809104026020016040519081016040528092919081815260200182805461216790613146565b80156121b25780601f10612189576101008083540402835291602001916121b2565b820191905f5260205f20905b81548152906001019060200180831161219557829003601f168201915b505050505090505b92915050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f61222561221f6115d2565b836124b3565b9050919050565b5f5f5f5f61223c888888886124f3565b92509250925061224c82826125da565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122ca575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016122c1919061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361233a575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612331919061327f565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612423578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161241a9190612c67565b60405180910390a35b50505050565b6124316120d2565b61243c83838361273c565b505050565b60605f61244d836127df565b90505f602067ffffffffffffffff81111561246b5761246a6131d6565b5b6040519080825280601f01601f19166020018201604052801561249d5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c111561252f575f6003859250925092506125d0565b5f6001888888886040515f8152602001604052604051612552949392919061366b565b6020604051602081039080840390855afa158015612572573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125c3575f60015f5f1b935093509350506125d0565b805f5f5f1b935093509350505b9450945094915050565b5f60038111156125ed576125ec6136ae565b5b826003811115612600576125ff6136ae565b5b0315612738576001600381111561261a576126196136ae565b5b82600381111561262d5761262c6136ae565b5b03612664576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115612678576126776136ae565b5b82600381111561268b5761268a6136ae565b5b036126cf57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016126c69190612c67565b60405180910390fd5b6003808111156126e2576126e16136ae565b5b8260038111156126f5576126f46136ae565b5b0361273757806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161272e9190612d3d565b60405180910390fd5b5b5050565b61274783838361282d565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127da575f612783610921565b90505f61278e6108a7565b9050818111156127d75780826040517f9e79f8540000000000000000000000000000000000000000000000000000000081526004016127ce9291906136db565b60405180910390fd5b50505b505050565b5f5f60ff835f1c169050601f811115612824576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361287d578060025f82825461287191906131a3565b9250508190555061294b565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612906578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016128fd939291906135be565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612992578060025f82825403925050819055506129dc565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a399190612c67565b60405180910390a3505050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612a7e81612a4a565b8114612a88575f5ffd5b50565b5f81359050612a9981612a75565b92915050565b5f60208284031215612ab457612ab3612a46565b5b5f612ac184828501612a8b565b91505092915050565b5f8115159050919050565b612ade81612aca565b82525050565b5f602082019050612af75f830184612ad5565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612b3f82612afd565b612b498185612b07565b9350612b59818560208601612b17565b612b6281612b25565b840191505092915050565b5f6020820190508181035f830152612b858184612b35565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612bb682612b8d565b9050919050565b612bc681612bac565b8114612bd0575f5ffd5b50565b5f81359050612be181612bbd565b92915050565b5f819050919050565b612bf981612be7565b8114612c03575f5ffd5b50565b5f81359050612c1481612bf0565b92915050565b5f5f60408385031215612c3057612c2f612a46565b5b5f612c3d85828601612bd3565b9250506020612c4e85828601612c06565b9150509250929050565b612c6181612be7565b82525050565b5f602082019050612c7a5f830184612c58565b92915050565b5f5f5f60608486031215612c9757612c96612a46565b5b5f612ca486828701612bd3565b9350506020612cb586828701612bd3565b9250506040612cc686828701612c06565b9150509250925092565b5f819050919050565b612ce281612cd0565b8114612cec575f5ffd5b50565b5f81359050612cfd81612cd9565b92915050565b5f60208284031215612d1857612d17612a46565b5b5f612d2584828501612cef565b91505092915050565b612d3781612cd0565b82525050565b5f602082019050612d505f830184612d2e565b92915050565b5f5f60408385031215612d6c57612d6b612a46565b5b5f612d7985828601612cef565b9250506020612d8a85828601612bd3565b9150509250929050565b5f60ff82169050919050565b612da981612d94565b82525050565b5f602082019050612dc25f830184612da0565b92915050565b5f819050919050565b5f612deb612de6612de184612b8d565b612dc8565b612b8d565b9050919050565b5f612dfc82612dd1565b9050919050565b5f612e0d82612df2565b9050919050565b612e1d81612e03565b82525050565b5f602082019050612e365f830184612e14565b92915050565b5f60208284031215612e5157612e50612a46565b5b5f612e5e84828501612c06565b91505092915050565b5f60208284031215612e7c57612e7b612a46565b5b5f612e8984828501612bd3565b91505092915050565b5f5f60408385031215612ea857612ea7612a46565b5b5f612eb585828601612bd3565b9250506020612ec685828601612bd3565b9150509250929050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612f0481612ed0565b82525050565b612f1381612bac565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f4b81612be7565b82525050565b5f612f5c8383612f42565b60208301905092915050565b5f602082019050919050565b5f612f7e82612f19565b612f888185612f23565b9350612f9383612f33565b805f5b83811015612fc3578151612faa8882612f51565b9750612fb583612f68565b925050600181019050612f96565b5085935050505092915050565b5f60e082019050612fe35f83018a612efb565b8181036020830152612ff58189612b35565b905081810360408301526130098188612b35565b90506130186060830187612c58565b6130256080830186612f0a565b61303260a0830185612d2e565b81810360c08301526130448184612f74565b905098975050505050505050565b61305b81612d94565b8114613065575f5ffd5b50565b5f8135905061307681613052565b92915050565b5f5f5f5f5f5f5f60e0888a03121561309757613096612a46565b5b5f6130a48a828b01612bd3565b97505060206130b58a828b01612bd3565b96505060406130c68a828b01612c06565b95505060606130d78a828b01612c06565b94505060806130e88a828b01613068565b93505060a06130f98a828b01612cef565b92505060c061310a8a828b01612cef565b91505092959891949750929550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061315d57607f821691505b6020821081036131705761316f613119565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6131ad82612be7565b91506131b883612be7565b92508282019050808211156131d0576131cf613176565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61320c81612aca565b8114613216575f5ffd5b50565b5f8151905061322781613203565b92915050565b5f6020828403121561324257613241612a46565b5b5f61324f84828501613219565b91505092915050565b5f60408201905061326b5f830185612f0a565b6132786020830184612c58565b9392505050565b5f6020820190506132925f830184612f0a565b92915050565b5f8160011c9050919050565b5f5f8291508390505b60018511156132ed578086048111156132c9576132c8613176565b5b60018516156132d85780820291505b80810290506132e685613298565b94506132ad565b94509492505050565b5f8261330557600190506133c0565b81613312575f90506133c0565b8160018114613328576002811461333257613361565b60019150506133c0565b60ff84111561334457613343613176565b5b8360020a91508482111561335b5761335a613176565b5b506133c0565b5060208310610133831016604e8410600b84101617156133965782820a90508381111561339157613390613176565b5b6133c0565b6133a384848460016132a4565b925090508184048111156133ba576133b9613176565b5b81810290505b9392505050565b5f6133d182612be7565b91506133dc83612be7565b92506134097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846132f6565b905092915050565b5f61341b82612be7565b915061342683612d94565b92506134537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846132f6565b905092915050565b5f8151905061346981612bf0565b92915050565b5f6020828403121561348457613483612a46565b5b5f6134918482850161345b565b91505092915050565b5f6134a482612be7565b91506134af83612be7565b92508282026134bd81612be7565b915082820484148315176134d4576134d3613176565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61351282612be7565b915061351d83612be7565b92508261352d5761352c6134db565b5b828204905092915050565b5f60c08201905061354b5f830189612d2e565b6135586020830188612f0a565b6135656040830187612f0a565b6135726060830186612c58565b61357f6080830185612c58565b61358c60a0830184612c58565b979650505050505050565b5f6040820190506135aa5f830185612f0a565b6135b76020830184612f0a565b9392505050565b5f6060820190506135d15f830186612f0a565b6135de6020830185612c58565b6135eb6040830184612c58565b949350505050565b5f6040820190506136065f830185612f0a565b6136136020830184612d2e565b9392505050565b5f60a08201905061362d5f830188612d2e565b61363a6020830187612d2e565b6136476040830186612d2e565b6136546060830185612c58565b6136616080830184612f0a565b9695505050505050565b5f60808201905061367e5f830187612d2e565b61368b6020830186612da0565b6136986040830185612d2e565b6136a56060830184612d2e565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6040820190506136ee5f830185612c58565b6136fb6020830184612c58565b939250505056fea26469706673582212203e16934f25f705112135d993fe87b12719a19f20dc96ce5abba73672e5c886cd64736f6c634300081e0033000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a964000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c09101163234200000000000000000000000048ca14e70e32d81332754a4bd93389c4aea59636000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c0910116323420000000000000000000000000000000000000000000000000000000191bc3d00
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106101f9575f3560e01c80635fcb7e811161011857806391d14854116100ab578063d505accf1161007a578063d505accf146105cd578063d5391393146105e9578063d547741f14610607578063dd62ed3e14610623578063e63ab1e914610653576101f9565b806391d148541461053157806395d89b4114610561578063a217fddf1461057f578063a9059cbb1461059d576101f9565b806379cc6790116100e757806379cc6790146104b75780637ecebe00146104d35780638456cb591461050357806384b0196e1461050d576101f9565b80635fcb7e811461040957806362d00329146104395780636a31cd741461045757806370a0823114610487576101f9565b8063355274ea116101905780633f4ba83a1161015f5780633f4ba83a146103a957806340c10f19146103b357806342966c68146103cf5780635c975abb146103eb576101f9565b8063355274ea146103335780633644e5151461035157806336568abe1461036f5780633e857d781461038b576101f9565b806323b872dd116101cc57806323b872dd14610299578063248a9ca3146102c95780632f2ff15d146102f9578063313ce56714610315576101f9565b806301ffc9a7146101fd57806306fdde031461022d578063095ea7b31461024b57806318160ddd1461027b575b5f5ffd5b61021760048036038101906102129190612a9f565b610671565b6040516102249190612ae4565b60405180910390f35b6102356106ea565b6040516102429190612b6d565b60405180910390f35b61026560048036038101906102609190612c1a565b61077a565b6040516102729190612ae4565b60405180910390f35b6102836108a7565b6040516102909190612c67565b60405180910390f35b6102b360048036038101906102ae9190612c80565b6108b0565b6040516102c09190612ae4565b60405180910390f35b6102e360048036038101906102de9190612d03565b6108da565b6040516102f09190612d3d565b60405180910390f35b610313600480360381019061030e9190612d56565b6108f7565b005b61031d610919565b60405161032a9190612daf565b60405180910390f35b61033b610921565b6040516103489190612c67565b60405180910390f35b610359610948565b6040516103669190612d3d565b60405180910390f35b61038960048036038101906103849190612d56565b610956565b005b6103936109d1565b6040516103a09190612e23565b60405180910390f35b6103b16109f5565b005b6103cd60048036038101906103c89190612c1a565b610a2a565b005b6103e960048036038101906103e49190612e3c565b610a63565b005b6103f3610a79565b6040516104009190612ae4565b60405180910390f35b610423600480360381019061041e9190612e67565b610a8e565b6040516104309190612ae4565b60405180910390f35b610441610aab565b60405161044e9190612c67565b60405180910390f35b610471600480360381019061046c9190612e92565b610ab0565b60405161047e9190612ae4565b60405180910390f35b6104a1600480360381019061049c9190612e67565b610ada565b6040516104ae9190612c67565b60405180910390f35b6104d160048036038101906104cc9190612c1a565b610b5e565b005b6104ed60048036038101906104e89190612e67565b610b81565b6040516104fa9190612c67565b60405180910390f35b61050b610b92565b005b610515610bc7565b6040516105289796959493929190612fd0565b60405180910390f35b61054b60048036038101906105469190612d56565b610c6c565b6040516105589190612ae4565b60405180910390f35b610569610cd0565b6040516105769190612b6d565b60405180910390f35b610587610d60565b6040516105949190612d3d565b60405180910390f35b6105b760048036038101906105b29190612c1a565b610d66565b6040516105c49190612ae4565b60405180910390f35b6105e760048036038101906105e2919061307c565b610d83565b005b6105f1610eb5565b6040516105fe9190612d3d565b60405180910390f35b610621600480360381019061061c9190612d56565b610ed9565b005b61063d60048036038101906106389190612e92565b610efb565b60405161064a9190612c67565b60405180910390f35b61065b610fbe565b6040516106689190612d3d565b60405180910390f35b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106e357506106e282610fe2565b5b9050919050565b6060600380546106f990613146565b80601f016020809104026020016040519081016040528092919081815260200182805461072590613146565b80156107705780601f1061074757610100808354040283529160200191610770565b820191905f5260205f20905b81548152906001019060200180831161075357829003601f168201915b5050505050905090565b5f600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610895576001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61089f838361104b565b905092915050565b5f600254905090565b5f6108ba8461106d565b506108c5843361124c565b506108d18484846114a6565b90509392505050565b5f60065f8381526020019081526020015f20600101549050919050565b610900826108da565b610909816114d4565b61091383836114e8565b50505050565b5f6012905090565b5f7f000000000000000000000000000000000000000015c7328420ab6052d4000000905090565b5f6109516115d2565b905090565b61095e611688565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109c2576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109cc828261168f565b505050565b7f000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a96481565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a1f816114d4565b610a27611779565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a54816114d4565b610a5e83836117da565b505050565b610a6c3361106d565b50610a7681611859565b50565b5f60055f9054906101000a900460ff16905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b600281565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b3a57610b338261186d565b9050610b59565b610b43826118b2565b610b4c8361186d565b610b5691906131a3565b90505b919050565b610b678261106d565b50610b72823361124c565b50610b7d8282611988565b5050565b5f610b8b826119a8565b9050919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bbc816114d4565b610bc46119ee565b50565b5f6060805f5f5f6060610bd8611a50565b610be0611a8b565b46305f5f1b5f67ffffffffffffffff811115610bff57610bfe6131d6565b5b604051908082528060200260200182016040528015610c2d5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610cdf90613146565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0b90613146565b8015610d565780601f10610d2d57610100808354040283529160200191610d56565b820191905f5260205f20905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b5f5f1b81565b5f610d703361106d565b50610d7b8383611ac6565b905092915050565b600b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e9d576001600b5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b610eac87878787878787611ae8565b50505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610ee2826108da565b610eeb816114d4565b610ef5838361168f565b50505050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610f9757610f908383611c2d565b9050610fb8565b610fa18383611caf565b610fab8484611c2d565b610fb591906131a3565b90505b92915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5f611055611688565b9050611062818585611d88565b600191505092915050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156110c5575f9050611247565b6001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a96473ffffffffffffffffffffffffffffffffffffffff1663e78dd6f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611183573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a7919061322d565b6111dd576040517f37753fae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6111e7836118b2565b90506111f383826117da565b8273ffffffffffffffffffffffffffffffffffffffff167f08fd6ca98f4be501258ca5b1ae90d6081412ce8b355711b29f8d0d79f920970f826040516112399190612c67565b60405180910390a260019150505b919050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112df575f90506114a0565b6001600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a96473ffffffffffffffffffffffffffffffffffffffff1663e78dd6f16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fc919061322d565b611432576040517f37753fae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61143d8484611caf565b905061144a848483611d88565b8373ffffffffffffffffffffffffffffffffffffffff167fc8d52e49b549f3c0be7c05182f4546335a13c32ea1a57955e3d596db37ef63c08483604051611492929190613258565b60405180910390a260019150505b92915050565b5f5f6114b0611688565b90506114bd858285611d9a565b6114c8858585611e2d565b60019150509392505050565b6114e5816114e0611688565b611f1d565b50565b5f6114f38383610c6c565b6115c857600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611565611688565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506115cc565b5f90505b92915050565b5f7f000000000000000000000000192675d1e131b9e339f16603e21b01a845d8c21e73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561164d57507f000000000000000000000000000000000000000000000000000000000000000146145b1561167a577fcc9a5d3644b54167509702960598fee22d9367cace8e360e4809a55cc50053259050611685565b611682611f6e565b90505b90565b5f33905090565b5f61169a8383610c6c565b1561176f575f60065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061170c611688565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611773565b5f90505b92915050565b611781612003565b5f60055f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6117c3611688565b6040516117d0919061327f565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361184a575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611841919061327f565b60405180910390fd5b6118555f8383612043565b5050565b61186a611864611688565b82612053565b50565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f6002600a6118c191906133c7565b6118c9610919565b600a6118d59190613411565b7f000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a96473ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161192e919061327f565b602060405180830381865afa158015611949573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d919061346f565b611977919061349a565b6119819190613508565b9050919050565b61199a82611994611688565b83611d9a565b6119a48282612053565b5050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6119f66120d2565b600160055f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a39611688565b604051611a46919061327f565b60405180910390a1565b6060611a8660077f5368617265546f6b656e0000000000000000000000000000000000000000000a61211390919063ffffffff16565b905090565b6060611ac160087f310000000000000000000000000000000000000000000000000000000000000161211390919063ffffffff16565b905090565b5f5f611ad0611688565b9050611add818585611e2d565b600191505092915050565b83421115611b2d57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401611b249190612c67565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611b5b8c6121c0565b89604051602001611b7196959493929190613538565b6040516020818303038152906040528051906020012090505f611b9382612213565b90505f611ba28287878761222c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c1657808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611c0d929190613597565b60405180910390fd5b611c218a8a8a611d88565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6002600a611cbe91906133c7565b611cc6610919565b600a611cd29190613411565b7f000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a96473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e86866040518363ffffffff1660e01b8152600401611d2d929190613597565b602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c919061346f565b611d76919061349a565b611d809190613508565b905092915050565b611d95838383600161225a565b505050565b5f611da58484610efb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611e275781811015611e18578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611e0f939291906135be565b60405180910390fd5b611e2684848484035f61225a565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e9d575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611e94919061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f0d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611f04919061327f565b60405180910390fd5b611f18838383612043565b505050565b611f278282610c6c565b611f6a5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611f619291906135f3565b60405180910390fd5b5050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f455ba48e361be14c31b7ebc09e38a6aedd2cc1e4c37277ef4355976f81b6261b7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611fe895949392919061361a565b60405160208183030381529060405280519060200120905090565b61200b610a79565b612041576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61204e838383612429565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c3575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016120ba919061327f565b60405180910390fd5b6120ce825f83612043565b5050565b6120da610a79565b15612111576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff5f1b831461212f5761212883612441565b90506121ba565b81805461213b90613146565b80601f016020809104026020016040519081016040528092919081815260200182805461216790613146565b80156121b25780601f10612189576101008083540402835291602001916121b2565b820191905f5260205f20905b81548152906001019060200180831161219557829003601f168201915b505050505090505b92915050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f61222561221f6115d2565b836124b3565b9050919050565b5f5f5f5f61223c888888886124f3565b92509250925061224c82826125da565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122ca575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016122c1919061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361233a575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612331919061327f565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612423578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161241a9190612c67565b60405180910390a35b50505050565b6124316120d2565b61243c83838361273c565b505050565b60605f61244d836127df565b90505f602067ffffffffffffffff81111561246b5761246a6131d6565b5b6040519080825280601f01601f19166020018201604052801561249d5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c111561252f575f6003859250925092506125d0565b5f6001888888886040515f8152602001604052604051612552949392919061366b565b6020604051602081039080840390855afa158015612572573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125c3575f60015f5f1b935093509350506125d0565b805f5f5f1b935093509350505b9450945094915050565b5f60038111156125ed576125ec6136ae565b5b826003811115612600576125ff6136ae565b5b0315612738576001600381111561261a576126196136ae565b5b82600381111561262d5761262c6136ae565b5b03612664576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115612678576126776136ae565b5b82600381111561268b5761268a6136ae565b5b036126cf57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016126c69190612c67565b60405180910390fd5b6003808111156126e2576126e16136ae565b5b8260038111156126f5576126f46136ae565b5b0361273757806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161272e9190612d3d565b60405180910390fd5b5b5050565b61274783838361282d565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127da575f612783610921565b90505f61278e6108a7565b9050818111156127d75780826040517f9e79f8540000000000000000000000000000000000000000000000000000000081526004016127ce9291906136db565b60405180910390fd5b50505b505050565b5f5f60ff835f1c169050601f811115612824576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361287d578060025f82825461287191906131a3565b9250508190555061294b565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612906578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016128fd939291906135be565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612992578060025f82825403925050819055506129dc565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a399190612c67565b60405180910390a3505050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612a7e81612a4a565b8114612a88575f5ffd5b50565b5f81359050612a9981612a75565b92915050565b5f60208284031215612ab457612ab3612a46565b5b5f612ac184828501612a8b565b91505092915050565b5f8115159050919050565b612ade81612aca565b82525050565b5f602082019050612af75f830184612ad5565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612b3f82612afd565b612b498185612b07565b9350612b59818560208601612b17565b612b6281612b25565b840191505092915050565b5f6020820190508181035f830152612b858184612b35565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612bb682612b8d565b9050919050565b612bc681612bac565b8114612bd0575f5ffd5b50565b5f81359050612be181612bbd565b92915050565b5f819050919050565b612bf981612be7565b8114612c03575f5ffd5b50565b5f81359050612c1481612bf0565b92915050565b5f5f60408385031215612c3057612c2f612a46565b5b5f612c3d85828601612bd3565b9250506020612c4e85828601612c06565b9150509250929050565b612c6181612be7565b82525050565b5f602082019050612c7a5f830184612c58565b92915050565b5f5f5f60608486031215612c9757612c96612a46565b5b5f612ca486828701612bd3565b9350506020612cb586828701612bd3565b9250506040612cc686828701612c06565b9150509250925092565b5f819050919050565b612ce281612cd0565b8114612cec575f5ffd5b50565b5f81359050612cfd81612cd9565b92915050565b5f60208284031215612d1857612d17612a46565b5b5f612d2584828501612cef565b91505092915050565b612d3781612cd0565b82525050565b5f602082019050612d505f830184612d2e565b92915050565b5f5f60408385031215612d6c57612d6b612a46565b5b5f612d7985828601612cef565b9250506020612d8a85828601612bd3565b9150509250929050565b5f60ff82169050919050565b612da981612d94565b82525050565b5f602082019050612dc25f830184612da0565b92915050565b5f819050919050565b5f612deb612de6612de184612b8d565b612dc8565b612b8d565b9050919050565b5f612dfc82612dd1565b9050919050565b5f612e0d82612df2565b9050919050565b612e1d81612e03565b82525050565b5f602082019050612e365f830184612e14565b92915050565b5f60208284031215612e5157612e50612a46565b5b5f612e5e84828501612c06565b91505092915050565b5f60208284031215612e7c57612e7b612a46565b5b5f612e8984828501612bd3565b91505092915050565b5f5f60408385031215612ea857612ea7612a46565b5b5f612eb585828601612bd3565b9250506020612ec685828601612bd3565b9150509250929050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612f0481612ed0565b82525050565b612f1381612bac565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f4b81612be7565b82525050565b5f612f5c8383612f42565b60208301905092915050565b5f602082019050919050565b5f612f7e82612f19565b612f888185612f23565b9350612f9383612f33565b805f5b83811015612fc3578151612faa8882612f51565b9750612fb583612f68565b925050600181019050612f96565b5085935050505092915050565b5f60e082019050612fe35f83018a612efb565b8181036020830152612ff58189612b35565b905081810360408301526130098188612b35565b90506130186060830187612c58565b6130256080830186612f0a565b61303260a0830185612d2e565b81810360c08301526130448184612f74565b905098975050505050505050565b61305b81612d94565b8114613065575f5ffd5b50565b5f8135905061307681613052565b92915050565b5f5f5f5f5f5f5f60e0888a03121561309757613096612a46565b5b5f6130a48a828b01612bd3565b97505060206130b58a828b01612bd3565b96505060406130c68a828b01612c06565b95505060606130d78a828b01612c06565b94505060806130e88a828b01613068565b93505060a06130f98a828b01612cef565b92505060c061310a8a828b01612cef565b91505092959891949750929550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061315d57607f821691505b6020821081036131705761316f613119565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6131ad82612be7565b91506131b883612be7565b92508282019050808211156131d0576131cf613176565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61320c81612aca565b8114613216575f5ffd5b50565b5f8151905061322781613203565b92915050565b5f6020828403121561324257613241612a46565b5b5f61324f84828501613219565b91505092915050565b5f60408201905061326b5f830185612f0a565b6132786020830184612c58565b9392505050565b5f6020820190506132925f830184612f0a565b92915050565b5f8160011c9050919050565b5f5f8291508390505b60018511156132ed578086048111156132c9576132c8613176565b5b60018516156132d85780820291505b80810290506132e685613298565b94506132ad565b94509492505050565b5f8261330557600190506133c0565b81613312575f90506133c0565b8160018114613328576002811461333257613361565b60019150506133c0565b60ff84111561334457613343613176565b5b8360020a91508482111561335b5761335a613176565b5b506133c0565b5060208310610133831016604e8410600b84101617156133965782820a90508381111561339157613390613176565b5b6133c0565b6133a384848460016132a4565b925090508184048111156133ba576133b9613176565b5b81810290505b9392505050565b5f6133d182612be7565b91506133dc83612be7565b92506134097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846132f6565b905092915050565b5f61341b82612be7565b915061342683612d94565b92506134537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846132f6565b905092915050565b5f8151905061346981612bf0565b92915050565b5f6020828403121561348457613483612a46565b5b5f6134918482850161345b565b91505092915050565b5f6134a482612be7565b91506134af83612be7565b92508282026134bd81612be7565b915082820484148315176134d4576134d3613176565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61351282612be7565b915061351d83612be7565b92508261352d5761352c6134db565b5b828204905092915050565b5f60c08201905061354b5f830189612d2e565b6135586020830188612f0a565b6135656040830187612f0a565b6135726060830186612c58565b61357f6080830185612c58565b61358c60a0830184612c58565b979650505050505050565b5f6040820190506135aa5f830185612f0a565b6135b76020830184612f0a565b9392505050565b5f6060820190506135d15f830186612f0a565b6135de6020830185612c58565b6135eb6040830184612c58565b949350505050565b5f6040820190506136065f830185612f0a565b6136136020830184612d2e565b9392505050565b5f60a08201905061362d5f830188612d2e565b61363a6020830187612d2e565b6136476040830186612d2e565b6136546060830185612c58565b6136616080830184612f0a565b9695505050505050565b5f60808201905061367e5f830187612d2e565b61368b6020830186612da0565b6136986040830185612d2e565b6136a56060830184612d2e565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6040820190506136ee5f830185612c58565b6136fb6020830184612c58565b939250505056fea26469706673582212203e16934f25f705112135d993fe87b12719a19f20dc96ce5abba73672e5c886cd64736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a964000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c09101163234200000000000000000000000048ca14e70e32d81332754a4bd93389c4aea59636000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c0910116323420000000000000000000000000000000000000000000000000000000191bc3d00
-----Decoded View---------------
Arg [0] : prevShareTokenAddress (address): 0xd98F75b1A3261dab9eEd4956c93F33749027a964
Arg [1] : defaultAdmin (address): 0xab87fDeF84fE1eaF32F7ea4fe63c091011632342
Arg [2] : pauser (address): 0x48Ca14e70E32d81332754A4Bd93389c4Aea59636
Arg [3] : minter (address): 0xab87fDeF84fE1eaF32F7ea4fe63c091011632342
Arg [4] : maxSupply (uint256): 6740000000
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000d98f75b1a3261dab9eed4956c93f33749027a964
Arg [1] : 000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c091011632342
Arg [2] : 00000000000000000000000048ca14e70e32d81332754a4bd93389c4aea59636
Arg [3] : 000000000000000000000000ab87fdef84fe1eaf32f7ea4fe63c091011632342
Arg [4] : 0000000000000000000000000000000000000000000000000000000191bc3d00
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
Loading...
Loading
Loading...
Loading
OVERVIEW
ShareRing is the privacy-first identity layer for the digital age—empowering people to own their data, prove only what’s needed, and stay secure everywhere they connect. Enterprise-ready, globally proven, and trusted to power digital trust at scale. SHR is the token that powers the ecosystem.Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


