[ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "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": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "equipmentType", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rarity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "level", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "attribute", "type": "uint256" } ], "name": "EquipmentMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rarity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "level", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "attribute", "type": "uint256" } ], "name": "EquipmentUpgrade", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "FragBatchMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "FragMinted", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "UPGRADER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "gameURI", "type": "string" } ], "name": "__ERC1155Up_init", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "currentId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "equipment", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "equipmentInfo", "outputs": [ { "internalType": "uint256", "name": "equipmentType", "type": "uint256" }, { "internalType": "uint256", "name": "rarity", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "attribute", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "equipmentMaterial", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "firstEquipment", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "heroElement", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "heroShard", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "isOperator", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "kindOf", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "maxAttr", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "minAttr", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint8", "name": "kind", "type": "uint8" }, { "internalType": "uint256", "name": "_type", "type": "uint256" }, { "internalType": "uint256", "name": "_rarity", "type": "uint256" }, { "internalType": "uint256", "name": "_level", "type": "uint256" }, { "internalType": "uint256", "name": "_mainAttr", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "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": "mintBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "_type", "type": "uint256" }, { "internalType": "uint256", "name": "_rarity", "type": "uint256" }, { "internalType": "uint256", "name": "_level", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "mintEquipment", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "operatorAddresses", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "randomProvider", "outputs": [ { "internalType": "contract VerichainsNetRandomService", "name": "", "type": "address" } ], "stateMutability": "view", "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": "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": "string", "name": "newuri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_operator", "type": "address" }, { "internalType": "bool", "name": "permission", "type": "bool" } ], "name": "setOperatorAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_type", "type": "uint256" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" } ], "name": "setRange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_preSeed", "type": "uint256" } ], "name": "setSeed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint8[]", "name": "_kinds", "type": "uint8[]" } ], "name": "setupBatchKind", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_kind", "type": "uint8" } ], "name": "setupKind", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "skinPoint", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "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": "newVnr", "type": "address" } ], "name": "updateRegistry", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_rarity", "type": "uint256" }, { "internalType": "uint256", "name": "_level", "type": "uint256" }, { "internalType": "uint256", "name": "_mainAttribute", "type": "uint256" } ], "name": "upgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60a06040523060601b60805234801561001757600080fd5b5060805160601c6148be61004b6000396000818161121f015281816112b50152818161153301526115c901526148be6000f3fe6080604052600436106102fc5760003560e01c806367533b3b1161018f578063a22cb465116100e1578063d98281741161008a578063e985e9c511610064578063e985e9c51461097c578063f242432a1461099c578063f72c0d8b146109bc57600080fd5b8063d982817414610925578063e00dd16114610945578063e96509931461095c57600080fd5b8063c32a50f9116100bb578063c32a50f9146108b1578063d5391393146108d1578063d547741f1461090557600080fd5b8063a22cb4651461085c578063b0b49c981461087c578063b7d61bd11461089c57600080fd5b80638f46500e1161014357806395820f501161011d57806395820f501461079b57806395d89b41146107fe578063a217fddf1461084757600080fd5b80638f46500e1461070757806391d14854146107405780639335385c1461078657600080fd5b806377b2521f1161017457806377b2521f146106b25780638129fc1c146106d25780638ba5f50a146106e757600080fd5b806367533b3b1461068857806374c9f2a31461069d57600080fd5b80632f1276641161025357806338835080116101fc57806355f804b3116101d657806355f804b31461061a5780635c5aaa6a1461063a578063611d58e61461065a57600080fd5b806338835080146105c55780634e1273f4146105da5780634f1ef2861461060757600080fd5b806336568abe1161022d57806336568abe146105545780633659cfe61461057457806338625faa1461059457600080fd5b80632f127664146104fd5780632f2ff15d1461051457806333bd105b1461053457600080fd5b80631a5da6c8116102b55780632345e28c1161028f5780632345e28c1461046a578063248a9ca3146104ad5780632eb2c2d6146104dd57600080fd5b80631a5da6c8146103fc5780631bef321a1461041c5780631f7fdffa1461044a57600080fd5b806306fdde03116102e657806306fdde03146103645780630b397402146103ba5780630e89341c146103dc57600080fd5b8062fdd58e1461030157806301ffc9a714610334575b600080fd5b34801561030d57600080fd5b5061032161031c366004613f86565b6109f0565b6040519081526020015b60405180910390f35b34801561034057600080fd5b5061035461034f366004614204565b610a9e565b604051901515815260200161032b565b34801561037057600080fd5b506103ad6040518060400160405280601081526020017f47756e666972652041766178204e46540000000000000000000000000000000081525081565b60405161032b9190614523565b3480156103c657600080fd5b506103da6103d5366004614302565b610aa9565b005b3480156103e857600080fd5b506103ad6103f73660046141c8565b610af8565b34801561040857600080fd5b506103da610417366004613d0b565b610b8c565b34801561042857600080fd5b506103216104373660046141c8565b6101316020526000908152604090205481565b34801561045657600080fd5b506103da610465366004613e70565b610c87565b34801561047657600080fd5b5061049b6104853660046141c8565b61012e6020526000908152604090205460ff1681565b60405160ff909116815260200161032b565b3480156104b957600080fd5b506103216104c83660046141c8565b60009081526097602052604090206001015490565b3480156104e957600080fd5b506103da6104f8366004613d5f565b610f35565b34801561050957600080fd5b506103216101335481565b34801561052057600080fd5b506103da61052f3660046141e0565b610fd0565b34801561054057600080fd5b506103da61054f36600461415f565b610ffb565b34801561056057600080fd5b506103da61056f3660046141e0565b611188565b34801561058057600080fd5b506103da61058f366004613d0b565b611214565b3480156105a057600080fd5b506103546105af366004613d0b565b61012d6020526000908152604090205460ff1681565b3480156105d157600080fd5b5061049b600381565b3480156105e657600080fd5b506105fa6105f536600461409c565b6113b2565b60405161032b91906144eb565b6103da610615366004613f38565b611528565b34801561062657600080fd5b506103da610635366004614258565b6116b3565b34801561064657600080fd5b506103da610655366004614258565b6116c8565b34801561066657600080fd5b506103216106753660046141c8565b6101306020526000908152604090205481565b34801561069457600080fd5b5061049b600181565b3480156106a957600080fd5b5061049b600581565b3480156106be57600080fd5b506103da6106cd3660046142a6565b61181f565b3480156106de57600080fd5b506103da61184c565b3480156106f357600080fd5b506103da6107023660046142d1565b611958565b34801561071357600080fd5b5061013554610728906001600160a01b031681565b6040516001600160a01b03909116815260200161032b565b34801561074c57600080fd5b5061035461075b3660046141e0565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561079257600080fd5b5061049b600281565b3480156107a757600080fd5b506107de6107b63660046141c8565b61012f6020526000908152604090208054600182015460028301546003909301549192909184565b60408051948552602085019390935291830152606082015260800161032b565b34801561080a57600080fd5b506103ad6040518060400160405280600b81526020017f47554e464952454156415800000000000000000000000000000000000000000081525081565b34801561085357600080fd5b50610321600081565b34801561086857600080fd5b506103da610877366004613f07565b611a7e565b34801561088857600080fd5b506103da610897366004614003565b611a89565b3480156108a857600080fd5b5061049b600481565b3480156108bd57600080fd5b506103da6108cc3660046141c8565b611d93565b3480156108dd57600080fd5b506103217f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b34801561091157600080fd5b506103da6109203660046141e0565b611da6565b34801561093157600080fd5b506103da610940366004613f07565b611dcc565b34801561095157600080fd5b506103216101325481565b34801561096857600080fd5b506103da610977366004613fb1565b611e05565b34801561098857600080fd5b50610354610997366004613d27565b611f73565b3480156109a857600080fd5b506103da6109b7366004613e09565b611fce565b3480156109c857600080fd5b506103217f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b60006001600160a01b038316610a735760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b6000610a9882612069565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610ad481336120bf565b50600091825261012e6020526040909120805460ff191660ff909216919091179055565b606060678054610b079061463f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b339061463f565b8015610b805780601f10610b5557610100808354040283529160200191610b80565b820191906000526020600020905b815481529060010190602001808311610b6357829003601f168201915b50505050509050919050565b6000610b9881336120bf565b6040517f385acb680000000000000000000000000000000000000000000000000000000081527fc9821440a2c2cc97acac89148ac13927dead00238693487a9c84dfe89e28a28460048201526001600160a01b0383169063385acb6890602401602060405180830381600087803b158015610c1257600080fd5b505af1158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a919061423c565b61013580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169190911790555050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cb281336120bf565b60005b8451811015610ede5761013354858281518110610ce257634e487b7160e01b600052603260045260246000fd5b602002602001015110610d5c5760405162461bcd60e51b8152602060048201526024808201527f47756e66697265455243313135353a2054686973206973206e6f7420666f722060448201527f796f7521000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b600560ff1661012e6000878481518110610d8657634e487b7160e01b600052603260045260246000fd5b60209081029190910181015182528101919091526040016000205460ff161415610e185760405162461bcd60e51b815260206004820152603460248201527f47756e66697265455243313135353a2045717569706d656e7420636f756c642060448201527f4e4f54206265206d696e746564206261746368210000000000000000000000006064820152608401610a6a565b61012e6000868381518110610e3d57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015182528101919091526040016000205460ff16610ecc5760405162461bcd60e51b8152602060048201526024808201527f47756e66697265455243313135353a204e465420776173206e6f74206465666960448201527f6e656421000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b80610ed6816146a7565b915050610cb5565b50846001600160a01b03167f73c020ad3af5fe3cc79be06ae90c46160e89cba28887fde816d1610902088c388585604051610f1a9291906144fe565b60405180910390a2610f2e8585858561213f565b5050505050565b6001600160a01b038516331480610f515750610f518533611f73565b610fc35760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152608401610a6a565b610f2e8585858585612353565b600082815260976020526040902060010154610fec81336120bf565b610ff68383612608565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661102681336120bf565b60018214156110db5760005b848110156110d5578383600081811061105b57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611070919061432d565b61012e600088888581811061109557634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff16021790555080806110cd906146a7565b915050611032565b50610f2e565b60005b848110156111805783838281811061110657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061111b919061432d565b61012e600088888581811061114057634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508080611178906146a7565b9150506110de565b505050505050565b6001600160a01b03811633146112065760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610a6a565b61121082826126aa565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112b35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610a6a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461138a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610a6a565b6113938161272d565b604080516000808252602082019092526113af91839190612758565b50565b6060815183511461142b5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610a6a565b6000835167ffffffffffffffff81111561145557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561147e578160200160208202803683370190505b50905060005b8451811015611520576114e58582815181106114b057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106114d857634e487b7160e01b600052603260045260246000fd5b60200260200101516109f0565b82828151811061150557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152611519816146a7565b9050611484565b509392505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156115c75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610a6a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166116227f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461169e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610a6a565b6116a78261272d565b61121082826001612758565b60006116bf81336120bf565b61121082612915565b600054610100900460ff16806116e1575060005460ff16155b6117535760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff16158015611775576000805461ffff19166101011790555b61177e82612928565b6117866129ee565b61178e612ae4565b611799600033612b98565b6117c37f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633612b98565b6117ed7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333612b98565b801561121057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b600061182b81336120bf565b50600092835261013060209081526040808520939093556101319052912055565b600054610100900460ff1680611865575060005460ff16155b6118d75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff161580156118f9576000805461ffff19166101011790555b61191a60405180606001604052806028815260200161483a602891396116c8565b6113886101338190556101325580156113af57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661198381336120bf565b600085815261012e602052604090205460ff16600514611a0b5760405162461bcd60e51b815260206004820152602860248201527f47756e66697265455243313135353a205570677261646520666f726d6174206d60448201527f69736d61746368210000000000000000000000000000000000000000000000006064820152608401610a6a565b600085815261012f602090815260409182902060018101879055600281018690556003018490558151878152908101869052908101849052606081018390527fda97dc8259c3cee7547d3f6f19da25be1edf7fd543a5b41d7bec2f99272240ef9060800160405180910390a15050505050565b611210338383612ba2565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611ab481336120bf565b60ff871660051415611bb0576101328054600090815261012e60209081526040808320805460ff191660ff8d161790558051608080820183528b82528184018b81528284018b815260608085018c81528954895261012f88529786902094518555915160018501555160028401559451600390920191909155935481519081529182018a905281018890529081018690529081018490526001600160a01b038b169033907f6af016dd927b52bb5fd6cc2c252d024fc4bcc3ca5e996408d380e2b32880a7a89060a00160405180910390a3611b958a61013254600185612c97565b6101328054906000611ba6836146a7565b9190505550611d87565b610133548910611c275760405162461bcd60e51b8152602060048201526024808201527f47756e66697265455243313135353a2054686973206973206e6f7420666f722060448201527f796f7521000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b600089815261012e602052604090205460ff888116911614611cb15760405162461bcd60e51b815260206004820152602560248201527f47756e66697265455243313135353a204d696e7420666f726d6174206d69736d60448201527f61746368210000000000000000000000000000000000000000000000000000006064820152608401610a6a565b600089815261012e602052604090205460ff16611d355760405162461bcd60e51b8152602060048201526024808201527f47756e66697265455243313135353a204e465420776173206e6f74206465666960448201527f6e656421000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b604080518a8152602081018a90526001600160a01b038c169133917f5ed8ee0453f32be5b02331830630c333058a7a2b42ca3f814823ff33554a7d10910160405180910390a3611d878a8a8a85612c97565b50505050505050505050565b6000611d9f81336120bf565b5061013455565b600082815260976020526040902060010154611dc281336120bf565b610ff683836126aa565b6000611dd881336120bf565b506001600160a01b0391909116600090815261012d60205260409020805460ff1916911515919091179055565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611e3081336120bf565b6000611e3e6103e887614572565b600081815261013060209081526040808320546101319092528220549293509091611e7390611e6e9083906145c3565b612dbf565b611e7d919061455a565b6101328054600090815261012e60209081526040808320805460ff191660051790558051608080820183528d82528184018d81528284018d815260608085018a81528954895261012f88529786902094518555915160018501555160028401559451600390920191909155935481519081529182018c905281018a90529081018890529081018290529091506001600160a01b0389169033907f6af016dd927b52bb5fd6cc2c252d024fc4bcc3ca5e996408d380e2b32880a7a89060a00160405180910390a3611f538861013254600187612c97565b6101328054906000611f64836146a7565b91905055505050505050505050565b6001600160a01b038116600090815261012d602052604081205460ff1615611f9d57506001610a98565b6001600160a01b0380841660009081526066602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b038516331480611fea5750611fea8533611f73565b61205c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f76656400000000000000000000000000000000000000000000006064820152608401610a6a565b610f2e8585858585612e50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610a985750610a988261301d565b60008281526097602090815260408083206001600160a01b038516845290915290205460ff16611210576120fd816001600160a01b03166014613100565b612108836020613100565b6040516020016121199291906143c9565b60408051601f198184030181529082905262461bcd60e51b8252610a6a91600401614523565b6001600160a01b0384166121bb5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b81518351146122325760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610a6a565b3360005b84518110156122eb5783818151811061225f57634e487b7160e01b600052603260045260246000fd5b60200260200101516065600087848151811061228b57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546122d3919061455a565b909155508190506122e3816146a7565b915050612236565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161233c9291906144fe565b60405180910390a4610f2e8160008787878761336f565b81518351146123ca5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610a6a565b6001600160a01b0384166124465760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a6a565b3360005b84518110156125a257600085828151811061247557634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008583815181106124a157634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156125485760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610a6a565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061258790849061455a565b925050819055505050508061259b906146a7565b905061244a565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516125f29291906144fe565b60405180910390a461118081878787878761336f565b60008281526097602090815260408083206001600160a01b038516845290915290205460ff166112105760008281526097602090815260408083206001600160a01b03851684529091529020805460ff191660011790556126663390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526097602090815260408083206001600160a01b038516845290915290205460ff16156112105760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361121081336120bf565b600061278b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905061279684613583565b6000835111806127a35750815b156127b4576127b28484613650565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610f2e57805460ff191660011781556040516001600160a01b038316602482015261286190869060440160408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3659cfe600000000000000000000000000000000000000000000000000000000179052613650565b50805460ff191681557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b0383811691161461290c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201527f75727468657220757067726164657300000000000000000000000000000000006064820152608401610a6a565b610f2e85613752565b8051611210906067906020840190613b21565b600054610100900460ff1680612941575060005460ff16155b6129b35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff161580156129d5576000805461ffff19166101011790555b6129dd613792565b6129e5613792565b6117ed8261386f565b600054610100900460ff1680612a07575060005460ff16155b612a795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff16158015612a9b576000805461ffff19166101011790555b612aa3613792565b612aab613792565b612ab3613792565b80156113af57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff1680612afd575060005460ff16155b612b6f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff16158015612aa3576000805461ffff1916610101179055612aab613792565b6112108282612608565b816001600160a01b0316836001600160a01b03161415612c2a5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610a6a565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b038416612d135760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a6a565b33612d2d81600087612d2488613925565b610f2e88613925565b60008481526065602090815260408083206001600160a01b038916845290915281208054859290612d5f90849061455a565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610f2e8160008787878761397e565b6000612dcc6001436145c3565b40425a6101345460408051602081019590955284019290925260608084019190915233901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660808301526094820184905260b482015260d40160408051601f198184030181529190528051602090910120610134819055610a989083906146e0565b6001600160a01b038416612ecc5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a6a565b33612edc818787612d2488613925565b60008481526065602090815260408083206001600160a01b038a16845290915290205483811015612f755760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610a6a565b60008581526065602090815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290612fb490849061455a565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461301482888888888861397e565b50505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014806130b057507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b80610a9857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a98565b6060600061310f836002614586565b61311a90600261455a565b67ffffffffffffffff81111561314057634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561316a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106131af57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061322057634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061325c846002614586565b61326790600161455a565b90505b6001811115613320577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106132b657634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106132da57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936133198161460a565b905061326a565b508315611fc75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a6a565b6001600160a01b0384163b15611180576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c81906133cc908990899088908890889060040161444a565b602060405180830381600087803b1580156133e657600080fd5b505af1925050508015613416575060408051601f3d908101601f1916820190925261341391810190614220565b60015b6134cc57613422614736565b806308c379a0141561345c575061343761474e565b80613442575061345e565b8060405162461bcd60e51b8152600401610a6a9190614523565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610a6a565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146130145760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610a6a565b803b6135f75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610a6a565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060823b6136c65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610a6a565b600080846001600160a01b0316846040516136e191906143ad565b600060405180830381855af49150503d806000811461371c576040519150601f19603f3d011682016040523d82523d6000602084013e613721565b606091505b5091509150613749828260405180606001604052806027815260200161486260279139613ae8565b95945050505050565b61375b81613583565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff16806137ab575060005460ff16155b61381d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff16158015612ab3576000805461ffff191661010117905580156113af57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff1680613888575060005460ff16155b6138fa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600054610100900460ff1615801561391c576000805461ffff19166101011790555b6117ed82612915565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061396d57634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b15611180576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e61906139db90899089908890889088906004016144a8565b602060405180830381600087803b1580156139f557600080fd5b505af1925050508015613a25575060408051601f3d908101601f19168201909252613a2291810190614220565b60015b613a3157613422614736565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146130145760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610a6a565b60608315613af7575081611fc7565b825115613b075782518084602001fd5b8160405162461bcd60e51b8152600401610a6a9190614523565b828054613b2d9061463f565b90600052602060002090601f016020900481019282613b4f5760008555613b95565b82601f10613b6857805160ff1916838001178555613b95565b82800160010185558215613b95579182015b82811115613b95578251825591602001919060010190613b7a565b50613ba1929150613ba5565b5090565b5b80821115613ba15760008155600101613ba6565b600067ffffffffffffffff831115613bd457613bd4614720565b604051613beb6020601f19601f870116018261467a565b809150838152848484011115613c0057600080fd5b83836020830137600060208583010152509392505050565b60008083601f840112613c29578182fd5b50813567ffffffffffffffff811115613c40578182fd5b6020830191508360208260051b8501011115613c5b57600080fd5b9250929050565b600082601f830112613c72578081fd5b81356020613c7f82614536565b604051613c8c828261467a565b8381528281019150858301600585901b87018401881015613cab578586fd5b855b85811015613cc957813584529284019290840190600101613cad565b5090979650505050505050565b600082601f830112613ce6578081fd5b611fc783833560208501613bba565b803560ff81168114613d0657600080fd5b919050565b600060208284031215613d1c578081fd5b8135611fc7816147f6565b60008060408385031215613d39578081fd5b8235613d44816147f6565b91506020830135613d54816147f6565b809150509250929050565b600080600080600060a08688031215613d76578081fd5b8535613d81816147f6565b94506020860135613d91816147f6565b9350604086013567ffffffffffffffff80821115613dad578283fd5b613db989838a01613c62565b94506060880135915080821115613dce578283fd5b613dda89838a01613c62565b93506080880135915080821115613def578283fd5b50613dfc88828901613cd6565b9150509295509295909350565b600080600080600060a08688031215613e20578081fd5b8535613e2b816147f6565b94506020860135613e3b816147f6565b93506040860135925060608601359150608086013567ffffffffffffffff811115613e64578182fd5b613dfc88828901613cd6565b60008060008060808587031215613e85578384fd5b8435613e90816147f6565b9350602085013567ffffffffffffffff80821115613eac578485fd5b613eb888838901613c62565b94506040870135915080821115613ecd578384fd5b613ed988838901613c62565b93506060870135915080821115613eee578283fd5b50613efb87828801613cd6565b91505092959194509250565b60008060408385031215613f19578182fd5b8235613f24816147f6565b915060208301358015158114613d54578182fd5b60008060408385031215613f4a578182fd5b8235613f55816147f6565b9150602083013567ffffffffffffffff811115613f70578182fd5b613f7c85828601613cd6565b9150509250929050565b60008060408385031215613f98578182fd5b8235613fa3816147f6565b946020939093013593505050565b600080600080600060a08688031215613fc8578283fd5b8535613fd3816147f6565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613e64578182fd5b60008060008060008060008060006101208a8c031215614021578687fd5b893561402c816147f6565b985060208a0135975060408a0135965061404860608b01613cf5565b955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a013567ffffffffffffffff811115614080578182fd5b61408c8c828d01613cd6565b9150509295985092959850929598565b600080604083850312156140ae578182fd5b823567ffffffffffffffff808211156140c5578384fd5b818501915085601f8301126140d8578384fd5b813560206140e582614536565b6040516140f2828261467a565b8381528281019150858301600585901b870184018b1015614111578889fd5b8896505b8487101561413c578035614128816147f6565b835260019690960195918301918301614115565b5096505086013592505080821115614152578283fd5b50613f7c85828601613c62565b60008060008060408587031215614174578182fd5b843567ffffffffffffffff8082111561418b578384fd5b61419788838901613c18565b909650945060208701359150808211156141af578384fd5b506141bc87828801613c18565b95989497509550505050565b6000602082840312156141d9578081fd5b5035919050565b600080604083850312156141f2578182fd5b823591506020830135613d54816147f6565b600060208284031215614215578081fd5b8135611fc78161480b565b600060208284031215614231578081fd5b8151611fc78161480b565b60006020828403121561424d578081fd5b8151611fc7816147f6565b600060208284031215614269578081fd5b813567ffffffffffffffff81111561427f578182fd5b8201601f8101841361428f578182fd5b61429e84823560208401613bba565b949350505050565b6000806000606084860312156142ba578081fd5b505081359360208301359350604090920135919050565b600080600080608085870312156142e6578182fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614314578182fd5b8235915061432460208401613cf5565b90509250929050565b60006020828403121561433e578081fd5b611fc782613cf5565b6000815180845260208085019450808401835b838110156143765781518752958201959082019060010161435a565b509495945050505050565b600081518084526143998160208601602086016145da565b601f01601f19169290920160200192915050565b600082516143bf8184602087016145da565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516144018160178501602088016145da565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161443e8160288401602088016145da565b01602801949350505050565b60006001600160a01b03808816835280871660208401525060a0604083015261447660a0830186614347565b82810360608401526144888186614347565b9050828103608084015261449c8185614381565b98975050505050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a060808301526144e060a0830184614381565b979650505050505050565b602081526000611fc76020830184614347565b6040815260006145116040830185614347565b82810360208401526137498185614347565b602081526000611fc76020830184614381565b600067ffffffffffffffff82111561455057614550614720565b5060051b60200190565b6000821982111561456d5761456d6146f4565b500190565b6000826145815761458161470a565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156145be576145be6146f4565b500290565b6000828210156145d5576145d56146f4565b500390565b60005b838110156145f55781810151838201526020016145dd565b83811115614604576000848401525b50505050565b600081614619576146196146f4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600181811c9082168061465357607f821691505b6020821081141561467457634e487b7160e01b600052602260045260246000fd5b50919050565b601f19601f830116810181811067ffffffffffffffff821117156146a0576146a0614720565b6040525050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146d9576146d96146f4565b5060010190565b6000826146ef576146ef61470a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561474b57600481823e5160e01c5b90565b600060443d101561475c5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff81602484011181841117156147aa57505050505090565b82850191508151818111156147c25750505050505090565b843d87010160208285010111156147dc5750505050505090565b6147eb6020828601018761467a565b509095945050505050565b6001600160a01b03811681146113af57600080fd5b7fffffffff00000000000000000000000000000000000000000000000000000000811681146113af57600080fdfe68747470733a2f2f6170692e67756e66697265617661782e696f2f6e66742f7b69647d2e6a736f6e416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cb72ce8b639515ca4a68ca93689aa91b263d8b63832145c61dcfea3fdcb56de564736f6c63430008040033