[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "baseURI_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "registrar", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "safeMintTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_registrar", "type": "address" } ], "name": "setRegistrar", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "to", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620029a4380380620029a48339818101604052810190620000379190620002b7565b828281600090816200004a9190620005bb565b5080600190816200005c9190620005bb565b5050508060069081620000709190620005bb565b5073ae83516e2c98a924ff0d0c743bc04a98a61173d5600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739d5d0f5ee5ead181b762eace1a344518af45ca23600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620006a2565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200018d8262000142565b810181811067ffffffffffffffff82111715620001af57620001ae62000153565b5b80604052505050565b6000620001c462000124565b9050620001d2828262000182565b919050565b600067ffffffffffffffff821115620001f557620001f462000153565b5b620002008262000142565b9050602081019050919050565b60005b838110156200022d57808201518184015260208101905062000210565b60008484015250505050565b6000620002506200024a84620001d7565b620001b8565b9050828152602081018484840111156200026f576200026e6200013d565b5b6200027c8482856200020d565b509392505050565b600082601f8301126200029c576200029b62000138565b5b8151620002ae84826020860162000239565b91505092915050565b600080600060608486031215620002d357620002d26200012e565b5b600084015167ffffffffffffffff811115620002f457620002f362000133565b5b620003028682870162000284565b935050602084015167ffffffffffffffff81111562000326576200032562000133565b5b620003348682870162000284565b925050604084015167ffffffffffffffff81111562000358576200035762000133565b5b620003668682870162000284565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003c357607f821691505b602082108103620003d957620003d86200037b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000404565b6200044f868362000404565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200049c62000496620004908462000467565b62000471565b62000467565b9050919050565b6000819050919050565b620004b8836200047b565b620004d0620004c782620004a3565b84845462000411565b825550505050565b600090565b620004e7620004d8565b620004f4818484620004ad565b505050565b5b818110156200051c5762000510600082620004dd565b600181019050620004fa565b5050565b601f8211156200056b576200053581620003df565b6200054084620003f4565b8101602085101562000550578190505b620005686200055f85620003f4565b830182620004f9565b50505b505050565b600082821c905092915050565b6000620005906000198460080262000570565b1980831691505092915050565b6000620005ab83836200057d565b9150826002028217905092915050565b620005c68262000370565b67ffffffffffffffff811115620005e257620005e162000153565b5b620005ee8254620003aa565b620005fb82828562000520565b600060209050601f8311600181146200063357600084156200061e578287015190505b6200062a85826200059d565b8655506200069a565b601f1984166200064386620003df565b60005b828110156200066d5784890151825560018201915060208501945060208101905062000646565b868310156200068d578489015162000689601f8916826200057d565b8355505b6001600288020188555050505b505050505050565b6122f280620006b26000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806351cff8d9116100a2578063a22cb46511610071578063a22cb465146102df578063b88d4fde146102fb578063c87b56dd14610317578063e985e9c514610347578063faab9d391461037757610116565b806351cff8d9146102455780636352211e1461026157806370a082311461029157806395d89b41146102c157610116565b806318160ddd116100e957806318160ddd146101b557806321bae9e4146101d357806323b872dd146101ef5780632b20e3971461020b57806342842e0e1461022957610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b610135600480360381019061013091906118d8565b610393565b6040516101429190611920565b60405180910390f35b610153610475565b60405161016091906119cb565b60405180910390f35b610183600480360381019061017e9190611a23565b610507565b6040516101909190611a91565b60405180910390f35b6101b360048036038101906101ae9190611ad8565b610523565b005b6101bd610539565b6040516101ca9190611b27565b60405180910390f35b6101ed60048036038101906101e89190611b42565b610543565b005b61020960048036038101906102049190611b6f565b6105f9565b005b6102136106fb565b6040516102209190611a91565b60405180910390f35b610243600480360381019061023e9190611b6f565b610721565b005b61025f600480360381019061025a9190611c00565b610741565b005b61027b60048036038101906102769190611a23565b6108f6565b6040516102889190611a91565b60405180910390f35b6102ab60048036038101906102a69190611b42565b610908565b6040516102b89190611b27565b60405180910390f35b6102c96109c2565b6040516102d691906119cb565b60405180910390f35b6102f960048036038101906102f49190611c59565b610a54565b005b61031560048036038101906103109190611dce565b610a6a565b005b610331600480360381019061032c9190611a23565b610a87565b60405161033e91906119cb565b60405180910390f35b610361600480360381019061035c9190611e51565b610aa2565b60405161036e9190611920565b60405180910390f35b610391600480360381019061038c9190611b42565b610b36565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061045e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046e575061046d82610c0a565b5b9050919050565b60606000805461048490611ec0565b80601f01602080910402602001604051908101604052809291908181526020018280546104b090611ec0565b80156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b5050505050905090565b600061051282610c74565b5061051c82610cfc565b9050919050565b6105358282610530610d39565b610d41565b5050565b6000600754905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ca90611f3d565b60405180910390fd5b60006105e26007546001610d53565b90506105ee8282610db1565b806007819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361066b5760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016106629190611a91565b60405180910390fd5b600061067f838361067a610d39565b610dcf565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106f5578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016106ec93929190611f5d565b60405180910390fd5b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61073c83838360405180602001604052806000815250610a6a565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890611fe0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083790612072565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff168260405161086b906120c3565b60006040518083038185875af1925050503d80600081146108a8576040519150601f19603f3d011682016040523d82523d6000602084013e6108ad565b606091505b50509050806108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e890612124565b60405180910390fd5b505050565b600061090182610c74565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361097b5760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016109729190611a91565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546109d190611ec0565b80601f01602080910402602001604051908101604052809291908181526020018280546109fd90611ec0565b8015610a4a5780601f10610a1f57610100808354040283529160200191610a4a565b820191906000526020600020905b815481529060010190602001808311610a2d57829003601f168201915b5050505050905090565b610a66610a5f610d39565b8383610fe9565b5050565b610a758484846105f9565b610a8184848484611158565b50505050565b6060610a9282610c74565b50610a9b61130f565b9050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90611fe0565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080610c80836113a1565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cf357826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610cea9190611b27565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b610d4e83838360016113de565b505050565b6000806000610d6285856115a3565b9150915081610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612190565b60405180910390fd5b809250505092915050565b610dcb8282604051806020016040528060008152506115d2565b5050565b600080610ddb846113a1565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610e1d57610e1c8184866115ee565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eae57610e5f6000856000806113de565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610f31576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105a57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016110519190611a91565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161114b9190611920565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b1115611309578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261119c610d39565b8685856040518563ffffffff1660e01b81526004016111be9493929190612205565b6020604051808303816000875af19250505080156111fa57506040513d601f19601f820116820180604052508101906111f79190612266565b60015b61127e573d806000811461122a576040519150601f19603f3d011682016040523d82523d6000602084013e61122f565b606091505b50600081510361127657836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161126d9190611a91565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461130757836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016112fe9190611a91565b60405180910390fd5b505b50505050565b60606006805461131e90611ec0565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90611ec0565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806114175750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561154b57600061142784610c74565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561149257508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156114a557506114a38184610aa2565b155b156114e757826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016114de9190611a91565b60405180910390fd5b811561154957838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60008060008385019050848110156115c25760008092509250506115cb565b60018192509250505b9250929050565b6115dc83836116b2565b6115e96000848484611158565b505050565b6115f98383836117ab565b6116ad57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361166e57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016116659190611b27565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016116a4929190612293565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117245760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161171b9190611a91565b60405180910390fd5b600061173283836000610dcf565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146117a65760006040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161179d9190611a91565b60405180910390fd5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561186357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061182457506118238484610aa2565b5b8061186257508273ffffffffffffffffffffffffffffffffffffffff1661184a83610cfc565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6118b581611880565b81146118c057600080fd5b50565b6000813590506118d2816118ac565b92915050565b6000602082840312156118ee576118ed611876565b5b60006118fc848285016118c3565b91505092915050565b60008115159050919050565b61191a81611905565b82525050565b60006020820190506119356000830184611911565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561197557808201518184015260208101905061195a565b60008484015250505050565b6000601f19601f8301169050919050565b600061199d8261193b565b6119a78185611946565b93506119b7818560208601611957565b6119c081611981565b840191505092915050565b600060208201905081810360008301526119e58184611992565b905092915050565b6000819050919050565b611a00816119ed565b8114611a0b57600080fd5b50565b600081359050611a1d816119f7565b92915050565b600060208284031215611a3957611a38611876565b5b6000611a4784828501611a0e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a7b82611a50565b9050919050565b611a8b81611a70565b82525050565b6000602082019050611aa66000830184611a82565b92915050565b611ab581611a70565b8114611ac057600080fd5b50565b600081359050611ad281611aac565b92915050565b60008060408385031215611aef57611aee611876565b5b6000611afd85828601611ac3565b9250506020611b0e85828601611a0e565b9150509250929050565b611b21816119ed565b82525050565b6000602082019050611b3c6000830184611b18565b92915050565b600060208284031215611b5857611b57611876565b5b6000611b6684828501611ac3565b91505092915050565b600080600060608486031215611b8857611b87611876565b5b6000611b9686828701611ac3565b9350506020611ba786828701611ac3565b9250506040611bb886828701611a0e565b9150509250925092565b6000611bcd82611a50565b9050919050565b611bdd81611bc2565b8114611be857600080fd5b50565b600081359050611bfa81611bd4565b92915050565b600060208284031215611c1657611c15611876565b5b6000611c2484828501611beb565b91505092915050565b611c3681611905565b8114611c4157600080fd5b50565b600081359050611c5381611c2d565b92915050565b60008060408385031215611c7057611c6f611876565b5b6000611c7e85828601611ac3565b9250506020611c8f85828601611c44565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611cdb82611981565b810181811067ffffffffffffffff82111715611cfa57611cf9611ca3565b5b80604052505050565b6000611d0d61186c565b9050611d198282611cd2565b919050565b600067ffffffffffffffff821115611d3957611d38611ca3565b5b611d4282611981565b9050602081019050919050565b82818337600083830152505050565b6000611d71611d6c84611d1e565b611d03565b905082815260208101848484011115611d8d57611d8c611c9e565b5b611d98848285611d4f565b509392505050565b600082601f830112611db557611db4611c99565b5b8135611dc5848260208601611d5e565b91505092915050565b60008060008060808587031215611de857611de7611876565b5b6000611df687828801611ac3565b9450506020611e0787828801611ac3565b9350506040611e1887828801611a0e565b925050606085013567ffffffffffffffff811115611e3957611e3861187b565b5b611e4587828801611da0565b91505092959194509250565b60008060408385031215611e6857611e67611876565b5b6000611e7685828601611ac3565b9250506020611e8785828601611ac3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ed857607f821691505b602082108103611eeb57611eea611e91565b5b50919050565b7f42616467657353706163653a206e6f7420746865207265676973747261722100600082015250565b6000611f27601f83611946565b9150611f3282611ef1565b602082019050919050565b60006020820190508181036000830152611f5681611f1a565b9050919050565b6000606082019050611f726000830186611a82565b611f7f6020830185611b18565b611f8c6040830184611a82565b949350505050565b7f42616467657353706163653a206e6f7420746865206f776e6572210000000000600082015250565b6000611fca601b83611946565b9150611fd582611f94565b602082019050919050565b60006020820190508181036000830152611ff981611fbd565b9050919050565b7f42616467657353706163653a2072656365697665722063616e7420626520616460008201527f6472657373283029000000000000000000000000000000000000000000000000602082015250565b600061205c602883611946565b915061206782612000565b604082019050919050565b6000602082019050818103600083015261208b8161204f565b9050919050565b600081905092915050565b50565b60006120ad600083612092565b91506120b88261209d565b600082019050919050565b60006120ce826120a0565b9150819050919050565b7f42616467657353706163653a206661696c656420746f20776974686472617700600082015250565b600061210e601f83611946565b9150612119826120d8565b602082019050919050565b6000602082019050818103600083015261213d81612101565b9050919050565b7f4661696c656420746f2041646400000000000000000000000000000000000000600082015250565b600061217a600d83611946565b915061218582612144565b602082019050919050565b600060208201905081810360008301526121a98161216d565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006121d7826121b0565b6121e181856121bb565b93506121f1818560208601611957565b6121fa81611981565b840191505092915050565b600060808201905061221a6000830187611a82565b6122276020830186611a82565b6122346040830185611b18565b818103606083015261224681846121cc565b905095945050505050565b600081519050612260816118ac565b92915050565b60006020828403121561227c5761227b611876565b5b600061228a84828501612251565b91505092915050565b60006040820190506122a86000830185611a82565b6122b56020830184611b18565b939250505056fea2646970667358221220b54e1917df0e69359b1d5f2b9e71f5f5cdd2305fa97bef208446b99d981457dd64736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000007456368656c6f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000345434800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d503579595276554c6a4e59426e4158635654476158555464554675764b447a41747076524d316a4737786e4e0000000000000000000000