[ { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" }, { "internalType": "address", "name": "_royaltyReceiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [], "name": "BURNER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CATEGORY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "IPLicensesIncluded", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "PRIVATE_MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burnBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "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": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "privateMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "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": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "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": "receiver", "type": "address" }, { "internalType": "uint96", "name": "numerator", "type": "uint96" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newuri", "type": "string" } ], "name": "setURI", "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": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60a060405260016080908152503480156200001957600080fd5b50604051620055773803806200557783398181016040528101906200003f91906200072c565b8162000051816200013160201b60201c565b5062000072620000666200014660201b60201c565b6200014e60201b60201c565b620000876000801b336200021460201b60201c565b6200009b816101f46200022a60201b60201c565b6040518060400160405280600c81526020017f4855584c455920436f646563000000000000000000000000000000000000000081525060079081620000e19190620009dd565b506040518060400160405280600581526020017f434f44454300000000000000000000000000000000000000000000000000000081525060089081620001289190620009dd565b50505062000bdf565b8060029081620001429190620009dd565b5050565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002268282620003cd60201b60201c565b5050565b6200023a620004bf60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200029b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002929062000b4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200030d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003049062000bbd565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600360008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b620003df8282620004c960201b60201c565b620004bb5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004606200014660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000612710905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200059d8262000552565b810181811067ffffffffffffffff82111715620005bf57620005be62000563565b5b80604052505050565b6000620005d462000534565b9050620005e2828262000592565b919050565b600067ffffffffffffffff82111562000605576200060462000563565b5b620006108262000552565b9050602081019050919050565b60005b838110156200063d57808201518184015260208101905062000620565b60008484015250505050565b6000620006606200065a84620005e7565b620005c8565b9050828152602081018484840111156200067f576200067e6200054d565b5b6200068c8482856200061d565b509392505050565b600082601f830112620006ac57620006ab62000548565b5b8151620006be84826020860162000649565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006f482620006c7565b9050919050565b6200070681620006e7565b81146200071257600080fd5b50565b6000815190506200072681620006fb565b92915050565b600080604083850312156200074657620007456200053e565b5b600083015167ffffffffffffffff81111562000767576200076662000543565b5b620007758582860162000694565b9250506020620007888582860162000715565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007e557607f821691505b602082108103620007fb57620007fa6200079d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000826565b62000871868362000826565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008be620008b8620008b28462000889565b62000893565b62000889565b9050919050565b6000819050919050565b620008da836200089d565b620008f2620008e982620008c5565b84845462000833565b825550505050565b600090565b62000909620008fa565b62000916818484620008cf565b505050565b5b818110156200093e5762000932600082620008ff565b6001810190506200091c565b5050565b601f8211156200098d57620009578162000801565b620009628462000816565b8101602085101562000972578190505b6200098a620009818562000816565b8301826200091b565b50505b505050565b600082821c905092915050565b6000620009b26000198460080262000992565b1980831691505092915050565b6000620009cd83836200099f565b9150826002028217905092915050565b620009e88262000792565b67ffffffffffffffff81111562000a045762000a0362000563565b5b62000a108254620007cc565b62000a1d82828562000942565b600060209050601f83116001811462000a55576000841562000a40578287015190505b62000a4c8582620009bf565b86555062000abc565b601f19841662000a658662000801565b60005b8281101562000a8f5784890151825560018201915060208501945060208101905062000a68565b8683101562000aaf578489015162000aab601f8916826200099f565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000b33602a8362000ac4565b915062000b408262000ad5565b604082019050919050565b6000602082019050818103600083015262000b668162000b24565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000ba560198362000ac4565b915062000bb28262000b6d565b602082019050919050565b6000602082019050818103600083015262000bd88162000b96565b9050919050565b60805161496762000c10600039600081816108be01528181610dce01528181610f600152610fc701526149676000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c80634e1273f411610104578063a217fddf116100a2578063d547741f11610071578063d547741f14610508578063e985e9c514610524578063f242432a14610554578063f2fde38b14610570576101ce565b8063a217fddf146104a8578063a22cb465146104c6578063a5128317146104e2578063be62b3c1146104ec576101ce565b80637c510eb4116100de5780637c510eb41461041e5780638da5cb5b1461043c57806391d148541461045a57806395d89b411461048a576101ce565b80634e1273f4146103c65780635ab1b0a6146103f6578063715018a614610414576101ce565b8063248a9ca3116101715780632eb2c2d61161014b5780632eb2c2d6146103545780632f2ff15d146103705780632fb896761461038c57806336568abe146103aa576101ce565b8063248a9ca3146102d5578063282c51f3146103055780632a55205a14610323576101ce565b806304634d8d116101ad57806304634d8d1461024f57806306fdde031461026b5780630e89341c1461028957806313803158146102b9576101ce565b8062fdd58e146101d357806301ffc9a71461020357806302fe530514610233575b600080fd5b6101ed60048036038101906101e89190612bfe565b61058c565b6040516101fa9190612c4d565b60405180910390f35b61021d60048036038101906102189190612cc0565b610654565b60405161022a9190612d08565b60405180910390f35b61024d60048036038101906102489190612e69565b610736565b005b61026960048036038101906102649190612ef6565b610750565b005b61027361076c565b6040516102809190612fb5565b60405180910390f35b6102a3600480360381019061029e9190612fd7565b6107fa565b6040516102b09190612fb5565b60405180910390f35b6102d360048036038101906102ce9190612bfe565b61088e565b005b6102ef60048036038101906102ea919061303a565b6108e8565b6040516102fc9190613076565b60405180910390f35b61030d610908565b60405161031a9190613076565b60405180910390f35b61033d60048036038101906103389190613091565b61092c565b60405161034b9291906130e0565b60405180910390f35b61036e60048036038101906103699190613272565b610b16565b005b61038a60048036038101906103859190613341565b610bb7565b005b610394610bd8565b6040516103a19190612fb5565b60405180910390f35b6103c460048036038101906103bf9190613341565b610bf8565b005b6103e060048036038101906103db9190613444565b610c7b565b6040516103ed919061357a565b60405180910390f35b6103fe610d94565b60405161040b9190613076565b60405180910390f35b61041c610db8565b005b610426610dcc565b6040516104339190612c4d565b60405180910390f35b610444610df0565b604051610451919061359c565b60405180910390f35b610474600480360381019061046f9190613341565b610e1a565b6040516104819190612d08565b60405180910390f35b610492610e85565b60405161049f9190612fb5565b60405180910390f35b6104b0610f13565b6040516104bd9190613076565b60405180910390f35b6104e060048036038101906104db91906135e3565b610f1a565b005b6104ea610f30565b005b61050660048036038101906105019190612bfe565b610f97565b005b610522600480360381019061051d9190613341565b611001565b005b61053e60048036038101906105399190613623565b611022565b60405161054b9190612d08565b60405180910390f35b61056e60048036038101906105699190613663565b6110b6565b005b61058a600480360381019061058591906136fa565b611157565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f390613799565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061071f57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061072f575061072e826111da565b5b9050919050565b6000801b61074381611254565b61074c82611268565b5050565b6000801b61075d81611254565b610767838361127b565b505050565b60078054610779906137e8565b80601f01602080910402602001604051908101604052809291908181526020018280546107a5906137e8565b80156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b606060028054610809906137e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610835906137e8565b80156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b50505050509050919050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a8486108b881611254565b6108e3837f000000000000000000000000000000000000000000000000000000000000000084611410565b505050565b600060056000838152602001908152602001600020600101549050919050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b6000806000600460008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610ac15760036040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610acb611656565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610af79190613848565b610b0191906138b9565b90508160000151819350935050509250929050565b610b1e611660565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610b645750610b6385610b5e611660565b611022565b5b610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a9061395c565b60405180910390fd5b610bb08585858585611668565b5050505050565b610bc0826108e8565b610bc981611254565b610bd38383611989565b505050565b60606040518060600160405280602f8152602001614903602f9139905090565b610c00611660565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c64906139ee565b60405180910390fd5b610c778282611a6a565b5050565b60608151835114610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb890613a80565b60405180910390fd5b6000835167ffffffffffffffff811115610cde57610cdd612d3e565b5b604051908082528060200260200182016040528015610d0c5781602001602082028036833780820191505090505b50905060005b8451811015610d8957610d59858281518110610d3157610d30613aa0565b5b6020026020010151858381518110610d4c57610d4b613aa0565b5b602002602001015161058c565b828281518110610d6c57610d6b613aa0565b5b60200260200101818152505080610d8290613acf565b9050610d12565b508091505092915050565b7fca848e25c38887dc92feb619111bce326f6d6dc179e86e86381bdb8c00d097b581565b610dc0611b4c565b610dca6000611bca565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60088054610e92906137e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610ebe906137e8565b8015610f0b5780601f10610ee057610100808354040283529160200191610f0b565b820191906000526020600020905b815481529060010190602001808311610eee57829003601f168201915b505050505081565b6000801b81565b610f2c610f25611660565b8383611c90565b5050565b6000801b610f3d81611254565b7ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce77f0000000000000000000000000000000000000000000000000000000000000000604051610f8c9190612c4d565b60405180910390a150565b7fca848e25c38887dc92feb619111bce326f6d6dc179e86e86381bdb8c00d097b5610fc181611254565b610ffc837f00000000000000000000000000000000000000000000000000000000000000008460405180602001604052806000815250611dfc565b505050565b61100a826108e8565b61101381611254565b61101d8383611a6a565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110be611660565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806111045750611103856110fe611660565b611022565b5b611143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113a9061395c565b60405180910390fd5b6111508585858585611fac565b5050505050565b61115f611b4c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c590613b89565b60405180910390fd5b6111d781611bca565b50565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061124d575061124c82612247565b5b9050919050565b61126581611260611660565b6122c1565b50565b80600290816112779190613d55565b5050565b611283611656565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d890613e99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790613f05565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600360008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690613f97565b60405180910390fd5b6000611489611660565b9050600061149684612346565b905060006114a384612346565b90506114c3838760008585604051806020016040528060008152506123c0565b600080600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508481101561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190614029565b60405180910390fd5b84810360008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051611627929190614049565b60405180910390a461164d848860008686604051806020016040528060008152506123c8565b50505050505050565b6000612710905090565b600033905090565b81518351146116ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a3906140e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171290614176565b60405180910390fd5b6000611725611660565b90506117358187878787876123c0565b60005b84518110156118e657600085828151811061175657611755613aa0565b5b60200260200101519050600085838151811061177557611774613aa0565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180d90614208565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118cb9190614228565b92505081905550505050806118df90613acf565b9050611738565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161195d92919061425c565b60405180910390a46119738187878787876123c8565b6119818187878787876123d0565b505050505050565b6119938282610e1a565b611a665760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a0b611660565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611a748282610e1a565b15611b485760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611aed611660565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611b54611660565b73ffffffffffffffffffffffffffffffffffffffff16611b72610df0565b73ffffffffffffffffffffffffffffffffffffffff1614611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf906142df565b60405180910390fd5b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590614371565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611def9190612d08565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6290614403565b60405180910390fd5b6000611e75611660565b90506000611e8285612346565b90506000611e8f85612346565b9050611ea0836000898585896123c0565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611eff9190614228565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051611f7d929190614049565b60405180910390a4611f94836000898585896123c8565b611fa3836000898989896125a7565b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201290614176565b60405180910390fd5b6000612025611660565b9050600061203285612346565b9050600061203f85612346565b905061204f8389898585896123c0565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050858110156120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120dd90614208565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461219b9190614228565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051612218929190614049565b60405180910390a461222e848a8a86868a6123c8565b61223c848a8a8a8a8a6125a7565b505050505050505050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806122ba57506122b98261277e565b5b9050919050565b6122cb8282610e1a565b612342576122d881612860565b6122e68360001c602061288d565b6040516020016122f79291906144f7565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123399190612fb5565b60405180910390fd5b5050565b60606000600167ffffffffffffffff81111561236557612364612d3e565b5b6040519080825280602002602001820160405280156123935781602001602082028036833780820191505090505b50905082816000815181106123ab576123aa613aa0565b5b60200260200101818152505080915050919050565b505050505050565b505050505050565b6123ef8473ffffffffffffffffffffffffffffffffffffffff16612ac9565b1561259f578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401612435959493929190614586565b6020604051808303816000875af192505050801561247157506040513d601f19601f8201168201806040525081019061246e9190614603565b60015b6125165761247d61463d565b806308c379a0036124d9575061249161465f565b8061249c57506124db565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d09190612fb5565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250d90614761565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461259d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612594906147f3565b60405180910390fd5b505b505050505050565b6125c68473ffffffffffffffffffffffffffffffffffffffff16612ac9565b15612776578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161260c959493929190614813565b6020604051808303816000875af192505050801561264857506040513d601f19601f820116820180604052508101906126459190614603565b60015b6126ed5761265461463d565b806308c379a0036126b0575061266861465f565b8061267357506126b2565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a79190612fb5565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e490614761565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276b906147f3565b60405180910390fd5b505b505050505050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061284957507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612859575061285882612aec565b5b9050919050565b60606128868273ffffffffffffffffffffffffffffffffffffffff16601460ff1661288d565b9050919050565b6060600060028360026128a09190613848565b6128aa9190614228565b67ffffffffffffffff8111156128c3576128c2612d3e565b5b6040519080825280601f01601f1916602001820160405280156128f55781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061292d5761292c613aa0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061299157612990613aa0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026129d19190613848565b6129db9190614228565b90505b6001811115612a7b577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612a1d57612a1c613aa0565b5b1a60f81b828281518110612a3457612a33613aa0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612a749061486d565b90506129de565b5060008414612abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab6906148e2565b60405180910390fd5b8091505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b9582612b6a565b9050919050565b612ba581612b8a565b8114612bb057600080fd5b50565b600081359050612bc281612b9c565b92915050565b6000819050919050565b612bdb81612bc8565b8114612be657600080fd5b50565b600081359050612bf881612bd2565b92915050565b60008060408385031215612c1557612c14612b60565b5b6000612c2385828601612bb3565b9250506020612c3485828601612be9565b9150509250929050565b612c4781612bc8565b82525050565b6000602082019050612c626000830184612c3e565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612c9d81612c68565b8114612ca857600080fd5b50565b600081359050612cba81612c94565b92915050565b600060208284031215612cd657612cd5612b60565b5b6000612ce484828501612cab565b91505092915050565b60008115159050919050565b612d0281612ced565b82525050565b6000602082019050612d1d6000830184612cf9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d7682612d2d565b810181811067ffffffffffffffff82111715612d9557612d94612d3e565b5b80604052505050565b6000612da8612b56565b9050612db48282612d6d565b919050565b600067ffffffffffffffff821115612dd457612dd3612d3e565b5b612ddd82612d2d565b9050602081019050919050565b82818337600083830152505050565b6000612e0c612e0784612db9565b612d9e565b905082815260208101848484011115612e2857612e27612d28565b5b612e33848285612dea565b509392505050565b600082601f830112612e5057612e4f612d23565b5b8135612e60848260208601612df9565b91505092915050565b600060208284031215612e7f57612e7e612b60565b5b600082013567ffffffffffffffff811115612e9d57612e9c612b65565b5b612ea984828501612e3b565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b612ed381612eb2565b8114612ede57600080fd5b50565b600081359050612ef081612eca565b92915050565b60008060408385031215612f0d57612f0c612b60565b5b6000612f1b85828601612bb3565b9250506020612f2c85828601612ee1565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f70578082015181840152602081019050612f55565b60008484015250505050565b6000612f8782612f36565b612f918185612f41565b9350612fa1818560208601612f52565b612faa81612d2d565b840191505092915050565b60006020820190508181036000830152612fcf8184612f7c565b905092915050565b600060208284031215612fed57612fec612b60565b5b6000612ffb84828501612be9565b91505092915050565b6000819050919050565b61301781613004565b811461302257600080fd5b50565b6000813590506130348161300e565b92915050565b6000602082840312156130505761304f612b60565b5b600061305e84828501613025565b91505092915050565b61307081613004565b82525050565b600060208201905061308b6000830184613067565b92915050565b600080604083850312156130a8576130a7612b60565b5b60006130b685828601612be9565b92505060206130c785828601612be9565b9150509250929050565b6130da81612b8a565b82525050565b60006040820190506130f560008301856130d1565b6131026020830184612c3e565b9392505050565b600067ffffffffffffffff82111561312457613123612d3e565b5b602082029050602081019050919050565b600080fd5b600061314d61314884613109565b612d9e565b905080838252602082019050602084028301858111156131705761316f613135565b5b835b8181101561319957806131858882612be9565b845260208401935050602081019050613172565b5050509392505050565b600082601f8301126131b8576131b7612d23565b5b81356131c884826020860161313a565b91505092915050565b600067ffffffffffffffff8211156131ec576131eb612d3e565b5b6131f582612d2d565b9050602081019050919050565b6000613215613210846131d1565b612d9e565b90508281526020810184848401111561323157613230612d28565b5b61323c848285612dea565b509392505050565b600082601f83011261325957613258612d23565b5b8135613269848260208601613202565b91505092915050565b600080600080600060a0868803121561328e5761328d612b60565b5b600061329c88828901612bb3565b95505060206132ad88828901612bb3565b945050604086013567ffffffffffffffff8111156132ce576132cd612b65565b5b6132da888289016131a3565b935050606086013567ffffffffffffffff8111156132fb576132fa612b65565b5b613307888289016131a3565b925050608086013567ffffffffffffffff81111561332857613327612b65565b5b61333488828901613244565b9150509295509295909350565b6000806040838503121561335857613357612b60565b5b600061336685828601613025565b925050602061337785828601612bb3565b9150509250929050565b600067ffffffffffffffff82111561339c5761339b612d3e565b5b602082029050602081019050919050565b60006133c06133bb84613381565b612d9e565b905080838252602082019050602084028301858111156133e3576133e2613135565b5b835b8181101561340c57806133f88882612bb3565b8452602084019350506020810190506133e5565b5050509392505050565b600082601f83011261342b5761342a612d23565b5b813561343b8482602086016133ad565b91505092915050565b6000806040838503121561345b5761345a612b60565b5b600083013567ffffffffffffffff81111561347957613478612b65565b5b61348585828601613416565b925050602083013567ffffffffffffffff8111156134a6576134a5612b65565b5b6134b2858286016131a3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134f181612bc8565b82525050565b600061350383836134e8565b60208301905092915050565b6000602082019050919050565b6000613527826134bc565b61353181856134c7565b935061353c836134d8565b8060005b8381101561356d57815161355488826134f7565b975061355f8361350f565b925050600181019050613540565b5085935050505092915050565b60006020820190508181036000830152613594818461351c565b905092915050565b60006020820190506135b160008301846130d1565b92915050565b6135c081612ced565b81146135cb57600080fd5b50565b6000813590506135dd816135b7565b92915050565b600080604083850312156135fa576135f9612b60565b5b600061360885828601612bb3565b9250506020613619858286016135ce565b9150509250929050565b6000806040838503121561363a57613639612b60565b5b600061364885828601612bb3565b925050602061365985828601612bb3565b9150509250929050565b600080600080600060a0868803121561367f5761367e612b60565b5b600061368d88828901612bb3565b955050602061369e88828901612bb3565b94505060406136af88828901612be9565b93505060606136c088828901612be9565b925050608086013567ffffffffffffffff8111156136e1576136e0612b65565b5b6136ed88828901613244565b9150509295509295909350565b6000602082840312156137105761370f612b60565b5b600061371e84828501612bb3565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b6000613783602a83612f41565b915061378e82613727565b604082019050919050565b600060208201905081810360008301526137b281613776565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061380057607f821691505b602082108103613813576138126137b9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061385382612bc8565b915061385e83612bc8565b925082820261386c81612bc8565b9150828204841483151761388357613882613819565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138c482612bc8565b91506138cf83612bc8565b9250826138df576138de61388a565b5b828204905092915050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000613946602e83612f41565b9150613951826138ea565b604082019050919050565b6000602082019050818103600083015261397581613939565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006139d8602f83612f41565b91506139e38261397c565b604082019050919050565b60006020820190508181036000830152613a07816139cb565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000613a6a602983612f41565b9150613a7582613a0e565b604082019050919050565b60006020820190508181036000830152613a9981613a5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613ada82612bc8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b0c57613b0b613819565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b73602683612f41565b9150613b7e82613b17565b604082019050919050565b60006020820190508181036000830152613ba281613b66565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613c0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613bce565b613c158683613bce565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613c52613c4d613c4884612bc8565b613c2d565b612bc8565b9050919050565b6000819050919050565b613c6c83613c37565b613c80613c7882613c59565b848454613bdb565b825550505050565b600090565b613c95613c88565b613ca0818484613c63565b505050565b5b81811015613cc457613cb9600082613c8d565b600181019050613ca6565b5050565b601f821115613d0957613cda81613ba9565b613ce384613bbe565b81016020851015613cf2578190505b613d06613cfe85613bbe565b830182613ca5565b50505b505050565b600082821c905092915050565b6000613d2c60001984600802613d0e565b1980831691505092915050565b6000613d458383613d1b565b9150826002028217905092915050565b613d5e82612f36565b67ffffffffffffffff811115613d7757613d76612d3e565b5b613d8182546137e8565b613d8c828285613cc8565b600060209050601f831160018114613dbf5760008415613dad578287015190505b613db78582613d39565b865550613e1f565b601f198416613dcd86613ba9565b60005b82811015613df557848901518255600182019150602085019450602081019050613dd0565b86831015613e125784890151613e0e601f891682613d1b565b8355505b6001600288020188555050505b505050505050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000613e83602a83612f41565b9150613e8e82613e27565b604082019050919050565b60006020820190508181036000830152613eb281613e76565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000613eef601983612f41565b9150613efa82613eb9565b602082019050919050565b60006020820190508181036000830152613f1e81613ee2565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f81602383612f41565b9150613f8c82613f25565b604082019050919050565b60006020820190508181036000830152613fb081613f74565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000614013602483612f41565b915061401e82613fb7565b604082019050919050565b6000602082019050818103600083015261404281614006565b9050919050565b600060408201905061405e6000830185612c3e565b61406b6020830184612c3e565b9392505050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b60006140ce602883612f41565b91506140d982614072565b604082019050919050565b600060208201905081810360008301526140fd816140c1565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614160602583612f41565b915061416b82614104565b604082019050919050565b6000602082019050818103600083015261418f81614153565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006141f2602a83612f41565b91506141fd82614196565b604082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b600061423382612bc8565b915061423e83612bc8565b925082820190508082111561425657614255613819565b5b92915050565b60006040820190508181036000830152614276818561351c565b9050818103602083015261428a818461351c565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006142c9602083612f41565b91506142d482614293565b602082019050919050565b600060208201905081810360008301526142f8816142bc565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061435b602983612f41565b9150614366826142ff565b604082019050919050565b6000602082019050818103600083015261438a8161434e565b9050919050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006143ed602183612f41565b91506143f882614391565b604082019050919050565b6000602082019050818103600083015261441c816143e0565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614464601783614423565b915061446f8261442e565b601782019050919050565b600061448582612f36565b61448f8185614423565b935061449f818560208601612f52565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006144e1601183614423565b91506144ec826144ab565b601182019050919050565b600061450282614457565b915061450e828561447a565b9150614519826144d4565b9150614525828461447a565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061455882614531565b614562818561453c565b9350614572818560208601612f52565b61457b81612d2d565b840191505092915050565b600060a08201905061459b60008301886130d1565b6145a860208301876130d1565b81810360408301526145ba818661351c565b905081810360608301526145ce818561351c565b905081810360808301526145e2818461454d565b90509695505050505050565b6000815190506145fd81612c94565b92915050565b60006020828403121561461957614618612b60565b5b6000614627848285016145ee565b91505092915050565b60008160e01c9050919050565b600060033d111561465c5760046000803e614659600051614630565b90505b90565b600060443d106146ec57614671612b56565b60043d036004823e80513d602482011167ffffffffffffffff821117156146995750506146ec565b808201805167ffffffffffffffff8111156146b757505050506146ec565b80602083010160043d0385018111156146d45750505050506146ec565b6146e382602001850186612d6d565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b600061474b603483612f41565b9150614756826146ef565b604082019050919050565b6000602082019050818103600083015261477a8161473e565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006147dd602883612f41565b91506147e882614781565b604082019050919050565b6000602082019050818103600083015261480c816147d0565b9050919050565b600060a08201905061482860008301886130d1565b61483560208301876130d1565b6148426040830186612c3e565b61484f6060830185612c3e565b8181036080830152614861818461454d565b90509695505050505050565b600061487882612bc8565b91506000820361488b5761488a613819565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006148cc602083612f41565b91506148d782614896565b602082019050919050565b600060208201905081810360008301526148fb816148bf565b905091905056fe506572736f6e616c205573652c20436f6d6d65726369616c20446973706c61792c204d65726368616e646973696e67a2646970667358221220b37d4793f8100ccd0e84cfac42358c42d850d7a0a9314a8e80e290a89d3b856664736f6c634300081500330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000881a5409fa98515b49a20e0e63ace3a4cb1fb255000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f6875786c65792d70726f64756374696f6e2e61707073706f742e636f6d2f636f6465632f6d657461646174612e6a736f6e00000000000000000000000000000000
0xa2646970667358221220b37d4793f8100ccd0e84cfac42358c42d850d7a0a9314a8e80e290a89d3b856664736f6c634300081500330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000881a5409fa98515b49a20e0e63ace3a4cb1fb255000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f6875786c65792d70726f64756374696f6e2e61707073706f742e636f6d2f636f6465632f6d657461646174612e6a736f6e00000000000000000000000000000000