@brightunion/sdk
Version:
Brightjs is a set of javascript tools to interact with the Bright Union's risk platform aggregator's protocol on Ethereum, Binance Smart Chain and Polygon blockchains.
557 lines • 1.71 MB
JSON
{
"contractName": "BridgeDistributorV2",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_productAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_productId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_period",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "_asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_price",
"type": "uint256"
}
],
"name": "BuyCoverEvent",
"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"
},
{
"inputs": [],
"name": "claimRegistry",
"outputs": [
{
"internalType": "contract IClaimingRegistryV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "contractsRegistry",
"outputs": [
{
"internalType": "contract IContractsRegistryV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyBookRegistry",
"outputs": [
{
"internalType": "contract IPolicyBookRegistryV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyQuote",
"outputs": [
{
"internalType": "contract IPolicyQuoteV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyRegistry",
"outputs": [
{
"internalType": "contract IPolicyRegistryV2",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_contractsRegistry",
"type": "address"
}
],
"name": "__BridgeDistributor_init",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_userAddr",
"type": "address"
},
{
"internalType": "bool",
"name": "_isActive",
"type": "bool"
}
],
"name": "getCoverCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_userAddr",
"type": "address"
},
{
"internalType": "uint256",
"name": "_coverId",
"type": "uint256"
},
{
"internalType": "bool",
"name": "_isActive",
"type": "bool"
},
{
"internalType": "uint256",
"name": "_limitLoop",
"type": "uint256"
}
],
"name": "getCover",
"outputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "coverType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "contractName",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "coverAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "premium",
"type": "uint256"
},
{
"internalType": "address",
"name": "currency",
"type": "address"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "expiration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "status",
"type": "uint256"
},
{
"internalType": "address",
"name": "refAddress",
"type": "address"
}
],
"internalType": "struct IDistributor.Cover",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_userAddr",
"type": "address"
}
],
"name": "getPoliciesArr",
"outputs": [
{
"internalType": "address[]",
"name": "_arr",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_bridgeEpochs",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountInWei",
"type": "uint256"
},
{
"internalType": "address",
"name": "_bridgeProductAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_buyerAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_interfaceCompliant2",
"type": "address"
},
{
"internalType": "bytes",
"name": "_interfaceCompliant3",
"type": "bytes"
}
],
"name": "getQuote",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "prop1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop3",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop4",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop5",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop6",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "prop7",
"type": "uint256"
}
],
"internalType": "struct IDistributor.CoverQuote",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_bridgeProductAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_epochsNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_sumAssured",
"type": "uint256"
},
{
"internalType": "address",
"name": "_buyerAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_treasuryAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_premium",
"type": "uint256"
}
],
"name": "buyCover",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "_offset",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "_limitLoop",
"type": "uint256"
}
],
"name": "listWithStats",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "address",
"name": "insuredContract",
"type": "address"
},
{
"internalType": "enum IPolicyBookFabricV2.ContractType",
"name": "contractType",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "maxCapacity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalDaiLiquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "APY",
"type": "uint256"
},
{
"internalType": "bool",
"name": "whitelisted",
"type": "bool"
},
{
"internalType": "address",
"name": "policyAddress",
"type": "address"
}
],
"internalType": "struct BridgeDistributorV2.PolicyCatalog[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_offset",
"type": "uint256"
}
],
"name": "list",
"outputs": [
{
"internalType": "address[]",
"name": "_policyBooks",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stats",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"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": "addressCero",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.7.4+commit.3f05b770\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_productAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_productId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_period\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"BuyCoverEvent\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractsRegistry\",\"type\":\"address\"}],\"name\":\"__BridgeDistributor_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addressCero\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bridgeProductAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_epochsNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sumAssured\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_buyerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_treasuryAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_premium\",\"type\":\"uint256\"}],\"name\":\"buyCover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRegistry\",\"outputs\":[{\"internalType\":\"contract IClaimingRegistryV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractsRegistry\",\"outputs\":[{\"internalType\":\"contract IContractsRegistryV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userAddr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_coverId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isActive\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_limitLoop\",\"type\":\"uint256\"}],\"name\":\"getCover\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"coverType\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"productId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"contractName\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"coverAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"premium\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"status\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refAddress\",\"type\":\"address\"}],\"internalType\":\"struct IDistributor.Cover\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userAddr\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isActive\",\"type\":\"bool\"}],\"name\":\"getCoverCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userAddr\",\"type\":\"address\"}],\"name\":\"getPoliciesArr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"_arr\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bridgeEpochs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountInWei\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_bridgeProductAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_interfaceCompliant2\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_interfaceCompliant3\",\"type\":\"bytes\"}],\"name\":\"getQuote\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"prop1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop3\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop4\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop5\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop6\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prop7\",\"type\":\"uint256\"}],\"internalType\":\"struct IDistributor.CoverQuote\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offset\",\"type\":\"uint256\"}],\"name\":\"list\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"_policyBooks\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_offset\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"_limitLoop\",\"type\":\"uint256\"}],\"name\":\"listWithStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"insuredContract\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyBookFabricV2.ContractType\",\"name\":\"contractType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxCapacity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalDaiLiquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"APY\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"whitelisted\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"policyAddress\",\"type\":\"address\"}],\"internalType\":\"struct BridgeDistributorV2.PolicyCatalog[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"policyBookRegistry\",\"outputs\":[{\"internalType\":\"contract IPolicyBookRegistryV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"policyQuote\",\"outputs\":[{\"internalType\":\"contract IPolicyQuoteV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"policyRegistry\",\"outputs\":[{\"internalType\":\"contract IPolicyRegistryV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stats\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/distributors/bridge/BridgeDistributorV2.sol\":\"BridgeDistributorV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.7/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x5cf082133e64f5f90f446c011681ea7ab719e2992c7247074b943771c176494a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0d7072938999863308ca3177b3ad71451e3639b16fbcfd3873bde1efd80386e1\",\"dweb:/ipfs/QmU3q5sCtSK7VM6tcvLfyUws1Z1WeYWeqCqBoecJwfAt5G\"]},\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xb419e68addcb82ecda3ad3974b0d2db76435ce9b08435a04d5b119a0c5d45ea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85355cc4f2554f4a8d334336d66b48d616abf1d90ec3d6b602e825c6fe63f0c\",\"dweb:/ipfs/QmTJYtsKJjBy3ShAt4kEjvM6nfVS8ZAFQqE29fG16tUP8d\"]},\"@openzeppelin/contracts-upgradeable/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0x4784c3f8a520a739dd25d76f514833a653990902d0e21601aed45bda44c87524\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://359411cc44a4499f37d46562ef3f348db443f9a699138c1797264d20b14697b7\",\"dweb:/ipfs/QmUmeQNUwve4MFCc1ace6zMnstqa8S9SZe1nXG9THcpQ5v\"]},\"@openzeppelin/contracts-upgradeable/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x0dd1e9b19801e3e7d900fbf4182d81e1afd23ad7be39504e33df6bbcba91d724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e30d594df25d0651c2cd6f85d856e5fc9f3dbae68d017e1da33eb3c7e2f1ecc\",\"dweb:/ipfs/QmPgkV99jZr3Zs9ex8dJ5j22oX4wDuDtMCnXNy67bTwgAB\"]},\"@openzeppelin/contracts-upgradeable/proxy/Initializable.sol\":{\"keccak256\":\"0xd8e4eb08dcc1d1860fb347ba5ffd595242b9a1b66d49a47f2b4cb51c3f35017e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dbc89479d30592e82442edc38053b380f611037a5e6ceafc7bf57a7aa1f0305\",\"dweb:/ipfs/QmcdYtt56WmjeYvsFjK69FnahnAriw88VzY3XRZwXkQKKN\"]},\"@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0xa1931c47a617014f858580db625aa0dcf343796f39acd4b5b51effc092a1f0a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cbeb499bad52667b96dd7df8e9b1f583e8c07afaba0018a75e5b7ff6e777173\",\"dweb:/ipfs/QmPLJnuhEcWnpmhMHKsiuVHVxMwb5k6idYyjajbrtZLz5B\"]},\"@openzeppelin/contracts-upgradeable/token/ERC20/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x8457e15aa90badabe0d6ef6f572f1ebd47bebf156921c825ae6e009dda15b706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ffc78495829b68080e73582789526fd67b80fb0df341954fc51eb9a318cb8f79\",\"dweb:/ipfs/QmdNEUEYMMxHsYYNqZdkP79vzH63X6f8qmGR8JV4q4zJ45\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0xfc5ea91fa9ceb1961023b2a6c978b902888c52b90847ac7813fe3b79524165f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b81dcc816857a9d981386f6d8de49198420ee41cdc0ecade366ab412174d03\",\"dweb:/ipfs/QmV2vznMT6m9qo3pFMAWi3Nz3UDhwesgwFxeXe6Tod3v8A\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xbbf8a21b9a66c48d45ff771b8563c6df19ba451d63dfb8380a865c1e1f29d1a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://062688aac76e27ab50157a9d645700cf92e3c0d51d3d860be1d2e1a0c04a87d0\",\"dweb:/ipfs/QmfXxppWAiSTeH8YNn2EtMPDgzrLeJ5rjRq8knEbje88mX\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x46034cd5cca740f636345c8f7aebae0f78adfd4b70e31e6f888cccbe1086586e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b9f36bfde7168be120a14da6c8c54cde5e5df07b79c5239752e07e5fb1ac046\",\"dweb:/ipfs/QmZfEjoDzj3EfBkZB8X9dyBGt81tQ1KmFPuY3cz2yqWQDK\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/math/SignedSafeMath.sol\":{\"keccak256\":\"0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7\",\"dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"project:/contracts/IDistributor.sol\":{\"keccak256\":\"0xcc12288db09e5d70ef351f6ed60225c064f60e2ad5296f31b43f0957fb579272\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ffa06ba6a8f21a2cd9b1c468a841259a1d922e8392b24608c3f9594a47f50fa\",\"dweb:/ipfs/QmTKRgBGhQC8BDrwB3BVyTLGUjDm9H4PzbqmttVP2fpcKt\"]},\"project:/contracts/dependencies/interfaces/IPriceFeed.sol\":{\"keccak256\":\"0x7509f381061fb7eff0cf88870568011cc2270128d811cb44f171a3a91a4ef211\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16fc554a37f0430a62c55d874efc3f7355963e51bb07f2ba8fc6be98767c0fde\",\"dweb:/ipfs/QmbmoAP3skaQMX625rHCFXUBxrnQjrSviPLhG9Wc6Sn2on\"]},\"project:/contracts/dependencies/interfaces/IUniswapV2Router01.sol\":{\"keccak256\":\"0xc46046bb3cf7b35a202315b6e2e0eaa19b87e139910521f2987af5300b7ffb76\",\"urls\":[\"bzz-raw://1453c9dea155207e693eddfe7bf172030c904a1b6b60e828487f33d180f91f17\",\"dweb:/ipfs/QmYtRnqNrbgiPfbF6aJPZZFyGCDWsdbpSGzza1wkYWXQwq\"]},\"project:/contracts/dependencies/interfaces/IUniswapV2Router02.sol\":{\"keccak256\":\"0xe31c119f3a4df609c1dda3b2358716da088b48c5773fdf8cb70bce8f2c41175a\",\"urls\":[\"bzz-raw://217a51e4d39d06ef8bf2560a4cefc8f5109509e54bb51b5efbf09fdc5f260bb6\",\"dweb:/ipfs/QmVYiEheUGP3qJvHJmddgdMEj5R5xkuf5xbiHKjVWbhhSh\"]},\"project:/contracts/dependencies/utils/PreciseUnitMath.sol\":{\"keccak256\":\"0x739ad732afd577f638d8300bc2051d75fd332407b9b13876cbcbc1c1daf2e13e\",\"license\":\"Apache License\",\"urls\":[\"bzz-raw://03fdc0cab9309c7f3e875da7cb8669abde1d1f55d46b5bbde876451eb5b0e370\",\"dweb:/ipfs/QmQ6RWnb2Yd4y2idyrdPwjmRFrJBFhYQrWCDV9bfu2MAeY\"]},\"project:/contracts/distributors/AbstractDistributor.sol\":{\"keccak256\":\"0x33fcb2b402a4bd09ec72ab243e3f8397b28b593cb2f27f2f1442c6831587caa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://154b4b37e5657e552d7cd656889b6245a082ec436ca6b2e9a08f0ff45eb6ecdb\",\"dweb:/ipfs/QmRrdmhLvT9egvSfgAh6sHCoGkA68NYg4HBWJUpTwEnaXU\"]},\"project:/contracts/distributors/bridge/BridgeDistributorV2.sol\":{\"keccak256\":\"0xd72e8aa0061deeb9024a8015837ee26b6768c912471c21878a961c765a70f6fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a82a4e1f0a768e3821403b5e612566e1b748829bbb0b20714bcbfd664a908fd\",\"dweb:/ipfs/QmNfJkFwikVKAabJs68zsMokNpHDTj7tpvo7zCdjstA6DA\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IClaimingRegistryV2.sol\":{\"keccak256\":\"0xf4e118e2152e5a29a4bbd441301673b7ad7711a57c4bab9b32f264a0fce0987c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc09d453edbee9bca14c54a5d7f972630b06adf865c30078728a88a54762bbdd\",\"dweb:/ipfs/QmUPqwwGp86FVCbsUi4VQ2hEQXySYxvBSK7mp6NhrsgvWp\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IContractsRegistryV2.sol\":{\"keccak256\":\"0x7dfb9979edea393b9704d6afa78ca7402340ee98d38ba5af875f60103a871312\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e805ffce6848f28a3ae432a87825da34d05ff0ac0d4d004ffe9f391eef7047f5\",\"dweb:/ipfs/QmR5Exq4Zenp6taHyt8RhhdW4YqiTGpfEUXMKJFqs9dgFQ\"]},\"project:/contracts/distributors/bridge/interfaces/v2/ILeveragePortfolioV2.sol\":{\"keccak256\":\"0x0195ea6eb840206be7d5be2a537639ab4f98be090086752ec7b630ab8e9c7257\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4d139af3fb444f7a138ad612ccd15b107cb2a8ba802681001d83d8bb49421f1\",\"dweb:/ipfs/QmU6Pbz589VhsjGWmEVZP9CBynCeeydUVeA3NG2U7xLifh\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyBookFabricV2.sol\":{\"keccak256\":\"0x4b7ad9b6c961b43ed8a0adc7b4176352de58a51499c2d21c4f4988af4489fb17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f188c8835eacfde86c0e3b3e19b91ca3c1a01ac0f938c4dc0b60101be7a3a60\",\"dweb:/ipfs/QmWDQ7FURcvVR3hoQ48SAukZSTqLNwWB3BfuzeM2Cov9UA\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyBookFacadeV2.sol\":{\"keccak256\":\"0x915b9e0d84288829fd5d7be0a4ea90ead27109b54f55f59625d35b4e59bc9462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://760d5a9880fa57f38bc17b61176e65bf5dce7ad1fcd9176007263b449b4435f8\",\"dweb:/ipfs/Qmd7zbZDQeQ5ciT7ERKvDUHUe38bFSuL4uVMgDEwWQmWwQ\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyBookRegistryV2.sol\":{\"keccak256\":\"0x9bf3d9cef4757402a78a33af2e6af29e1fdbd10f513b8b34110474efb4673fdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7932033b72f1d1ad4d3c389ae6de72ecaf625b793fd6d1d2a5af9414c254b616\",\"dweb:/ipfs/QmdQ39i3s7528LhKanmKWyeoZH4HzgUU8msXXHG4oAjNEG\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyBookV2.sol\":{\"keccak256\":\"0xfd07a12389e89f85d24d10655df6da9b036e89612ceebda09957c35d16ada9f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://394d54cc02ee244674f3b58d279214d9fb236de5aae8838eb07f321a95aaed2f\",\"dweb:/ipfs/QmVF7BQ9qWJN17VkjBKRoTD2GYtjLLkw689tDSMsQ85kgb\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyQuoteV2.sol\":{\"keccak256\":\"0x06d9120f1fbfd29bee2a22e78fc3597fd3bb71932d492feb891f739ace481df9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f0a9fae684bb8209068e79eb8074482a457b2cc3680176de345f372343dfc37\",\"dweb:/ipfs/QmQV6vXFXvRxMyEtPrME2gSUNH3FkCcHpCZpxnW3PCGiCz\"]},\"project:/contracts/distributors/bridge/interfaces/v2/IPolicyRegistryV2.sol\":{\"keccak256\":\"0xef741243b6744c4ec67c2916f1d4e6218c5e44435f56a66255d041951e4ab7a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://383cdbd924b85e8772a1912d4da0def59314bbf0e41ffdf4e241caf6edbc0e31\",\"dweb:/ipfs/Qmb7GfMdwvAEJAaEFiybiMrmtsoKC16N9sbUua55ahgeCG\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50612cbc806100206000396000f3fe6080604052600436106101145760003560e01c8063a9818929116100a0578063d80528ae11610064578063d80528ae146102e5578063d98d0c7e146102fa578063ec402e061461030f578063f2fde38b1461032f578063fd7057f71461034f57610114565b8063a981892914610236578063ac496c7b14610249578063b194270f14610276578063b1c36ebe146102a3578063ba258d4d146102d057610114565b806367951e23116100e757806367951e231461019b578063715018a6146101c857806380c9419e146101df5780638da5cb5b1461020c578063a878e1561461022157610114565b806301ffc9a71461011957806307e2ad2f1461014f5780631c4dd7d014610171578063400b70d514610186575b600080fd5b34801561012557600080fd5b506101396101343660046124d5565b61036f565b6040516101469190612958565b60405180910390f35b34801561015b57600080fd5b50610164610389565b604051610146919061278d565b34801561017d57600080fd5b50610164610398565b34801561019257600080fd5b506101646103a7565b3480156101a757600080fd5b506101bb6101b636600461273c565b6103b6565b6040516101469190612872565b3480156101d457600080fd5b506101dd610639565b005b3480156101eb57600080fd5b506101ff6101fa3660046124fd565b6106f7565b6040516101469190612825565b34801561021857600080fd5b5061016461080f565b34801561022d57600080fd5b5061016461081e565b6101dd61024436600461238c565b61082d565b34801561025557600080fd5b50610269610264366004612345565b610bcb565b6040516101469190612a85565b34801561028257600080fd5b5061029661029136600461230d565b610ec6565b6040516101469190612963565b3480156102af57600080fd5b506102c36102be366004612656565b610ffb565b6040516101469190612a37565b3480156102dc57600080fd5b50610164611290565b3480156102f157600080fd5b506101ff611295565b34801561030657600080fd5b5061016461139d565b34801561031b57600080fd5b506101dd61032a3660046122d5565b6113ac565b34801561033b57600080fd5b506101dd61034a3660046122d5565b6116c6565b34801561035b57600080fd5b506101ff61036a3660046122d5565b6117db565b6001600160e01b0319811663560f12e560e11b145b919050565b6098546001600160a01b031681565b6097546001600160a01b031681565b609b546001600160a01b031681565b60606000609860009054906101000a90046001600160a01b03166001600160a01b03166306661abd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190612515565b9050600083821115610453575082610456565b50805b609854604051633216d38560e21b815260609182916001600160a01b039091169063c85b4e149061048d908a908890600401612b3e565b60006040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e19190810190612425565b9150915060606104ef611f34565b60005b858160ff16101561062b57838160ff168151811061050c57fe5b60209081029190910101515182528351849060ff831690811061052b57fe5b6020908102919091018101518101516001600160a01b0316908301528351849060ff831690811061055857fe5b602002602001015160600151826060018181525050838160ff168151811061057c57fe5b602002602001015160800151826080018181525050838160ff16815181106105a057fe5b602002602001015160e001518260a0018181525050838160ff16815181106105c457fe5b60209081029190910101516101400151151560c08301528451859060ff83169081106105ec57fe5b60209081029190910101516001600160a01b031660e083015282518290849060ff841690811061061857fe5b60209081029190910101526001016104f2565b509098975050505050505050565b610641611866565b6001600160a01b031661065261080f565b6001600160a01b0316146106ad576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b60606000609860009054906101000a90046001600160a01b03166001600160a01b03166306661abd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561074957600080fd5b505afa15801561075d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107819190612515565b6098546040516350fd736760e01b81529192506001600160a01b0316906350fd7367906107b49086908590600401612b11565b60006040518083038186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261080891908101906123f2565b9392505050565b6033546001600160a01b031690565b609a546001600160a01b031681565b60026065541415610885576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260658190555060008690506000816001600160a01b03166310474bb46040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090591906122f1565b90506000609960009054906101000a90046001600160a01b03166001600160a01b0316639038a3ce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095757600080fd5b505afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f91906122f1565b905083816001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016109c09291906127a1565b60206040518083038186803b1580156109d857600080fd5b505afa1580156109ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a109190612515565b1015610a375760405162461bcd60e51b8152600401610a2e9061296c565b60405180910390fd5b610a4c6001600160a01b03821633308761186a565b604051636eb1769f60e11b81526000906001600160a01b0383169063dd62ed3e90610a7d90309088906004016127a1565b60206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190612515565b1415610b575760405163095ea7b360e01b81526001600160a01b0382169063095ea7b390610b03908690600019906004016127e1565b602060405180830381600087803b158015610b1d57600080fd5b505af1158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5591906124b9565b505b604051638500f56760e01b81526001600160a01b03831690638500f56790610b899089908c908c908b906004016127fa565b600060405180830381600087803b158015610ba357600080fd5b505af1158015610bb7573d6000803e3d6000fd5b505060016065555050505050505050505050565b610bd3611f85565b609754604051631b60561160e21b81526000916001600160a01b031690636d81584490610c0490899060040161278d565b60206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c549190612515565b9050610c5e611fd9565b60975460405163a5f926f560e01b81526001600160a01b039091169063a5f926f590610c95908a90899060009088906004016127bb565b60006040518083038186803b158015610cad57600080fd5b505afa158015610cc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ce9919081019061252d565b6060850152604084015260208301528082528610610d195760405162461bcd60e51b8152600401610a2e906129f5565b60008482600001511115610d2e575083610d32565b5080515b60608167ffffffffffffffff81118015610d4b57600080fd5b50604051908082528060200260200182016040528015610d8557816020015b610d72611f85565b815260200190600190039081610d6a5790505b50905060005b82811015610ea357610d9b611f85565b84602001518281518110610dab57fe5b60209081029190910101516001600160a01b031660c08201526040850151805183908110610dd557fe5b60209081029190910101515160608201526040850151805183908110610df757fe5b60200260200101516020015181608001818152505084604001518281518110610e1c57fe5b60200260200101516040015181602001818152505084604001518281518110610e4157fe5b6020026020010151606001518160e001818152505084606001518281518110610e6657fe5b60200260200101516006811115610e7957fe5b61010082015282518190849084908110610e8f57fe5b602090810291909101015250600101610d8b565b50808881518110610eb057fe5b6020026020010151945050505050949350505050565b609754604051631b60561160e21b815260009182916001600160a01b0390911690636d81584490610efb90879060040161278d565b60206040518083038186803b158015610f1357600080fd5b505afa158015610f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612515565b9050610f55611fd9565b60975460405163a5f926f560e01b81526001600160a01b039091169063a5f926f590610f8c908890889060009088906004016127bb565b60006040518083038186803b158015610fa457600080fd5b505afa158015610fb8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe0919081019061252d565b60608501526040840152602083015290819052949350505050565b611003612001565b609854604051634c3b9f1960e01b81526000916001600160a01b031690634c3b9f1990611034908a9060040161278d565b60206040518083038186803b15801561104c57600080fd5b505afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108491906124b9565b90506001811515146110a85760405162461bcd60e51b8152600401610a2e906129b2565b866110b1612001565b604051639b9bc30f60e01b81526001600160a01b03831690639b9bc30f906110e1908e908e908d90600401612b1f565b60606040518083038186803b1580156110f957600080fd5b505afa15801561110d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611131919061270f565b6040808501919091526020808501929092529183528151630abb87c960e11b815291516001600160a01b038516926315770f92926004808301939192829003018186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b99190612515565b816060018181525050816001600160a01b031663f60ff9376040518163ffffffff1660e01b815260040160206040518083038186803b1580156111fb57600080fd5b505afa15801561120f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112339190612515565b608082015260408051600180825281830190925260609160208083019080368337019050509050898160008151811061126857fe5b6001600160a01b03909216602092830291909101909101525092505050979650505050505050565b600090565b604051634064a0cf60e11b8152606090819030906380c9419e906112be90600090600401612963565b60006040518083038186803b1580156112d657600080fd5b505afa1580156112ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261131291908101906123f2565b60985460405163f10ed7a360e01b81529192506001600160a01b03169063f10ed7a390611343908490600401612825565b60006040518083038186803b15801561135b57600080fd5b505afa15801561136f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113979190810190612486565b50905090565b6099546001600160a01b031681565b600054610100900460ff16806113c557506113c56118ca565b806113d3575060005460ff16155b61140e5760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611439576000805460ff1961ff0019909116610100171660011790555b6114416118db565b61144961198d565b609980546001600160a01b0319166001600160a01b03848116919091179182905560408051630bc3f29d60e01b815290519290911691630bc3f29d91600480820192602092909190829003018186803b1580156114a557600080fd5b505afa1580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd91906122f1565b609780546001600160a01b0319166001600160a01b039283161790556099546040805163dc9c563f60e01b81529051919092169163dc9c563f916004808301926020929190829003018186803b15801561153657600080fd5b505afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906122f1565b609880546001600160a01b0319166001600160a01b03928316179055609954604080516339f9615f60e01b8152905191909216916339f9615f916004808301926020929190829003018186803b1580156115c757600080fd5b505afa1580156115db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ff91906122f1565b609a80546001600160a01b0319166001600160a01b039283161790556099546040805163db43ccb560e01b81529051919092169163db43ccb5916004808301926020929190829003018186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169091906122f1565b609b80546001600160a01b0319166001600160a01b039290921691909117905580156116c2576000805461ff00191690555b5050565b6116ce611866565b6001600160a01b03166116df61080f565b6001600160a01b03161461173a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661177f5760405162461bcd60e51b8152600401808060200182810382526026815260200180612be36026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b60975460405163fd7057f760e01b81526060916001600160a01b03169063fd7057f79061180c90859060040161278d565b60006040518083038186803b15801561182457600080fd5b505afa158015611838573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261186091908101906123f2565b92915050565b3390565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526118c4908590611a22565b50505050565b60006118d530611ad8565b15905090565b600054610100900460ff16806118f457506118f46118ca565b80611902575060005460ff16155b61193d5760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611968576000805460ff1961ff0019909116610100171660011790555b611970611ade565b611978611b7e565b801561198a576000805461ff00191690555b50565b600054610100900460ff16806119a657506119a66118ca565b806119b4575060005460ff16155b6119ef5760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611a1a576000805460ff1961ff0019909116610100171660011790555b611978611c77565b6060611a77826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611d1d9092919063ffffffff16565b805190915015611ad357808060200190516020811015611a9657600080fd5b5051611ad35760405162461bcd60e51b815260040180806020018281038252602a815260200180612c5d602a913960400191505060405180910390fd5b505050565b3b151590565b600054610100900460ff1680611af75750611af76118ca565b80611b05575060005460ff16155b611b405760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611978576000805460ff1961ff001990911661010017166001179055801561198a576000805461ff001916905550565b600054610100900460ff1680611b975750611b976118ca565b80611ba5575060005460ff16155b611be05760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611c0b576000805460ff1961ff0019909116610100171660011790555b6000611c15611866565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801561198a576000805461ff001916905550565b600054610100900460ff1680611c905750611c906118ca565b80611c9e575060005460ff16155b611cd95760405162461bcd60e51b815260040180806020018281038252602e815260200180612c2f602e913960400191505060405180910390fd5b600054610100900460ff16158015611d04576000805460ff1961ff0019909116610100171660011790555b6001606555801561198a576000805461ff001916905550565b6060611d2c8484600085611d34565b949350505050565b606082471015611d755760405162461bcd60e51b8152600401808060200182810382526026815260200180612c096026913960400191505060405180910390fd5b611d7e85611ad8565b611dcf576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611e0e5780518252601f199092019160209182019101611def565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611e70576040519150601f19603f3d011682016040523d82523d6000602084013e611e75565b606091505b5091509150611e85828286611e90565b979650505050505050565b60608315611e9f575081610808565b825115611eaf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ef9578181015183820152602001611ee1565b50505050905090810190601f168015611f265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040805161010081018252606081526000602082018190529091820190815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681525090565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915290565b6040518060800160405280600081526020016060815260200160608152602001606081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b805161038481612bbf565b600082601f830112612059578081fd5b815161206c61206782612b75565b612b51565b81815291506020808301908481018184028601820187101561208d57600080fd5b60005b848110156120b55781516120a381612bbf565b84529282019290820190600101612090565b505050505092915050565b600082601f8301126120d0578081fd5b81516120de61206782612b75565b8181529150602080830190848101818402860182018710156120ff57600080fd5b6000805b8581101561212b57825160078110612119578283fd5b85529383019391830191600101612103565b50505050505092915050565b600082601f830112612147578081fd5b815161215561206782612b75565b818152915060208083019084810160005b848110156120b5578151870161016080601f19838c0301121561218857600080fd5b61219181612b51565b8583015167ffffffffffffffff8111156121aa57600080fd5b6121b88c888387010161226f565b82525060406121c881850161203e565b8783015260606121d9818601612260565b828401526080915081850151818401525060a0808501518284015260c0915081850151818401525060e0808501518284015261010091508185015181840152506101208085015182840152610140915081850151818401525061223d838501612255565b90820152865250509282019290820190600101612166565b805161038481612bd4565b80516005811061038457600080fd5b600082601f8301126