Contract Address Details

0xdED877aCBE23c14a0019b7a0AD66f157a9344a1B

Token
GuoChanJiuCai (GCJC)
Creator
0xd7379c–ffb435 at 0x3d2d85–9a6e56
Balance
500 ROSE
Tokens
Fetching tokens...
Transactions
Fetching transactions...
Transfers
Fetching transfers...
Gas Used
Fetching gas used...
Last Balance Update
3725204

Contract Creation Code

Verify & Publish
0x60806040523480156200001157600080fd5b506040516200432538038062004325833981810160405281019062000037919062000307565b6040518060400160405280600d81526020017f47756f4368616e4a6975436169000000000000000000000000000000000000008152506040518060400160405280600481526020017f47434a43000000000000000000000000000000000000000000000000000000008152508160019080519060200190620000bb929190620001e5565b508060029080519060200190620000d4929190620001e5565b505050620000f7620000eb6200011760201b60201c565b6200011f60201b60201c565b80600890805190602001906200010f929190620001e5565b5050620004bc565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001f390620003e1565b90600052602060002090601f01602090048101928262000217576000855562000263565b82601f106200023257805160ff191683800117855562000263565b8280016001018555821562000263579182015b828111156200026257825182559160200191906001019062000245565b5b50905062000272919062000276565b5090565b5b808211156200029157600081600090555060010162000277565b5090565b6000620002ac620002a68462000375565b6200034c565b905082815260208101848484011115620002c557600080fd5b620002d2848285620003ab565b509392505050565b600082601f830112620002ec57600080fd5b8151620002fe84826020860162000295565b91505092915050565b6000602082840312156200031a57600080fd5b600082015167ffffffffffffffff8111156200033557600080fd5b6200034384828501620002da565b91505092915050565b6000620003586200036b565b905062000366828262000417565b919050565b6000604051905090565b600067ffffffffffffffff8211156200039357620003926200047c565b5b6200039e82620004ab565b9050602081019050919050565b60005b83811015620003cb578082015181840152602081019050620003ae565b83811115620003db576000848401525b50505050565b60006002820490506001821680620003fa57607f821691505b602082108114156200041157620004106200044d565b5b50919050565b6200042282620004ab565b810181811067ffffffffffffffff821117156200044457620004436200047c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b613e5980620004cc6000396000f3fe6080604052600436106101c25760003560e01c806355f804b3116100f757806395d89b4111610095578063c87b56dd11610064578063c87b56dd14610633578063dc33e68114610670578063e985e9c5146106ad578063f2fde38b146106ea576101c2565b806395d89b411461059a578063a0712d68146105c5578063a22cb465146105e1578063b88d4fde1461060a576101c2565b806370a08231116100d157806370a08231146104f0578063715018a61461052d5780638d859f3e146105445780638da5cb5b1461056f576101c2565b806355f804b31461045f5780636352211e146104885780636c0360eb146104c5576101c2565b806323b872dd1161016457806332cb6b0c1161013e57806332cb6b0c146103a557806342842e0e146103d05780634f6ccce7146103f957806351cff8d914610436576101c2565b806323b872dd146103165780632e49d78b1461033f5780632f745c5914610368576101c2565b8063095ea7b3116101a0578063095ea7b31461026c578063161548621461029557806318160ddd146102c0578063200d2ed2146102eb576101c2565b806301ffc9a7146101c757806306fdde0314610204578063081812fc1461022f575b600080fd5b3480156101d357600080fd5b506101ee60048036038101906101e991906131e6565b610713565b6040516101fb91906135df565b60405180910390f35b34801561021057600080fd5b5061021961085d565b6040516102269190613639565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906132a6565b6108ef565b604051610263919061354f565b60405180910390f35b34801561027857600080fd5b50610293600480360381019061028e91906131aa565b61096b565b005b3480156102a157600080fd5b506102aa610a76565b6040516102b7919061375b565b60405180910390f35b3480156102cc57600080fd5b506102d5610a7b565b6040516102e2919061375b565b60405180910390f35b3480156102f757600080fd5b50610300610ad0565b60405161030d91906135fa565b60405180910390f35b34801561032257600080fd5b5061033d600480360381019061033891906130a4565b610ae3565b005b34801561034b57600080fd5b5061036660048036038101906103619190613238565b610af3565b005b34801561037457600080fd5b5061038f600480360381019061038a91906131aa565b610c08565b60405161039c919061375b565b60405180910390f35b3480156103b157600080fd5b506103ba610e0f565b6040516103c7919061375b565b60405180910390f35b3480156103dc57600080fd5b506103f760048036038101906103f291906130a4565b610e15565b005b34801561040557600080fd5b50610420600480360381019061041b91906132a6565b610e35565b60405161042d919061375b565b60405180910390f35b34801561044257600080fd5b5061045d6004803603810190610458919061303f565b610fa6565b005b34801561046b57600080fd5b5061048660048036038101906104819190613261565b6110d8565b005b34801561049457600080fd5b506104af60048036038101906104aa91906132a6565b6111a3565b6040516104bc919061354f565b60405180910390f35b3480156104d157600080fd5b506104da6111b9565b6040516104e79190613639565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613016565b611247565b604051610524919061375b565b60405180910390f35b34801561053957600080fd5b50610542611317565b005b34801561055057600080fd5b5061055961139f565b604051610566919061375b565b60405180910390f35b34801561057b57600080fd5b506105846113ac565b604051610591919061354f565b60405180910390f35b3480156105a657600080fd5b506105af6113d6565b6040516105bc9190613639565b60405180910390f35b6105df60048036038101906105da91906132a6565b611468565b005b3480156105ed57600080fd5b506106086004803603810190610603919061316e565b6116a9565b005b34801561061657600080fd5b50610631600480360381019061062c91906130f3565b611821565b005b34801561063f57600080fd5b5061065a600480360381019061065591906132a6565b611874565b6040516106679190613639565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190613016565b611913565b6040516106a4919061375b565b60405180910390f35b3480156106b957600080fd5b506106d460048036038101906106cf9190613068565b611925565b6040516106e191906135df565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c9190613016565b6119b9565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107de57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061084657507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610856575061085582611ab1565b5b9050919050565b60606001805461086c90613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461089890613a1c565b80156108e55780601f106108ba576101008083540402835291602001916108e5565b820191906000526020600020905b8154815290600101906020018083116108c857829003601f168201915b5050505050905090565b60006108fa82611b1b565b610930576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610976826111a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109de576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109fd611b83565b73ffffffffffffffffffffffffffffffffffffffff1614158015610a2f5750610a2d81610a28611b83565b611925565b155b15610a66576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a71838383611b8b565b505050565b600581565b60008060109054906101000a90046fffffffffffffffffffffffffffffffff1660008054906101000a90046fffffffffffffffffffffffffffffffff16036fffffffffffffffffffffffffffffffff16905090565b600760149054906101000a900460ff1681565b610aee838383611c3d565b505050565b610afb611b83565b73ffffffffffffffffffffffffffffffffffffffff16610b196113ac565b73ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b66906136fb565b60405180910390fd5b80600760146101000a81548160ff02191690836002811115610bba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e600760149054906101000a900460ff16604051610bfd91906135fa565b60405180910390a150565b6000610c1383611247565b8210610c4b576040517f0ddac30e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905060008060005b83811015610e03576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015115610d625750610df6565b600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610da257806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df45786841415610deb578195505050505050610e09565b83806001019450505b505b8080600101915050610c85565b50600080fd5b92915050565b61138881565b610e3083838360405180602001604052806000815250611821565b505050565b60008060008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1690506000805b82811015610f6e576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151610f605785831415610f575781945050505050610fa1565b82806001019350505b508080600101915050610e6d565b506040517fa723001c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b610fae611b83565b73ffffffffffffffffffffffffffffffffffffffff16610fcc6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611019906136fb565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff168260405161104d9061353a565b60006040518083038185875af1925050503d806000811461108a576040519150601f19603f3d011682016040523d82523d6000602084013e61108f565b606091505b50509050806110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca9061373b565b60405180910390fd5b505050565b6110e0611b83565b73ffffffffffffffffffffffffffffffffffffffff166110fe6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b906136fb565b60405180910390fd5b818160089190611165929190612deb565b507f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf68282604051611197929190613615565b60405180910390a15050565b60006111ae8261215a565b600001519050919050565b600880546111c690613a1c565b80601f01602080910402602001604051908101604052809291908181526020018280546111f290613a1c565b801561123f5780601f106112145761010080835404028352916020019161123f565b820191906000526020600020905b81548152906001019060200180831161122257829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b61131f611b83565b73ffffffffffffffffffffffffffffffffffffffff1661133d6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a906136fb565b60405180910390fd5b61139d6000612402565b565b68056bc75e2d6310000081565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546113e590613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461141190613a1c565b801561145e5780601f106114335761010080835404028352916020019161145e565b820191906000526020600020905b81548152906001019060200180831161144157829003601f168201915b5050505050905090565b600160028111156114a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600760149054906101000a900460ff1660028111156114ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061369b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f906136bb565b60405180910390fd5b6005816115a433611913565b6115ae919061381a565b11156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e69061365b565b60405180910390fd5b611388816115fb610a7b565b611605919061381a565b1115611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d9061371b565b60405180910390fd5b61165033826124c8565b61166d8168056bc75e2d6310000061166891906138a1565b6124e6565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe338260405161169e9291906135b6565b60405180910390a150565b6116b1611b83565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611716576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060066000611723611b83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166117d0611b83565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161181591906135df565b60405180910390a35050565b61182c848484611c3d565b61183884848484612587565b61186e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606061187f82611b1b565b6118b5576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118bf612715565b90506000815114156118e0576040518060200160405280600081525061190b565b806118ea846127a7565b6040516020016118fb929190613516565b6040516020818303038152906040525b915050919050565b600061191e82612954565b9050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119c1611b83565b73ffffffffffffffffffffffffffffffffffffffff166119df6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c906136fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9c9061367b565b60405180910390fd5b611aae81612402565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1682108015611b7c575060036000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826005600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000611c488261215a565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff16611c6f611b83565b73ffffffffffffffffffffffffffffffffffffffff161480611ca25750611ca18260000151611c9c611b83565b611925565b5b80611ce75750611cb0611b83565b73ffffffffffffffffffffffffffffffffffffffff16611ccf846108ef565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611d20576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611d89576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611df0576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dfd8585856001612a24565b611e0d6000848460000151611b8b565b6001600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836003600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120ea5760008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168110156120e95782600001516003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516003600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121538585856001612a2a565b5050505050565b612162612e71565b600082905060008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168110156123cb576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff161515151581525050905080604001516123c957600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146122ad5780925050506123fd565b5b6001156123c857818060019003925050600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146123c35780925050506123fd565b6122ae565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6124e2828260405180602001604052806000815250612a30565b5050565b80341015612529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612520906136db565b60405180910390fd5b80341115612584573373ffffffffffffffffffffffffffffffffffffffff166108fc823461255791906138fb565b9081150290604051600060405180830381858888f19350505050158015612582573d6000803e3d6000fd5b505b50565b60006125a88473ffffffffffffffffffffffffffffffffffffffff16612a42565b15612708578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026125d1611b83565b8786866040518563ffffffff1660e01b81526004016125f3949392919061356a565b602060405180830381600087803b15801561260d57600080fd5b505af192505050801561263e57506040513d601f19601f8201168201806040525081019061263b919061320f565b60015b6126b8573d806000811461266e576040519150601f19603f3d011682016040523d82523d6000602084013e612673565b606091505b506000815114156126b0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061270d565b600190505b949350505050565b60606008805461272490613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461275090613a1c565b801561279d5780601f106127725761010080835404028352916020019161279d565b820191906000526020600020905b81548152906001019060200180831161278057829003601f168201915b5050505050905090565b606060008214156127ef576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061294f565b600082905060005b6000821461282157808061280a90613a7f565b915050600a8261281a9190613870565b91506127f7565b60008167ffffffffffffffff811115612863577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156128955781602001600182028036833780820191505090505b5090505b60008514612948576001826128ae91906138fb565b9150600a856128bd9190613ac8565b60306128c9919061381a565b60f81b818381518110612905577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856129419190613870565b9450612899565b8093505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129bc576040517f35ebb31900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b50505050565b50505050565b612a3d8383836001612a55565b505050565b600080823b905060008111915050919050565b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612af0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000841415612b2b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b386000868387612a24565b83600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060005b85811015612d9d57818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4838015612d515750612d4f6000888488612587565b155b15612d88576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81806001019250508080600101915050612cd6565b50806000806101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050612de46000868387612a2a565b5050505050565b828054612df790613a1c565b90600052602060002090601f016020900481019282612e195760008555612e60565b82601f10612e3257803560ff1916838001178555612e60565b82800160010185558215612e60579182015b82811115612e5f578235825591602001919060010190612e44565b5b509050612e6d9190612eb4565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b80821115612ecd576000816000905550600101612eb5565b5090565b6000612ee4612edf8461379b565b613776565b905082815260208101848484011115612efc57600080fd5b612f078482856139da565b509392505050565b600081359050612f1e81613da0565b92915050565b600081359050612f3381613db7565b92915050565b600081359050612f4881613dce565b92915050565b600081359050612f5d81613de5565b92915050565b600081519050612f7281613de5565b92915050565b600082601f830112612f8957600080fd5b8135612f99848260208601612ed1565b91505092915050565b600081359050612fb181613dfc565b92915050565b60008083601f840112612fc957600080fd5b8235905067ffffffffffffffff811115612fe257600080fd5b602083019150836001820283011115612ffa57600080fd5b9250929050565b60008135905061301081613e0c565b92915050565b60006020828403121561302857600080fd5b600061303684828501612f0f565b91505092915050565b60006020828403121561305157600080fd5b600061305f84828501612f24565b91505092915050565b6000806040838503121561307b57600080fd5b600061308985828601612f0f565b925050602061309a85828601612f0f565b9150509250929050565b6000806000606084860312156130b957600080fd5b60006130c786828701612f0f565b93505060206130d886828701612f0f565b92505060406130e986828701613001565b9150509250925092565b6000806000806080858703121561310957600080fd5b600061311787828801612f0f565b945050602061312887828801612f0f565b935050604061313987828801613001565b925050606085013567ffffffffffffffff81111561315657600080fd5b61316287828801612f78565b91505092959194509250565b6000806040838503121561318157600080fd5b600061318f85828601612f0f565b92505060206131a085828601612f39565b9150509250929050565b600080604083850312156131bd57600080fd5b60006131cb85828601612f0f565b92505060206131dc85828601613001565b9150509250929050565b6000602082840312156131f857600080fd5b600061320684828501612f4e565b91505092915050565b60006020828403121561322157600080fd5b600061322f84828501612f63565b91505092915050565b60006020828403121561324a57600080fd5b600061325884828501612fa2565b91505092915050565b6000806020838503121561327457600080fd5b600083013567ffffffffffffffff81111561328e57600080fd5b61329a85828601612fb7565b92509250509250929050565b6000602082840312156132b857600080fd5b60006132c684828501613001565b91505092915050565b6132d88161392f565b82525050565b6132e781613953565b82525050565b60006132f8826137cc565b61330281856137e2565b93506133128185602086016139e9565b61331b81613be4565b840191505092915050565b61332f816139c8565b82525050565b600061334183856137fe565b935061334e8385846139da565b61335783613be4565b840190509392505050565b600061336d826137d7565b61337781856137fe565b93506133878185602086016139e9565b61339081613be4565b840191505092915050565b60006133a6826137d7565b6133b0818561380f565b93506133c08185602086016139e9565b80840191505092915050565b60006133d96014836137fe565b91506133e482613bf5565b602082019050919050565b60006133fc6026836137fe565b915061340782613c1e565b604082019050919050565b600061341f6016836137fe565b915061342a82613c6d565b602082019050919050565b60006134426021836137fe565b915061344d82613c96565b604082019050919050565b60006134656016836137fe565b915061347082613ce5565b602082019050919050565b60006134886020836137fe565b915061349382613d0e565b602082019050919050565b60006134ab6000836137f3565b91506134b682613d37565b600082019050919050565b60006134ce6018836137fe565b91506134d982613d3a565b602082019050919050565b60006134f16015836137fe565b91506134fc82613d63565b602082019050919050565b613510816139be565b82525050565b6000613522828561339b565b915061352e828461339b565b91508190509392505050565b60006135458261349e565b9150819050919050565b600060208201905061356460008301846132cf565b92915050565b600060808201905061357f60008301876132cf565b61358c60208301866132cf565b6135996040830185613507565b81810360608301526135ab81846132ed565b905095945050505050565b60006040820190506135cb60008301856132cf565b6135d86020830184613507565b9392505050565b60006020820190506135f460008301846132de565b92915050565b600060208201905061360f6000830184613326565b92915050565b60006020820190508181036000830152613630818486613335565b90509392505050565b600060208201905081810360008301526136538184613362565b905092915050565b60006020820190508181036000830152613674816133cc565b9050919050565b60006020820190508181036000830152613694816133ef565b9050919050565b600060208201905081810360008301526136b481613412565b9050919050565b600060208201905081810360008301526136d481613435565b9050919050565b600060208201905081810360008301526136f481613458565b9050919050565b600060208201905081810360008301526137148161347b565b9050919050565b60006020820190508181036000830152613734816134c1565b9050919050565b60006020820190508181036000830152613754816134e4565b9050919050565b60006020820190506137706000830184613507565b92915050565b6000613780613791565b905061378c8282613a4e565b919050565b6000604051905090565b600067ffffffffffffffff8211156137b6576137b5613bb5565b5b6137bf82613be4565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613825826139be565b9150613830836139be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561386557613864613af9565b5b828201905092915050565b600061387b826139be565b9150613886836139be565b92508261389657613895613b28565b5b828204905092915050565b60006138ac826139be565b91506138b7836139be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f0576138ef613af9565b5b828202905092915050565b6000613906826139be565b9150613911836139be565b92508282101561392457613923613af9565b5b828203905092915050565b600061393a8261399e565b9050919050565b600061394c8261399e565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600081905061399982613d8c565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006139d38261398b565b9050919050565b82818337600083830152505050565b60005b83811015613a075780820151818401526020810190506139ec565b83811115613a16576000848401525b50505050565b60006002820490506001821680613a3457607f821691505b60208210811415613a4857613a47613b86565b5b50919050565b613a5782613be4565b810181811067ffffffffffffffff82111715613a7657613a75613bb5565b5b80604052505050565b6000613a8a826139be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613abd57613abc613af9565b5b600182019050919050565b6000613ad3826139be565b9150613ade836139be565b925082613aee57613aed613b28565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f47434a433a205a75692064756f2077752067652e000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f47434a433a20486169206d6569206b6169207368692e00000000000000000000600082015250565b7f47434a433a2042752079756e20787520686520797565206469616f20796f6e6760008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b7f47434a433a204d65692064756f20676569204554482e00000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f47434a433a204d6569207a6865206d652064756f206c652e0000000000000000600082015250565b7f47434a433a2047616e20786965206461206a69612e0000000000000000000000600082015250565b60038110613d9d57613d9c613b57565b5b50565b613da98161392f565b8114613db457600080fd5b50565b613dc081613941565b8114613dcb57600080fd5b50565b613dd781613953565b8114613de257600080fd5b50565b613dee8161395f565b8114613df957600080fd5b50565b60038110613e0957600080fd5b50565b613e15816139be565b8114613e2057600080fd5b5056fea2646970667358221220b44f5fd97af334b7e0838d012dddc20d6be4f8a9e0fede2fdc40ac770082a94d64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000076164616461646100000000000000000000000000000000000000000000000000

