Contract Address Details

0x93E5Dcad2238273B3A258A358834F210FE5f0Fef

Token
MyNFT (NFT)
Creator
0xd5976b–182fd0 at 0x946b0a–315e43
Balance
0 ELA ( )
Tokens
Fetching tokens...
Transactions
Transfers
Gas Used
Last Balance Update
23091019

Contract Creation Code

Verify & Publish
0x60806040523480156200001157600080fd5b506040518060400160405280600581526020017f4d794e46540000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4e46540000000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620000b8565b508060019080519060200190620000af929190620000b8565b505050620001cd565b828054620000c69062000197565b90600052602060002090601f016020900481019282620000ea576000855562000136565b82601f106200010557805160ff191683800117855562000136565b8280016001018555821562000136579182015b828111156200013557825182559160200191906001019062000118565b5b50905062000145919062000149565b5090565b5b80821115620001645760008160009055506001016200014a565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001b057607f821691505b60208210811415620001c757620001c662000168565b5b50919050565b612a7880620001dd6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063b88d4fde11610066578063b88d4fde1461025b578063c87b56dd14610277578063e985e9c5146102a7578063eacabe14146102d7576100ea565b806370a08231146101f157806395d89b4114610221578063a22cb4651461023f576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b61010960048036038101906101049190611b22565b610307565b6040516101169190611b6a565b60405180910390f35b6101276103e9565b6040516101349190611c1e565b60405180910390f35b61015760048036038101906101529190611c76565b61047b565b6040516101649190611ce4565b60405180910390f35b61018760048036038101906101829190611d2b565b6104c1565b005b6101a3600480360381019061019e9190611d6b565b6105d9565b005b6101bf60048036038101906101ba9190611d6b565b610639565b005b6101db60048036038101906101d69190611c76565b610659565b6040516101e89190611ce4565b60405180910390f35b61020b60048036038101906102069190611dbe565b6106e0565b6040516102189190611dfa565b60405180910390f35b610229610798565b6040516102369190611c1e565b60405180910390f35b61025960048036038101906102549190611e41565b61082a565b005b61027560048036038101906102709190611fb6565b610840565b005b610291600480360381019061028c9190611c76565b6108a2565b60405161029e9190611c1e565b60405180910390f35b6102c160048036038101906102bc9190612039565b6109b5565b6040516102ce9190611b6a565b60405180910390f35b6102f160048036038101906102ec919061211a565b610a49565b6040516102fe9190611dfa565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e182610a81565b5b9050919050565b6060600080546103f8906121a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610424906121a5565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610aeb565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610659565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490612249565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055c610b36565b73ffffffffffffffffffffffffffffffffffffffff16148061058b575061058a81610585610b36565b6109b5565b5b6105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c1906122db565b60405180910390fd5b6105d48383610b3e565b505050565b6105ea6105e4610b36565b82610bf7565b610629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209061236d565b60405180910390fd5b610634838383610c8c565b505050565b61065483838360405180602001604052806000815250610840565b505050565b60008061066583610f86565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce906123d9565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107489061246b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107a7906121a5565b80601f01602080910402602001604051908101604052809291908181526020018280546107d3906121a5565b80156108205780601f106107f557610100808354040283529160200191610820565b820191906000526020600020905b81548152906001019060200180831161080357829003601f168201915b5050505050905090565b61083c610835610b36565b8383610fc3565b5050565b61085161084b610b36565b83610bf7565b610890576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108879061236d565b60405180910390fd5b61089c84848484611130565b50505050565b60606108ad82610aeb565b60006006600084815260200190815260200160002080546108cd906121a5565b80601f01602080910402602001604051908101604052809291908181526020018280546108f9906121a5565b80156109465780601f1061091b57610100808354040283529160200191610946565b820191906000526020600020905b81548152906001019060200180831161092957829003601f168201915b50505050509050600061095761118c565b905060008151141561096d5781925050506109b0565b6000825111156109a257808260405160200161098a9291906124c7565b604051602081830303815290604052925050506109b0565b6109ab846111a3565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610a55600761120b565b6000610a616007611221565b9050610a6d848261122f565b610a77818461144d565b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610af4816114c1565b610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a906123d9565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610bb183610659565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c0383610659565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610c455750610c4481856109b5565b5b80610c8357508373ffffffffffffffffffffffffffffffffffffffff16610c6b8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610cac82610659565b73ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf99061255d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d69906125ef565b60405180910390fd5b610d7f8383836001611502565b8273ffffffffffffffffffffffffffffffffffffffff16610d9f82610659565b73ffffffffffffffffffffffffffffffffffffffff1614610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061255d565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f818383836001611628565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110299061265b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111239190611b6a565b60405180910390a3505050565b61113b848484610c8c565b6111478484848461162e565b611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d906126ed565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606111ae82610aeb565b60006111b861118c565b905060008151116111d85760405180602001604052806000815250611203565b806111e2846117c5565b6040516020016111f39291906124c7565b6040516020818303038152906040525b915050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612759565b60405180910390fd5b6112a8816114c1565b156112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df906127c5565b60405180910390fd5b6112f6600083836001611502565b6112ff816114c1565b1561133f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611336906127c5565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611449600083836001611628565b5050565b611456826114c1565b611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c90612857565b60405180910390fd5b806006600084815260200190815260200160002090805190602001906114bc929190611a13565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff166114e383610f86565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600181111561162257600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146115965780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461158e91906128a6565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146116215780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461161991906128da565b925050819055505b5b50505050565b50505050565b600061164f8473ffffffffffffffffffffffffffffffffffffffff1661189d565b156117b8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611678610b36565b8786866040518563ffffffff1660e01b815260040161169a9493929190612985565b602060405180830381600087803b1580156116b457600080fd5b505af19250505080156116e557506040513d601f19601f820116820180604052508101906116e291906129e6565b60015b611768573d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b50600081511415611760576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611757906126ed565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506117bd565b600190505b949350505050565b6060600060016117d4846118c0565b01905060008167ffffffffffffffff8111156117f3576117f2611e8b565b5b6040519080825280601f01601f1916602001820160405280156118255781602001600182028036833780820191505090505b509050600082602001820190505b600115611892578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161187c5761187b612a13565b5b049450600085141561188d57611892565b611833565b819350505050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061191e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161191457611913612a13565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061195b576d04ee2d6d415b85acef8100000000838161195157611950612a13565b5b0492506020810190505b662386f26fc10000831061198a57662386f26fc1000083816119805761197f612a13565b5b0492506010810190505b6305f5e10083106119b3576305f5e10083816119a9576119a8612a13565b5b0492506008810190505b61271083106119d85761271083816119ce576119cd612a13565b5b0492506004810190505b606483106119fb57606483816119f1576119f0612a13565b5b0492506002810190505b600a8310611a0a576001810190505b80915050919050565b828054611a1f906121a5565b90600052602060002090601f016020900481019282611a415760008555611a88565b82601f10611a5a57805160ff1916838001178555611a88565b82800160010185558215611a88579182015b82811115611a87578251825591602001919060010190611a6c565b5b509050611a959190611a99565b5090565b5b80821115611ab2576000816000905550600101611a9a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611aff81611aca565b8114611b0a57600080fd5b50565b600081359050611b1c81611af6565b92915050565b600060208284031215611b3857611b37611ac0565b5b6000611b4684828501611b0d565b91505092915050565b60008115159050919050565b611b6481611b4f565b82525050565b6000602082019050611b7f6000830184611b5b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bbf578082015181840152602081019050611ba4565b83811115611bce576000848401525b50505050565b6000601f19601f8301169050919050565b6000611bf082611b85565b611bfa8185611b90565b9350611c0a818560208601611ba1565b611c1381611bd4565b840191505092915050565b60006020820190508181036000830152611c388184611be5565b905092915050565b6000819050919050565b611c5381611c40565b8114611c5e57600080fd5b50565b600081359050611c7081611c4a565b92915050565b600060208284031215611c8c57611c8b611ac0565b5b6000611c9a84828501611c61565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cce82611ca3565b9050919050565b611cde81611cc3565b82525050565b6000602082019050611cf96000830184611cd5565b92915050565b611d0881611cc3565b8114611d1357600080fd5b50565b600081359050611d2581611cff565b92915050565b60008060408385031215611d4257611d41611ac0565b5b6000611d5085828601611d16565b9250506020611d6185828601611c61565b9150509250929050565b600080600060608486031215611d8457611d83611ac0565b5b6000611d9286828701611d16565b9350506020611da386828701611d16565b9250506040611db486828701611c61565b9150509250925092565b600060208284031215611dd457611dd3611ac0565b5b6000611de284828501611d16565b91505092915050565b611df481611c40565b82525050565b6000602082019050611e0f6000830184611deb565b92915050565b611e1e81611b4f565b8114611e2957600080fd5b50565b600081359050611e3b81611e15565b92915050565b60008060408385031215611e5857611e57611ac0565b5b6000611e6685828601611d16565b9250506020611e7785828601611e2c565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611ec382611bd4565b810181811067ffffffffffffffff82111715611ee257611ee1611e8b565b5b80604052505050565b6000611ef5611ab6565b9050611f018282611eba565b919050565b600067ffffffffffffffff821115611f2157611f20611e8b565b5b611f2a82611bd4565b9050602081019050919050565b82818337600083830152505050565b6000611f59611f5484611f06565b611eeb565b905082815260208101848484011115611f7557611f74611e86565b5b611f80848285611f37565b509392505050565b600082601f830112611f9d57611f9c611e81565b5b8135611fad848260208601611f46565b91505092915050565b60008060008060808587031215611fd057611fcf611ac0565b5b6000611fde87828801611d16565b9450506020611fef87828801611d16565b935050604061200087828801611c61565b925050606085013567ffffffffffffffff81111561202157612020611ac5565b5b61202d87828801611f88565b91505092959194509250565b600080604083850312156120505761204f611ac0565b5b600061205e85828601611d16565b925050602061206f85828601611d16565b9150509250929050565b600067ffffffffffffffff82111561209457612093611e8b565b5b61209d82611bd4565b9050602081019050919050565b60006120bd6120b884612079565b611eeb565b9050828152602081018484840111156120d9576120d8611e86565b5b6120e4848285611f37565b509392505050565b600082601f83011261210157612100611e81565b5b81356121118482602086016120aa565b91505092915050565b6000806040838503121561213157612130611ac0565b5b600061213f85828601611d16565b925050602083013567ffffffffffffffff8111156121605761215f611ac5565b5b61216c858286016120ec565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121bd57607f821691505b602082108114156121d1576121d0612176565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612233602183611b90565b915061223e826121d7565b604082019050919050565b6000602082019050818103600083015261226281612226565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006122c5603d83611b90565b91506122d082612269565b604082019050919050565b600060208201905081810360008301526122f4816122b8565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612357602d83611b90565b9150612362826122fb565b604082019050919050565b600060208201905081810360008301526123868161234a565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006123c3601883611b90565b91506123ce8261238d565b602082019050919050565b600060208201905081810360008301526123f2816123b6565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612455602983611b90565b9150612460826123f9565b604082019050919050565b6000602082019050818103600083015261248481612448565b9050919050565b600081905092915050565b60006124a182611b85565b6124ab818561248b565b93506124bb818560208601611ba1565b80840191505092915050565b60006124d38285612496565b91506124df8284612496565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000612547602583611b90565b9150612552826124eb565b604082019050919050565b600060208201905081810360008301526125768161253a565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125d9602483611b90565b91506125e48261257d565b604082019050919050565b60006020820190508181036000830152612608816125cc565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612645601983611b90565b91506126508261260f565b602082019050919050565b6000602082019050818103600083015261267481612638565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006126d7603283611b90565b91506126e28261267b565b604082019050919050565b60006020820190508181036000830152612706816126ca565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612743602083611b90565b915061274e8261270d565b602082019050919050565b6000602082019050818103600083015261277281612736565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006127af601c83611b90565b91506127ba82612779565b602082019050919050565b600060208201905081810360008301526127de816127a2565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000612841602e83611b90565b915061284c826127e5565b604082019050919050565b6000602082019050818103600083015261287081612834565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128b182611c40565b91506128bc83611c40565b9250828210156128cf576128ce612877565b5b828203905092915050565b60006128e582611c40565b91506128f083611c40565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561292557612924612877565b5b828201905092915050565b600081519050919050565b600082825260208201905092915050565b600061295782612930565b612961818561293b565b9350612971818560208601611ba1565b61297a81611bd4565b840191505092915050565b600060808201905061299a6000830187611cd5565b6129a76020830186611cd5565b6129b46040830185611deb565b81810360608301526129c6818461294c565b905095945050505050565b6000815190506129e081611af6565b92915050565b6000602082840312156129fc576129fb611ac0565b5b6000612a0a848285016129d1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220891971f5ad2f130445903b7c458dd8ad4628de2ef9cdd6569db63568792549ee64736f6c63430008090033

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063b88d4fde11610066578063b88d4fde1461025b578063c87b56dd14610277578063e985e9c5146102a7578063eacabe14146102d7576100ea565b806370a08231146101f157806395d89b4114610221578063a22cb4651461023f576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b61010960048036038101906101049190611b22565b610307565b6040516101169190611b6a565b60405180910390f35b6101276103e9565b6040516101349190611c1e565b60405180910390f35b61015760048036038101906101529190611c76565b61047b565b6040516101649190611ce4565b60405180910390f35b61018760048036038101906101829190611d2b565b6104c1565b005b6101a3600480360381019061019e9190611d6b565b6105d9565b005b6101bf60048036038101906101ba9190611d6b565b610639565b005b6101db60048036038101906101d69190611c76565b610659565b6040516101e89190611ce4565b60405180910390f35b61020b60048036038101906102069190611dbe565b6106e0565b6040516102189190611dfa565b60405180910390f35b610229610798565b6040516102369190611c1e565b60405180910390f35b61025960048036038101906102549190611e41565b61082a565b005b61027560048036038101906102709190611fb6565b610840565b005b610291600480360381019061028c9190611c76565b6108a2565b60405161029e9190611c1e565b60405180910390f35b6102c160048036038101906102bc9190612039565b6109b5565b6040516102ce9190611b6a565b60405180910390f35b6102f160048036038101906102ec919061211a565b610a49565b6040516102fe9190611dfa565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e182610a81565b5b9050919050565b6060600080546103f8906121a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610424906121a5565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610aeb565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610659565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490612249565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055c610b36565b73ffffffffffffffffffffffffffffffffffffffff16148061058b575061058a81610585610b36565b6109b5565b5b6105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c1906122db565b60405180910390fd5b6105d48383610b3e565b505050565b6105ea6105e4610b36565b82610bf7565b610629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209061236d565b60405180910390fd5b610634838383610c8c565b505050565b61065483838360405180602001604052806000815250610840565b505050565b60008061066583610f86565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce906123d9565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107489061246b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107a7906121a5565b80601f01602080910402602001604051908101604052809291908181526020018280546107d3906121a5565b80156108205780601f106107f557610100808354040283529160200191610820565b820191906000526020600020905b81548152906001019060200180831161080357829003601f168201915b5050505050905090565b61083c610835610b36565b8383610fc3565b5050565b61085161084b610b36565b83610bf7565b610890576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108879061236d565b60405180910390fd5b61089c84848484611130565b50505050565b60606108ad82610aeb565b60006006600084815260200190815260200160002080546108cd906121a5565b80601f01602080910402602001604051908101604052809291908181526020018280546108f9906121a5565b80156109465780601f1061091b57610100808354040283529160200191610946565b820191906000526020600020905b81548152906001019060200180831161092957829003601f168201915b50505050509050600061095761118c565b905060008151141561096d5781925050506109b0565b6000825111156109a257808260405160200161098a9291906124c7565b604051602081830303815290604052925050506109b0565b6109ab846111a3565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610a55600761120b565b6000610a616007611221565b9050610a6d848261122f565b610a77818461144d565b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610af4816114c1565b610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a906123d9565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610bb183610659565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c0383610659565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610c455750610c4481856109b5565b5b80610c8357508373ffffffffffffffffffffffffffffffffffffffff16610c6b8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610cac82610659565b73ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf99061255d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d69906125ef565b60405180910390fd5b610d7f8383836001611502565b8273ffffffffffffffffffffffffffffffffffffffff16610d9f82610659565b73ffffffffffffffffffffffffffffffffffffffff1614610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061255d565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f818383836001611628565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110299061265b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111239190611b6a565b60405180910390a3505050565b61113b848484610c8c565b6111478484848461162e565b611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d906126ed565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606111ae82610aeb565b60006111b861118c565b905060008151116111d85760405180602001604052806000815250611203565b806111e2846117c5565b6040516020016111f39291906124c7565b6040516020818303038152906040525b915050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612759565b60405180910390fd5b6112a8816114c1565b156112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df906127c5565b60405180910390fd5b6112f6600083836001611502565b6112ff816114c1565b1561133f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611336906127c5565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611449600083836001611628565b5050565b611456826114c1565b611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c90612857565b60405180910390fd5b806006600084815260200190815260200160002090805190602001906114bc929190611a13565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff166114e383610f86565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600181111561162257600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146115965780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461158e91906128a6565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146116215780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461161991906128da565b925050819055505b5b50505050565b50505050565b600061164f8473ffffffffffffffffffffffffffffffffffffffff1661189d565b156117b8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611678610b36565b8786866040518563ffffffff1660e01b815260040161169a9493929190612985565b602060405180830381600087803b1580156116b457600080fd5b505af19250505080156116e557506040513d601f19601f820116820180604052508101906116e291906129e6565b60015b611768573d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b50600081511415611760576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611757906126ed565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506117bd565b600190505b949350505050565b6060600060016117d4846118c0565b01905060008167ffffffffffffffff8111156117f3576117f2611e8b565b5b6040519080825280601f01601f1916602001820160405280156118255781602001600182028036833780820191505090505b509050600082602001820190505b600115611892578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161187c5761187b612a13565b5b049450600085141561188d57611892565b611833565b819350505050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061191e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161191457611913612a13565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061195b576d04ee2d6d415b85acef8100000000838161195157611950612a13565b5b0492506020810190505b662386f26fc10000831061198a57662386f26fc1000083816119805761197f612a13565b5b0492506010810190505b6305f5e10083106119b3576305f5e10083816119a9576119a8612a13565b5b0492506008810190505b61271083106119d85761271083816119ce576119cd612a13565b5b0492506004810190505b606483106119fb57606483816119f1576119f0612a13565b5b0492506002810190505b600a8310611a0a576001810190505b80915050919050565b828054611a1f906121a5565b90600052602060002090601f016020900481019282611a415760008555611a88565b82601f10611a5a57805160ff1916838001178555611a88565b82800160010185558215611a88579182015b82811115611a87578251825591602001919060010190611a6c565b5b509050611a959190611a99565b5090565b5b80821115611ab2576000816000905550600101611a9a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611aff81611aca565b8114611b0a57600080fd5b50565b600081359050611b1c81611af6565b92915050565b600060208284031215611b3857611b37611ac0565b5b6000611b4684828501611b0d565b91505092915050565b60008115159050919050565b611b6481611b4f565b82525050565b6000602082019050611b7f6000830184611b5b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bbf578082015181840152602081019050611ba4565b83811115611bce576000848401525b50505050565b6000601f19601f8301169050919050565b6000611bf082611b85565b611bfa8185611b90565b9350611c0a818560208601611ba1565b611c1381611bd4565b840191505092915050565b60006020820190508181036000830152611c388184611be5565b905092915050565b6000819050919050565b611c5381611c40565b8114611c5e57600080fd5b50565b600081359050611c7081611c4a565b92915050565b600060208284031215611c8c57611c8b611ac0565b5b6000611c9a84828501611c61565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cce82611ca3565b9050919050565b611cde81611cc3565b82525050565b6000602082019050611cf96000830184611cd5565b92915050565b611d0881611cc3565b8114611d1357600080fd5b50565b600081359050611d2581611cff565b92915050565b60008060408385031215611d4257611d41611ac0565b5b6000611d5085828601611d16565b9250506020611d6185828601611c61565b9150509250929050565b600080600060608486031215611d8457611d83611ac0565b5b6000611d9286828701611d16565b9350506020611da386828701611d16565b9250506040611db486828701611c61565b9150509250925092565b600060208284031215611dd457611dd3611ac0565b5b6000611de284828501611d16565b91505092915050565b611df481611c40565b82525050565b6000602082019050611e0f6000830184611deb565b92915050565b611e1e81611b4f565b8114611e2957600080fd5b50565b600081359050611e3b81611e15565b92915050565b60008060408385031215611e5857611e57611ac0565b5b6000611e6685828601611d16565b9250506020611e7785828601611e2c565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611ec382611bd4565b810181811067ffffffffffffffff82111715611ee257611ee1611e8b565b5b80604052505050565b6000611ef5611ab6565b9050611f018282611eba565b919050565b600067ffffffffffffffff821115611f2157611f20611e8b565b5b611f2a82611bd4565b9050602081019050919050565b82818337600083830152505050565b6000611f59611f5484611f06565b611eeb565b905082815260208101848484011115611f7557611f74611e86565b5b611f80848285611f37565b509392505050565b600082601f830112611f9d57611f9c611e81565b5b8135611fad848260208601611f46565b91505092915050565b60008060008060808587031215611fd057611fcf611ac0565b5b6000611fde87828801611d16565b9450506020611fef87828801611d16565b935050604061200087828801611c61565b925050606085013567ffffffffffffffff81111561202157612020611ac5565b5b61202d87828801611f88565b91505092959194509250565b600080604083850312156120505761204f611ac0565b5b600061205e85828601611d16565b925050602061206f85828601611d16565b9150509250929050565b600067ffffffffffffffff82111561209457612093611e8b565b5b61209d82611bd4565b9050602081019050919050565b60006120bd6120b884612079565b611eeb565b9050828152602081018484840111156120d9576120d8611e86565b5b6120e4848285611f37565b509392505050565b600082601f83011261210157612100611e81565b5b81356121118482602086016120aa565b91505092915050565b6000806040838503121561213157612130611ac0565b5b600061213f85828601611d16565b925050602083013567ffffffffffffffff8111156121605761215f611ac5565b5b61216c858286016120ec565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121bd57607f821691505b602082108114156121d1576121d0612176565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612233602183611b90565b915061223e826121d7565b604082019050919050565b6000602082019050818103600083015261226281612226565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006122c5603d83611b90565b91506122d082612269565b604082019050919050565b600060208201905081810360008301526122f4816122b8565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612357602d83611b90565b9150612362826122fb565b604082019050919050565b600060208201905081810360008301526123868161234a565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006123c3601883611b90565b91506123ce8261238d565b602082019050919050565b600060208201905081810360008301526123f2816123b6565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612455602983611b90565b9150612460826123f9565b604082019050919050565b6000602082019050818103600083015261248481612448565b9050919050565b600081905092915050565b60006124a182611b85565b6124ab818561248b565b93506124bb818560208601611ba1565b80840191505092915050565b60006124d38285612496565b91506124df8284612496565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000612547602583611b90565b9150612552826124eb565b604082019050919050565b600060208201905081810360008301526125768161253a565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125d9602483611b90565b91506125e48261257d565b604082019050919050565b60006020820190508181036000830152612608816125cc565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612645601983611b90565b91506126508261260f565b602082019050919050565b6000602082019050818103600083015261267481612638565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006126d7603283611b90565b91506126e28261267b565b604082019050919050565b60006020820190508181036000830152612706816126ca565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612743602083611b90565b915061274e8261270d565b602082019050919050565b6000602082019050818103600083015261277281612736565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006127af601c83611b90565b91506127ba82612779565b602082019050919050565b600060208201905081810360008301526127de816127a2565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000612841602e83611b90565b915061284c826127e5565b604082019050919050565b6000602082019050818103600083015261287081612834565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128b182611c40565b91506128bc83611c40565b9250828210156128cf576128ce612877565b5b828203905092915050565b60006128e582611c40565b91506128f083611c40565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561292557612924612877565b5b828201905092915050565b600081519050919050565b600082825260208201905092915050565b600061295782612930565b612961818561293b565b9350612971818560208601611ba1565b61297a81611bd4565b840191505092915050565b600060808201905061299a6000830187611cd5565b6129a76020830186611cd5565b6129b46040830185611deb565b81810360608301526129c6818461294c565b905095945050505050565b6000815190506129e081611af6565b92915050565b6000602082840312156129fc576129fb611ac0565b5b6000612a0a848285016129d1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220891971f5ad2f130445903b7c458dd8ad4628de2ef9cdd6569db63568792549ee64736f6c63430008090033