Deployed ByteCode

0x6080604052600436106101c25760003560e01c806355f804b3116100f757806395d89b4111610095578063c87b56dd11610064578063c87b56dd14610633578063dc33e68114610670578063e985e9c5146106ad578063f2fde38b146106ea576101c2565b806395d89b411461059a578063a0712d68146105c5578063a22cb465146105e1578063b88d4fde1461060a576101c2565b806370a08231116100d157806370a08231146104f0578063715018a61461052d5780638d859f3e146105445780638da5cb5b1461056f576101c2565b806355f804b31461045f5780636352211e146104885780636c0360eb146104c5576101c2565b806323b872dd1161016457806332cb6b0c1161013e57806332cb6b0c146103a557806342842e0e146103d05780634f6ccce7146103f957806351cff8d914610436576101c2565b806323b872dd146103165780632e49d78b1461033f5780632f745c5914610368576101c2565b8063095ea7b3116101a0578063095ea7b31461026c578063161548621461029557806318160ddd146102c0578063200d2ed2146102eb576101c2565b806301ffc9a7146101c757806306fdde0314610204578063081812fc1461022f575b600080fd5b3480156101d357600080fd5b506101ee60048036038101906101e991906131e6565b610713565b6040516101fb91906135df565b60405180910390f35b34801561021057600080fd5b5061021961085d565b6040516102269190613639565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906132a6565b6108ef565b604051610263919061354f565b60405180910390f35b34801561027857600080fd5b50610293600480360381019061028e91906131aa565b61096b565b005b3480156102a157600080fd5b506102aa610a76565b6040516102b7919061375b565b60405180910390f35b3480156102cc57600080fd5b506102d5610a7b565b6040516102e2919061375b565b60405180910390f35b3480156102f757600080fd5b50610300610ad0565b60405161030d91906135fa565b60405180910390f35b34801561032257600080fd5b5061033d600480360381019061033891906130a4565b610ae3565b005b34801561034b57600080fd5b5061036660048036038101906103619190613238565b610af3565b005b34801561037457600080fd5b5061038f600480360381019061038a91906131aa565b610c08565b60405161039c919061375b565b60405180910390f35b3480156103b157600080fd5b506103ba610e0f565b6040516103c7919061375b565b60405180910390f35b3480156103dc57600080fd5b506103f760048036038101906103f291906130a4565b610e15565b005b34801561040557600080fd5b50610420600480360381019061041b91906132a6565b610e35565b60405161042d919061375b565b60405180910390f35b34801561044257600080fd5b5061045d6004803603810190610458919061303f565b610fa6565b005b34801561046b57600080fd5b5061048660048036038101906104819190613261565b6110d8565b005b34801561049457600080fd5b506104af60048036038101906104aa91906132a6565b6111a3565b6040516104bc919061354f565b60405180910390f35b3480156104d157600080fd5b506104da6111b9565b6040516104e79190613639565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613016565b611247565b604051610524919061375b565b60405180910390f35b34801561053957600080fd5b50610542611317565b005b34801561055057600080fd5b5061055961139f565b604051610566919061375b565b60405180910390f35b34801561057b57600080fd5b506105846113ac565b604051610591919061354f565b60405180910390f35b3480156105a657600080fd5b506105af6113d6565b6040516105bc9190613639565b60405180910390f35b6105df60048036038101906105da91906132a6565b611468565b005b3480156105ed57600080fd5b506106086004803603810190610603919061316e565b6116a9565b005b34801561061657600080fd5b50610631600480360381019061062c91906130f3565b611821565b005b34801561063f57600080fd5b5061065a600480360381019061065591906132a6565b611874565b6040516106679190613639565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190613016565b611913565b6040516106a4919061375b565b60405180910390f35b3480156106b957600080fd5b506106d460048036038101906106cf9190613068565b611925565b6040516106e191906135df565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c9190613016565b6119b9565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107de57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061084657507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610856575061085582611ab1565b5b9050919050565b60606001805461086c90613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461089890613a1c565b80156108e55780601f106108ba576101008083540402835291602001916108e5565b820191906000526020600020905b8154815290600101906020018083116108c857829003601f168201915b5050505050905090565b60006108fa82611b1b565b610930576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610976826111a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109de576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109fd611b83565b73ffffffffffffffffffffffffffffffffffffffff1614158015610a2f5750610a2d81610a28611b83565b611925565b155b15610a66576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a71838383611b8b565b505050565b600581565b60008060109054906101000a90046fffffffffffffffffffffffffffffffff1660008054906101000a90046fffffffffffffffffffffffffffffffff16036fffffffffffffffffffffffffffffffff16905090565b600760149054906101000a900460ff1681565b610aee838383611c3d565b505050565b610afb611b83565b73ffffffffffffffffffffffffffffffffffffffff16610b196113ac565b73ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b66906136fb565b60405180910390fd5b80600760146101000a81548160ff02191690836002811115610bba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e600760149054906101000a900460ff16604051610bfd91906135fa565b60405180910390a150565b6000610c1383611247565b8210610c4b576040517f0ddac30e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905060008060005b83811015610e03576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015115610d625750610df6565b600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610da257806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df45786841415610deb578195505050505050610e09565b83806001019450505b505b8080600101915050610c85565b50600080fd5b92915050565b61138881565b610e3083838360405180602001604052806000815250611821565b505050565b60008060008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1690506000805b82811015610f6e576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151610f605785831415610f575781945050505050610fa1565b82806001019350505b508080600101915050610e6d565b506040517fa723001c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b610fae611b83565b73ffffffffffffffffffffffffffffffffffffffff16610fcc6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611019906136fb565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff168260405161104d9061353a565b60006040518083038185875af1925050503d806000811461108a576040519150601f19603f3d011682016040523d82523d6000602084013e61108f565b606091505b50509050806110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca9061373b565b60405180910390fd5b505050565b6110e0611b83565b73ffffffffffffffffffffffffffffffffffffffff166110fe6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b906136fb565b60405180910390fd5b818160089190611165929190612deb565b507f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf68282604051611197929190613615565b60405180910390a15050565b60006111ae8261215a565b600001519050919050565b600880546111c690613a1c565b80601f01602080910402602001604051908101604052809291908181526020018280546111f290613a1c565b801561123f5780601f106112145761010080835404028352916020019161123f565b820191906000526020600020905b81548152906001019060200180831161122257829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b61131f611b83565b73ffffffffffffffffffffffffffffffffffffffff1661133d6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a906136fb565b60405180910390fd5b61139d6000612402565b565b68056bc75e2d6310000081565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546113e590613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461141190613a1c565b801561145e5780601f106114335761010080835404028352916020019161145e565b820191906000526020600020905b81548152906001019060200180831161144157829003601f168201915b5050505050905090565b600160028111156114a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600760149054906101000a900460ff1660028111156114ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061369b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f906136bb565b60405180910390fd5b6005816115a433611913565b6115ae919061381a565b11156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e69061365b565b60405180910390fd5b611388816115fb610a7b565b611605919061381a565b1115611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d9061371b565b60405180910390fd5b61165033826124c8565b61166d8168056bc75e2d6310000061166891906138a1565b6124e6565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe338260405161169e9291906135b6565b60405180910390a150565b6116b1611b83565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611716576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060066000611723611b83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166117d0611b83565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161181591906135df565b60405180910390a35050565b61182c848484611c3d565b61183884848484612587565b61186e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606061187f82611b1b565b6118b5576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118bf612715565b90506000815114156118e0576040518060200160405280600081525061190b565b806118ea846127a7565b6040516020016118fb929190613516565b6040516020818303038152906040525b915050919050565b600061191e82612954565b9050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119c1611b83565b73ffffffffffffffffffffffffffffffffffffffff166119df6113ac565b73ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c906136fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9c9061367b565b60405180910390fd5b611aae81612402565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1682108015611b7c575060036000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826005600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000611c488261215a565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff16611c6f611b83565b73ffffffffffffffffffffffffffffffffffffffff161480611ca25750611ca18260000151611c9c611b83565b611925565b5b80611ce75750611cb0611b83565b73ffffffffffffffffffffffffffffffffffffffff16611ccf846108ef565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611d20576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611d89576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611df0576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dfd8585856001612a24565b611e0d6000848460000151611b8b565b6001600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836003600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120ea5760008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168110156120e95782600001516003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516003600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121538585856001612a2a565b5050505050565b612162612e71565b600082905060008054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168110156123cb576000600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff161515151581525050905080604001516123c957600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146122ad5780925050506123fd565b5b6001156123c857818060019003925050600360008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146123c35780925050506123fd565b6122ae565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6124e2828260405180602001604052806000815250612a30565b5050565b80341015612529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612520906136db565b60405180910390fd5b80341115612584573373ffffffffffffffffffffffffffffffffffffffff166108fc823461255791906138fb565b9081150290604051600060405180830381858888f19350505050158015612582573d6000803e3d6000fd5b505b50565b60006125a88473ffffffffffffffffffffffffffffffffffffffff16612a42565b15612708578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026125d1611b83565b8786866040518563ffffffff1660e01b81526004016125f3949392919061356a565b602060405180830381600087803b15801561260d57600080fd5b505af192505050801561263e57506040513d601f19601f8201168201806040525081019061263b919061320f565b60015b6126b8573d806000811461266e576040519150601f19603f3d011682016040523d82523d6000602084013e612673565b606091505b506000815114156126b0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061270d565b600190505b949350505050565b60606008805461272490613a1c565b80601f016020809104026020016040519081016040528092919081815260200182805461275090613a1c565b801561279d5780601f106127725761010080835404028352916020019161279d565b820191906000526020600020905b81548152906001019060200180831161278057829003601f168201915b5050505050905090565b606060008214156127ef576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061294f565b600082905060005b6000821461282157808061280a90613a7f565b915050600a8261281a9190613870565b91506127f7565b60008167ffffffffffffffff811115612863577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156128955781602001600182028036833780820191505090505b5090505b60008514612948576001826128ae91906138fb565b9150600a856128bd9190613ac8565b60306128c9919061381a565b60f81b818381518110612905577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856129419190613870565b9450612899565b8093505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129bc576040517f35ebb31900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b50505050565b50505050565b612a3d8383836001612a55565b505050565b600080823b905060008111915050919050565b60008060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612af0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000841415612b2b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b386000868387612a24565b83600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060005b85811015612d9d57818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4838015612d515750612d4f6000888488612587565b155b15612d88576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81806001019250508080600101915050612cd6565b50806000806101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050612de46000868387612a2a565b5050505050565b828054612df790613a1c565b90600052602060002090601f016020900481019282612e195760008555612e60565b82601f10612e3257803560ff1916838001178555612e60565b82800160010185558215612e60579182015b82811115612e5f578235825591602001919060010190612e44565b5b509050612e6d9190612eb4565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b80821115612ecd576000816000905550600101612eb5565b5090565b6000612ee4612edf8461379b565b613776565b905082815260208101848484011115612efc57600080fd5b612f078482856139da565b509392505050565b600081359050612f1e81613da0565b92915050565b600081359050612f3381613db7565b92915050565b600081359050612f4881613dce565b92915050565b600081359050612f5d81613de5565b92915050565b600081519050612f7281613de5565b92915050565b600082601f830112612f8957600080fd5b8135612f99848260208601612ed1565b91505092915050565b600081359050612fb181613dfc565b92915050565b60008083601f840112612fc957600080fd5b8235905067ffffffffffffffff811115612fe257600080fd5b602083019150836001820283011115612ffa57600080fd5b9250929050565b60008135905061301081613e0c565b92915050565b60006020828403121561302857600080fd5b600061303684828501612f0f565b91505092915050565b60006020828403121561305157600080fd5b600061305f84828501612f24565b91505092915050565b6000806040838503121561307b57600080fd5b600061308985828601612f0f565b925050602061309a85828601612f0f565b9150509250929050565b6000806000606084860312156130b957600080fd5b60006130c786828701612f0f565b93505060206130d886828701612f0f565b92505060406130e986828701613001565b9150509250925092565b6000806000806080858703121561310957600080fd5b600061311787828801612f0f565b945050602061312887828801612f0f565b935050604061313987828801613001565b925050606085013567ffffffffffffffff81111561315657600080fd5b61316287828801612f78565b91505092959194509250565b6000806040838503121561318157600080fd5b600061318f85828601612f0f565b92505060206131a085828601612f39565b9150509250929050565b600080604083850312156131bd57600080fd5b60006131cb85828601612f0f565b92505060206131dc85828601613001565b9150509250929050565b6000602082840312156131f857600080fd5b600061320684828501612f4e565b91505092915050565b60006020828403121561322157600080fd5b600061322f84828501612f63565b91505092915050565b60006020828403121561324a57600080fd5b600061325884828501612fa2565b91505092915050565b6000806020838503121561327457600080fd5b600083013567ffffffffffffffff81111561328e57600080fd5b61329a85828601612fb7565b92509250509250929050565b6000602082840312156132b857600080fd5b60006132c684828501613001565b91505092915050565b6132d88161392f565b82525050565b6132e781613953565b82525050565b60006132f8826137cc565b61330281856137e2565b93506133128185602086016139e9565b61331b81613be4565b840191505092915050565b61332f816139c8565b82525050565b600061334183856137fe565b935061334e8385846139da565b61335783613be4565b840190509392505050565b600061336d826137d7565b61337781856137fe565b93506133878185602086016139e9565b61339081613be4565b840191505092915050565b60006133a6826137d7565b6133b0818561380f565b93506133c08185602086016139e9565b80840191505092915050565b60006133d96014836137fe565b91506133e482613bf5565b602082019050919050565b60006133fc6026836137fe565b915061340782613c1e565b604082019050919050565b600061341f6016836137fe565b915061342a82613c6d565b602082019050919050565b60006134426021836137fe565b915061344d82613c96565b604082019050919050565b60006134656016836137fe565b915061347082613ce5565b602082019050919050565b60006134886020836137fe565b915061349382613d0e565b602082019050919050565b60006134ab6000836137f3565b91506134b682613d37565b600082019050919050565b60006134ce6018836137fe565b91506134d982613d3a565b602082019050919050565b60006134f16015836137fe565b91506134fc82613d63565b602082019050919050565b613510816139be565b82525050565b6000613522828561339b565b915061352e828461339b565b91508190509392505050565b60006135458261349e565b9150819050919050565b600060208201905061356460008301846132cf565b92915050565b600060808201905061357f60008301876132cf565b61358c60208301866132cf565b6135996040830185613507565b81810360608301526135ab81846132ed565b905095945050505050565b60006040820190506135cb60008301856132cf565b6135d86020830184613507565b9392505050565b60006020820190506135f460008301846132de565b92915050565b600060208201905061360f6000830184613326565b92915050565b60006020820190508181036000830152613630818486613335565b90509392505050565b600060208201905081810360008301526136538184613362565b905092915050565b60006020820190508181036000830152613674816133cc565b9050919050565b60006020820190508181036000830152613694816133ef565b9050919050565b600060208201905081810360008301526136b481613412565b9050919050565b600060208201905081810360008301526136d481613435565b9050919050565b600060208201905081810360008301526136f481613458565b9050919050565b600060208201905081810360008301526137148161347b565b9050919050565b60006020820190508181036000830152613734816134c1565b9050919050565b60006020820190508181036000830152613754816134e4565b9050919050565b60006020820190506137706000830184613507565b92915050565b6000613780613791565b905061378c8282613a4e565b919050565b6000604051905090565b600067ffffffffffffffff8211156137b6576137b5613bb5565b5b6137bf82613be4565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613825826139be565b9150613830836139be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561386557613864613af9565b5b828201905092915050565b600061387b826139be565b9150613886836139be565b92508261389657613895613b28565b5b828204905092915050565b60006138ac826139be565b91506138b7836139be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f0576138ef613af9565b5b828202905092915050565b6000613906826139be565b9150613911836139be565b92508282101561392457613923613af9565b5b828203905092915050565b600061393a8261399e565b9050919050565b600061394c8261399e565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600081905061399982613d8c565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006139d38261398b565b9050919050565b82818337600083830152505050565b60005b83811015613a075780820151818401526020810190506139ec565b83811115613a16576000848401525b50505050565b60006002820490506001821680613a3457607f821691505b60208210811415613a4857613a47613b86565b5b50919050565b613a5782613be4565b810181811067ffffffffffffffff82111715613a7657613a75613bb5565b5b80604052505050565b6000613a8a826139be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613abd57613abc613af9565b5b600182019050919050565b6000613ad3826139be565b9150613ade836139be565b925082613aee57613aed613b28565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f47434a433a205a75692064756f2077752067652e000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f47434a433a20486169206d6569206b6169207368692e00000000000000000000600082015250565b7f47434a433a2042752079756e20787520686520797565206469616f20796f6e6760008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b7f47434a433a204d65692064756f20676569204554482e00000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f47434a433a204d6569207a6865206d652064756f206c652e0000000000000000600082015250565b7f47434a433a2047616e20786965206461206a69612e0000000000000000000000600082015250565b60038110613d9d57613d9c613b57565b5b50565b613da98161392f565b8114613db457600080fd5b50565b613dc081613941565b8114613dcb57600080fd5b50565b613dd781613953565b8114613de257600080fd5b50565b613dee8161395f565b8114613df957600080fd5b50565b60038110613e0957600080fd5b50565b613e15816139be565b8114613e2057600080fd5b5056fea2646970667358221220b44f5fd97af334b7e0838d012dddc20d6be4f8a9e0fede2fdc40ac770082a94d64736f6c63430008040033